From 132c55fb2b700340ab126ed4214d494d1ff978c4 Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Fri, 24 Mar 2017 12:48:26 +0000 Subject: [PATCH] webpack output and compression --- public/assets/css/app.css.gz | Bin 4777 -> 4777 bytes public/assets/frontend/alertify.css.gz | Bin 1010 -> 1009 bytes public/assets/frontend/mapbox-gl.css.gz | Bin 2204 -> 2205 bytes public/assets/frontend/normalize.css.gz | Bin 2175 -> 2175 bytes public/assets/js/links.js | 135 +- public/assets/js/links.js.br | Bin 807 -> 1185 bytes public/assets/js/links.js.gz | Bin 951 -> 1365 bytes public/assets/js/links.js.map | 2 +- public/assets/js/maps.js | 2897 +++++++++++++++- public/assets/js/maps.js.br | Bin 119908 -> 124380 bytes public/assets/js/maps.js.gz | Bin 136758 -> 141891 bytes public/assets/js/maps.js.map | 2 +- public/assets/js/newnote.js | 4113 ++++++++++++++++++++++- public/assets/js/newnote.js.br | Bin 126080 -> 133190 bytes public/assets/js/newnote.js.gz | Bin 144049 -> 152385 bytes public/assets/js/newnote.js.map | 2 +- public/assets/js/piwik.js | 91 +- public/assets/js/piwik.js.br | Bin 485 -> 834 bytes public/assets/js/piwik.js.gz | Bin 534 -> 981 bytes public/assets/js/piwik.js.map | 2 +- public/assets/prism/prism.css.gz | Bin 1273 -> 1272 bytes public/assets/prism/prism.js.gz | Bin 6925 -> 6925 bytes 22 files changed, 7197 insertions(+), 47 deletions(-) diff --git a/public/assets/css/app.css.gz b/public/assets/css/app.css.gz index d5ae0418f1c17f9adc30e3b2c5652fca320f50c9..c7f0513a9d3c81f955178f6ab343ed9ba4591014 100644 GIT binary patch delta 3909 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 delta 3909 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 diff --git a/public/assets/frontend/alertify.css.gz b/public/assets/frontend/alertify.css.gz index 03c881d8bc486f55849a66c36740ba4905c374df..4c620b1f9363f86c4a0db285e81a112c5fc36f1f 100644 GIT binary patch delta 999 zcmeyw{*irxM16Rn+WU>x>RM9I)DJM2Z9BK`cbCf713RwYm)`gLnRkz5VB56!4V_-| z&DI`qb*yZilzx-teDuvFI}@B1&Of!u$M_;c?XlJ!N)i!GvER9wLsNfnx_z^*R&N$R+0flLciDBpaP8J*ZCrg`w}*gVZG^9Lu`G(tqFQ zxcT>Ni{Yb7vg@`Oq)&19;a#OR?Z{kvhNrBV0Y)!+&u>v!JHcZ4v%Qa}G!;3EDCDoUlBA^kFWSMz?0 zdas3gE9^@nKK&McVX$!dhb!j_j^{>pT;;U?)PX7JXhnF$x z(HsT6b@g1Q=N-BF{9@OKw#H_j%PXc$S|O8dr1$jg+|3F*19tTH$v(=A)7BN)b@qF8 zMb7i=gBgN8MFy22vAK1=wTg3Y?{SS+`>%7a}k?V%yMfTSE z?~497NGaZacinl8+5du@3HR2$y~WL+c8()#u0!#=>!*dDv+N1)snG^5@R0Hg&_T&Z|=%Rf%u-#hCnVb@$H6TsbCh{LGHjt+^wmJp1J= To2w7B{^@V`jXqY*$G`vpJ-hGr delta 1000 zcmey!{)v5pM7{dCFScdRRk}DoOD8Z$N2lNa+kXCrgyGH2<~85XPM>nkCpvEL;wZT@ zuNMVx(b;J+;Z5Y$i=TtGRw`z%Jn0`A`n39{Qt^_dHo`KMO;dj#ooM&wrLfb_xElIn|J5o8SiQp$z%JUxU;Dg{BwwzvPSi0Xnxfb)z?cFv2K6g7woC0bGc)$ zVIr?!&<5?oqEut|%6AH`e-76#|1gQ2{p8wZj~;QaeXUVjX&89%O=aV^H_gU>r`WBJ zIU)34zx(+T_wLGz;kPt&ElV5areBb_JAcxII+2;eSK0MA`ZAJJ|4G)L&C2>I-8^HR zjO>qK&swE|qKI$5g^Olb1pL^=5xP%L&uhBG>T8*~f%W&-E;Ea`7Uhy%C$J>JuAcYj zjlF@scV13d`rCCKd)_RS=wqC0AvYWs?$|axx0fenob(xMCiiyduh2hb z*zsWF@_mz>bz@c>6Ht3f}cgFD^>icO;@-cJ{yTXBDUF zNPXVkDoZlBYk#n8lCiTF=bPew0zWHmAI2+dHmRdW*laeu%kq=e&EK zWRahE4@Z6FwGc+n`1#TLN-}H=JN*{BX)fc=y0K%*bmsJvTq`wQj`M%qld)yute9uN z1?2Akbi1~v$IWtv&8mRe@geaoVs`l_r=PSxWxj0xx-RzL`~4U#F4)Gff6)53isi0+ z!T;5N^fZpo7Jsv_I_|Ub?}i1^U!NOA2rWMyzC-MgRChy>iEKl7%ONwuwlJ~ce`{uAe{Y+Lv@4Ja&3NOwc`JT(O zU_*l4mVbgmJF1szoc^F6eAMCE!TUEKFg`PODA+B&u=3iy*NJE4zCC%_Pjh%nw4*%L!)1EsXxc{etao;yX`EBOfqHj{J-{_yxY{+LG VcW;^0f=BzAxBEsPtL9^1002nM?;8LB diff --git a/public/assets/frontend/mapbox-gl.css.gz b/public/assets/frontend/mapbox-gl.css.gz index 5dba2a4d83182918ac03740081e6b295c3ed1453..854b5e1e8ecc74ce154e5c72fe42b1cb5879a9c9 100644 GIT binary patch literal 2205 zcmb2|=3oE;Cgv%j;hR=l2>ji@`a;WW-wl5k*;v+}6X{r$rCOFPpkJW#5Wj8G_-mJO8$yZnK`q^mF?4KV@!prc6(I z-h7bUxF9ECr{K+1=NC%n8Lf==;yNf1&K#AgJ?BD~&|y`Jiys*Iqvow?<(3I?RQ%-h z=xI}kckTsK{|9>Wz8?Sk>ebsJFxvoR;2YlrxoJL4|v1R1uYeAI=@2Tv25&`6Sq~n z_NmSn-k-TgN$%76?cHbk|Js_c_?TQ_=eaLz>Q?)1^7~}>sKwD*mJ(fdM?KhA%$@h5 zcFHQ2$=t5b>!u#7_%U7dQ@qbPs0^JIo+FU{lZbT=6^IWgP~I+MNDVRDzbj zW?bE1xUgu+9>q{=O_AkG;YI4BBFN}C-`Z(S6W>cDvuAar&#!uaZ|=5=Z}AT@ zvTy4t={tXM;Cim*y;x)A=X6EYmZfs@ZatZ(Tk=~z>X3=JJ@>cAe`5dqJKSXBqR#Yg z$>J^ZrDytOOLHvUVL8i7<5a|w?cFC;BE*-pPT<+xlRAq}uVnLjyOsVD`}fPIbGfX# z`bMV1G>27-CAq{p#G&DEmBhuzlJhg4GDT;-?b??Z;MX9MU}+uUbE{1G{G9`neH}k> z-#Kx5H zR;+%#`=2U7^QP_lU%spQdHn06NnDO&@X-}LTx7ex!qCe8^PJZG%&&T8D^GLq^ub<{S>zdv0t~q-C|Lv`O zswV>_ereC%9D5;i+xkPS`A_flf7mrM^7>Bai~DN6zi$^kkF4H%pPRfMHY$pf z3bvN)@2%zvJ@?!=e1XPd&A@YM+$kpAv8;MWUG&)Z7V}SC$zZ8q(~>LwnZRt&dzp zqmvD;oWCR9UG(qk78R@gjLnK%{}$V58F1Nj7fPHET2dA5xBuGH=;@ElBba$bKj|nm z&3eojd8|?Aq(c4lp3jrnD}OrQHQyrsi@&#QX`X%mxATkt{x`aHyxsay`Ala~zXy}Q zu-HveICijoe)gLh|M?7V&qd$VT%DxW9{c_B-MrTxCYlAkiN{}G{KIH_VgpCI#M%O> znT02LdGsHL{nPJXZQ5YUUpB?{MdAEqX4}&8U(Ms&r#O?v?UpX9J(s-vNeh=p+@<$# ze{-(d5PE0#A;&tS`THvk_MG~8`h>NB#)&PVRo}CJ?eOLLZK?0PTEq2D;-o5hr<{tD z533K{d~jxS@-4-+5 z%YR|_9aO)HvaH`}%)bolD~-Zn$%f=Q*>B2 zS7pu|)km)0uxR(+jGWu@ zj3s8q+p<-!1iWH9bTkQQA z`fV=-m+{-~HeAPUcE!Y2u>HQrW?4(EbMHIYKQEQejF}g0tF+8x|KGgx+vN^Dd2*fQ zXy&%bUE;eHpWUAMr71zFMTki!6;hb$c@$=L?P6+>!p2=gWI#1X|ca8CU+m^V=l`I!M zS4{kN$8W0iNdcCW6-G?DFAwrG3DxfIH@~Pg&n&b?c&TXKoExg&x0cGCu-TDbw;(mV zrXYqbBeMMM-E9^#-d!tgk^IK|v#7)UfxG_cM{_UbCm()jqImOF`@U@l#h84>rrp{X z!rpUZ^Av;IrE#nQDXcplo;G3lJpZZ2f%YjI{nR^ui2vkzGWG7$8qgLYO`kjPbHae zZgzeGE&G2c$rsdUsPa6FuuC}o{N0)3n*1f-Hj8{Uy4QWLU+4_uly^U0EM7KQd{c;L z2k*Ouhy5bsQ*t((esE}y)?t28zsv_LtO3f45AQWI+xqv~jm!OPpVI8@Vs73&xHBmG z{u3_w6Y`mTo1g9PaZ#0?eP!=U@229fqGq!{F??=6$DVy%`B?22lfWZ|L#rlr{qc0C^!e1poj5 literal 2204 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 diff --git a/public/assets/frontend/normalize.css.gz b/public/assets/frontend/normalize.css.gz index e0d62bc3864497f7c7303e9281bfaf08fd6df4b1..7077e237602d97acafe7d1f0cb6d003569dd5a78 100644 GIT binary patch literal 2175 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 literal 2175 zcmb2|=3oE;Cg!t|&!;`s68iUk`HHi_Wa|`Z55cB)N$&X zd+lc%n?3S!Vrz9}=EXRk6IayQlD+qz*Nv|wcS?_Za@_HM_vgJ2zRPc1bl_(H{r3^p z^#{V_+YV*Uyvc1Eubu4Wb@sf-mXC9F*W9n@UVP?#u^dZSvSVSQ^~n`nnh)1^2XYwu zg$PaOPGkKpzx5j5*`kXIkH4(Ek+^e%GmA&$l+CR{uU;u$oG~pgs-eq$`JR^8%{Ljn zWVF6=uHq*3oa+w)T1mMr$EVN+CAh1Kur$t&cv7i7z>jbgi4pJHm9RI==5OjpO0 z{D*S4%`;oV^y8Aa4Ff&|FaGVfqV~e)lT*I^_GeE#@n_$~vr%ufuLT~N_GPcRUB0fc zo&CodXP#;X3wrBCeA0TwQKbHK>p`)3Yj+1vDLwosXuig0kuGGOfiIuFW~jcRRMGd(HX#+;L@W#TT--UfPx{s;3_>e1FoTWi2*E zJpWue)IK%{>1^|{46JS1u{Cn(g{|gqcvM%*eRKQXb-6Hos&M;-6LN1N5@vsu*!ttu zywWc@cb>$%I1AWsldt%C_Q{;z@q*hmiaNI~x)d~9*W&P$w=*1{CS5T)@;o9_cvfPf zyvugh*nO>2H&0G@c41Amd)vhLt?R0~YqtEnv0#yGdIDRc=jz3eZ#g(0?O@4%&wb@) zSw-o~{jK3A&#%~J!S!yI$cxP?Q*K$_{l$Oyq6)jfygrHI`ST;VxMG?nCF#nZUFv^Z zsP6W{#BhV@Q42oUfnRsOW>#sW8vrn^UZqn7YQ!-p{ zqrNxjx%KVojYb!@>n#l3dQo@7u5VnL%|A69gVt%jU&;0R-Nt{@&+q-`e#F}1Zl-qI z=ga`3Cfz7og^lKF+-gVf*=x^qt(sn=AnRCjq&;cxuKK>*3b9b@yRGbncdsAozb$0x z{_m#nR*q_0@v5B`9DP-%x?8y#y)v)Qd2r+TJW>7Ni_uH(UjOfTPfGXg{{0hQNd%T2 zs#~{h%?&n=%h6^$wP7EQ^IHB=xmC;b@FT~>bs>MwdpLMKRJ(IU?%TmHYcJlKcvVw6 zo8|e6B)|GazP~*uO)gRJzi@cpen*?xCoiSVI$Zu<=3?Q(UH5dwcNMb;%l7&SY43NE z?UhVoHe7SWAIa|$g zub9pKAoSa=VSz?cQso)8nRcowdi!Qg|E;z&rE!1KPw$5d-h6lY#dGNT`~8eED~spr zu3%`~z|CIa@{B=X_s3mV{tY+H#*_@fLzM1)37AG1O>b0I$ zR68x`H!V}_{&k69?kRT`c{ABaBy1It*%z|*<^7XadG3@i&wLQ>Z_B*EdiL*!pO^lh zvG5=xOJ7@Q$>Pa(wNu)4g7&g_G8Nu(y)Eok+IVugutb;QMkx#4ySto|4~wkW(%kh` zZm}lg$&MdpQoi2IDlwPKnx(w%EPixz?+JlBFSmLuS$uKl=}KRV7G;B(+xmiK43_Jv zpY^Qjt;%URtQ7G3ZN;M1& diff --git a/public/assets/js/links.js b/public/assets/js/links.js index fe750448..891a21af 100644 --- a/public/assets/js/links.js +++ b/public/assets/js/links.js @@ -1,2 +1,133 @@ -(function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:false,exports:{}};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.l=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.i=function(value){return value};__webpack_require__.d=function(exports,name,getter){if(!__webpack_require__.o(exports,name)){Object.defineProperty(exports,name,{configurable:false,enumerable:true,get:getter})}};__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module["default"]}:function getModuleExports(){return module};__webpack_require__.d(getter,"a",getter);return getter};__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)};__webpack_require__.p="";return __webpack_require__(__webpack_require__.s=18)})({18:function(module,exports,__webpack_require__){"use strict";var youtubeRegex=/watch\?v=([A-Za-z0-9\-_]+)\b/;var spotifyRegex=/https\:\/\/play\.spotify\.com\/(.*)\b/;var notes=document.querySelectorAll(".e-content");var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=notes[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var note=_step.value;var ytid=note.textContent.match(youtubeRegex);if(ytid){var ytcontainer=document.createElement("div");ytcontainer.classList.add("container");var ytiframe=document.createElement("iframe");ytiframe.classList.add("youtube");ytiframe.setAttribute("src","https://www.youtube.com/embed/"+ytid[1]);ytiframe.setAttribute("frameborder",0);ytiframe.setAttribute("allowfullscreen","true");ytcontainer.appendChild(ytiframe);note.appendChild(ytcontainer)}var spotifyid=note.textContent.match(spotifyRegex);if(spotifyid){var sid=spotifyid[1].replace("/",":");var siframe=document.createElement("iframe");siframe.classList.add("spotify");siframe.setAttribute("src","https://embed.spotify.com/?uri=spotify:"+sid);siframe.setAttribute("frameborder",0);siframe.setAttribute("allowtransparency","true");note.appendChild(siframe)}}}catch(err){_didIteratorError=true;_iteratorError=err}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}}}}); -//# sourceMappingURL=/assets/js/links.js.map \ No newline at end of file +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; +/******/ +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 18); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 18: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +//links.js + +var youtubeRegex = /watch\?v=([A-Za-z0-9\-_]+)\b/; +var spotifyRegex = /https\:\/\/play\.spotify\.com\/(.*)\b/; + +var notes = document.querySelectorAll('.e-content'); + +var _iteratorNormalCompletion = true; +var _didIteratorError = false; +var _iteratorError = undefined; + +try { + for (var _iterator = notes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var note = _step.value; + + var ytid = note.textContent.match(youtubeRegex); + if (ytid) { + var ytcontainer = document.createElement('div'); + ytcontainer.classList.add('container'); + var ytiframe = document.createElement('iframe'); + ytiframe.classList.add('youtube'); + ytiframe.setAttribute('src', 'https://www.youtube.com/embed/' + ytid[1]); + ytiframe.setAttribute('frameborder', 0); + ytiframe.setAttribute('allowfullscreen', 'true'); + ytcontainer.appendChild(ytiframe); + note.appendChild(ytcontainer); + } + var spotifyid = note.textContent.match(spotifyRegex); + if (spotifyid) { + var sid = spotifyid[1].replace('/', ':'); + var siframe = document.createElement('iframe'); + siframe.classList.add('spotify'); + siframe.setAttribute('src', 'https://embed.spotify.com/?uri=spotify:' + sid); + siframe.setAttribute('frameborder', 0); + siframe.setAttribute('allowtransparency', 'true'); + note.appendChild(siframe); + } + } +} catch (err) { + _didIteratorError = true; + _iteratorError = err; +} finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } +} + +/***/ }) + +/******/ }); +//# sourceMappingURL=links.js.map \ No newline at end of file diff --git a/public/assets/js/links.js.br b/public/assets/js/links.js.br index b1e22eab94118439280317619e2bd8b941fa380f..b9b0c22c710e42706e0f7d4a6c9237c3104160a8 100644 GIT binary patch literal 1185 zcmb1sDaatx{_@zPGUE`z{7d(XzCACn+#9NJ?AwmSh`&mcctqo(qS&LBJBs-2U^{m) zLbv|6#)IAo96!BORV8j#ZgzEu-yt+i=e&0QY9QbB=@`|i<69`kRr zs4zGFIa_SeB(UM=K8b|X?Wb!B_Nq4SQWRvW>k&v;=HQgbA+SW{+86gdJ373Wq<%y! zQhM|uIO1c}Wz)rqd#;t}?=hV$$?Ov${bsA~9hFaa-_H4@tF|q5^M8L?UVhujE5ejc z_^kX<>bWbUwfD2_jK|Zqd6~^?^h=KHpNZY4*ANyK$4^UY zg!G>FP|bg?uwLdxqMOdTC6g1U>~MLm%2D%LfzdVRZo$FnpMx^R^C$7X?Vq6bWBb1j&aeqxo5LCE6;mru$i34P3~4bTna zU1Ri;>6hPM&9wR%6&6N3&8C|k_3;{ptT{4IcH-(vi?6JmHyA~?FI*NUw9dos-L|(k zY7F&-TBe%5jxbO+5L_y<`po1fq8ZN$#Ozj?R(*ZfQa!KrPQ%2aWrZz={x27O_j_@# z$ik|H89R=?niM7>BGgDcdPHTAB{8~gC@>je5*=B&4E;y=fCXlIXrqSYEZ zn{P|L*S`~gz2V(sbD2kcA{VP-D{J=$zWJa0aecTM?3RqB=_3oC4%PB?r^ zZ^ylvzfSXr^%Na$aFR2=wx{-BYtFj6dL2pihMM0_oY_xX~}vlFV*gXcK?dX}=2r>p7Zrgv*}E^Msb z&{lC{zr?nP8$Ws{)v-@MAf3zYlhiY@t8-FPX|9}vX_@m!RjbE&*ADoqS1wHFS^S5!&Aiflfn^q#vCtOn^+zM+dlyXD`8?rYxzw45=UDEw z-{Dobbuz(f(ngLYjd4r3thcGjrm?nMapu&vIJExMil{mJCx7j3p6PxtLF?ue_cQ7u ztKTR*Sn^9|`AACW$&wSIUsrryBa*X!pPu!~ zbJt2d_=D$uR1V1~d@Zx`MZCCM-p16kLeo}n40rYWz#4t`^rJE<3$oX?)X2+DGf3Oow&=EVIZIHe>xL;?v|4tm6`l#^AVUf317hFh{dHgzC+%z`ZZQ8V$B7^6vf(_M6*If}2cl*nu@|L|wvMQL(wk0O^ z=cPF%e23E1|9`gp{bI9r^d9l)I>JYU+C&AvZ@N6w`Q6c?7)F7PM}m>ZsGIlSz z)gQ2N)!c0ghXWIY)NgO9uFU)~bF1CWwPod;S7Ii;KI3!bQuc!>&T=88zDX5Jjl|O@ zlxq8|uH<7jSn0yr$W(D&celsZMaP08W~WuZzBKRmKlYck+c(&-ZVGmA=q}b~x^QOx z-ne~-J9n8!Oq|NEAN+2I+4%|gxpOAj`&zaIw(0zPyy4E1vlr@r{(a+@&4=jL65NuAkgYqpfGdLQvOGozwj zQa;U??a=%$O1x>&IVbG+&SjRGB%4S0)gixubo2E zJdb;Q_J628+>dqBT>No&OvNqvXA)8)jtr+SLWv9kS4pVNGK ztx6l4Tz18+q@R4tc@A7ScxY9##|0hLmxsj8h}(SP{gEq{$1^9n;SJL(=jN;#Axe$m z%gW*=T@#y{e5IN@NQSZ9l6~_-hPpH7+wXa1d^e4{{MOTGdSegG@dRsQ#Jw8jLQSM2)t@wf+g?g;+=Wis(DwX;&u|J(2?HPXEBm7R6 zP^)$890kw5yqWuNA6f9~ymrR&2La2UXD?g*xpJ~=UTs;rX7HL)?RTQ`%F|{wJUtZ3 z_pGL;bXAzvc8gPNs#*U(3B?Ld{S~NlLG!Sd2hwIN-=XrlUt9L~`XkIP1hQ7? diff --git a/public/assets/js/links.js.gz b/public/assets/js/links.js.gz index 16c046763e42d15f3d5386dbff77a78f9c07da27..fdacd185409d1ae981a1a4adbe83bc52b18ee620 100644 GIT binary patch literal 1365 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 UsGRHilArRQyw^|R=VD+006sI_zW@LL diff --git a/public/assets/js/links.js.map b/public/assets/js/links.js.map index 9bc7f83d..cb04d137 100644 --- a/public/assets/js/links.js.map +++ b/public/assets/js/links.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:/webpack/bootstrap c9239bfae896ced9ce98?510e**","webpack:///links.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","getDefault","getModuleExports","object","property","prototype","hasOwnProperty","p","s","youtubeRegex","spotifyRegex","notes","document","querySelectorAll","_iterator","Symbol","iterator","_step","_iteratorNormalCompletion","next","done","note","ytid","textContent","match","ytcontainer","createElement","classList","add","ytiframe","setAttribute","appendChild","spotifyid","sid","replace","siframe"],"mappings":"mBACA,GAAAA,oBAGA,SAAAC,qBAAAC,UAGA,GAAAF,iBAAAE,UACA,MAAAF,kBAAAE,UAAAC,OAGA,IAAAC,QAAAJ,iBAAAE,WACAG,EAAAH,SACAI,EAAA,MACAH,WAIAI,SAAAL,UAAAM,KAAAJ,OAAAD,QAAAC,OAAAA,OAAAD,QAAAF,oBAGAG,QAAAE,EAAA,IAGA,OAAAF,QAAAD,QAKAF,oBAAAQ,EAAAF,OAGAN,qBAAAS,EAAAV,gBAGAC,qBAAAI,EAAA,SAAAM,OAA2C,MAAAA,OAG3CV,qBAAAW,EAAA,SAAAT,QAAAU,KAAAC,QACA,IAAAb,oBAAAc,EAAAZ,QAAAU,MAAA,CACAG,OAAAC,eAAAd,QAAAU,MACAK,aAAA,MACAC,WAAA,KACAC,IAAAN,UAMAb,qBAAAoB,EAAA,SAAAjB,QACA,GAAAU,QAAAV,QAAAA,OAAAkB,WACA,QAAAC,cAA2B,MAAAnB,QAAA,YAC3B,QAAAoB,oBAAiC,MAAApB,QACjCH,qBAAAW,EAAAE,OAAA,IAAAA,OACA,OAAAA,QAIAb,qBAAAc,EAAA,SAAAU,OAAAC,UAAsD,MAAAV,QAAAW,UAAAC,eAAApB,KAAAiB,OAAAC,UAGtDzB,qBAAA4B,EAAA,EAGA,OAAA5B,qBAAAA,oBAAA6B,EAAA,mEC9DA,IAAIC,cAAe,8BACnB,IAAIC,cAAe,uCAEnB,IAAIC,OAAQC,SAASC,iBAAiB,8GAEtC,IAAA,GAAAC,WAAiBH,MAAjBI,OAAAC,YAAAC,QAAAC,2BAAAD,MAAAH,UAAAK,QAAAC,MAAAF,0BAAA,KAAwB,CAAA,GAAfG,MAAeJ,MAAA5B,KACpB,IAAIiC,MAAOD,KAAKE,YAAYC,MAAMf,aAClC,IAAIa,KAAM,CACN,GAAIG,aAAcb,SAASc,cAAc,MACzCD,aAAYE,UAAUC,IAAI,YAC1B,IAAIC,UAAWjB,SAASc,cAAc,SACtCG,UAASF,UAAUC,IAAI,UACvBC,UAASC,aAAa,MAAO,iCAAmCR,KAAK,GACrEO,UAASC,aAAa,cAAe,EACrCD,UAASC,aAAa,kBAAmB,OACzCL,aAAYM,YAAYF,SACxBR,MAAKU,YAAYN,aAErB,GAAIO,WAAYX,KAAKE,YAAYC,MAAMd,aACvC,IAAIsB,UAAW,CACX,GAAIC,KAAMD,UAAU,GAAGE,QAAQ,IAAK,IACpC,IAAIC,SAAUvB,SAASc,cAAc,SACrCS,SAAQR,UAAUC,IAAI,UACtBO,SAAQL,aAAa,MAAO,0CAA4CG,IACxEE,SAAQL,aAAa,cAAe,EACpCK,SAAQL,aAAa,oBAAqB,OAC1CT,MAAKU,YAAYI","file":"./public/assets/js/links.js","sourceRoot":"","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 18);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap c9239bfae896ced9ce98","//links.js\n\nlet youtubeRegex = /watch\\?v=([A-Za-z0-9\\-_]+)\\b/;\nlet spotifyRegex = /https\\:\\/\\/play\\.spotify\\.com\\/(.*)\\b/;\n\nlet notes = document.querySelectorAll('.e-content');\n\nfor (let note of notes) {\n let ytid = note.textContent.match(youtubeRegex);\n if (ytid) {\n let ytcontainer = document.createElement('div');\n ytcontainer.classList.add('container');\n let ytiframe = document.createElement('iframe');\n ytiframe.classList.add('youtube');\n ytiframe.setAttribute('src', 'https://www.youtube.com/embed/' + ytid[1]);\n ytiframe.setAttribute('frameborder', 0);\n ytiframe.setAttribute('allowfullscreen', 'true');\n ytcontainer.appendChild(ytiframe);\n note.appendChild(ytcontainer);\n }\n let spotifyid = note.textContent.match(spotifyRegex);\n if (spotifyid) {\n let sid = spotifyid[1].replace('/', ':');\n let siframe = document.createElement('iframe');\n siframe.classList.add('spotify');\n siframe.setAttribute('src', 'https://embed.spotify.com/?uri=spotify:' + sid);\n siframe.setAttribute('frameborder', 0);\n siframe.setAttribute('allowtransparency', 'true');\n note.appendChild(siframe);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./links.js"]} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 24cb5e5f339c421e8b0f?e5de**","webpack:///./links.js"],"names":["youtubeRegex","spotifyRegex","notes","document","querySelectorAll","note","ytid","textContent","match","ytcontainer","createElement","classList","add","ytiframe","setAttribute","appendChild","spotifyid","sid","replace","siframe"],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;;;;AChEA;;AAEA,IAAIA,eAAe,8BAAnB;AACA,IAAIC,eAAe,uCAAnB;;AAEA,IAAIC,QAAQC,SAASC,gBAAT,CAA0B,YAA1B,CAAZ;;;;;;;AAEA,yBAAiBF,KAAjB,8HAAwB;AAAA,YAAfG,IAAe;;AACpB,YAAIC,OAAOD,KAAKE,WAAL,CAAiBC,KAAjB,CAAuBR,YAAvB,CAAX;AACA,YAAIM,IAAJ,EAAU;AACN,gBAAIG,cAAcN,SAASO,aAAT,CAAuB,KAAvB,CAAlB;AACAD,wBAAYE,SAAZ,CAAsBC,GAAtB,CAA0B,WAA1B;AACA,gBAAIC,WAAWV,SAASO,aAAT,CAAuB,QAAvB,CAAf;AACAG,qBAASF,SAAT,CAAmBC,GAAnB,CAAuB,SAAvB;AACAC,qBAASC,YAAT,CAAsB,KAAtB,EAA6B,mCAAmCR,KAAK,CAAL,CAAhE;AACAO,qBAASC,YAAT,CAAsB,aAAtB,EAAqC,CAArC;AACAD,qBAASC,YAAT,CAAsB,iBAAtB,EAAyC,MAAzC;AACAL,wBAAYM,WAAZ,CAAwBF,QAAxB;AACAR,iBAAKU,WAAL,CAAiBN,WAAjB;AACH;AACD,YAAIO,YAAYX,KAAKE,WAAL,CAAiBC,KAAjB,CAAuBP,YAAvB,CAAhB;AACA,YAAIe,SAAJ,EAAe;AACX,gBAAIC,MAAMD,UAAU,CAAV,EAAaE,OAAb,CAAqB,GAArB,EAA0B,GAA1B,CAAV;AACA,gBAAIC,UAAUhB,SAASO,aAAT,CAAuB,QAAvB,CAAd;AACAS,oBAAQR,SAAR,CAAkBC,GAAlB,CAAsB,SAAtB;AACAO,oBAAQL,YAAR,CAAqB,KAArB,EAA4B,4CAA4CG,GAAxE;AACAE,oBAAQL,YAAR,CAAqB,aAArB,EAAoC,CAApC;AACAK,oBAAQL,YAAR,CAAqB,mBAArB,EAA0C,MAA1C;AACAT,iBAAKU,WAAL,CAAiBI,OAAjB;AACH;AACJ","file":"links.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 18);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 24cb5e5f339c421e8b0f","//links.js\n\nlet youtubeRegex = /watch\\?v=([A-Za-z0-9\\-_]+)\\b/;\nlet spotifyRegex = /https\\:\\/\\/play\\.spotify\\.com\\/(.*)\\b/;\n\nlet notes = document.querySelectorAll('.e-content');\n\nfor (let note of notes) {\n let ytid = note.textContent.match(youtubeRegex);\n if (ytid) {\n let ytcontainer = document.createElement('div');\n ytcontainer.classList.add('container');\n let ytiframe = document.createElement('iframe');\n ytiframe.classList.add('youtube');\n ytiframe.setAttribute('src', 'https://www.youtube.com/embed/' + ytid[1]);\n ytiframe.setAttribute('frameborder', 0);\n ytiframe.setAttribute('allowfullscreen', 'true');\n ytcontainer.appendChild(ytiframe);\n note.appendChild(ytcontainer);\n }\n let spotifyid = note.textContent.match(spotifyRegex);\n if (spotifyid) {\n let sid = spotifyid[1].replace('/', ':');\n let siframe = document.createElement('iframe');\n siframe.classList.add('spotify');\n siframe.setAttribute('src', 'https://embed.spotify.com/?uri=spotify:' + sid);\n siframe.setAttribute('frameborder', 0);\n siframe.setAttribute('allowtransparency', 'true');\n note.appendChild(siframe);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./links.js"],"sourceRoot":""} \ No newline at end of file diff --git a/public/assets/js/maps.js b/public/assets/js/maps.js index 93c3ce25..a7f42a01 100644 --- a/public/assets/js/maps.js +++ b/public/assets/js/maps.js @@ -1,19 +1,2878 @@ -(function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:false,exports:{}};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.l=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.i=function(value){return value};__webpack_require__.d=function(exports,name,getter){if(!__webpack_require__.o(exports,name)){Object.defineProperty(exports,name,{configurable:false,enumerable:true,get:getter})}};__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module["default"]}:function getModuleExports(){return module};__webpack_require__.d(getter,"a",getter);return getter};__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)};__webpack_require__.p="";return __webpack_require__(__webpack_require__.s=19)})([function(module,exports){var g;g=function(){return this}();try{g=g||Function("return this")()||(1,eval)("this")}catch(e){if(typeof window==="object")g=window}module.exports=g},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=parseLocation;function parseLocation(text){var coords=/POINT\((.*)\)/.exec(text);var parsedLongitude=coords[1].split(" ")[0];var parsedLatitude=coords[1].split(" ")[1];return{latitude:parsedLatitude,longitude:parsedLongitude}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=addMap;var _mapboxGl=__webpack_require__(9);var _mapboxGl2=_interopRequireDefault(_mapboxGl);var _parseLocation=__webpack_require__(1);var _parseLocation2=_interopRequireDefault(_parseLocation);var _selectPlace=__webpack_require__(4);var _selectPlace2=_interopRequireDefault(_selectPlace);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toArray(arr){return Array.isArray(arr)?arr:Array.from(arr)}_mapboxGl2.default.accessToken="pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw";var titlecase=function titlecase(string){return string.split("-").map(function(_ref){var _ref2=_toArray(_ref),first=_ref2[0],rest=_ref2.slice(1);return first.toUpperCase()+rest.join("").toLowerCase()}).join(" ")};var addMapTypeOption=function addMapTypeOption(map,menu,option){var checked=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var input=document.createElement("input");input.setAttribute("id",option);input.setAttribute("type","radio");input.setAttribute("name","toggle");input.setAttribute("value",option);if(checked==true){input.setAttribute("checked","checked")}input.addEventListener("click",function(){map.setStyle("mapbox://styles/mapbox/"+option+"-v9")});var label=document.createElement("label");label.setAttribute("for",option);label.appendChild(document.createTextNode(titlecase(option)));menu.appendChild(input);menu.appendChild(label)};var makeMapMenu=function makeMapMenu(map){var mapMenu=document.createElement("div");mapMenu.classList.add("map-menu");addMapTypeOption(map,mapMenu,"streets",true);addMapTypeOption(map,mapMenu,"satellite-streets");return mapMenu};function addMap(div){var position=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var places=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;var dataLatitude=div.dataset.latitude;var dataLongitude=div.dataset.longitude;var dataId=div.dataset.id;var data=window["geojson"+dataId];if(data==null){data={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[dataLongitude,dataLatitude]},properties:{title:"Current Location",icon:"circle-stroked",uri:"current-location"}}]}}if(places!=null){var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=places[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var place=_step.value;var placeLongitude=(0,_parseLocation2.default)(place.location).longitude;var placeLatitude=(0,_parseLocation2.default)(place.location).latitude;data.features.push({type:"Feature",geometry:{type:"Point",coordinates:[placeLongitude,placeLatitude]},properties:{title:place.name,icon:"circle",uri:place.slug}})}}catch(err){_didIteratorError=true;_iteratorError=err}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}}}if(position!=null){dataLongitude=position.coords.longitude;dataLatitude=position.coords.latitude}var map=new _mapboxGl2.default.Map({container:div,style:"mapbox://styles/mapbox/streets-v9",center:[dataLongitude,dataLatitude],zoom:15});if(position==null){map.scrollZoom.disable()}map.addControl(new _mapboxGl2.default.NavigationControl);div.appendChild(makeMapMenu(map));map.on("load",function(){map.addSource("points",{type:"geojson",data:data});map.addLayer({id:"points",interactive:true,type:"symbol",source:"points",layout:{"icon-image":"{icon}-15","text-field":"{title}","text-offset":[0,1]}})});if(position!=null){map.on("click",function(e){var features=map.queryRenderedFeatures(e.point,{layer:["points"]});if(features.length){map.flyTo({center:features[0].geometry.coordinates});(0,_selectPlace2.default)(features[0].properties.uri)}})}if(data.features&&data.features.length>1){var bounds=new _mapboxGl2.default.LngLatBounds;var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{for(var _iterator2=data.features[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){var feature=_step2.value;bounds.extend(feature.geometry.coordinates)}}catch(err){_didIteratorError2=true;_iteratorError2=err}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return()}}finally{if(_didIteratorError2){throw _iteratorError2}}}map.fitBounds(bounds,{padding:65})}return map}},,function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=selectPlaceInForm;function selectPlaceInForm(uri){if(document.querySelector("select")){if(uri=="current-location"){document.querySelector('select [id="option-coords"]').selected=true}else{document.querySelector('select [value="'+uri+'"]').selected=true}}}},function(module,exports,__webpack_require__){"use strict";exports.byteLength=byteLength;exports.toByteArray=toByteArray;exports.fromByteArray=fromByteArray;var lookup=[];var revLookup=[];var Arr=typeof Uint8Array!=="undefined"?Uint8Array:Array;var code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i0){throw new Error("Invalid string. Length must be a multiple of 4")}return b64[len-2]==="="?2:b64[len-1]==="="?1:0}function byteLength(b64){return b64.length*3/4-placeHoldersCount(b64)}function toByteArray(b64){var i,j,l,tmp,placeHolders,arr;var len=b64.length;placeHolders=placeHoldersCount(b64);arr=new Arr(len*3/4-placeHolders);l=placeHolders>0?len-4:len;var L=0;for(i=0,j=0;i>16&255;arr[L++]=tmp>>8&255;arr[L++]=tmp&255}if(placeHolders===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[L++]=tmp&255}else if(placeHolders===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[L++]=tmp>>8&255;arr[L++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;ilen2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];output+=lookup[tmp>>2];output+=lookup[tmp<<4&63];output+="=="}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];output+=lookup[tmp>>10];output+=lookup[tmp>>4&63];output+=lookup[tmp<<2&63];output+="="}parts.push(output);return parts.join("")}},function(module,exports,__webpack_require__){"use strict";(function(global){var base64=__webpack_require__(5);var ieee754=__webpack_require__(8);var isArray=__webpack_require__(7);exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;Buffer.TYPED_ARRAY_SUPPORT=global.TYPED_ARRAY_SUPPORT!==undefined?global.TYPED_ARRAY_SUPPORT:typedArraySupport();exports.kMaxLength=kMaxLength();function typedArraySupport(){try{var arr=new Uint8Array(1);arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}};return arr.foo()===42&&typeof arr.subarray==="function"&&arr.subarray(1,1).byteLength===0}catch(e){return false}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function createBuffer(that,length){if(kMaxLength()=kMaxLength()){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+kMaxLength().toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return!!(b!=null&&b._isBuffer)};Buffer.compare=function compare(a,b){if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError("Arguments must be Buffers")}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;i0){str=this.toString("hex",0,max).match(/.{2}/g).join(" ");if(this.length>max)str+=" ... "}return""};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(!Buffer.isBuffer(target)){throw new TypeError("Argument must be a Buffer")}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(isNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(Buffer.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;iarrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;jremaining){length=remaining}}var strLen=string.length;if(strLen%2!==0)throw new TypeError("Invalid hex string");if(length>strLen/2){length=strLen/2}for(var i=0;iremaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(ilen)end=len;var out="";for(var i=start;ilen){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(endlength)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||valuebuf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;byteLength=byteLength|0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,255,0);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);this[offset]=value&255;return offset+1};function objectWriteUInt16(buf,value,offset,littleEndian){if(value<0)value=65535+value+1;for(var i=0,j=Math.min(buf.length-offset,2);i>>(littleEndian?i:1-i)*8}}Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value -;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};function objectWriteUInt32(buf,value,offset,littleEndian){if(value<0)value=4294967295+value+1;for(var i=0,j=Math.min(buf.length-offset,4);i>>(littleEndian?i:3-i)*8&255}}Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,4,3.4028234663852886e38,-3.4028234663852886e38)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,8,1.7976931348623157e308,-1.7976931348623157e308)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end=this.length)throw new RangeError("sourceStart out of bounds");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart=0;--i){target[i+targetStart]=this[i+start]}}else if(len<1e3||!Buffer.TYPED_ARRAY_SUPPORT){for(i=0;i>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isnan(val){return val!==val}}).call(exports,__webpack_require__(0))},function(module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return toString.call(arr)=="[object Array]"}},function(module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},function(module,exports,__webpack_require__){(function(global,Buffer){var require;var require;(function(f){if(true){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.mapboxgl=f()}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return require(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i,rn.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var h=this.shelves[t],n=h.alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1===++t.refcount){var e=t.h;this.stats[e]=(0|this.stats[e])+1}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0===--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t})},{}],3:[function(require,module,exports){function UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){"undefined"==typeof i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))}},{}],4:[function(require,module,exports){!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){s=s||{};var f=e+"?"+["bbox="+o(r,n,i),"format="+(s.format||"image/png"),"service="+(s.service||"WMS"),"version="+(s.version||"1.1.1"),"request="+(s.request||"GetMap"),"srs="+(s.srs||"EPSG:3857"),"width="+(s.width||256),"height="+(s.height||256),"layers="+t].join("&");return f}function o(e,t,o){t=Math.pow(2,o)-t-1;var n=r(256*e,256*t,o),i=r(256*(e+1),256*(t+1),o);return n[0]+","+n[1]+","+i[0]+","+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o),n=e*r-2*Math.PI*6378137/2,i=t*r-2*Math.PI*6378137/2;return[n,i]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,"__esModule",{value:!0})})},{}],5:[function(require,module,exports){"use strict";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do{if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),t=n=t.prev,t===t.next)return null;r=!0}}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if(e=l,e===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l)),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do{null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do{n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do{r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next}while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r}},{}],6:[function(require,module,exports){function geometry(r){if("Polygon"===r.type)return polygonArea(r.coordinates);if("MultiPolygon"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=require("geojson-area");module.exports=rewind},{"geojson-area":6}],8:[function(require,module,exports){"use strict";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));h=g[S-1],c=h[n],c>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=require("./feature")},{"./feature":10}],9:[function(require,module,exports){"use strict";function convert(e,t){var r=[];if("FeatureCollection"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time("creation"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd("creation"));var h="z"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time("clipping");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd("clipping"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log("drilling down to z%d-%d-%d",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log("found parent tile z%d-%d-%d",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time("drilling down");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd("drilling down"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify},{}],13:[function(require,module,exports){"use strict";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){var r=signedArea(e);r<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l}},{}],18:[function(require,module,exports){"use strict";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range},{}],20:[function(require,module,exports){"use strict";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1),c=Math.max(s,Math.floor(o-p*m/f+n)),h=Math.min(r,Math.floor(o+(f-p)*m/f+n));select(t,a,o,c,h,e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD},{}],21:[function(require,module,exports){"use strict";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within},{}],22:[function(require,module,exports){"use strict";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return"undefined"!=typeof window&&"undefined"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return"JSON"in window&&"parse"in JSON&&"stringify"in JSON}function isWorkerSupported(){return"Worker"in window}function isUint8ClampedArraySupported(){return"Uint8ClampedArray"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement("canvas"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext("webgl",r)||t.probablySupportsContext("experimental-webgl",r):t.supportsContext?t.supportsContext("webgl",r)||t.supportsContext("experimental-webgl",r):t.getContext("webgl",r)||t.getContext("experimental-webgl",r)}"undefined"!=typeof module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],23:[function(require,module,exports){(function(process){function normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];"."===s?r.splice(n,1):".."===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift("..");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(r=n+"/"+r,t="/"===n.charAt(0))}return r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"),(t?"/":"")+r||"."},exports.normalize=function(r){var t=exports.isAbsolute(r),e="/"===substr(r,-1);return r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"),r||t||(r="."),r&&e&&(r+="/"),(t?"/":"")+r},exports.isAbsolute=function(r){return"/"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if("string"!=typeof r)throw new TypeError("Arguments to path.join must be strings");return r}).join("/"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&""===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split("/")),s=e(t.split("/")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var ieee754=require("ieee754"),BufferMethods,lastStr,lastStrEncoded;BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n="",i="";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error("Given varint doesn't fit into 10 bytes");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.Fixed64)throw new Error("Unimplemented type: "+i);this.pos+=8}},writeTag:function(t,i){this.writeVarint(t<<3|i)},realloc:function(t){for(var i=this.length||16;i268435455?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127)))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./buffer":24}],26:[function(require,module,exports){"use strict";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var n=t.x-this.x,i=t.y-this.y;return n*n+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,this.y=i,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t}},{}],27:[function(require,module,exports){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){ -draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1),n=Math.max(r,Math.floor(t-e*s/f+i)),h=Math.min(o,Math.floor(t+(f-e)*s/f+i));partialSort(a,t,n,h,p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort},{}],29:[function(require,module,exports){"use strict";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:"Feature",properties:getClusterProperties(t),geometry:{type:"Point",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return{cluster:!0,point_count:e,point_count_abbreviated:o}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=require("kdbush");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time("total time");var o="prepare "+t.length+" points";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log("z%d: %d clusters in %dms",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd("total time"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c="",a=!1,l=["{","}"];if(isArray(r)&&(a=!0,l=["[","]"]),isFunction(r)){var p=r.name?": "+r.name:"";c=" [Function"+p+"]"}if(isRegExp(r)&&(c=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(c=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(c=" "+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n"))):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;s=JSON.stringify(""+i),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf("\n")>=0&&n++,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(e){return"[Circular]"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error("unknown command "+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-(1/0),p=1/0,h=-(1/0);e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error("unknown command "+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=require("./vectortilefeature.js");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)}},{"./vectortilefeature.js":36}],38:[function(require,module,exports){function fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||"",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup},{"./program_configuration":58}],45:[function(require,module,exports){"use strict";var ArrayGroup=require("./array_group"),BufferGroup=require("./buffer_group"),util=require("../util/util"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||o<0||o>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,y,o,-1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,1),addCircleVertex(r.layoutVertexArray,y,o,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60}],47:[function(require,module,exports){"use strict";var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),earcut=require("earcut"),classifyRings=require("../../util/classify_rings"),EARCUT_MAX_RINGS=500,fillInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"}]),elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:"fill-color",type:"Uint8"},{property:"fill-outline-color",type:"Uint8"},{property:"fill-opacity",type:"Uint8",multiplier:255}] -},FillBucket=function(e){function r(r){e.call(this,r,fillInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);tEXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),EXTENT=require("../extent"),earcut=require("earcut"),classifyRings=require("../../util/classify_rings"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal",components:3,type:"Int16"},{name:"a_edgedistance",components:1,type:"Int16"}]),elementArrayType:createElementArrayType(3),paintAttributes:[{property:"fill-extrusion-base",type:"Uint16"},{property:"fill-extrusion-height",type:"Uint16"},{property:"fill-extrusion-color",type:"Uint8"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function r(r){e.call(this,r,fillExtrusionInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);t=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var _=g.sub(A)._perp()._unit();addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,1,m),m+=A.dist(g),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,1,m);var v=p.vertexLength;r.elementArray.emplaceBack(v,v+1,v+2),r.elementArray.emplaceBack(v+1,v+2,v+3),p.vertexLength+=4,p.primitiveLength+=2}}u.push(g.x),u.push(g.y)}}}for(var E=earcut(u,c),T=0;T>6)}var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),EXTENT=require("../extent"),VectorTileFeature=require("vector-tile").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(37.5*(Math.PI/180)),SHARP_CORNER_OFFSET=15,LINE_DISTANCE_BUFFER_BITS=15,LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE,lineInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}]),paintAttributes:[{property:"line-color",type:"Uint8"},{property:"line-blur",multiplier:10,type:"Uint8"},{property:"line-opacity",multiplier:10,type:"Uint8"},{property:"line-gap-width",multiplier:10,type:"Uint8",name:"a_gapwidth"},{property:"line-offset",multiplier:1,type:"Int8"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r["line-join"],a=r["line-cap"],n=r["line-miter-limit"],d=r["line-round-limit"],s=0,u=loadGeometry(e,LINE_DISTANCE_BUFFER_BITS);s=2&&e[l-1].equals(e[l-2]);)l--;if(!(l<(u?3:2))){"bevel"===r&&(a=1.05);var o=SHARP_CORNER_OFFSET*(EXTENT/(512*this.overscaling)),p=e[0],c=this.arrays,_=c.prepareSegment(10*l);this.distance=0;var y,h,m,E,x,C,v,A=i,f=u?"butt":i,L=!0;this.e1=this.e2=this.e3=-1,u&&(y=e[l-2],x=p.sub(y)._unit()._perp());for(var V=0;V0){var b=y.dist(h);if(b>2*o){var R=y.sub(y.sub(h)._mult(o/b)._round());d.distance+=R.dist(h),d.addCurrentVertex(R,d.distance,E.mult(1),0,0,!1,_),h=R}}var g=h&&m,F=g?r:m?A:f;if(g&&"round"===F&&(Ia&&(F="bevel"),"bevel"===F&&(I>2&&(F="flipbevel"),I100)S=x.clone().mult(-1);else{var B=E.x*x.y-E.y*x.x>0?-1:1,k=I*E.add(x).mag()/E.sub(x).mag();S._perp()._mult(k*B)}d.addCurrentVertex(y,d.distance,S,0,0,!1,_),d.addCurrentVertex(y,d.distance,S.mult(-1),0,0,!1,_)}else if("bevel"===F||"fakeround"===F){var D=E.x*x.y-E.y*x.x>0,P=-Math.sqrt(I*I-1);if(D?(v=0,C=P):(C=0,v=P),L||d.addCurrentVertex(y,d.distance,E,C,v,!1,_),"fakeround"===F){for(var U=Math.floor(8*(.5-(T-.5))),q=void 0,M=0;M=0;O--)q=E.mult((O+1)/(U+1))._add(x)._unit(),d.addPieSliceVertex(y,d.distance,q,D,_)}m&&d.addCurrentVertex(y,d.distance,x,-C,-v,!1,_)}else"butt"===F?(L||d.addCurrentVertex(y,d.distance,E,0,0,!1,_),m&&d.addCurrentVertex(y,d.distance,x,0,0,!1,_)):"square"===F?(L||(d.addCurrentVertex(y,d.distance,E,1,1,!1,_),d.e1=d.e2=-1),m&&d.addCurrentVertex(y,d.distance,x,-1,-1,!1,_)):"round"===F&&(L||(d.addCurrentVertex(y,d.distance,E,0,0,!1,_),d.addCurrentVertex(y,d.distance,E,1,1,!0,_),d.e1=d.e2=-1),m&&(d.addCurrentVertex(y,d.distance,x,-1,-1,!0,_),d.addCurrentVertex(y,d.distance,x,0,0,!1,_)));if(N&&V2*o){var H=y.add(m.sub(y)._mult(o/X)._round());d.distance+=H.dist(y),d.addCurrentVertex(H,d.distance,x.mult(1),0,0,!1,_),y=H}}L=!1}c.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60,"vector-tile":34}],50:[function(require,module,exports){"use strict";function addVertex(e,t,o,r,a,i,n,l,s,c,y){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i/4,n/4,10*(c||0),y,10*(l||0),10*Math.min(s||25,25))}function addCollisionBoxVertex(e,t,o,r,a){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*r,10*a)}var Point=require("point-geometry"),ArrayGroup=require("../array_group"),BufferGroup=require("../buffer_group"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),EXTENT=require("../extent"),Anchor=require("../../symbol/anchor"),getAnchors=require("../../symbol/get_anchors"),resolveTokens=require("../../util/token"),Quads=require("../../symbol/quads"),Shaping=require("../../symbol/shaping"),resolveText=require("../../symbol/resolve_text"),mergeLines=require("../../symbol/mergelines"),clipLine=require("../../symbol/clip_line"),util=require("../../util/util"),scriptDetection=require("../../util/script_detection"),loadGeometry=require("../load_geometry"),CollisionFeature=require("../../symbol/collision_feature"),findPoleOfInaccessibility=require("../../util/find_pole_of_inaccessibility"),classifyRings=require("../../util/classify_rings"),VectorTileFeature=require("vector-tile").VectorTileFeature,rtlTextPlugin=require("../../source/rtl_text_plugin"),shapeText=Shaping.shapeText,shapeIcon=Shaping.shapeIcon,WritingMode=Shaping.WritingMode,getGlyphQuads=Quads.getGlyphQuads,getIconQuads=Quads.getIconQuads,elementArrayType=createElementArrayType(),layoutVertexArrayType=createVertexArrayType([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_texture_pos",components:2,type:"Uint16"},{name:"a_data",components:4,type:"Uint8"}]),symbolInterfaces={glyph:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:"a_fill_color",property:"text-color",type:"Uint8"},{name:"a_halo_color",property:"text-halo-color",type:"Uint8"},{name:"a_halo_width",property:"text-halo-width",type:"Uint16",multiplier:10},{name:"a_halo_blur",property:"text-halo-blur",type:"Uint16",multiplier:10},{name:"a_opacity",property:"text-opacity",type:"Uint8",multiplier:255}]},icon:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:"a_fill_color",property:"icon-color",type:"Uint8"},{name:"a_halo_color",property:"icon-halo-color",type:"Uint8"},{name:"a_halo_width",property:"icon-halo-width",type:"Uint16",multiplier:10},{name:"a_halo_blur",property:"icon-halo-blur",type:"Uint16",multiplier:10},{name:"a_opacity",property:"icon-opacity",type:"Uint8",multiplier:255}]},collisionBox:{layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"},{name:"a_data",components:2,type:"Uint8"}]),elementArrayType:createElementArrayType(2)}},SymbolBucket=function(e){var t=this;if(this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.sdfIcons=e.sdfIcons,this.iconsNeedLinear=e.iconsNeedLinear,this.adjustedTextSize=e.adjustedTextSize,this.adjustedIconSize=e.adjustedIconSize,this.fontstack=e.fontstack,e.arrays){this.buffers={};for(var o in e.arrays)e.arrays[o]&&(t.buffers[o]=new BufferGroup(symbolInterfaces[o],e.layers,e.zoom,e.arrays[o]))}};SymbolBucket.prototype.populate=function(e,t){var o=this,r=this.layers[0],a=r.layout,i=a["text-font"],n=a["icon-image"],l=i&&(!r.isLayoutValueFeatureConstant("text-field")||a["text-field"]),s=n;if(this.features=[],l||s){for(var c=t.iconDependencies,y=t.glyphDependencies,p=y[i]=y[i]||{},x=0;xEXTENT||i.y<0||i.y>EXTENT);if(!x||n){var l=n||f;r.addSymbolInstance(i,a,t,o,r.layers[0],l,r.collisionBoxArray,e.index,e.sourceLayerIndex,r.index,s,h,m,y,u,g,{zoom:r.zoom},e.properties)}};if("line"===b)for(var S=0,T=clipLine(e.geometry,0,0,EXTENT,EXTENT);S=0;i--)if(o.dist(a[i])7*Math.PI/4)continue}else if(r&&a&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(r&&a&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var m=u.tl,g=u.tr,f=u.bl,b=u.br,v=u.tex,I=u.anchorPoint,S=Math.max(y+Math.log(u.minScale)/Math.LN2,p),T=Math.min(y+Math.log(u.maxScale)/Math.LN2,25);if(!(T<=S)){S===p&&(S=0);var M=Math.round(u.glyphAngle/(2*Math.PI)*256),B=e.prepareSegment(4),A=B.vertexLength;addVertex(c,I.x,I.y,m.x,m.y,v.x,v.y,S,T,p,M),addVertex(c,I.x,I.y,g.x,g.y,v.x+v.w,v.y,S,T,p,M),addVertex(c,I.x,I.y,f.x,f.y,v.x,v.y+v.h,S,T,p,M),addVertex(c,I.x,I.y,b.x,b.y,v.x+v.w,v.y+v.h,S,T,p,M),s.emplaceBack(A,A+1,A+2),s.emplaceBack(A+1,A+2,A+3),B.vertexLength+=4,B.primitiveLength+=2}}e.populatePaintArrays(n)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,r=o.layoutVertexArray,a=o.elementArray,i=-e.angle,n=e.yStretch,l=0,s=t.symbolInstances;lSymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),z>SymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907");var _=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:M,textBoxEndIndex:B,iconBoxStartIndex:A,iconBoxEndIndex:z,glyphQuads:I,iconQuads:v,anchor:e,featureIndex:l,featureProperties:g,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket},{"../../source/rtl_text_plugin":90,"../../symbol/anchor":157,"../../symbol/clip_line":159,"../../symbol/collision_feature":161,"../../symbol/get_anchors":163,"../../symbol/mergelines":166,"../../symbol/quads":167,"../../symbol/resolve_text":168,"../../symbol/shaping":169,"../../util/classify_rings":195,"../../util/find_pole_of_inaccessibility":201,"../../util/script_detection":209,"../../util/token":211,"../../util/util":212,"../array_group":44,"../buffer_group":52,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60,"point-geometry":26,"vector-tile":34}],51:[function(require,module,exports){"use strict";var AttributeType={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT"},Buffer=function(e,t,r){this.arrayBuffer=e.arrayBuffer,this.length=e.length,this.attributes=t.members,this.itemSize=t.bytesPerElement,this.type=r,this.arrayType=t};Buffer.fromStructArray=function(e,t){return new Buffer(e.serialize(),e.constructor.serialize(),t)},Buffer.prototype.bind=function(e){var t=e[this.type];this.buffer?e.bindBuffer(t,this.buffer):(this.gl=e,this.buffer=e.createBuffer(),e.bindBuffer(t,this.buffer),e.bufferData(t,this.arrayBuffer,e.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.setVertexAttribPointers=function(e,t,r){for(var f=this,i=0;i0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),"viewport"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return u}},{"../util/util":212,"./extent":54}],57:[function(require,module,exports){"use strict";var createStructArrayType=require("../util/struct_array"),PosArray=createStructArrayType({members:[{name:"a_pos",type:"Int16",components:2}]});module.exports=PosArray},{"../util/struct_array":210}],58:[function(require,module,exports){"use strict";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+"-","").replace(/-/g,"_"));var i="color"===r._paintSpecifications[t.property].type;return util.extend({name:"a_"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=require("./vertex_array_type"),util=require("../util/util"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=""};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(t&&t.hasOwnProperty("lng")&&t.hasOwnProperty("lat"))return new LngLat(t.lng,t.lat);if(Array.isArray(t)&&2===t.length)return new LngLat(t[0],t[1]);throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]")},module.exports=LngLat},{"../util/util":212}],63:[function(require,module,exports){"use strict";var LngLat=require("./lng_lat"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds},{"./lng_lat":62}],64:[function(require,module,exports){"use strict";var LngLat=require("./lng_lat"),Point=require("point-geometry"),Coordinate=require("./coordinate"),util=require("../util/util"),interp=require("../util/interpolate"),TileCoord=require("../source/tile_coord"),EXTENT=require("../data/extent"),glmatrix=require("@mapbox/gl-matrix"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){var i=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-i)*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o))},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var o=0,e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(o-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r,n,s,a,h=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),i=this.latY(this.latRange[0]),r=i-ti&&(a=i-l)}if(this.lngRange){var u=this.x,f=h.x/2;u-fe&&(s=e-f)}void 0===s&&void 0===a||(this.center=this.unproject(new Point(void 0!==s?s:this.x,void 0!==a?a:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),e=Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance,r=1.01*e,n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),n=mat4.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error("failed to invert matrix");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform},{"../data/extent":54,"../source/tile_coord":94,"../util/interpolate":204,"../util/util":212,"./coordinate":61,"./lng_lat":62,"@mapbox/gl-matrix":1,"point-geometry":26}],65:[function(require,module,exports){"use strict";var browser=require("./util/browser"),mapboxgl=module.exports={};mapboxgl.version=require("../package.json").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=require("./ui/map"),mapboxgl.NavigationControl=require("./ui/control/navigation_control"),mapboxgl.GeolocateControl=require("./ui/control/geolocate_control"),mapboxgl.AttributionControl=require("./ui/control/attribution_control"),mapboxgl.ScaleControl=require("./ui/control/scale_control"),mapboxgl.FullscreenControl=require("./ui/control/fullscreen_control"),mapboxgl.Popup=require("./ui/popup"),mapboxgl.Marker=require("./ui/marker"),mapboxgl.Style=require("./style/style"),mapboxgl.LngLat=require("./geo/lng_lat"),mapboxgl.LngLatBounds=require("./geo/lng_lat_bounds"),mapboxgl.Point=require("point-geometry"),mapboxgl.Evented=require("./util/evented"),mapboxgl.supported=require("./util/browser").supported;var config=require("./util/config");mapboxgl.config=config;var rtlTextPlugin=require("./source/rtl_text_plugin");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,"accessToken",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}})},{"../package.json":43,"./geo/lng_lat":62,"./geo/lng_lat_bounds":63,"./source/rtl_text_plugin":90,"./style/style":146,"./ui/control/attribution_control":173,"./ui/control/fullscreen_control":174,"./ui/control/geolocate_control":175,"./ui/control/navigation_control":177,"./ui/control/scale_control":178,"./ui/map":187,"./ui/marker":188,"./ui/popup":189,"./util/browser":192,"./util/config":196,"./util/evented":200,"point-geometry":26}],66:[function(require,module,exports){"use strict";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint["background-color"],l=e.paint["background-pattern"],u=e.paint["background-opacity"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram("fillPattern",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram("fill",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var c=i.coveringTiles({tileSize:n}),g=0,p=c;g":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]], -y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]}},{"../data/buffer":51,"../data/extent":54,"../data/pos_array":57,"../util/browser":192,"./vertex_array_object":80,"@mapbox/gl-matrix":1}],70:[function(require,module,exports){"use strict";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint["fill-pattern"]&&r.isPaintValueFeatureConstant("fill-color")&&r.isPaintValueFeatureConstant("fill-opacity")&&1===r.paint["fill-color"][3]&&1===r.paint["fill-opacity"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint["fill-antialias"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty("fill-outline-color")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint["raster-fade-duration"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=require("../util/util");module.exports=drawRaster},{"../util/util":212}],74:[function(require,module,exports){"use strict";function drawSymbols(e,t,a,i){if(!e.isOpaquePass){var o=!(a.layout["text-allow-overlap"]||a.layout["icon-allow-overlap"]||a.layout["text-ignore-placement"]||a.layout["icon-ignore-placement"]),r=e.gl;o?r.disable(r.STENCIL_TEST):r.enable(r.STENCIL_TEST),e.setDepthSublayer(0),e.depthMask(!1),drawLayerSymbols(e,t,a,i,!1,a.paint["icon-translate"],a.paint["icon-translate-anchor"],a.layout["icon-rotation-alignment"],a.layout["icon-rotation-alignment"],a.layout["icon-size"]),drawLayerSymbols(e,t,a,i,!0,a.paint["text-translate"],a.paint["text-translate-anchor"],a.layout["text-rotation-alignment"],a.layout["text-pitch-alignment"],a.layout["text-size"]),t.map.showCollisionBoxes&&drawCollisionDebug(e,t,a,i)}}function drawLayerSymbols(e,t,a,i,o,r,n,l,s,u){if(o||!e.style.sprite||e.style.sprite.loaded()){var f=e.gl,m="map"===l,p="map"===s,c=p;c?f.enable(f.DEPTH_TEST):f.disable(f.DEPTH_TEST);for(var d,_,h=0,g=i;hthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);a<=t?r.opacities[a]=r.changeOpacities[a]+o:r.opacities[a]=r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory},{}],76:[function(require,module,exports){"use strict";var util=require("../util/util"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(",")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1,a=128;if(this.nextRow+s>this.height)return util.warnOnce("LineAtlas out of space"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);var t=8,i=1/t;r.blendColor(i,i,i,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s="#define MAPBOX_GL_JS\n#define DEVICE_PIXEL_RATIO "+browser.devicePixelRatio.toFixed(1)+"\n";this._showOverdrawInspector&&(s+="#define OVERDRAW_INSPECTOR;\n");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,"fragment"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,"vertex"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)}},{"../source/pixels_to_tile_units":87}],79:[function(require,module,exports){"use strict";var path=require("path");module.exports={prelude:{fragmentSource:"#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n", -vertexSource:"#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\n if (t < 1.0) {\n return mix(values[0], values[1], t);\n } else if (t < 2.0) {\n return mix(values[1], values[2], t - 1.0);\n } else {\n return mix(values[2], values[3], t - 2.0);\n }\n}\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\n if (t < 1.0) {\n return mix(value0, value1, t);\n } else if (t < 2.0) {\n return mix(value1, value2, t - 1.0);\n } else {\n return mix(value2, value3, t - 2.0);\n }\n}\n\n\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\n// [ floor(color.r * 255) * 256 + color.g * 255,\n// floor(color.b * 255) * 256 + color.g * 255 ]\nvec4 decode_color(const vec2 encodedColor) {\n float r = floor(encodedColor[0]/256.0)/255.0;\n float g = (encodedColor[0] - r*256.0*255.0)/255.0;\n float b = floor(encodedColor[1]/256.0)/255.0;\n float a = (encodedColor[1] - b*256.0*255.0)/255.0;\n return vec4(r, g, b, a);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\n return mix(packedValue[0], packedValue[1], t);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\n return mix(minColor, maxColor, t);\n}\n\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\n// vec2 offset = mod(pixel_coord, size)\n//\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\n//\n// The pixel_coord is passed in as two 16 bit values:\n// pixel_coord_upper = floor(pixel_coord / 2^16)\n// pixel_coord_lower = mod(pixel_coord, 2^16)\n//\n// The offset is calculated in a series of steps that should preserve this precision:\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\n\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\n return (tile_units_to_pixels * pos + offset) / pattern_size;\n}\n"},circle:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n float extrude_length = length(v_extrude);\n float antialiased_blur = -max(blur, v_antialiasblur);\n\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\n\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\n antialiased_blur,\n 0.0,\n extrude_length - radius / (radius + stroke_width)\n );\n\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform vec2 u_extrude_scale;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main(void) {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n // unencode the extrusion vector that we snuck into the a_pos vector\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n // in extrusion data\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\n\n if (u_scale_with_map) {\n gl_Position.xy += extrude;\n } else {\n gl_Position.xy += extrude * gl_Position.w;\n }\n\n // This is a minimum blur distance that serves as a faux-antialiasing for\n // the circle. since blur is a ratio of the circle's size and the intent is\n // to keep the blur at roughly 1px, the two are inversely related.\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\n}\n"},collisionBox:{fragmentSource:"uniform float u_zoom;\nuniform float u_maxzoom;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n\n float alpha = 0.5;\n\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\n\n if (v_placement_zoom > u_zoom) {\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n }\n\n if (u_zoom >= v_max_zoom) {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\n }\n\n if (v_placement_zoom >= u_maxzoom) {\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\n }\n}\n",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_data;\n\nuniform mat4 u_matrix;\nuniform float u_scale;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\n\n v_max_zoom = a_data.x;\n v_placement_zoom = a_data.y;\n}\n"},debug:{fragmentSource:"uniform lowp vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fillOutline:{fragmentSource:"#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = smoothstep(1.0, 0.0, dist);\n gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillOutlinePattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n // find distance to outline for alpha interpolation\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = smoothstep(1.0, 0.0, dist);\n\n\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n}\n"},fillExtrusion:{fragmentSource:"varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize lowp vec4 color\n\n gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define lowp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize lowp vec4 color\n\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\n float t = mod(a_normal.x, 2.0);\n\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n // Relative luminance (how dark/bright is the surface color?)\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n // Add slight ambient lighting so no extrusions are totally black\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n color += ambientlight;\n\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n // Adjust directional so that\n // the range of values for highlight/shading is narrower\n // with lower light intensity\n // and with lighter/brighter surface colors\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n // Add gradient along z axis of side surfaces\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n // with lower bounds adjusted to hue of light\n // so that shading is tinted with the complementary (opposite) color to the light color\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n"},fillExtrusionPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n vec4 mixedColor = mix(color1, color2, u_mix);\n\n gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n float t = mod(a_normal.x, 2.0);\n float z = t > 0.0 ? height : base;\n\n gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\n ? a_pos // extrusion top\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\n\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n"},extrusionTexture:{fragmentSource:"uniform sampler2D u_texture;\nuniform float u_opacity;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_texture, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform int u_xdim;\nuniform int u_ydim;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos.x = a_pos.x / float(u_xdim);\n v_pos.y = 1.0 - a_pos.y / float(u_ydim);\n}\n"},line:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n"},linePattern:{fragmentSource:"uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\n\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float gapwidth\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_linesofar = a_linesofar;\n v_width2 = vec2(outset, inset);\n}\n"},lineSDF:{fragmentSource:"\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", -vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\nuniform mediump float u_width;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset;\n \n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist =outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n v_width2 = vec2(outset, inset);\n}\n"},raster:{fragmentSource:"uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n // read and cross-fade colors from the main and parent tiles\n vec4 color0 = texture2D(u_image0, v_pos0);\n vec4 color1 = texture2D(u_image1, v_pos1);\n vec4 color = mix(color0, color1, u_fade_t);\n color.a *= u_opacity;\n vec3 rgb = color.rgb;\n\n // spin\n rgb = vec3(\n dot(rgb, u_spin_weights.xyz),\n dot(rgb, u_spin_weights.zxy),\n dot(rgb, u_spin_weights.yzx));\n\n // saturation\n float average = (color.r + color.g + color.b) / 3.0;\n rgb += (average - rgb) * u_saturation_factor;\n\n // contrast\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n // brightness\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n"},symbolIcon:{fragmentSource:"uniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\nattribute vec4 a_pos_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n#pragma mapbox: define lowp float opacity\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_texture_pos.xy;\n mediump float a_labelminzoom = a_data[0];\n mediump vec2 a_zoom = a_data.pq;\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n // u_zoom is the current zoom level adjusted for the change in font size\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n if (u_rotate_with_map) {\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n } else {\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n"},symbolSDF:{fragmentSource:"#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\n#pragma mapbox: define lowp vec4 fill_color\n#pragma mapbox: define lowp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp float u_font_scale;\nuniform highp float u_gamma_scale;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 fill_color\n #pragma mapbox: initialize lowp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / u_gamma_scale;\n lowp float buff = (256.0 - 64.0) / 256.0;\n if (u_is_halo) {\n color = halo_color;\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / u_gamma_scale;\n buff = (6.0 - halo_width / u_font_scale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, v_tex).a;\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\n highp float gamma_scaled = gamma * v_gamma_scale;\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n#pragma mapbox: define lowp vec4 fill_color\n#pragma mapbox: define lowp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform bool u_pitch_with_map;\nuniform mediump float u_pitch;\nuniform mediump float u_bearing;\nuniform mediump float u_aspect_ratio;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 fill_color\n #pragma mapbox: initialize lowp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_texture_pos.xy;\n mediump float a_labelminzoom = a_data[0];\n mediump vec2 a_zoom = a_data.pq;\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n // u_zoom is the current zoom level adjusted for the change in font size\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n // pitch-alignment: map\n // rotation-alignment: map | viewport\n if (u_pitch_with_map) {\n lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\n vec2 offset = RotationMatrix * a_offset;\n vec2 extrude = u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: map\n } else if (u_rotate_with_map) {\n // foreshortening factor to apply on pitched maps\n // as a label goes from horizontal <=> vertical in angle\n // it goes from 0% foreshortening to up to around 70% foreshortening\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\n\n lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\n\n // use the lineangle to position points a,b along the line\n // project the points and calculate the label angle in projected space\n // this calculation allows labels to be rendered unskewed on pitched maps\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\n\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\n vec2 extrude = u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: viewport\n } else {\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_gamma_scale = gl_Position.w;\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n"}}},{path:23}],80:[function(require,module,exports){"use strict";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,o){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension("OES_vertex_array_object"));var s=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==o;!e.extVertexArrayObject||s?(this.freshBind(e,t,r,i,n,o),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,o){var s,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),s=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=o;else{s=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send("loadTile",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send("removeTile",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast("removeSource",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource},{"../data/extent":54,"../util/evented":200,"../util/util":212,"../util/window":194}],83:[function(require,module,exports){"use strict";var ajax=require("../util/ajax"),rewind=require("geojson-rewind"),GeoJSONWrapper=require("./geojson_wrapper"),vtpbf=require("vt-pbf"),supercluster=require("supercluster"),geojsonvt=require("geojson-vt"),VectorTileWorkerSource=require("./vector_tile_worker_source"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name="_geojsonTileLayer";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):"object"!=typeof o?r(new Error("Input data is not a valid GeoJSON object.")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if("string"!=typeof e.data)return r(new Error("Input data is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error("Input data is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource},{"../util/ajax":191,"./geojson_wrapper":84,"./vector_tile_worker_source":96,"geojson-rewind":7,"geojson-vt":11,supercluster:29,"vt-pbf":38}],84:[function(require,module,exports){"use strict";var Point=require("point-geometry"),VectorTileFeature=require("vector-tile").VectorTileFeature,EXTENT=require("../data/extent"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;a=i._tiles[d],a&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var t=Math.ceil(e.width/e.tileSize)+1,o=Math.ceil(e.height/e.tileSize)+1,i=t*o,r=5;this._cache.setMaxSize(Math.floor(i*r))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(u=this.used?this._source.coord?[this._source.coord]:e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}):[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),a=o.findLoadedParent(r,d,l),a&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire("dataloading",{tile:t,coord:t.coord,dataType:"source"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,"expired"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-(1/0),n=-(1/0),d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTimei.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e="",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=t:this.dispatcher.send("reloadTile",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send("loadTile",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send("abortTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send("removeTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource},{"../util/evented":200,"../util/mapbox":208,"../util/util":212,"./load_tilejson":86}],96:[function(require,module,exports){"use strict";var ajax=require("../util/ajax"),vt=require("vector-tile"),Protobuf=require("pbf"),WorkerTile=require("./worker_tile"),util=require("../util/util"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];"parsing"===l.status?l.reloadCallback=r:"done"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var a=t[i],l=a.redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource},{"../util/ajax":191,"../util/util":212,"./worker_tile":99,pbf:25,"vector-tile":34}],97:[function(require,module,exports){"use strict";var ajax=require("../util/ajax"),ImageSource=require("./image_source"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type="video",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire("error",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener("playing",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener("pause",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},e}(ImageSource);module.exports=VideoSource},{"../util/ajax":191,"./image_source":85}],98:[function(require,module,exports){"use strict";var Actor=require("../util/actor"),StyleLayerIndex=require("../style/style_layer_index"),VectorTileWorkerSource=require("./vector_tile_worker_source"),GeoJSONWorkerSource=require("./geojson_worker_source"),globalRTLTextPlugin=require("./rtl_text_plugin"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name "'+e+'" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error("RTL text plugin already registered.");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)}},{"../style/style_layer_index":154,"../util/actor":190,"./geojson_worker_source":83,"./rtl_text_plugin":90,"./vector_tile_worker_source":96}],99:[function(require,module,exports){"use strict";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&"none"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(D++,2===D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r"===i||"<="===i||">="===i?compileComparisonOp(e[1],e[2],i,!0):"any"===i?compileLogicalOp(e.slice(1),"||"):"all"===i?compileLogicalOp(e.slice(1),"&&"):"none"===i?compileNegation(compileLogicalOp(e.slice(1),"||")):"in"===i?compileInOp(e[1],e.slice(2)):"!in"===i?compileNegation(compileInOp(e[1],e.slice(2))):"has"===i?compileHasOp(e[1]):"!has"===i?compileNegation(compileHasOp(e[1])):"true";return"("+n+")"}function compilePropertyReference(e){return"$type"===e?"f.type":"$id"===e?"f.id":"p["+JSON.stringify(e)+"]"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t="$type"===e?types.indexOf(i):JSON.stringify(i);return(r?"typeof "+o+"=== typeof "+t+"&&":"")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){"$type"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+".indexOf("+r+") !== -1":"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }("+r+", "+n+",0,"+(i.length-1)+")"}function compileHasOp(e){return"$id"===e?'"id" in f':JSON.stringify(e)+" in p"}function compileNegation(e){return"!("+e+")"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=["Unknown","Point","LineString","Polygon"]},{}],104:[function(require,module,exports){"use strict";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn),g=xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn);return[116*o-16,500*(b-o),200*(o-g),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1],n=r[2];return labToRgb([n,Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}}},{}],105:[function(require,module,exports){"use strict";function identityFunction(t){return t}function createFunction(t,e){var o,n="color"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&"object"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||("interpolated"===e.function?"exponential":"interval");n&&(t=extend({},t),t.stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if("exponential"===s)u=evaluateExponentialFunction;else if("interval"===s)u=evaluateIntervalFunction;else if("categorical"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=binarySearchForIndex(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if("number"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=binarySearchForIndex(t.stops,o);return interpolate(o,n,t.stops[a][0],t.stops[a+1][0],t.stops[a][1],t.stops[a+1][1])}function evaluateIdentityFunction(t,e,o){return"color"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function binarySearchForIndex(t,e){for(var o,n,r=t.length,a=0,i=r-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e>=o&&ee&&(i=s-1)}return Math.max(s-1,0)}function interpolate(t,e,o,n,r,a){return"function"==typeof r?function(){var i=r.apply(void 0,arguments),s=a.apply(void 0,arguments);if(void 0!==i&&void 0!==s)return interpolate(t,e,o,n,i,s)}:r.length?interpolateArray(t,e,o,n,r,a):interpolateNumber(t,e,o,n,r,a)}function interpolateNumber(t,e,o,n,r,a){var i,s=n-o,u=t-o;return i=1===e?u/s:(Math.pow(e,u)-1)/(Math.pow(e,s)-1),r*(1-i)+a*i}function interpolateArray(t,e,o,n,r,a){for(var i=[],s=0;s255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte("%"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float("%"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,"").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if("#"===r[0]){if(4===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null}if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf("("),t=r.indexOf(")");if(a!==-1&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(","),o=1;switch(n){case"rgba":if(4!==s.length)return null;o=parse_css_float(s.pop());case"rgb":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case"hsla":if(4!==s.length)return null;o=parse_css_float(s.pop());case"hsl":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){}},{}],108:[function(require,module,exports){function sss(r){var e,t,s,n,u,a;switch(typeof r){case"object":if(null===r)return null;if(isArray(r)){for(s="[",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+"]"}for(n=objKeys(r).sort(),t=n.length,s="{",u=n[e=0],a=t>0&&void 0!==r[u];e15?"\\u00"+e.toString(16):"\\u000"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return""+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace},{}],109:[function(require,module,exports){function isObjectLike(r){return!!r&&"object"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function isObjectLike(t){return!!t&&"object"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",funcTag="[object Function]",genTag="[object GeneratorFunction]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments},{}],113:[function(require,module,exports){function isObjectLike(t){return!!t&&"object"==typeof t}function getNative(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}function isLength(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&("object"==r||"function"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var arrayTag="[object Array]",funcTag="[object Function]",reIsHostCtor=/^\[object .+?Constructor\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp("^"+fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nativeIsArray=getNative(Array,"isArray"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(t){return isObjectLike(t)&&isLength(t.length)&&objToString.call(t)==arrayTag};module.exports=isArray},{}],114:[function(require,module,exports){function isEqual(a,l,i,e){i="function"==typeof i?bindCallback(i,e,3):void 0;var s=i?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=require("lodash._baseisequal"),bindCallback=require("lodash._bindcallback");module.exports=isEqual},{"lodash._baseisequal":109,"lodash._bindcallback":110}],115:[function(require,module,exports){function isLength(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&"object"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objectToString=objectProto.toString;module.exports=isTypedArray},{}],116:[function(require,module,exports){function baseProperty(e){return function(t){return null==t?void 0:t[e]}}function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e="number"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:false}},function_stop:{type:"array",minimum:0,maximum:22,value:["number","color"],length:2},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},transition:false},position:{type:"array",default:[1.15,210,30],length:3,value:"number",transition:true,function:"interpolated","zoom-function":true,"property-function":false},color:{type:"color",default:"#ffffff",function:"interpolated","zoom-function":true,"property-function":false,transition:true},intensity:{type:"number",default:.5,minimum:0,maximum:1,function:"interpolated","zoom-function":true,"property-function":false,transition:true}},paint:["paint_fill","paint_line","paint_circle","paint_fill-extrusion","paint_symbol","paint_raster","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",function:"piecewise-constant","zoom-function":true,default:true},"fill-opacity":{type:"number",function:"interpolated","zoom-function":true,"property-function":true,default:1,minimum:0,maximum:1,transition:true},"fill-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:[{"!":"fill-pattern"}]},"fill-outline-color":{type:"color",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:[{"!":"fill-pattern"},{"fill-antialias":true}]},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":true,transition:true,units:"pixels"},"fill-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map",requires:["fill-translate"]},"fill-pattern":{type:"string",function:"piecewise-constant","zoom-function":true,transition:true}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",function:"interpolated","zoom-function":true,"property-function":false,default:1,minimum:0,maximum:1,transition:true},"fill-extrusion-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:[{"!":"fill-extrusion-pattern"}]},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":true,transition:true,units:"pixels"},"fill-extrusion-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"]},"fill-extrusion-pattern":{type:"string",function:"piecewise-constant","zoom-function":true,transition:true},"fill-extrusion-height":{type:"number",function:"interpolated","zoom-function":true,"property-function":true,default:0,minimum:0,units:"meters",transition:true},"fill-extrusion-base":{type:"number",function:"interpolated","zoom-function":true,"property-function":true,default:0,minimum:0,units:"meters",transition:true,requires:["fill-extrusion-height"]}},paint_line:{"line-opacity":{type:"number",function:"interpolated","zoom-function":true,"property-function":true,default:1,minimum:0,maximum:1,transition:true},"line-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:[{"!":"line-pattern"}]},"line-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":true,transition:true,units:"pixels"},"line-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map",requires:["line-translate"]},"line-width":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":true,transition:true,units:"pixels"},"line-gap-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels"},"line-offset":{type:"number",default:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels"},"line-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels"},"line-dasharray":{type:"array",value:"number",function:"piecewise-constant","zoom-function":true,minimum:0,transition:true,units:"line widths",requires:[{"!":"line-pattern"}]},"line-pattern":{type:"string",function:"piecewise-constant","zoom-function":true,transition:true}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels"},"circle-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true},"circle-blur":{type:"number",default:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":true,"property-function":true,transition:true},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":true,transition:true,units:"pixels"},"circle-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map",requires:["circle-translate"]},"circle-pitch-scale":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map"},"circle-stroke-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels"},"circle-stroke-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":true,"property-function":true,transition:true}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:["icon-image"]},"icon-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:["icon-image"]},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:["icon-image"]},"icon-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels",requires:["icon-image"]},"icon-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels",requires:["icon-image"]},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":true,transition:true,units:"pixels",requires:["icon-image"]},"icon-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"]},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:["text-field"]},"text-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:["text-field"]},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:["text-field"]},"text-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels",requires:["text-field"]},"text-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels",requires:["text-field"]},"text-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":true,transition:true,units:"pixels",requires:["text-field"]},"text-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"]}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":true,transition:true},"raster-hue-rotate":{type:"number",default:0,period:360,function:"interpolated","zoom-function":true,transition:true,units:"degrees"},"raster-brightness-min":{type:"number",function:"interpolated","zoom-function":true,default:0,minimum:0,maximum:1,transition:true},"raster-brightness-max":{type:"number",function:"interpolated","zoom-function":true,default:1,minimum:0,maximum:1,transition:true},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":true,transition:true},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":true,transition:true},"raster-fade-duration":{type:"number",default:300,minimum:0,function:"interpolated","zoom-function":true,transition:true,units:"milliseconds"}},paint_background:{"background-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,transition:true,requires:[{"!":"background-pattern"}]},"background-pattern":{type:"string",function:"piecewise-constant","zoom-function":true,transition:true},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":true,transition:true}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}}}},{}],119:[function(require,module,exports){"use strict";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,"constants have been deprecated as of v8")];if(!(a in l.constants))return[new ValidationError(u,a,'constant "%s" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&"object"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))}},{"../error/validation_error":102,"../util/extend":119,"../util/get_type":120,"./validate_array":125,"./validate_boolean":126,"./validate_color":127,"./validate_constants":128,"./validate_enum":129,"./validate_filter":130,"./validate_function":131,"./validate_layer":133,"./validate_light":135,"./validate_number":136,"./validate_object":137,"./validate_source":140,"./validate_string":141}],125:[function(require,module,exports){"use strict";var getType=require("../util/get_type"),validate=require("./validate"),ValidationError=require("../error/validation_error");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if("array"!==getType(r))return[new ValidationError(l,r,"array expected, %s found",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,"array length %d expected, length %d found",t.length,r.length)];if(t["min-length"]&&r.length7)return t?[new ValidationError(e,t,"constants have been deprecated as of v8")]:[];var o=getType(t);if("object"!==o)return[new ValidationError(e,t,"object expected, %s found",o)];var n=[];for(var i in t)"@"!==i[0]&&n.push(new ValidationError(e+"."+i,t[i],'constants must start with "@"'));return n}},{"../error/validation_error":102,"../util/get_type":120}],129:[function(require,module,exports){"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?u.values.indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",u.values.join(", "),n)):Object.keys(u.values).indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",Object.keys(u.values).join(", "),n)),o}},{"../error/validation_error":102,"../util/unbundle_jsonlint":123}],130:[function(require,module,exports){"use strict";var ValidationError=require("../error/validation_error"),validateEnum=require("./validate_enum"),getType=require("../util/get_type"),unbundle=require("../util/unbundle_jsonlint");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if("array"!==getType(a))return[new ValidationError(n,a,"array expected, %s found",getType(a))];if(a.length<1)return[new ValidationError(n,a,"filter array must have at least 1 element")];switch(s=s.concat(validateEnum({key:n+"[0]",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case"<":case"<=":case">":case">=":a.length>=2&&"$type"===unbundle(a[1])&&s.push(new ValidationError(n,a,'"$type" cannot be use with operator "%s"',a[0]));case"==":case"!=":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator "%s" must have 3 elements',a[0]));case"in":case"!in":a.length>=2&&(t=getType(a[1]),"string"!==t&&s.push(new ValidationError(n+"[1]",a[1],"string expected, %s found",t)));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,"stop zoom values must appear in ascending order")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+"[0]",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+"[0]",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+"[1]",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,"%s stop domain type must match previous stop domain type %s",t,n)]}else n=t;if("number"!==t&&"string"!==t&&"boolean"!==t)return[new ValidationError(e.key,e.value,"stop domain value must be a number, string, or boolean")];if("number"!==t&&"categorical"!==p){var a="number expected, %s found";return u["property-function"]&&void 0===p&&(a+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new ValidationError(e.key,e.value,a,t)]}return"categorical"!==p||"number"!==t||isFinite(r)&&Math.floor(r)===r?"number"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec["property-function"]?v.push(new ValidationError(e.key,e.value,"property functions not supported")):y&&!e.valueSpec["zoom-function"]&&v.push(new ValidationError(e.key,e.value,"zoom functions not supported"))),"categorical"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'"property" property is required')),v}},{"../error/validation_error":102,"../util/get_type":120,"../util/unbundle_jsonlint":123,"./validate":124,"./validate_array":125,"./validate_number":136,"./validate_object":137}],132:[function(require,module,exports){"use strict";var ValidationError=require("../error/validation_error"),validateString=require("./validate_string");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(e.indexOf("{fontstack}")===-1&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{fontstack}" token')),e.indexOf("{range}")===-1&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{range}" token')),a)}},{"../error/validation_error":102,"./validate_string":141}],133:[function(require,module,exports){"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint"),validateObject=require("./validate_object"),validateFilter=require("./validate_filter"),validatePaintProperty=require("./validate_paint_property"),validateLayoutProperty=require("./validate_layout_property"),extend=require("../util/extend");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either "type" or "ref" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,"%s is greater than the maximum value %s",i,m.maximum)]:[]}},{"../error/validation_error":102,"../util/get_type":120}],137:[function(require,module,exports){"use strict";var ValidationError=require("../error/validation_error"),getType=require("../util/get_type"),validateSpec=require("./validate");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if("object"!==u)return[new ValidationError(r,t,"object expected, %s found",u)];for(var d in t){var p=d.split(".")[0],s=i[p]||i["*"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a["*"])c=a["*"];else{if(!i["*"]){n.push(new ValidationError(r,t[d],'unknown property "%s"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+".":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property "%s"',v));return n}},{"../error/validation_error":102,"../util/get_type":120,"./validate":124}],138:[function(require,module,exports){"use strict";var validateProperty=require("./validate_property");module.exports=function(r){return validateProperty(r,"paint")}},{"./validate_property":139}],139:[function(require,module,exports){"use strict";var validate=require("./validate"),ValidationError=require("../error/validation_error"),getType=require("../util/get_type");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+"_"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if("paint"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property "%s"',o)];var s;if("string"===getType(n)&&p["property-function"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'"%s" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return"symbol"===e.layerType&&"text-field"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of "text-field" requires a style "glyphs" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))}},{"../error/validation_error":102,"../util/get_type":120,"./validate":124}],140:[function(require,module,exports){"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint"),validateObject=require("./validate_object"),validateEnum=require("./validate_enum");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'"type" is required')];var u=unbundle(a.type),i=[];switch(u){case"vector":case"raster":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),"url"in a)for(var s in a)["type","url","tileSize"].indexOf(s)<0&&i.push(new ValidationError(t+"."+s,a[s],'a source with a "url" property may not include a "%s" property',s));return i;case"geojson":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case"video":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case"image":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case"canvas":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+".type",value:a.type,valueSpec:{values:["vector","raster","geojson","video","image","canvas"]},style:l,styleSpec:r})}}},{"../error/validation_error":102,"../util/unbundle_jsonlint":123,"./validate_enum":129,"./validate_object":137}],141:[function(require,module,exports){"use strict";var getType=require("../util/get_type"),ValidationError=require("../error/validation_error");module.exports=function(r){var e=r.value,t=r.key,i=getType(e) -;return"string"!==i?[new ValidationError(t,e,"string expected, %s found",i)]:[]}},{"../error/validation_error":102,"../util/get_type":120}],142:[function(require,module,exports){"use strict";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:"",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,"*":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:"constants",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=require("./validate/validate_constants"),validate=require("./validate/validate"),latestStyleSpec=require("./reference/latest"),validateGlyphsURL=require("./validate/validate_glyphs_url");validateStyleMin.source=wrapCleanErrors(require("./validate/validate_source")),validateStyleMin.light=wrapCleanErrors(require("./validate/validate_light")),validateStyleMin.layer=wrapCleanErrors(require("./validate/validate_layer")),validateStyleMin.filter=wrapCleanErrors(require("./validate/validate_filter")),validateStyleMin.paintProperty=wrapCleanErrors(require("./validate/validate_paint_property")),validateStyleMin.layoutProperty=wrapCleanErrors(require("./validate/validate_layout_property")),module.exports=validateStyleMin},{"./reference/latest":117,"./validate/validate":124,"./validate/validate_constants":128,"./validate/validate_filter":130,"./validate/validate_glyphs_url":132,"./validate/validate_layer":133,"./validate/validate_layout_property":134,"./validate/validate_light":135,"./validate/validate_paint_property":138,"./validate/validate_source":140}],143:[function(require,module,exports){"use strict";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop},{}],144:[function(require,module,exports){"use strict";var Evented=require("../util/evented"),ajax=require("../util/ajax"),browser=require("../util/browser"),normalizeURL=require("../util/mapbox").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function i(i,e){var a=this;t.call(this),this.base=i,this.retina=browser.devicePixelRatio>1,this.setEventedParent(e);var r=this.retina?"@2x":"";ajax.getJSON(normalizeURL(i,r,".json"),function(t,i){return t?void a.fire("error",{error:t}):(a.data=i,void(a.imgData&&a.fire("data",{dataType:"style"})))}),ajax.getImage(normalizeURL(i,r,".png"),function(t,i){if(t)return void a.fire("error",{error:t});a.imgData=browser.getImageData(i);for(var e=0;e1!==this.retina){var e=new i(this.base);e.on("data",function(){t.data=e.data,t.imgData=e.imgData,t.width=e.width,t.retina=e.retina})}},i.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var i=this.data&&this.data[t];return i&&this.imgData?i:new SpritePosition},i}(Evented);module.exports=ImageSprite},{"../util/ajax":191,"../util/browser":192,"../util/evented":200,"../util/mapbox":208}],145:[function(require,module,exports){"use strict";var styleSpec=require("../style-spec/reference/latest"),util=require("../util/util"),Evented=require("../util/evented"),validateStyle=require("./validate_style"),StyleDeclaration=require("./style_declaration"),StyleTransition=require("./style_transition"),TRANSITION_SUFFIX="-transition",Light=function(t){function i(i){t.call(this),this.properties=["anchor","color","position","intensity"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];"reload"===a?r._reloadSource(s):"clear"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire("data",{dataType:"style"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return"symbol"===r._layers[e].type}):null;this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;e=util.extend({},e),e.layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error("Unimplemented: "+i.map(function(e){return e.command}).join(", ")+".");return r.forEach(function(e){"setTransition"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!t.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(t)+".");var o=["vector","raster","geojson","video","image","canvas"],s=o.indexOf(t.type)>=0;if(!s||!this._validate(validateStyle.source,"sources."+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if("object"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,"layers."+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?"clear":"reload"}this._updateLayer(o),"symbol"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(!r)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")});var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),"symbol"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]="reload"))},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(!t)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")});t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),"symbol"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,"layers."+r.id+".filter",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(!o)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")});if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i);var a=!(r&&MapboxGLFunction.isFunctionDefinition(r)&&"$zoom"!==r.property&&void 0!==r.property);a&&s||this._updateLayer(o),this.updateClasses(e,t)}},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||"all"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]="reload"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||"none"===this.layout.visibility)},i.prototype.updatePaintTransitions=function(t,i,a,e,n){for(var o=this,r=util.extend({},this._paintDeclarations[""]),s=0;s=this.endTime)return e;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((o-this.startTime-this.delay)/this.duration);return this.interp(a,e,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var o=t.zoom,e=this.zoomHistory.lastIntegerZoom,a=o>e?2:.5,n=this.declaration.calculate({zoom:o>e?o-1:o+1},i),r=this.declaration.calculate({zoom:o},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(o-e),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition},{"../util/interpolate":204,"../util/util":212}],156:[function(require,module,exports){"use strict";module.exports=require("../style-spec/validate_style.min"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(s--,s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;fr;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle},{}],159:[function(require,module,exports){"use strict";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=require("point-geometry");module.exports=clipLine},{"point-geometry":26}],160:[function(require,module,exports){"use strict";var createStructArrayType=require("../util/struct_array"),Point=require("point-geometry"),CollisionBoxArray=createStructArrayType({members:[{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Float32",name:"maxScale"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"},{type:"Int16",name:"bbox0"},{type:"Int16",name:"bbox1"},{type:"Int16",name:"bbox2"},{type:"Int16",name:"bbox3"},{type:"Float32",name:"placementScale"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,"anchorPoint",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray},{"../util/struct_array":210,"point-geometry":26}],161:[function(require,module,exports){"use strict";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(m--,m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],C=e[m+1],B=C.sub(p)._unit()._mult(g)._add(p)._round(),M=Math.max(Math.abs(c-h)-d/2,0),y=s/2/M;t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature},{}],162:[function(require,module,exports){"use strict";var Point=require("point-geometry"),EXTENT=require("../data/extent"),Grid=require("grid-index"),intersectionTests=require("../util/intersection_tests"),CollisionTile=function(t,e,i){if("object"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);S=r.tempCollisionBox,S.anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-(1/0),c=-(1/0),g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+c<=s){var M=new Anchor(k,q,y,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=A}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,h)),x}var interpolate=require("../util/interpolate"),Anchor=require("../symbol/anchor"),checkMaxAngle=require("./check_max_angle");module.exports=getAnchors},{"../symbol/anchor":157,"../util/interpolate":204,"./check_max_angle":158}],164:[function(require,module,exports){"use strict";var ShelfPack=require("@mapbox/shelf-pack"),util=require("../util/util"),SIZE_GROWTH_RATE=4,DEFAULT_SIZE=128,MAX_SIZE=2048,GlyphAtlas=function(){this.width=DEFAULT_SIZE,this.height=DEFAULT_SIZE,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+"#"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,n=1,l=a+2*n,T=E+2*n;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce("glyph bitmap overflow"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=MAX_SIZE||e>=MAX_SIZE)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=SIZE_GROWTH_RATE,this.height*=SIZE_GROWTH_RATE,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a("glyphs > 65535 not supported");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var i=256*e+"-"+(256*e+255),r=glyphUrl(t,i,this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},i.prototype.addIcons=function(t,i){for(var e=this,r=0;r1||(b?(clearTimeout(b),b=null,h("dblclick",t)):b=setTimeout(l,300))}function i(e){f("touchmove",e)}function c(e){f("touchend",e)}function d(e){f("touchcancel",e)}function l(){b=null}function s(e){var t=DOM.mousePos(g,e);t.equals(L)&&h("click",e)}function v(e){h("dblclick",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h("contextmenu",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener("mouseout",n,!1),g.addEventListener("mousedown",o,!1),g.addEventListener("mouseup",r,!1),g.addEventListener("mousemove",a,!1),g.addEventListener("touchstart",u,!1),g.addEventListener("touchend",c,!1),g.addEventListener("touchmove",i,!1),g.addEventListener("touchcancel",d,!1),g.addEventListener("click",s,!1),g.addEventListener("dblclick",v,!1),g.addEventListener("contextmenu",m,!1)}},{"../util/dom":199,"./handler/box_zoom":179,"./handler/dblclick_zoom":180,"./handler/drag_pan":181,"./handler/drag_rotate":182,"./handler/keyboard":183,"./handler/scroll_zoom":184,"./handler/touch_zoom_rotate":185,"point-geometry":26}],172:[function(require,module,exports){"use strict";var util=require("../util/util"),interpolate=require("../util/interpolate"),browser=require("../util/browser"),LngLat=require("../geo/lng_lat"),LngLatBounds=require("../geo/lng_lat_bounds"),Point=require("point-geometry"),Evented=require("../util/evented"),Camera=function(t){function i(i,e){t.call(this),this.moving=!1,this.transform=i,this._bearingSnap=e.bearingSnap}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i),this},i.prototype.panBy=function(t,i,e){return this.panTo(this.transform.center,util.extend({offset:Point.convert(t).mult(-1)},i),e),this},i.prototype.panTo=function(t,i,e){return this.easeTo(util.extend({center:t},i),e)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,i){return this.jumpTo({zoom:t},i),this},i.prototype.zoomTo=function(t,i,e){return this.easeTo(util.extend({zoom:t},i),e)},i.prototype.zoomIn=function(t,i){return this.zoomTo(this.getZoom()+1,t,i),this},i.prototype.zoomOut=function(t,i){return this.zoomTo(this.getZoom()-1,t,i),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,i){return this.jumpTo({bearing:t},i),this},i.prototype.rotateTo=function(t,i,e){return this.easeTo(util.extend({bearing:t},i),e)},i.prototype.resetNorth=function(t,i){return this.rotateTo(0,util.extend({duration:1e3},t),i),this},i.prototype.snapToNorth=function(t,i){return Math.abs(this.getBearing())i?1:0}),["bottom","left","right","top"]))return void util.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'");t=LngLatBounds.convert(t);var n=[i.padding.left-i.padding.right,i.padding.top-i.padding.bottom],r=Math.min(i.padding.right,i.padding.left),s=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var a=Point.convert(i.offset),h=this.transform,u=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),c=p.sub(u),g=(h.width-2*r-2*Math.abs(a.x))/c.x,m=(h.height-2*s-2*Math.abs(a.y))/c.y;return m<0||g<0?void util.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset."):(i.center=h.unproject(u.add(p).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,m)),i.maxZoom),i.bearing=0,i.linear?this.easeTo(i,e):this.flyTo(i,e))},i.prototype.jumpTo=function(t,i){this.stop();var e=this.transform,o=!1,n=!1,r=!1;return"zoom"in t&&e.zoom!==+t.zoom&&(o=!0,e.zoom=+t.zoom),"center"in t&&(e.center=LngLat.convert(t.center)),"bearing"in t&&e.bearing!==+t.bearing&&(n=!0,e.bearing=+t.bearing),"pitch"in t&&e.pitch!==+t.pitch&&(r=!0,e.pitch=+t.pitch),this.fire("movestart",i).fire("move",i),o&&this.fire("zoomstart",i).fire("zoom",i).fire("zoomend",i),n&&this.fire("rotate",i),r&&this.fire("pitch",i),this.fire("moveend",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),t=util.extend({offset:[0,0],duration:500,easing:util.ease},t);var o,n,r=this.transform,s=Point.convert(t.offset),a=this.getZoom(),h=this.getBearing(),u=this.getPitch(),p="zoom"in t?+t.zoom:a,c="bearing"in t?this._normalizeBearing(t.bearing,h):h,g="pitch"in t?+t.pitch:u;"center"in t?(o=LngLat.convert(t.center),n=r.centerPoint.add(s)):"around"in t?(o=LngLat.convert(t.around),n=r.locationPoint(o)):(n=r.centerPoint.add(s),o=r.pointLocation(n));var m=r.locationPoint(o);return t.animate===!1&&(t.duration=0),this.zooming=p!==a,this.rotating=h!==c,this.pitching=g!==u,t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration)),t.noMoveStart||(this.moving=!0,this.fire("movestart",i)),this.zooming&&this.fire("zoomstart",i),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(r.zoom=interpolate(a,p,t)),this.rotating&&(r.bearing=interpolate(h,c,t)),this.pitching&&(r.pitch=interpolate(u,g,t)),r.setLocationAtPoint(o,m.add(n.sub(m)._mult(t))),this.fire("move",i),this.zooming&&this.fire("zoom",i),this.rotating&&this.fire("rotate",i),this.pitching&&this.fire("pitch",i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(e._easeToEnd.bind(e,i),t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._easeToEnd=function(t){var i=this.zooming;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire("zoomend",t),this.fire("moveend",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(y*y-z*z+(t?-1:1)*E*E*_*_)/(2*(t?y:z)*E*_);return Math.log(Math.sqrt(i*i+1)-i)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,a=Point.convert(t.offset),h=this.getZoom(),u=this.getBearing(),p=this.getPitch(),c="center"in t?LngLat.convert(t.center):this.getCenter(),g="zoom"in t?+t.zoom:h,m="bearing"in t?this._normalizeBearing(t.bearing,u):u,f="pitch"in t?+t.pitch:p;Math.abs(s.center.lng)+Math.abs(c.lng)>180&&(s.center.lng>0&&c.lng<0?c.lng+=360:s.center.lng<0&&c.lng>0&&(c.lng-=360));var d=s.zoomScale(g-h),l=s.point,v="center"in t?s.project(c).sub(a.div(d)):l,b=t.curve,z=Math.max(s.width,s.height),y=z/d,_=v.sub(l).mag();if("minZoom"in t){var M=util.clamp(Math.min(t.minZoom,h,g),s.minZoom,s.maxZoom),T=z/s.zoomScale(M-h);b=Math.sqrt(T/_*2)}var E=b*b,x=e(0),L=function(t){return n(x)/n(x+b*t)},Z=function(t){return z*((n(x)*r(x+b*t)-o(x))/E)/_},P=(e(1)-x)/b;if(Math.abs(_)<1e-6){if(Math.abs(z-y)<1e-6)return this.easeTo(t,i);var j=y=0)return!1;return!0}),this._container.innerHTML=i.join(" | "),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?"add":"remove"]("compact")},module.exports=AttributionControl},{"../../util/dom":199,"../../util/util":212}],174:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in window.document&&(this._fullscreenchange="MSFullscreenChange")};FullscreenControl.prototype.onAdd=function(e){var n="mapboxgl-ctrl",t=this._container=DOM.create("div",n+" mapboxgl-ctrl-group"),l=this._fullscreenButton=DOM.create("button",n+"-icon "+n+"-fullscreen",this._container);return l.setAttribute("aria-label","Toggle fullscreen"),l.type="button",this._fullscreenButton.addEventListener("click",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),t},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(e){if(e.target===this._mapContainer){this._fullscreen=!this._fullscreen;var n="mapboxgl-ctrl";this._fullscreenButton.classList.toggle(n+"-shrink"),this._fullscreenButton.classList.toggle(n+"-fullscreen")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&window.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],175:[function(require,module,exports){"use strict";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:"geolocation"}).then(function(o){supportsGeolocation="denied"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var Evented=require("../../util/evented"),DOM=require("../../util/dom"),window=require("../../util/window"),util=require("../../util/util"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},className="mapboxgl-ctrl",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll(["_onSuccess","_onError","_finish","_setupUI"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div",className+" "+className+"-group"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire("geolocate",t),this._finish()},o.prototype._onError=function(t){this.fire("error",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){t!==!1&&(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create("button",className+"-icon "+className+"-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.watchPosition&&this._geolocateButton.setAttribute("aria-pressed",!1),this._geolocateButton.addEventListener("click",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove("watching"),this._geolocateButton.setAttribute("aria-pressed",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add("watching"),this._geolocateButton.setAttribute("aria-pressed",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl},{"../../util/dom":199,"../../util/evented":200,"../../util/util":212,"../../util/window":194}],176:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),LogoControl=function(){util.bindAll(["_updateLogo"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create("div","mapboxgl-ctrl"),this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("sourcedata",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return"bottom-left"},LogoControl.prototype._updateLogo=function(o){if(o&&"metadata"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create("a","mapboxgl-ctrl-logo");t.target="_blank",t.href="https://www.mapbox.com/",t.setAttribute("aria-label","Mapbox logo"),this._container.appendChild(t),this._map.off("data",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){var e=o[t].getSource();if(e.mapbox_logo)return!0}return!1}},module.exports=LogoControl},{"../../util/dom":199,"../../util/util":212}],177:[function(require,module,exports){"use strict";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=require("../../util/dom"),window=require("../../util/window"),util=require("../../util/util"),className="mapboxgl-ctrl",NavigationControl=function(){util.bindAll(["_rotateCompassArrow"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t="rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div",className+" "+className+"-group",t.getContainer()),this._container.addEventListener("contextmenu",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+"-icon "+className+"-zoom-in","Zoom In",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+"-icon "+className+"-zoom-out","Zoom Out",t.zoomOut.bind(t)),this._compass=this._createButton(className+"-icon "+className+"-compass","Reset North",t.resetNorth.bind(t)),this._compassArrow=DOM.create("span",className+"-compass-arrow",this._compass),this._compass.addEventListener("mousedown",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("rotate",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener("mousemove",this._onCompassMove),window.document.addEventListener("mouseup",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener("mousemove",this._onCompassMove),window.document.removeEventListener("mouseup",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create("button",t,this._container);return n.type="button",n.setAttribute("aria-label",o),n.addEventListener("click",function(){e()}),n},module.exports=NavigationControl},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],178:[function(require,module,exports){"use strict";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&"imperial"===o.unit){var r=3.2808*a;if(r>5280){var l=r/5280;setScale(e,n,l,"mi")}else setScale(e,n,r,"ft")}else setScale(e,n,a,"m")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;"m"===n&&i>=1e3&&(i/=1e3,n="km"),t.style.width=e*a+"px",t.innerHTML=i+n}function getDistance(t,e){var o=6371e3,n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n),l=o*Math.acos(Math.min(r,1));return l}function getRoundNum(t){var e=Math.pow(10,(""+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=require("../../util/dom"),util=require("../../util/util"),ScaleControl=function(t){this.options=t,util.bindAll(["_onMove"],this)};ScaleControl.prototype.getDefaultPosition=function(){return"bottom-left"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("move",this._onMove),this._map=void 0},module.exports=ScaleControl},{"../../util/dom":199,"../../util/util":212}],179:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),LngLatBounds=require("../../geo/lng_lat_bounds"),util=require("../../util/util"),window=require("../../util/window"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll(["_onMouseDown","_onMouseMove","_onMouseUp","_onKeyDown"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onMouseDown,!1),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener("mousemove",this._onMouseMove,!1),window.document.addEventListener("keydown",this._onKeyDown,!1),window.document.addEventListener("mouseup",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),r=Math.max(e.y,t.y);DOM.setTransform(this._box,"translate("+n+"px,"+s+"px)"),this._box.style.width=i-n+"px",this._box.style.height=r-s+"px"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent("boxzoomcancel",o):this._map.fitBounds(n,{linear:!0}).fire("boxzoomend",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener("mousemove",this._onMouseMove,!1),window.document.removeEventListener("keydown",this._onKeyDown,!1),window.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler},{"../../geo/lng_lat_bounds":63,"../../util/dom":199,"../../util/util":212,"../../util/window":194}],180:[function(require,module,exports){"use strict";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on("dblclick",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off("dblclick",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler},{}],181:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.3,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=1400,inertiaDeceleration=2500,DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onDown","_onMove","_onUp","_onTouchEnd","_onMouseUp"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._el.addEventListener("touchstart",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._el.removeEventListener("touchstart",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener("touchmove",this._onMove),window.document.addEventListener("touchend",this._onTouchEnd)):(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onMouseUp)),window.addEventListener("blur",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("dragstart",t),this._fireEvent("movestart",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent("drag",t),this._fireEvent("move",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent("dragend",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent("moveend",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(inertiaLinearity/s),d=u.mag();d>inertiaMaxSpeed&&(d=inertiaMaxSpeed,u._unit()._mult(d));var h=d/(inertiaDeceleration*inertiaLinearity),v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onMouseUp),window.removeEventListener("blur",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var n=1,i=0;return"mousemove"===t.type?t.buttons&0===n:t.button&&t.button!==i},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),n=160;t.length>0&&e-t[0][0]>n;)t.shift()},module.exports=DragPanHandler},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],182:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap, -this._pitchWithRotate=e.pitchWithRotate!==!1,util.bindAll(["_onDown","_onMove","_onUp"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onUp),window.addEventListener("blur",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("rotatestart",t),this._fireEvent("movestart",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=(i.y-n.y)*-.5,o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,v=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,v[1])]),e.transform.bearing=o,this._pitchWithRotate&&(e.transform.pitch=s),this._fireEvent("rotate",t),this._fireEvent("move",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onUp),window.removeEventListener("blur",this._onUp),this.isActive())){this._active=!1,this._fireEvent("rotateend",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)inertiaMaxSpeed&&(p=inertiaMaxSpeed);var l=p/(inertiaDeceleration*inertiaLinearity),g=u*p*(l/2);v+=g,Math.abs(i._normalizeBearing(v,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return"undefined"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf("MAC")>=0&&(r=0),"mousemove"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),i=160;t.length>0&&e-t[0][0]>i;)t.shift()},module.exports=DragRotateHandler},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],183:[function(require,module,exports){"use strict";function easeOut(e){return e*(2-e)}var panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,n=0,a=0,i=0,r=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?a=1:(e.preventDefault(),r=-1);break;case 40:e.shiftKey?a=-1:(r=1,e.preventDefault())}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+n*bearingStep,pitch:s.getPitch()+a*pitchStep,offset:[-i*panStep,-r*panStep],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler},{}],184:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),browser=require("../../util/browser"),window=require("../../util/window"),ua=window.navigator.userAgent.toLowerCase(),firefox=ua.indexOf("firefox")!==-1,safari=ua.indexOf("safari")!==-1&&ua.indexOf("chrom")===-1,ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll(["_onWheel","_onTimeout"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener("wheel",this._onWheel,!1),this._el.addEventListener("mousewheel",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&"center"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("wheel",this._onWheel),this._el.removeEventListener("mousewheel",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;"wheel"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):"mousewheel"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625===0?this._type="wheel":0!==t&&Math.abs(t)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type="wheel",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:"wheel"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler},{"../../util/browser":192,"../../util/dom":199,"../../util/util":212,"../../util/window":194}],185:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=4,TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onStart","_onMove","_onEnd"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener("touchstart",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("touchstart",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener("touchmove",this._onMove,!1),window.document.addEventListener("touchend",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};"rotate"===this._gestureIntent&&(h.bearing=this._startBearing+r),"zoom"!==this._gestureIntent&&"rotate"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>significantScaleThreshold,d=Math.abs(r)>significantRotateThreshold;d?this._gestureIntent="rotate":u&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)return void o.snapToNorth({},{originalEvent:t});var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0===h||a===r)return void o.snapToNorth({},{originalEvent:t});var d=s*inertiaLinearity/h;Math.abs(d)>inertiaMaxSpeed&&(d=d>0?inertiaMaxSpeed:-inertiaMaxSpeed);var l=1e3*Math.abs(d/(inertiaDeceleration*inertiaLinearity)),c=a+d*l/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:l,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),o=160;t.length>2&&e-t[0][0]>o;)t.shift()},module.exports=TouchZoomRotateHandler},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],186:[function(require,module,exports){"use strict";var util=require("../util/util"),window=require("../util/window"),Hash=function(){util.bindAll(["_onHashChange","_updateHash"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace("#","").split("/");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n="#"+Math.round(100*e)/100+"/"+t.lat.toFixed(i)+"/"+t.lng.toFixed(i);(a||h)&&(n+="/"+Math.round(10*a)/10),h&&(n+="/"+Math.round(h)),window.history.replaceState("","",n)},module.exports=Hash},{"../util/util":212,"../util/window":194}],187:[function(require,module,exports){"use strict";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=require("../util/util"),browser=require("../util/browser"),window=require("../util/window"),DOM=require("../util/dom"),Style=require("../style/style"),AnimationLoop=require("../style/animation_loop"),Painter=require("../render/painter"),Transform=require("../geo/transform"),Hash=require("./hash"),bindHandlers=require("./bind_handlers"),Camera=require("./camera"),LngLat=require("../geo/lng_lat"),LngLatBounds=require("../geo/lng_lat_bounds"),Point=require("point-geometry"),AttributionControl=require("./control/attribution_control"),LogoControl=require("./control/logo_control"),isSupported=require("mapbox-gl-supported"),defaultMinZoom=0,defaultMaxZoom=22,defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(e=util.extend({},defaultOptions,e),null!=e.minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,"string"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored","_update","_render","_onData","_onDataLoading"],this),this._setupContainer(),this._setupPainter(),this.on("move",this._update.bind(this,!1)),this.on("zoom",this._update.bind(this,!0)),this.on("moveend",function(){o.animationLoop.set(300),o._rerender()}),"undefined"!=typeof window&&(window.addEventListener("online",this._onWindowOnline,!1),window.addEventListener("resize",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on("style.load",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on("data",this._onData),this.on("dataloading",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e="top-right");var o=t.onAdd(this),i=this._controlPositions[e];return e.indexOf("bottom")!==-1?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes.indexOf(t)>=0||""===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");var o=this._classes.indexOf(t);return o<0||""===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire("movestart").fire("move").fire("resize").fire("moveend")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if(t=null===t||void 0===t?defaultMinZoom:t,t>=defaultMinZoom&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.queryRenderedFeatures=function(){function t(t){return t instanceof Point||Array.isArray(t)}var e,o={};return 2===arguments.length?(e=arguments[0],o=arguments[1]):1===arguments.length&&t(arguments[0])?e=arguments[0]:1===arguments.length&&(o=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(e),o,this.transform.zoom,this.transform.angle)},e.prototype._makeQueryGeometry=function(t){var e=this;void 0===t&&(t=[Point.convert([0,0]),Point.convert([this.transform.width,this.transform.height])]);var o,i=t instanceof Point||"number"==typeof t[0];if(i){var r=Point.convert(t);o=[r]}else{var s=[Point.convert(t[0]),Point.convert(t[1])];o=[s[0],new Point(s[1].x,s[0].y),s[1],new Point(s[0].x,s[1].y),s[0]]}return o=o.map(function(t){return e.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){var o=(!e||e.diff!==!1)&&this.style&&t&&!(t instanceof Style)&&"string"!=typeof t;if(o)try{return this.style.setState(t)&&this._update(!0),this}catch(t){util.warnOnce("Unable to perform style diff: "+(t.message||t.error||t)+". Rebuilding the style from scratch.")}return this.style&&(this.style.setEventedParent(null),this.style._remove(),this.off("rotate",this.style._redoPlacement),this.off("pitch",this.style._redoPlacement)),t?(t instanceof Style?this.style=t:this.style=new Style(t,this),this.style.setEventedParent(this,{style:this.style}),this.on("rotate",this.style._redoPlacement),this.on("pitch",this.style._redoPlacement),this):(this.style=null,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire("error",{error:new Error("There is no source with ID '"+t+"'")}):e.loaded()},e.prototype.addSourceType=function(t,e,o){return this.style.addSourceType(t,e,o)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,o){this.style.spriteAtlas.addImage(t,e,o)},e.prototype.removeImage=function(t){this.style.spriteAtlas.removeImage(t)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,o){return this.style.setLayerZoomRange(t,e,o),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,o,i){return this.style.setPaintProperty(t,e,o,i),this._update(!0),this},e.prototype.getPaintProperty=function(t,e,o){return this.style.getPaintProperty(t,e,o)},e.prototype.setLayoutProperty=function(t,e,o){return this.style.setLayoutProperty(t,e,o),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add("mapboxgl-map");var e=this._canvasContainer=DOM.create("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=DOM.create("canvas","mapboxgl-canvas",e),this._canvas.style.position="absolute",this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",0),this._canvas.setAttribute("aria-label","Map");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var i=this._controlContainer=DOM.create("div","mapboxgl-control-container",t),r=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(function(t){r[t]=DOM.create("div","mapboxgl-ctrl-"+t,i)})},e.prototype._resizeCanvas=function(t,e){var o=window.devicePixelRatio||1;this._canvas.width=o*t,this._canvas.height=o*e,this._canvas.style.width=t+"px",this._canvas.style.height=e+"px"},e.prototype._setupPainter=function(){var t=util.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},isSupported.webGLContextAttributes),e=this._canvas.getContext("webgl",t)||this._canvas.getContext("experimental-webgl",t);return e?void(this.painter=new Painter(e,this.transform)):void this.fire("error",{error:new Error("Failed to initialize WebGL")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&browser.cancelFrame(this._frameId),this.fire("webglcontextlost",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire("webglcontextrestored",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},e.prototype._render=function(){return this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming}),this.fire("render"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire("load")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),browser.cancelFrame(this._frameId),this.setStyle(null),"undefined"!=typeof window&&(window.removeEventListener("resize",this._onWindowResize,!1),window.removeEventListener("online",this._onWindowOnline,!1));var t=this.painter.gl.getExtension("WEBGL_lose_context");t&&t.loseContext(),removeNode(this._canvasContainer),removeNode(this._controlContainer),this._container.classList.remove("mapboxgl-map"),this.fire("remove")},e.prototype._rerender=function(){this.style&&!this._frameId&&(this._frameId=browser.frame(this._render))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},o.showTileBoundaries.get=function(){return!!this._showTileBoundaries},o.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},o.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},o.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},o.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},o.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},o.repaint.get=function(){return!!this._repaint},o.repaint.set=function(t){this._repaint=t,this._update()},o.vertices.get=function(){return!!this._vertices},o.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update("style"===t.dataType),this.fire(t.dataType+"data",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+"dataloading",t)},Object.defineProperties(e.prototype,o),e}(Camera);module.exports=Map},{"../geo/lng_lat":62,"../geo/lng_lat_bounds":63,"../geo/transform":64,"../render/painter":77,"../style/animation_loop":143,"../style/style":146,"../util/browser":192,"../util/dom":199,"../util/util":212,"../util/window":194,"./bind_handlers":171,"./camera":172,"./control/attribution_control":173,"./control/logo_control":176,"./hash":186,"mapbox-gl-supported":22,"point-geometry":26}],188:[function(require,module,exports){"use strict";var DOM=require("../util/dom"),LngLat=require("../geo/lng_lat"),Point=require("point-geometry"),Marker=function(t,e){this._offset=Point.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this),this._onMapClick=this._onMapClick.bind(this),t||(t=DOM.create("div")),t.classList.add("mapboxgl-marker"),this._element=t,this._popup=null};Marker.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this._update(),this._map.on("click",this._onMapClick),this},Marker.prototype.remove=function(){return this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map=null),DOM.remove(this._element),this._popup&&this._popup.remove(),this},Marker.prototype.getLngLat=function(){return this._lngLat},Marker.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},Marker.prototype.getElement=function(){return this._element},Marker.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(this._popup=t,this._popup.setLngLat(this._lngLat)),this},Marker.prototype._onMapClick=function(t){var e=t.originalEvent.target,p=this._element;this._popup&&(e===p||p.contains(e))&&this.togglePopup()},Marker.prototype.getPopup=function(){return this._popup},Marker.prototype.togglePopup=function(){var t=this._popup;t&&(t.isOpen()?t.remove():t.addTo(this._map))},Marker.prototype._update=function(t){if(this._map){var e=this._map.project(this._lngLat)._add(this._offset);t&&"moveend"!==t.type||(e=e.round()),DOM.setTransform(this._element,"translate("+e.x+"px, "+e.y+"px)")}},module.exports=Marker},{"../geo/lng_lat":62,"../util/dom":199,"point-geometry":26}],189:[function(require,module,exports){"use strict";function normalizeOffset(t){if(t){if("number"==typeof t){var o=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{top:new Point(0,t),"top-left":new Point(o,o),"top-right":new Point(-o,o),bottom:new Point(0,-t),"bottom-left":new Point(o,-o),"bottom-right":new Point(-o,-o),left:new Point(t,0),right:new Point(-t,0)}}if(isPointLike(t)){var e=Point.convert(t);return{top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{top:Point.convert(t.top||[0,0]),"top-left":Point.convert(t["top-left"]||[0,0]),"top-right":Point.convert(t["top-right"]||[0,0]),bottom:Point.convert(t.bottom||[0,0]),"bottom-left":Point.convert(t["bottom-left"]||[0,0]),"bottom-right":Point.convert(t["bottom-right"]||[0,0]),left:Point.convert(t.left||[0,0]),right:Point.convert(t.right||[0,0])}}return normalizeOffset(new Point(0,0))}function isPointLike(t){return t instanceof Point||Array.isArray(t)}var util=require("../util/util"),Evented=require("../util/evented"),DOM=require("../util/dom"),LngLat=require("../geo/lng_lat"),Point=require("point-geometry"),window=require("../util/window"),defaultOptions={closeButton:!0,closeOnClick:!0},Popup=function(t){function o(o){t.call(this),this.options=util.extend(Object.create(defaultOptions),o),util.bindAll(["_update","_onClickClose"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.addTo=function(t){return this._map=t,this._map.on("move",this._update),this.options.closeOnClick&&this._map.on("click",this._onClickClose),this._update(),this},o.prototype.isOpen=function(){return!!this._map},o.prototype.remove=function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("click",this._onClickClose),delete this._map),this.fire("close"),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._update(),this},o.prototype.setText=function(t){return this.setDOMContent(window.document.createTextNode(t))},o.prototype.setHTML=function(t){var o,e=window.document.createDocumentFragment(),n=window.document.createElement("body");for(n.innerHTML=t;;){if(o=n.firstChild,!o)break;e.appendChild(o)}return this.setDOMContent(e)},o.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},o.prototype._createContent=function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=DOM.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=DOM.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClickClose))},o.prototype._update=function(){if(this._map&&this._lngLat&&this._content){ -this._container||(this._container=DOM.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=DOM.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content));var t=this.options.anchor,o=normalizeOffset(this.options.offset),e=this._map.project(this._lngLat).round();if(!t){var n=this._container.offsetWidth,i=this._container.offsetHeight;t=e.y+o.bottom.ythis._map.transform.height-i?["bottom"]:[],e.xthis._map.transform.width-n/2&&t.push("right"),t=0===t.length?"bottom":t.join("-")}var r=e.add(o[t]),s={top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"},p=this._container.classList;for(var a in s)p.remove("mapboxgl-popup-anchor-"+a);p.add("mapboxgl-popup-anchor-"+t),DOM.setTransform(this._container,s[t]+" translate("+r.x+"px,"+r.y+"px)")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup},{"../geo/lng_lat":62,"../util/dom":199,"../util/evented":200,"../util/util":212,"../util/window":194,"point-geometry":26}],190:[function(require,module,exports){"use strict";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener("message",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+":"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:"",id:String(s),error:t?String(t):null,data:e},r)};if(""===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if("undefined"!=typeof r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if("undefined"!=typeof r.id&&this.parent.getWorkerSource){var p=r.type.split("."),d=this.parent.getWorkerSource(r.sourceMapId,p[0]);d[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)},module.exports=Actor},{}],191:[function(require,module,exports){"use strict";function sameOrigin(e){var t=window.document.createElement("a");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=require("./window");exports.getJSON=function(e,t){var n=new window.XMLHttpRequest;return n.open("GET",e,!0),n.setRequestHeader("Accept","application/json"),n.onerror=function(e){t(e)},n.onload=function(){if(n.status>=200&&n.status<300&&n.response){var e;try{e=JSON.parse(n.response)}catch(e){return t(e)}t(null,e)}else t(new Error(n.statusText))},n.send(),n},exports.getArrayBuffer=function(e,t){var n=new window.XMLHttpRequest;return n.open("GET",e,!0),n.responseType="arraybuffer",n.onerror=function(e){t(e)},n.onload=function(){return 0===n.response.byteLength&&200===n.status?t(new Error("http status 200 returned without content.")):void(n.status>=200&&n.status<300&&n.response?t(null,{data:n.response,cacheControl:n.getResponseHeader("Cache-Control"),expires:n.getResponseHeader("Expires")}):t(new Error(n.statusText)))},n.send(),n};var transparentPngUrl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,n){if(e)return t(e);var r=new window.Image,o=window.URL||window.webkitURL;r.onload=function(){t(null,r),o.revokeObjectURL(r.src)};var a=new window.Blob([new Uint8Array(n.data)],{type:"image/png"});r.cacheControl=n.cacheControl,r.expires=n.expires,r.src=n.data.byteLength?o.createObjectURL(a):transparentPngUrl})},exports.getVideo=function(e,t){var n=window.document.createElement("video");n.onloadstart=function(){t(null,n)};for(var r=0;r=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement("canvas"),t=n.getContext("2d");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height).data},exports.supported=require("mapbox-gl-supported"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,"devicePixelRatio",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement("img");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="},{"./window":194,"mapbox-gl-supported":22}],193:[function(require,module,exports){"use strict";var WebWorkify=require("webworkify"),window=require("../window"),workerURL=window.URL.createObjectURL(new WebWorkify(require("../../source/worker"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)}},{"../../source/worker":98,"../window":194,webworkify:41}],194:[function(require,module,exports){"use strict";module.exports=self},{}],195:[function(require,module,exports){"use strict";function compareAreas(e,r){return r.area-e.area}var quickselect=require("quickselect"),calculateSignedArea=require("./util").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented},{"./util":212}],201:[function(require,module,exports){"use strict";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log("found best %d after %d probes",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log("num probes: "+c),console.log("best distance: "+m.d)),m.p}},{"./intersection_tests":205,"point-geometry":26,tinyqueue:30}],202:[function(require,module,exports){"use strict";var WorkerPool=require("./worker_pool"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool}},{"./worker_pool":215}],203:[function(require,module,exports){"use strict";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs},{}],204:[function(require,module,exports){"use strict";function interpolate(t,e,n){return t*(1-n)+e*n}module.exports=interpolate,interpolate.number=interpolate,interpolate.vec2=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n)]},interpolate.color=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n),interpolate(t[2],e[2],n),interpolate(t[3],e[3],n)]},interpolate.array=function(t,e,n){return t.map(function(t,r){return interpolate(t,e[r],n)})}},{}],205:[function(require,module,exports){"use strict";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i)}return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=require("./util").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared}},{"./util":212}],206:[function(require,module,exports){"use strict";var unicodeBlockLookup={"Latin-1 Supplement":function(n){return n>=128&&n<=255},"Hangul Jamo":function(n){return n>=4352&&n<=4607},"Unified Canadian Aboriginal Syllabics":function(n){return n>=5120&&n<=5759},"Unified Canadian Aboriginal Syllabics Extended":function(n){return n>=6320&&n<=6399},"General Punctuation":function(n){return n>=8192&&n<=8303},"Letterlike Symbols":function(n){return n>=8448&&n<=8527},"Number Forms":function(n){return n>=8528&&n<=8591},"Miscellaneous Technical":function(n){return n>=8960&&n<=9215},"Control Pictures":function(n){return n>=9216&&n<=9279},"Optical Character Recognition":function(n){return n>=9280&&n<=9311},"Enclosed Alphanumerics":function(n){return n>=9312&&n<=9471},"Geometric Shapes":function(n){return n>=9632&&n<=9727},"Miscellaneous Symbols":function(n){return n>=9728&&n<=9983},"Miscellaneous Symbols and Arrows":function(n){return n>=11008&&n<=11263},"CJK Radicals Supplement":function(n){return n>=11904&&n<=12031},"Kangxi Radicals":function(n){return n>=12032&&n<=12255},"Ideographic Description Characters":function(n){return n>=12272&&n<=12287},"CJK Symbols and Punctuation":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},"Hangul Compatibility Jamo":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},"Bopomofo Extended":function(n){return n>=12704&&n<=12735},"CJK Strokes":function(n){return n>=12736&&n<=12783},"Katakana Phonetic Extensions":function(n){return n>=12784&&n<=12799},"Enclosed CJK Letters and Months":function(n){return n>=12800&&n<=13055},"CJK Compatibility":function(n){return n>=13056&&n<=13311},"CJK Unified Ideographs Extension A":function(n){return n>=13312&&n<=19903},"Yijing Hexagram Symbols":function(n){return n>=19904&&n<=19967},"CJK Unified Ideographs":function(n){return n>=19968&&n<=40959},"Yi Syllables":function(n){return n>=40960&&n<=42127},"Yi Radicals":function(n){return n>=42128&&n<=42191},"Hangul Jamo Extended-A":function(n){return n>=43360&&n<=43391},"Hangul Syllables":function(n){return n>=44032&&n<=55215},"Hangul Jamo Extended-B":function(n){return n>=55216&&n<=55295},"Private Use Area":function(n){return n>=57344&&n<=63743},"CJK Compatibility Ideographs":function(n){return n>=63744&&n<=64255},"Vertical Forms":function(n){return n>=65040&&n<=65055},"CJK Compatibility Forms":function(n){return n>=65072&&n<=65103},"Small Form Variants":function(n){return n>=65104&&n<=65135},"Halfwidth and Fullwidth Forms":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup},{}],207:[function(require,module,exports){"use strict";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){if(!this.has(t))return null;var e=this.data[t];return e},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache},{}],208:[function(require,module,exports){"use strict";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(e=e||config.ACCESS_TOKEN,!e)throw new Error("An API access token is required to use Mapbox GL. "+help);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+help);return r.params.push("access_token="+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf("mapbox:")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?"@2x":"",s=browser.supportsWebp?".webp":"$1";return o.path=o.path.replace(imageExtensionRe,""+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\w+):\/\/([^\/?]+)(\/[^?]+)?\??(.+)?/},{"./browser":192,"./config":196}],209:[function(require,module,exports){"use strict";var isChar=require("./is_char_in_unicode_block");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||(!!isChar["CJK Compatibility Ideographs"](a)||(!!isChar["CJK Compatibility"](a)||(!!isChar["CJK Radicals Supplement"](a)||(!!isChar["CJK Strokes"](a)||(!(!isChar["CJK Symbols and Punctuation"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||(!!isChar["CJK Unified Ideographs Extension A"](a)||(!!isChar["CJK Unified Ideographs"](a)||(!!isChar["Enclosed CJK Letters and Months"](a)||(!!isChar["Hangul Compatibility Jamo"](a)||(!!isChar["Hangul Jamo Extended-A"](a)||(!!isChar["Hangul Jamo Extended-B"](a)||(!!isChar["Hangul Jamo"](a)||(!!isChar["Hangul Syllables"](a)||(!!isChar.Hiragana(a)||(!!isChar["Ideographic Description Characters"](a)||(!!isChar.Kanbun(a)||(!!isChar["Kangxi Radicals"](a)||(!!isChar["Katakana Phonetic Extensions"](a)||(!(!isChar.Katakana(a)||12540===a)||(!(!isChar["Halfwidth and Fullwidth Forms"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||(!(!isChar["Small Form Variants"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||(!!isChar["Unified Canadian Aboriginal Syllabics"](a)||(!!isChar["Unified Canadian Aboriginal Syllabics Extended"](a)||(!!isChar["Vertical Forms"](a)||(!!isChar["Yijing Hexagram Symbols"](a)||(!!isChar["Yi Syllables"](a)||!!isChar["Yi Radicals"](a))))))))))))))))))))))))))))))},exports.charHasNeutralVerticalOrientation=function(a){return!(!isChar["Latin-1 Supplement"](a)||167!==a&&169!==a&&174!==a&&177!==a&&188!==a&&189!==a&&190!==a&&215!==a&&247!==a)||(!(!isChar["General Punctuation"](a)||8214!==a&&8224!==a&&8225!==a&&8240!==a&&8241!==a&&8251!==a&&8252!==a&&8258!==a&&8263!==a&&8264!==a&&8265!==a&&8273!==a)||(!!isChar["Letterlike Symbols"](a)||(!!isChar["Number Forms"](a)||(!(!isChar["Miscellaneous Technical"](a)||!(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215))||(!(!isChar["Control Pictures"](a)||9251===a)||(!!isChar["Optical Character Recognition"](a)||(!!isChar["Enclosed Alphanumerics"](a)||(!!isChar["Geometric Shapes"](a)||(!(!isChar["Miscellaneous Symbols"](a)||a>=9754&&a<=9759)||(!(!isChar["Miscellaneous Symbols and Arrows"](a)||!(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243))||(!!isChar["CJK Symbols and Punctuation"](a)||(!!isChar.Katakana(a)||(!!isChar["Private Use Area"](a)||(!!isChar["CJK Compatibility Forms"](a)||(!!isChar["Small Form Variants"](a)||(!!isChar["Halfwidth and Fullwidth Forms"](a)||(8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)))))))))))))))))},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))}},{"./is_char_in_unicode_block":206}],210:[function(require,module,exports){"use strict";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=["Uint8"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0===--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||("undefined"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),""}),t["max-age"]){var n=parseInt(t["max-age"],10);isNaN(n)?delete t["max-age"]:t["max-age"]=n}return t}},{"../geo/coordinate":61,"@mapbox/unitbezier":3,"point-geometry":26}],213:[function(require,module,exports){"use strict";var Feature=function(e,t,r,o){this.type="Feature",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)"_geometry"!==r&&"_vectorTileFeature"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature},{}],214:[function(require,module,exports){"use strict";var scriptDetection=require("./script_detection");module.exports=function(t){for(var o="",e=0;e":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"}},{"./script_detection":209}],215:[function(require,module,exports){"use strict";var WebWorker=require("./web_worker"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=require("../").workerCount;for(this.workers=[];this.workers.length 3 && arguments[3] !== undefined ? arguments[3] : false; + + var input = document.createElement('input'); + input.setAttribute('id', option); + input.setAttribute('type', 'radio'); + input.setAttribute('name', 'toggle'); + input.setAttribute('value', option); + if (checked == true) { + input.setAttribute('checked', 'checked'); + } + input.addEventListener('click', function () { + map.setStyle('mapbox://styles/mapbox/' + option + '-v9'); + }); + var label = document.createElement('label'); + label.setAttribute('for', option); + label.appendChild(document.createTextNode(titlecase(option))); + menu.appendChild(input); + menu.appendChild(label); +}; + +var makeMapMenu = function makeMapMenu(map) { + var mapMenu = document.createElement('div'); + mapMenu.classList.add('map-menu'); + addMapTypeOption(map, mapMenu, 'streets', true); + addMapTypeOption(map, mapMenu, 'satellite-streets'); + return mapMenu; +}; + +//the main function +function addMap(div) { + var position = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var places = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + var dataLatitude = div.dataset.latitude; + var dataLongitude = div.dataset.longitude; + var dataId = div.dataset.id; + var data = window['geojson' + dataId]; + if (data == null) { + data = { + 'type': 'FeatureCollection', + 'features': [{ + 'type': 'Feature', + 'geometry': { + 'type': 'Point', + 'coordinates': [dataLongitude, dataLatitude] + }, + 'properties': { + 'title': 'Current Location', + 'icon': 'circle-stroked', + 'uri': 'current-location' + } + }] + }; + } + if (places != null) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = places[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var place = _step.value; + + var placeLongitude = (0, _parseLocation2.default)(place.location).longitude; + var placeLatitude = (0, _parseLocation2.default)(place.location).latitude; + data.features.push({ + 'type': 'Feature', + 'geometry': { + 'type': 'Point', + 'coordinates': [placeLongitude, placeLatitude] + }, + 'properties': { + 'title': place.name, + 'icon': 'circle', + 'uri': place.slug + } + }); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + if (position != null) { + dataLongitude = position.coords.longitude; + dataLatitude = position.coords.latitude; + } + var map = new _mapboxGl2.default.Map({ + container: div, + style: 'mapbox://styles/mapbox/streets-v9', + center: [dataLongitude, dataLatitude], + zoom: 15 + }); + if (position == null) { + map.scrollZoom.disable(); + } + map.addControl(new _mapboxGl2.default.NavigationControl()); + div.appendChild(makeMapMenu(map)); + map.on('load', function () { + map.addSource('points', { + 'type': 'geojson', + 'data': data + }); + map.addLayer({ + 'id': 'points', + 'interactive': true, + 'type': 'symbol', + 'source': 'points', + 'layout': { + 'icon-image': '{icon}-15', + 'text-field': '{title}', + 'text-offset': [0, 1] + } + }); + }); + if (position != null) { + map.on('click', function (e) { + var features = map.queryRenderedFeatures(e.point, { + layer: ['points'] + }); + // if there are features within the given radius of the click event, + // fly to the location of the click event + if (features.length) { + // Get coordinates from the symbol and center the map on those coordinates + map.flyTo({ center: features[0].geometry.coordinates }); + (0, _selectPlace2.default)(features[0].properties.uri); + } + }); + } + if (data.features && data.features.length > 1) { + var bounds = new _mapboxGl2.default.LngLatBounds(); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = data.features[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var feature = _step2.value; + + bounds.extend(feature.geometry.coordinates); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + map.fitBounds(bounds, { padding: 65 }); + } + + return map; +} + +/***/ }), +/* 3 */, +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = selectPlaceInForm; +//select-place.js + +function selectPlaceInForm(uri) { + if (document.querySelector('select')) { + if (uri == 'current-location') { + document.querySelector('select [id="option-coords"]').selected = true; + } else { + document.querySelector('select [value="' + uri + '"]').selected = true; + } + } +} + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.byteLength = byteLength +exports.toByteArray = toByteArray +exports.fromByteArray = fromByteArray + +var lookup = [] +var revLookup = [] +var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array + +var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' +for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i] + revLookup[code.charCodeAt(i)] = i +} + +revLookup['-'.charCodeAt(0)] = 62 +revLookup['_'.charCodeAt(0)] = 63 + +function placeHoldersCount (b64) { + var len = b64.length + if (len % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4') + } + + // the number of equal signs (place holders) + // if there are two placeholders, than the two characters before it + // represent one byte + // if there is only one, then the three characters before it represent 2 bytes + // this is just a cheap hack to not do indexOf twice + return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0 +} + +function byteLength (b64) { + // base64 is 4/3 + up to two characters of the original data + return b64.length * 3 / 4 - placeHoldersCount(b64) +} + +function toByteArray (b64) { + var i, j, l, tmp, placeHolders, arr + var len = b64.length + placeHolders = placeHoldersCount(b64) + + arr = new Arr(len * 3 / 4 - placeHolders) + + // if there are placeholders, only get up to the last complete 4 chars + l = placeHolders > 0 ? len - 4 : len + + var L = 0 + + for (i = 0, j = 0; i < l; i += 4, j += 3) { + tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)] + arr[L++] = (tmp >> 16) & 0xFF + arr[L++] = (tmp >> 8) & 0xFF + arr[L++] = tmp & 0xFF + } + + if (placeHolders === 2) { + tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4) + arr[L++] = tmp & 0xFF + } else if (placeHolders === 1) { + tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2) + arr[L++] = (tmp >> 8) & 0xFF + arr[L++] = tmp & 0xFF + } + + return arr +} + +function tripletToBase64 (num) { + return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F] +} + +function encodeChunk (uint8, start, end) { + var tmp + var output = [] + for (var i = start; i < end; i += 3) { + tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]) + output.push(tripletToBase64(tmp)) + } + return output.join('') +} + +function fromByteArray (uint8) { + var tmp + var len = uint8.length + var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes + var output = '' + var parts = [] + var maxChunkLength = 16383 // must be multiple of 3 + + // go through the array every three bytes, we'll deal with trailing stuff later + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) + } + + // pad the end with zeros, but make sure to not forget the extra bytes + if (extraBytes === 1) { + tmp = uint8[len - 1] + output += lookup[tmp >> 2] + output += lookup[(tmp << 4) & 0x3F] + output += '==' + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + (uint8[len - 1]) + output += lookup[tmp >> 10] + output += lookup[(tmp >> 4) & 0x3F] + output += lookup[(tmp << 2) & 0x3F] + output += '=' + } + + parts.push(output) + + return parts.join('') +} + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) {/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +/* eslint-disable no-proto */ + + + +var base64 = __webpack_require__(5) +var ieee754 = __webpack_require__(8) +var isArray = __webpack_require__(7) + +exports.Buffer = Buffer +exports.SlowBuffer = SlowBuffer +exports.INSPECT_MAX_BYTES = 50 + +/** + * If `Buffer.TYPED_ARRAY_SUPPORT`: + * === true Use Uint8Array implementation (fastest) + * === false Use Object implementation (most compatible, even IE6) + * + * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, + * Opera 11.6+, iOS 4.2+. + * + * Due to various browser bugs, sometimes the Object implementation will be used even + * when the browser supports typed arrays. + * + * Note: + * + * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, + * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. + * + * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. + * + * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of + * incorrect length in some situations. + + * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they + * get the Object implementation, which is slower but behaves correctly. + */ +Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined + ? global.TYPED_ARRAY_SUPPORT + : typedArraySupport() + +/* + * Export kMaxLength after typed array support is determined. + */ +exports.kMaxLength = kMaxLength() + +function typedArraySupport () { + try { + var arr = new Uint8Array(1) + arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }} + return arr.foo() === 42 && // typed array instances can be augmented + typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` + arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` + } catch (e) { + return false + } +} + +function kMaxLength () { + return Buffer.TYPED_ARRAY_SUPPORT + ? 0x7fffffff + : 0x3fffffff +} + +function createBuffer (that, length) { + if (kMaxLength() < length) { + throw new RangeError('Invalid typed array length') + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + // Return an augmented `Uint8Array` instance, for best performance + that = new Uint8Array(length) + that.__proto__ = Buffer.prototype + } else { + // Fallback: Return an object instance of the Buffer class + if (that === null) { + that = new Buffer(length) + } + that.length = length + } + + return that +} + +/** + * The Buffer constructor returns instances of `Uint8Array` that have their + * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of + * `Uint8Array`, so the returned instances will have all the node `Buffer` methods + * and the `Uint8Array` methods. Square bracket notation works as expected -- it + * returns a single octet. + * + * The `Uint8Array` prototype remains unmodified. + */ + +function Buffer (arg, encodingOrOffset, length) { + if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { + return new Buffer(arg, encodingOrOffset, length) + } + + // Common case. + if (typeof arg === 'number') { + if (typeof encodingOrOffset === 'string') { + throw new Error( + 'If encoding is specified then the first argument must be a string' + ) + } + return allocUnsafe(this, arg) + } + return from(this, arg, encodingOrOffset, length) +} + +Buffer.poolSize = 8192 // not used by this implementation + +// TODO: Legacy, not needed anymore. Remove in next major version. +Buffer._augment = function (arr) { + arr.__proto__ = Buffer.prototype + return arr +} + +function from (that, value, encodingOrOffset, length) { + if (typeof value === 'number') { + throw new TypeError('"value" argument must not be a number') + } + + if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { + return fromArrayBuffer(that, value, encodingOrOffset, length) + } + + if (typeof value === 'string') { + return fromString(that, value, encodingOrOffset) + } + + return fromObject(that, value) +} + +/** + * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError + * if value is a number. + * Buffer.from(str[, encoding]) + * Buffer.from(array) + * Buffer.from(buffer) + * Buffer.from(arrayBuffer[, byteOffset[, length]]) + **/ +Buffer.from = function (value, encodingOrOffset, length) { + return from(null, value, encodingOrOffset, length) +} + +if (Buffer.TYPED_ARRAY_SUPPORT) { + Buffer.prototype.__proto__ = Uint8Array.prototype + Buffer.__proto__ = Uint8Array + if (typeof Symbol !== 'undefined' && Symbol.species && + Buffer[Symbol.species] === Buffer) { + // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 + Object.defineProperty(Buffer, Symbol.species, { + value: null, + configurable: true + }) + } +} + +function assertSize (size) { + if (typeof size !== 'number') { + throw new TypeError('"size" argument must be a number') + } else if (size < 0) { + throw new RangeError('"size" argument must not be negative') + } +} + +function alloc (that, size, fill, encoding) { + assertSize(size) + if (size <= 0) { + return createBuffer(that, size) + } + if (fill !== undefined) { + // Only pay attention to encoding if it's a string. This + // prevents accidentally sending in a number that would + // be interpretted as a start offset. + return typeof encoding === 'string' + ? createBuffer(that, size).fill(fill, encoding) + : createBuffer(that, size).fill(fill) + } + return createBuffer(that, size) +} + +/** + * Creates a new filled Buffer instance. + * alloc(size[, fill[, encoding]]) + **/ +Buffer.alloc = function (size, fill, encoding) { + return alloc(null, size, fill, encoding) +} + +function allocUnsafe (that, size) { + assertSize(size) + that = createBuffer(that, size < 0 ? 0 : checked(size) | 0) + if (!Buffer.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < size; ++i) { + that[i] = 0 + } + } + return that +} + +/** + * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. + * */ +Buffer.allocUnsafe = function (size) { + return allocUnsafe(null, size) +} +/** + * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. + */ +Buffer.allocUnsafeSlow = function (size) { + return allocUnsafe(null, size) +} + +function fromString (that, string, encoding) { + if (typeof encoding !== 'string' || encoding === '') { + encoding = 'utf8' + } + + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding') + } + + var length = byteLength(string, encoding) | 0 + that = createBuffer(that, length) + + var actual = that.write(string, encoding) + + if (actual !== length) { + // Writing a hex string, for example, that contains invalid characters will + // cause everything after the first invalid character to be ignored. (e.g. + // 'abxxcd' will be treated as 'ab') + that = that.slice(0, actual) + } + + return that +} + +function fromArrayLike (that, array) { + var length = array.length < 0 ? 0 : checked(array.length) | 0 + that = createBuffer(that, length) + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255 + } + return that +} + +function fromArrayBuffer (that, array, byteOffset, length) { + array.byteLength // this throws if `array` is not a valid ArrayBuffer + + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError('\'offset\' is out of bounds') + } + + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError('\'length\' is out of bounds') + } + + if (byteOffset === undefined && length === undefined) { + array = new Uint8Array(array) + } else if (length === undefined) { + array = new Uint8Array(array, byteOffset) + } else { + array = new Uint8Array(array, byteOffset, length) + } + + if (Buffer.TYPED_ARRAY_SUPPORT) { + // Return an augmented `Uint8Array` instance, for best performance + that = array + that.__proto__ = Buffer.prototype + } else { + // Fallback: Return an object instance of the Buffer class + that = fromArrayLike(that, array) + } + return that +} + +function fromObject (that, obj) { + if (Buffer.isBuffer(obj)) { + var len = checked(obj.length) | 0 + that = createBuffer(that, len) + + if (that.length === 0) { + return that + } + + obj.copy(that, 0, 0, len) + return that + } + + if (obj) { + if ((typeof ArrayBuffer !== 'undefined' && + obj.buffer instanceof ArrayBuffer) || 'length' in obj) { + if (typeof obj.length !== 'number' || isnan(obj.length)) { + return createBuffer(that, 0) + } + return fromArrayLike(that, obj) + } + + if (obj.type === 'Buffer' && isArray(obj.data)) { + return fromArrayLike(that, obj.data) + } + } + + throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.') +} + +function checked (length) { + // Note: cannot use `length < kMaxLength()` here because that fails when + // length is NaN (which is otherwise coerced to zero.) + if (length >= kMaxLength()) { + throw new RangeError('Attempt to allocate Buffer larger than maximum ' + + 'size: 0x' + kMaxLength().toString(16) + ' bytes') + } + return length | 0 +} + +function SlowBuffer (length) { + if (+length != length) { // eslint-disable-line eqeqeq + length = 0 + } + return Buffer.alloc(+length) +} + +Buffer.isBuffer = function isBuffer (b) { + return !!(b != null && b._isBuffer) +} + +Buffer.compare = function compare (a, b) { + if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { + throw new TypeError('Arguments must be Buffers') + } + + if (a === b) return 0 + + var x = a.length + var y = b.length + + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i] + y = b[i] + break + } + } + + if (x < y) return -1 + if (y < x) return 1 + return 0 +} + +Buffer.isEncoding = function isEncoding (encoding) { + switch (String(encoding).toLowerCase()) { + case 'hex': + case 'utf8': + case 'utf-8': + case 'ascii': + case 'latin1': + case 'binary': + case 'base64': + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return true + default: + return false + } +} + +Buffer.concat = function concat (list, length) { + if (!isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers') + } + + if (list.length === 0) { + return Buffer.alloc(0) + } + + var i + if (length === undefined) { + length = 0 + for (i = 0; i < list.length; ++i) { + length += list[i].length + } + } + + var buffer = Buffer.allocUnsafe(length) + var pos = 0 + for (i = 0; i < list.length; ++i) { + var buf = list[i] + if (!Buffer.isBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers') + } + buf.copy(buffer, pos) + pos += buf.length + } + return buffer +} + +function byteLength (string, encoding) { + if (Buffer.isBuffer(string)) { + return string.length + } + if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && + (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { + return string.byteLength + } + if (typeof string !== 'string') { + string = '' + string + } + + var len = string.length + if (len === 0) return 0 + + // Use a for loop to avoid recursion + var loweredCase = false + for (;;) { + switch (encoding) { + case 'ascii': + case 'latin1': + case 'binary': + return len + case 'utf8': + case 'utf-8': + case undefined: + return utf8ToBytes(string).length + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return len * 2 + case 'hex': + return len >>> 1 + case 'base64': + return base64ToBytes(string).length + default: + if (loweredCase) return utf8ToBytes(string).length // assume utf8 + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} +Buffer.byteLength = byteLength + +function slowToString (encoding, start, end) { + var loweredCase = false + + // No need to verify that "this.length <= MAX_UINT32" since it's a read-only + // property of a typed array. + + // This behaves neither like String nor Uint8Array in that we set start/end + // to their upper/lower bounds if the value passed is out of range. + // undefined is handled specially as per ECMA-262 6th Edition, + // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. + if (start === undefined || start < 0) { + start = 0 + } + // Return early if start > this.length. Done here to prevent potential uint32 + // coercion fail below. + if (start > this.length) { + return '' + } + + if (end === undefined || end > this.length) { + end = this.length + } + + if (end <= 0) { + return '' + } + + // Force coersion to uint32. This will also coerce falsey/NaN values to 0. + end >>>= 0 + start >>>= 0 + + if (end <= start) { + return '' + } + + if (!encoding) encoding = 'utf8' + + while (true) { + switch (encoding) { + case 'hex': + return hexSlice(this, start, end) + + case 'utf8': + case 'utf-8': + return utf8Slice(this, start, end) + + case 'ascii': + return asciiSlice(this, start, end) + + case 'latin1': + case 'binary': + return latin1Slice(this, start, end) + + case 'base64': + return base64Slice(this, start, end) + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return utf16leSlice(this, start, end) + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = (encoding + '').toLowerCase() + loweredCase = true + } + } +} + +// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect +// Buffer instances. +Buffer.prototype._isBuffer = true + +function swap (b, n, m) { + var i = b[n] + b[n] = b[m] + b[m] = i +} + +Buffer.prototype.swap16 = function swap16 () { + var len = this.length + if (len % 2 !== 0) { + throw new RangeError('Buffer size must be a multiple of 16-bits') + } + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1) + } + return this +} + +Buffer.prototype.swap32 = function swap32 () { + var len = this.length + if (len % 4 !== 0) { + throw new RangeError('Buffer size must be a multiple of 32-bits') + } + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3) + swap(this, i + 1, i + 2) + } + return this +} + +Buffer.prototype.swap64 = function swap64 () { + var len = this.length + if (len % 8 !== 0) { + throw new RangeError('Buffer size must be a multiple of 64-bits') + } + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7) + swap(this, i + 1, i + 6) + swap(this, i + 2, i + 5) + swap(this, i + 3, i + 4) + } + return this +} + +Buffer.prototype.toString = function toString () { + var length = this.length | 0 + if (length === 0) return '' + if (arguments.length === 0) return utf8Slice(this, 0, length) + return slowToString.apply(this, arguments) +} + +Buffer.prototype.equals = function equals (b) { + if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') + if (this === b) return true + return Buffer.compare(this, b) === 0 +} + +Buffer.prototype.inspect = function inspect () { + var str = '' + var max = exports.INSPECT_MAX_BYTES + if (this.length > 0) { + str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') + if (this.length > max) str += ' ... ' + } + return '' +} + +Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { + if (!Buffer.isBuffer(target)) { + throw new TypeError('Argument must be a Buffer') + } + + if (start === undefined) { + start = 0 + } + if (end === undefined) { + end = target ? target.length : 0 + } + if (thisStart === undefined) { + thisStart = 0 + } + if (thisEnd === undefined) { + thisEnd = this.length + } + + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError('out of range index') + } + + if (thisStart >= thisEnd && start >= end) { + return 0 + } + if (thisStart >= thisEnd) { + return -1 + } + if (start >= end) { + return 1 + } + + start >>>= 0 + end >>>= 0 + thisStart >>>= 0 + thisEnd >>>= 0 + + if (this === target) return 0 + + var x = thisEnd - thisStart + var y = end - start + var len = Math.min(x, y) + + var thisCopy = this.slice(thisStart, thisEnd) + var targetCopy = target.slice(start, end) + + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i] + y = targetCopy[i] + break + } + } + + if (x < y) return -1 + if (y < x) return 1 + return 0 +} + +// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, +// OR the last index of `val` in `buffer` at offset <= `byteOffset`. +// +// Arguments: +// - buffer - a Buffer to search +// - val - a string, Buffer, or number +// - byteOffset - an index into `buffer`; will be clamped to an int32 +// - encoding - an optional encoding, relevant is val is a string +// - dir - true for indexOf, false for lastIndexOf +function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { + // Empty buffer means no match + if (buffer.length === 0) return -1 + + // Normalize byteOffset + if (typeof byteOffset === 'string') { + encoding = byteOffset + byteOffset = 0 + } else if (byteOffset > 0x7fffffff) { + byteOffset = 0x7fffffff + } else if (byteOffset < -0x80000000) { + byteOffset = -0x80000000 + } + byteOffset = +byteOffset // Coerce to Number. + if (isNaN(byteOffset)) { + // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer + byteOffset = dir ? 0 : (buffer.length - 1) + } + + // Normalize byteOffset: negative offsets start from the end of the buffer + if (byteOffset < 0) byteOffset = buffer.length + byteOffset + if (byteOffset >= buffer.length) { + if (dir) return -1 + else byteOffset = buffer.length - 1 + } else if (byteOffset < 0) { + if (dir) byteOffset = 0 + else return -1 + } + + // Normalize val + if (typeof val === 'string') { + val = Buffer.from(val, encoding) + } + + // Finally, search either indexOf (if dir is true) or lastIndexOf + if (Buffer.isBuffer(val)) { + // Special case: looking for empty string/buffer always fails + if (val.length === 0) { + return -1 + } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir) + } else if (typeof val === 'number') { + val = val & 0xFF // Search for a byte value [0-255] + if (Buffer.TYPED_ARRAY_SUPPORT && + typeof Uint8Array.prototype.indexOf === 'function') { + if (dir) { + return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) + } else { + return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) + } + } + return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir) + } + + throw new TypeError('val must be string, number or Buffer') +} + +function arrayIndexOf (arr, val, byteOffset, encoding, dir) { + var indexSize = 1 + var arrLength = arr.length + var valLength = val.length + + if (encoding !== undefined) { + encoding = String(encoding).toLowerCase() + if (encoding === 'ucs2' || encoding === 'ucs-2' || + encoding === 'utf16le' || encoding === 'utf-16le') { + if (arr.length < 2 || val.length < 2) { + return -1 + } + indexSize = 2 + arrLength /= 2 + valLength /= 2 + byteOffset /= 2 + } + } + + function read (buf, i) { + if (indexSize === 1) { + return buf[i] + } else { + return buf.readUInt16BE(i * indexSize) + } + } + + var i + if (dir) { + var foundIndex = -1 + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) foundIndex = i + if (i - foundIndex + 1 === valLength) return foundIndex * indexSize + } else { + if (foundIndex !== -1) i -= i - foundIndex + foundIndex = -1 + } + } + } else { + if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength + for (i = byteOffset; i >= 0; i--) { + var found = true + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false + break + } + } + if (found) return i + } + } + + return -1 +} + +Buffer.prototype.includes = function includes (val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1 +} + +Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true) +} + +Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false) +} + +function hexWrite (buf, string, offset, length) { + offset = Number(offset) || 0 + var remaining = buf.length - offset + if (!length) { + length = remaining + } else { + length = Number(length) + if (length > remaining) { + length = remaining + } + } + + // must be an even number of digits + var strLen = string.length + if (strLen % 2 !== 0) throw new TypeError('Invalid hex string') + + if (length > strLen / 2) { + length = strLen / 2 + } + for (var i = 0; i < length; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16) + if (isNaN(parsed)) return i + buf[offset + i] = parsed + } + return i +} + +function utf8Write (buf, string, offset, length) { + return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) +} + +function asciiWrite (buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length) +} + +function latin1Write (buf, string, offset, length) { + return asciiWrite(buf, string, offset, length) +} + +function base64Write (buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length) +} + +function ucs2Write (buf, string, offset, length) { + return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) +} + +Buffer.prototype.write = function write (string, offset, length, encoding) { + // Buffer#write(string) + if (offset === undefined) { + encoding = 'utf8' + length = this.length + offset = 0 + // Buffer#write(string, encoding) + } else if (length === undefined && typeof offset === 'string') { + encoding = offset + length = this.length + offset = 0 + // Buffer#write(string, offset[, length][, encoding]) + } else if (isFinite(offset)) { + offset = offset | 0 + if (isFinite(length)) { + length = length | 0 + if (encoding === undefined) encoding = 'utf8' + } else { + encoding = length + length = undefined + } + // legacy write(string, encoding, offset, length) - remove in v0.13 + } else { + throw new Error( + 'Buffer.write(string, encoding, offset[, length]) is no longer supported' + ) + } + + var remaining = this.length - offset + if (length === undefined || length > remaining) length = remaining + + if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { + throw new RangeError('Attempt to write outside buffer bounds') + } + + if (!encoding) encoding = 'utf8' + + var loweredCase = false + for (;;) { + switch (encoding) { + case 'hex': + return hexWrite(this, string, offset, length) + + case 'utf8': + case 'utf-8': + return utf8Write(this, string, offset, length) + + case 'ascii': + return asciiWrite(this, string, offset, length) + + case 'latin1': + case 'binary': + return latin1Write(this, string, offset, length) + + case 'base64': + // Warning: maxLength not taken into account in base64Write + return base64Write(this, string, offset, length) + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return ucs2Write(this, string, offset, length) + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} + +Buffer.prototype.toJSON = function toJSON () { + return { + type: 'Buffer', + data: Array.prototype.slice.call(this._arr || this, 0) + } +} + +function base64Slice (buf, start, end) { + if (start === 0 && end === buf.length) { + return base64.fromByteArray(buf) + } else { + return base64.fromByteArray(buf.slice(start, end)) + } +} + +function utf8Slice (buf, start, end) { + end = Math.min(buf.length, end) + var res = [] + + var i = start + while (i < end) { + var firstByte = buf[i] + var codePoint = null + var bytesPerSequence = (firstByte > 0xEF) ? 4 + : (firstByte > 0xDF) ? 3 + : (firstByte > 0xBF) ? 2 + : 1 + + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint + + switch (bytesPerSequence) { + case 1: + if (firstByte < 0x80) { + codePoint = firstByte + } + break + case 2: + secondByte = buf[i + 1] + if ((secondByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) + if (tempCodePoint > 0x7F) { + codePoint = tempCodePoint + } + } + break + case 3: + secondByte = buf[i + 1] + thirdByte = buf[i + 2] + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) + if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { + codePoint = tempCodePoint + } + } + break + case 4: + secondByte = buf[i + 1] + thirdByte = buf[i + 2] + fourthByte = buf[i + 3] + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) + if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { + codePoint = tempCodePoint + } + } + } + } + + if (codePoint === null) { + // we did not generate a valid codePoint so insert a + // replacement char (U+FFFD) and advance only 1 byte + codePoint = 0xFFFD + bytesPerSequence = 1 + } else if (codePoint > 0xFFFF) { + // encode to utf16 (surrogate pair dance) + codePoint -= 0x10000 + res.push(codePoint >>> 10 & 0x3FF | 0xD800) + codePoint = 0xDC00 | codePoint & 0x3FF + } + + res.push(codePoint) + i += bytesPerSequence + } + + return decodeCodePointsArray(res) +} + +// Based on http://stackoverflow.com/a/22747272/680742, the browser with +// the lowest limit is Chrome, with 0x10000 args. +// We go 1 magnitude less, for safety +var MAX_ARGUMENTS_LENGTH = 0x1000 + +function decodeCodePointsArray (codePoints) { + var len = codePoints.length + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints) // avoid extra slice() + } + + // Decode in chunks to avoid "call stack size exceeded". + var res = '' + var i = 0 + while (i < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ) + } + return res +} + +function asciiSlice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 0x7F) + } + return ret +} + +function latin1Slice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]) + } + return ret +} + +function hexSlice (buf, start, end) { + var len = buf.length + + if (!start || start < 0) start = 0 + if (!end || end < 0 || end > len) end = len + + var out = '' + for (var i = start; i < end; ++i) { + out += toHex(buf[i]) + } + return out +} + +function utf16leSlice (buf, start, end) { + var bytes = buf.slice(start, end) + var res = '' + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) + } + return res +} + +Buffer.prototype.slice = function slice (start, end) { + var len = this.length + start = ~~start + end = end === undefined ? len : ~~end + + if (start < 0) { + start += len + if (start < 0) start = 0 + } else if (start > len) { + start = len + } + + if (end < 0) { + end += len + if (end < 0) end = 0 + } else if (end > len) { + end = len + } + + if (end < start) end = start + + var newBuf + if (Buffer.TYPED_ARRAY_SUPPORT) { + newBuf = this.subarray(start, end) + newBuf.__proto__ = Buffer.prototype + } else { + var sliceLen = end - start + newBuf = new Buffer(sliceLen, undefined) + for (var i = 0; i < sliceLen; ++i) { + newBuf[i] = this[i + start] + } + } + + return newBuf +} + +/* + * Need to make sure that buffer isn't trying to write out of bounds. + */ +function checkOffset (offset, ext, length) { + if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') + if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') +} + +Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } + + return val +} + +Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + checkOffset(offset, byteLength, this.length) + } + + var val = this[offset + --byteLength] + var mul = 1 + while (byteLength > 0 && (mul *= 0x100)) { + val += this[offset + --byteLength] * mul + } + + return val +} + +Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { + if (!noAssert) checkOffset(offset, 1, this.length) + return this[offset] +} + +Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + return this[offset] | (this[offset + 1] << 8) +} + +Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + return (this[offset] << 8) | this[offset + 1] +} + +Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return ((this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16)) + + (this[offset + 3] * 0x1000000) +} + +Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset] * 0x1000000) + + ((this[offset + 1] << 16) | + (this[offset + 2] << 8) | + this[offset + 3]) +} + +Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } + mul *= 0x80 + + if (val >= mul) val -= Math.pow(2, 8 * byteLength) + + return val +} + +Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var i = byteLength + var mul = 1 + var val = this[offset + --i] + while (i > 0 && (mul *= 0x100)) { + val += this[offset + --i] * mul + } + mul *= 0x80 + + if (val >= mul) val -= Math.pow(2, 8 * byteLength) + + return val +} + +Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { + if (!noAssert) checkOffset(offset, 1, this.length) + if (!(this[offset] & 0x80)) return (this[offset]) + return ((0xff - this[offset] + 1) * -1) +} + +Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset] | (this[offset + 1] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} + +Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset + 1] | (this[offset] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} + +Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16) | + (this[offset + 3] << 24) +} + +Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset] << 24) | + (this[offset + 1] << 16) | + (this[offset + 2] << 8) | + (this[offset + 3]) +} + +Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, true, 23, 4) +} + +Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, false, 23, 4) +} + +Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, true, 52, 8) +} + +Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, false, 52, 8) +} + +function checkInt (buf, value, offset, ext, max, min) { + if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') + if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') + if (offset + ext > buf.length) throw new RangeError('Index out of range') +} + +Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1 + checkInt(this, value, offset, byteLength, maxBytes, 0) + } + + var mul = 1 + var i = 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1 + checkInt(this, value, offset, byteLength, maxBytes, 0) + } + + var i = byteLength - 1 + var mul = 1 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) + if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) + this[offset] = (value & 0xff) + return offset + 1 +} + +function objectWriteUInt16 (buf, value, offset, littleEndian) { + if (value < 0) value = 0xffff + value + 1 + for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { + buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> + (littleEndian ? i : 1 - i) * 8 + } +} + +Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + } else { + objectWriteUInt16(this, value, offset, true) + } + return offset + 2 +} + +Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 8) + this[offset + 1] = (value & 0xff) + } else { + objectWriteUInt16(this, value, offset, false) + } + return offset + 2 +} + +function objectWriteUInt32 (buf, value, offset, littleEndian) { + if (value < 0) value = 0xffffffff + value + 1 + for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { + buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff + } +} + +Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset + 3] = (value >>> 24) + this[offset + 2] = (value >>> 16) + this[offset + 1] = (value >>> 8) + this[offset] = (value & 0xff) + } else { + objectWriteUInt32(this, value, offset, true) + } + return offset + 4 +} + +Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = (value & 0xff) + } else { + objectWriteUInt32(this, value, offset, false) + } + return offset + 4 +} + +Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = 0 + var mul = 1 + var sub = 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1 + } + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = byteLength - 1 + var mul = 1 + var sub = 0 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1 + } + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) + if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) + if (value < 0) value = 0xff + value + 1 + this[offset] = (value & 0xff) + return offset + 1 +} + +Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + } else { + objectWriteUInt16(this, value, offset, true) + } + return offset + 2 +} + +Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 8) + this[offset + 1] = (value & 0xff) + } else { + objectWriteUInt16(this, value, offset, false) + } + return offset + 2 +} + +Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + this[offset + 2] = (value >>> 16) + this[offset + 3] = (value >>> 24) + } else { + objectWriteUInt32(this, value, offset, true) + } + return offset + 4 +} + +Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + if (value < 0) value = 0xffffffff + value + 1 + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = (value & 0xff) + } else { + objectWriteUInt32(this, value, offset, false) + } + return offset + 4 +} + +function checkIEEE754 (buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) throw new RangeError('Index out of range') + if (offset < 0) throw new RangeError('Index out of range') +} + +function writeFloat (buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) + } + ieee754.write(buf, value, offset, littleEndian, 23, 4) + return offset + 4 +} + +Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert) +} + +function writeDouble (buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) + } + ieee754.write(buf, value, offset, littleEndian, 52, 8) + return offset + 8 +} + +Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert) +} + +// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) +Buffer.prototype.copy = function copy (target, targetStart, start, end) { + if (!start) start = 0 + if (!end && end !== 0) end = this.length + if (targetStart >= target.length) targetStart = target.length + if (!targetStart) targetStart = 0 + if (end > 0 && end < start) end = start + + // Copy 0 bytes; we're done + if (end === start) return 0 + if (target.length === 0 || this.length === 0) return 0 + + // Fatal error conditions + if (targetStart < 0) { + throw new RangeError('targetStart out of bounds') + } + if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') + if (end < 0) throw new RangeError('sourceEnd out of bounds') + + // Are we oob? + if (end > this.length) end = this.length + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start + } + + var len = end - start + var i + + if (this === target && start < targetStart && targetStart < end) { + // descending copy from end + for (i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start] + } + } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { + // ascending copy from start + for (i = 0; i < len; ++i) { + target[i + targetStart] = this[i + start] + } + } else { + Uint8Array.prototype.set.call( + target, + this.subarray(start, start + len), + targetStart + ) + } + + return len +} + +// Usage: +// buffer.fill(number[, offset[, end]]) +// buffer.fill(buffer[, offset[, end]]) +// buffer.fill(string[, offset[, end]][, encoding]) +Buffer.prototype.fill = function fill (val, start, end, encoding) { + // Handle string cases: + if (typeof val === 'string') { + if (typeof start === 'string') { + encoding = start + start = 0 + end = this.length + } else if (typeof end === 'string') { + encoding = end + end = this.length + } + if (val.length === 1) { + var code = val.charCodeAt(0) + if (code < 256) { + val = code + } + } + if (encoding !== undefined && typeof encoding !== 'string') { + throw new TypeError('encoding must be a string') + } + if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { + throw new TypeError('Unknown encoding: ' + encoding) + } + } else if (typeof val === 'number') { + val = val & 255 + } + + // Invalid ranges are not set to a default, so can range check early. + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError('Out of range index') + } + + if (end <= start) { + return this + } + + start = start >>> 0 + end = end === undefined ? this.length : end >>> 0 + + if (!val) val = 0 + + var i + if (typeof val === 'number') { + for (i = start; i < end; ++i) { + this[i] = val + } + } else { + var bytes = Buffer.isBuffer(val) + ? val + : utf8ToBytes(new Buffer(val, encoding).toString()) + var len = bytes.length + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len] + } + } + + return this +} + +// HELPER FUNCTIONS +// ================ + +var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g + +function base64clean (str) { + // Node strips out invalid characters like \n and \t from the string, base64-js does not + str = stringtrim(str).replace(INVALID_BASE64_RE, '') + // Node converts strings with length < 2 to '' + if (str.length < 2) return '' + // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not + while (str.length % 4 !== 0) { + str = str + '=' + } + return str +} + +function stringtrim (str) { + if (str.trim) return str.trim() + return str.replace(/^\s+|\s+$/g, '') +} + +function toHex (n) { + if (n < 16) return '0' + n.toString(16) + return n.toString(16) +} + +function utf8ToBytes (string, units) { + units = units || Infinity + var codePoint + var length = string.length + var leadSurrogate = null + var bytes = [] + + for (var i = 0; i < length; ++i) { + codePoint = string.charCodeAt(i) + + // is surrogate component + if (codePoint > 0xD7FF && codePoint < 0xE000) { + // last char was a lead + if (!leadSurrogate) { + // no lead yet + if (codePoint > 0xDBFF) { + // unexpected trail + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } else if (i + 1 === length) { + // unpaired lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } + + // valid lead + leadSurrogate = codePoint + + continue + } + + // 2 leads in a row + if (codePoint < 0xDC00) { + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + leadSurrogate = codePoint + continue + } + + // valid surrogate pair + codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 + } else if (leadSurrogate) { + // valid bmp char, but last char was a lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + } + + leadSurrogate = null + + // encode utf8 + if (codePoint < 0x80) { + if ((units -= 1) < 0) break + bytes.push(codePoint) + } else if (codePoint < 0x800) { + if ((units -= 2) < 0) break + bytes.push( + codePoint >> 0x6 | 0xC0, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x10000) { + if ((units -= 3) < 0) break + bytes.push( + codePoint >> 0xC | 0xE0, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x110000) { + if ((units -= 4) < 0) break + bytes.push( + codePoint >> 0x12 | 0xF0, + codePoint >> 0xC & 0x3F | 0x80, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else { + throw new Error('Invalid code point') + } + } + + return bytes +} + +function asciiToBytes (str) { + var byteArray = [] + for (var i = 0; i < str.length; ++i) { + // Node's code seems to be doing this and not & 0x7F.. + byteArray.push(str.charCodeAt(i) & 0xFF) + } + return byteArray +} + +function utf16leToBytes (str, units) { + var c, hi, lo + var byteArray = [] + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) break + + c = str.charCodeAt(i) + hi = c >> 8 + lo = c % 256 + byteArray.push(lo) + byteArray.push(hi) + } + + return byteArray +} + +function base64ToBytes (str) { + return base64.toByteArray(base64clean(str)) +} + +function blitBuffer (src, dst, offset, length) { + for (var i = 0; i < length; ++i) { + if ((i + offset >= dst.length) || (i >= src.length)) break + dst[i + offset] = src[i] + } + return i +} + +function isnan (val) { + return val !== val // eslint-disable-line no-self-compare +} + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) + +/***/ }), +/* 7 */ +/***/ (function(module, exports) { + +var toString = {}.toString; + +module.exports = Array.isArray || function (arr) { + return toString.call(arr) == '[object Array]'; +}; + + +/***/ }), +/* 8 */ +/***/ (function(module, exports) { + +exports.read = function (buffer, offset, isLE, mLen, nBytes) { + var e, m + var eLen = nBytes * 8 - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var nBits = -7 + var i = isLE ? (nBytes - 1) : 0 + var d = isLE ? -1 : 1 + var s = buffer[offset + i] + + i += d + + e = s & ((1 << (-nBits)) - 1) + s >>= (-nBits) + nBits += eLen + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & ((1 << (-nBits)) - 1) + e >>= (-nBits) + nBits += mLen + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity) + } else { + m = m + Math.pow(2, mLen) + e = e - eBias + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen) +} + +exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c + var eLen = nBytes * 8 - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) + var i = isLE ? 0 : (nBytes - 1) + var d = isLE ? 1 : -1 + var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 + + value = Math.abs(value) + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0 + e = eMax + } else { + e = Math.floor(Math.log(value) / Math.LN2) + if (value * (c = Math.pow(2, -e)) < 1) { + e-- + c *= 2 + } + if (e + eBias >= 1) { + value += rt / c + } else { + value += rt * Math.pow(2, 1 - eBias) + } + if (value * c >= 2) { + e++ + c /= 2 + } + + if (e + eBias >= eMax) { + m = 0 + e = eMax + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen) + e = e + eBias + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) + e = 0 + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + + e = (e << mLen) | m + eLen += mLen + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + + buffer[offset + i - d] |= s * 128 +} + + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global, Buffer) {var require;var require;(function(f){if(true){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.mapboxgl = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return require(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i,rn.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var h=this.shelves[t],n=h.alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1===++t.refcount){var e=t.h;this.stats[e]=(0|this.stats[e])+1}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0===--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t}); +},{}],3:[function(require,module,exports){ +function UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){"undefined"==typeof i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))}; +},{}],4:[function(require,module,exports){ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){s=s||{};var f=e+"?"+["bbox="+o(r,n,i),"format="+(s.format||"image/png"),"service="+(s.service||"WMS"),"version="+(s.version||"1.1.1"),"request="+(s.request||"GetMap"),"srs="+(s.srs||"EPSG:3857"),"width="+(s.width||256),"height="+(s.height||256),"layers="+t].join("&");return f}function o(e,t,o){t=Math.pow(2,o)-t-1;var n=r(256*e,256*t,o),i=r(256*(e+1),256*(t+1),o);return n[0]+","+n[1]+","+i[0]+","+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o),n=e*r-2*Math.PI*6378137/2,i=t*r-2*Math.PI*6378137/2;return[n,i]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,"__esModule",{value:!0})}); +},{}],5:[function(require,module,exports){ +"use strict";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),t=n=t.prev,t===t.next)return null;r=!0}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if(e=l,e===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l)),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next;while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r}; +},{}],6:[function(require,module,exports){ +function geometry(r){if("Polygon"===r.type)return polygonArea(r.coordinates);if("MultiPolygon"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=require("geojson-area");module.exports=rewind; +},{"geojson-area":6}],8:[function(require,module,exports){ +"use strict";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));h=g[S-1],c=h[n],c>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=require("./feature"); +},{"./feature":10}],9:[function(require,module,exports){ +"use strict";function convert(e,t){var r=[];if("FeatureCollection"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time("creation"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd("creation"));var h="z"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time("clipping");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd("clipping"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log("drilling down to z%d-%d-%d",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log("found parent tile z%d-%d-%d",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time("drilling down");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd("drilling down"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify; +},{}],13:[function(require,module,exports){ +"use strict";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){var r=signedArea(e);r<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l}; +},{}],18:[function(require,module,exports){ +"use strict";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range; +},{}],20:[function(require,module,exports){ +"use strict";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1),c=Math.max(s,Math.floor(o-p*m/f+n)),h=Math.min(r,Math.floor(o+(f-p)*m/f+n));select(t,a,o,c,h,e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD; +},{}],21:[function(require,module,exports){ +"use strict";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within; +},{}],22:[function(require,module,exports){ +"use strict";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return"undefined"!=typeof window&&"undefined"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return"JSON"in window&&"parse"in JSON&&"stringify"in JSON}function isWorkerSupported(){return"Worker"in window}function isUint8ClampedArraySupported(){return"Uint8ClampedArray"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement("canvas"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext("webgl",r)||t.probablySupportsContext("experimental-webgl",r):t.supportsContext?t.supportsContext("webgl",r)||t.supportsContext("experimental-webgl",r):t.getContext("webgl",r)||t.getContext("experimental-webgl",r)}"undefined"!=typeof module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}; +},{}],23:[function(require,module,exports){ +(function (process){ +function normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];"."===s?r.splice(n,1):".."===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift("..");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(r=n+"/"+r,t="/"===n.charAt(0))}return r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"),(t?"/":"")+r||"."},exports.normalize=function(r){var t=exports.isAbsolute(r),e="/"===substr(r,-1);return r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"),r||t||(r="."),r&&e&&(r+="/"),(t?"/":"")+r},exports.isAbsolute=function(r){return"/"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if("string"!=typeof r)throw new TypeError("Arguments to path.join must be strings");return r}).join("/"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&""===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split("/")),s=e(t.split("/")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var ieee754=require("ieee754"),BufferMethods,lastStr,lastStrEncoded;BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n="",i="";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error("Given varint doesn't fit into 10 bytes");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.Fixed64)throw new Error("Unimplemented type: "+i);this.pos+=8}},writeTag:function(t,i){this.writeVarint(t<<3|i)},realloc:function(t){for(var i=this.length||16;i268435455?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127)))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}}; +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./buffer":24}],26:[function(require,module,exports){ +"use strict";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var n=t.x-this.x,i=t.y-this.y;return n*n+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,this.y=i,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t}; +},{}],27:[function(require,module,exports){ +function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1),n=Math.max(r,Math.floor(t-e*s/f+i)),h=Math.min(o,Math.floor(t+(f-e)*s/f+i));partialSort(a,t,n,h,p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort; +},{}],29:[function(require,module,exports){ +"use strict";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:"Feature",properties:getClusterProperties(t),geometry:{type:"Point",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return{cluster:!0,point_count:e,point_count_abbreviated:o}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=require("kdbush");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time("total time");var o="prepare "+t.length+" points";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log("z%d: %d clusters in %dms",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd("total time"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c="",a=!1,l=["{","}"];if(isArray(r)&&(a=!0,l=["[","]"]),isFunction(r)){var p=r.name?": "+r.name:"";c=" [Function"+p+"]"}if(isRegExp(r)&&(c=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(c=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(c=" "+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n"))):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;s=JSON.stringify(""+i),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf("\n")>=0&&n++,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(e){return"[Circular]"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error("unknown command "+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-(1/0),p=1/0,h=-(1/0);e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error("unknown command "+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=require("./vectortilefeature.js");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)}; +},{"./vectortilefeature.js":36}],38:[function(require,module,exports){ +function fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||"",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup; +},{"./program_configuration":58}],45:[function(require,module,exports){ +"use strict";var ArrayGroup=require("./array_group"),BufferGroup=require("./buffer_group"),util=require("../util/util"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||o<0||o>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,y,o,-1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,1),addCircleVertex(r.layoutVertexArray,y,o,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket; +},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60}],47:[function(require,module,exports){ +"use strict";var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),earcut=require("earcut"),classifyRings=require("../../util/classify_rings"),EARCUT_MAX_RINGS=500,fillInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"}]),elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:"fill-color",type:"Uint8"},{property:"fill-outline-color",type:"Uint8"},{property:"fill-opacity",type:"Uint8",multiplier:255}]},FillBucket=function(e){function r(r){e.call(this,r,fillInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);tEXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),EXTENT=require("../extent"),earcut=require("earcut"),classifyRings=require("../../util/classify_rings"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal",components:3,type:"Int16"},{name:"a_edgedistance",components:1,type:"Int16"}]),elementArrayType:createElementArrayType(3),paintAttributes:[{property:"fill-extrusion-base",type:"Uint16"},{property:"fill-extrusion-height",type:"Uint16"},{property:"fill-extrusion-color",type:"Uint8"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function r(r){e.call(this,r,fillExtrusionInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);t=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var _=g.sub(A)._perp()._unit();addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,1,m),m+=A.dist(g),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,1,m);var v=p.vertexLength;r.elementArray.emplaceBack(v,v+1,v+2),r.elementArray.emplaceBack(v+1,v+2,v+3),p.vertexLength+=4,p.primitiveLength+=2}}u.push(g.x),u.push(g.y)}}}for(var E=earcut(u,c),T=0;T>6)}var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),EXTENT=require("../extent"),VectorTileFeature=require("vector-tile").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(37.5*(Math.PI/180)),SHARP_CORNER_OFFSET=15,LINE_DISTANCE_BUFFER_BITS=15,LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE,lineInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}]),paintAttributes:[{property:"line-color",type:"Uint8"},{property:"line-blur",multiplier:10,type:"Uint8"},{property:"line-opacity",multiplier:10,type:"Uint8"},{property:"line-gap-width",multiplier:10,type:"Uint8",name:"a_gapwidth"},{property:"line-offset",multiplier:1,type:"Int8"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r["line-join"],a=r["line-cap"],n=r["line-miter-limit"],d=r["line-round-limit"],s=0,u=loadGeometry(e,LINE_DISTANCE_BUFFER_BITS);s=2&&e[l-1].equals(e[l-2]);)l--;if(!(l<(u?3:2))){"bevel"===r&&(a=1.05);var o=SHARP_CORNER_OFFSET*(EXTENT/(512*this.overscaling)),p=e[0],c=this.arrays,_=c.prepareSegment(10*l);this.distance=0;var y,h,m,E,x,C,v,A=i,f=u?"butt":i,L=!0;this.e1=this.e2=this.e3=-1,u&&(y=e[l-2],x=p.sub(y)._unit()._perp());for(var V=0;V0){var b=y.dist(h);if(b>2*o){var R=y.sub(y.sub(h)._mult(o/b)._round());d.distance+=R.dist(h),d.addCurrentVertex(R,d.distance,E.mult(1),0,0,!1,_),h=R}}var g=h&&m,F=g?r:m?A:f;if(g&&"round"===F&&(Ia&&(F="bevel"),"bevel"===F&&(I>2&&(F="flipbevel"),I100)S=x.clone().mult(-1);else{var B=E.x*x.y-E.y*x.x>0?-1:1,k=I*E.add(x).mag()/E.sub(x).mag();S._perp()._mult(k*B)}d.addCurrentVertex(y,d.distance,S,0,0,!1,_),d.addCurrentVertex(y,d.distance,S.mult(-1),0,0,!1,_)}else if("bevel"===F||"fakeround"===F){var D=E.x*x.y-E.y*x.x>0,P=-Math.sqrt(I*I-1);if(D?(v=0,C=P):(C=0,v=P),L||d.addCurrentVertex(y,d.distance,E,C,v,!1,_),"fakeround"===F){for(var U=Math.floor(8*(.5-(T-.5))),q=void 0,M=0;M=0;O--)q=E.mult((O+1)/(U+1))._add(x)._unit(),d.addPieSliceVertex(y,d.distance,q,D,_)}m&&d.addCurrentVertex(y,d.distance,x,-C,-v,!1,_)}else"butt"===F?(L||d.addCurrentVertex(y,d.distance,E,0,0,!1,_),m&&d.addCurrentVertex(y,d.distance,x,0,0,!1,_)):"square"===F?(L||(d.addCurrentVertex(y,d.distance,E,1,1,!1,_),d.e1=d.e2=-1),m&&d.addCurrentVertex(y,d.distance,x,-1,-1,!1,_)):"round"===F&&(L||(d.addCurrentVertex(y,d.distance,E,0,0,!1,_),d.addCurrentVertex(y,d.distance,E,1,1,!0,_),d.e1=d.e2=-1),m&&(d.addCurrentVertex(y,d.distance,x,-1,-1,!0,_),d.addCurrentVertex(y,d.distance,x,0,0,!1,_)));if(N&&V2*o){var H=y.add(m.sub(y)._mult(o/X)._round());d.distance+=H.dist(y),d.addCurrentVertex(H,d.distance,x.mult(1),0,0,!1,_),y=H}}L=!1}c.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket; +},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60,"vector-tile":34}],50:[function(require,module,exports){ +"use strict";function addVertex(e,t,o,r,a,i,n,l,s,c,y){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i/4,n/4,10*(c||0),y,10*(l||0),10*Math.min(s||25,25))}function addCollisionBoxVertex(e,t,o,r,a){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*r,10*a)}var Point=require("point-geometry"),ArrayGroup=require("../array_group"),BufferGroup=require("../buffer_group"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),EXTENT=require("../extent"),Anchor=require("../../symbol/anchor"),getAnchors=require("../../symbol/get_anchors"),resolveTokens=require("../../util/token"),Quads=require("../../symbol/quads"),Shaping=require("../../symbol/shaping"),resolveText=require("../../symbol/resolve_text"),mergeLines=require("../../symbol/mergelines"),clipLine=require("../../symbol/clip_line"),util=require("../../util/util"),scriptDetection=require("../../util/script_detection"),loadGeometry=require("../load_geometry"),CollisionFeature=require("../../symbol/collision_feature"),findPoleOfInaccessibility=require("../../util/find_pole_of_inaccessibility"),classifyRings=require("../../util/classify_rings"),VectorTileFeature=require("vector-tile").VectorTileFeature,rtlTextPlugin=require("../../source/rtl_text_plugin"),shapeText=Shaping.shapeText,shapeIcon=Shaping.shapeIcon,WritingMode=Shaping.WritingMode,getGlyphQuads=Quads.getGlyphQuads,getIconQuads=Quads.getIconQuads,elementArrayType=createElementArrayType(),layoutVertexArrayType=createVertexArrayType([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_texture_pos",components:2,type:"Uint16"},{name:"a_data",components:4,type:"Uint8"}]),symbolInterfaces={glyph:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:"a_fill_color",property:"text-color",type:"Uint8"},{name:"a_halo_color",property:"text-halo-color",type:"Uint8"},{name:"a_halo_width",property:"text-halo-width",type:"Uint16",multiplier:10},{name:"a_halo_blur",property:"text-halo-blur",type:"Uint16",multiplier:10},{name:"a_opacity",property:"text-opacity",type:"Uint8",multiplier:255}]},icon:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:"a_fill_color",property:"icon-color",type:"Uint8"},{name:"a_halo_color",property:"icon-halo-color",type:"Uint8"},{name:"a_halo_width",property:"icon-halo-width",type:"Uint16",multiplier:10},{name:"a_halo_blur",property:"icon-halo-blur",type:"Uint16",multiplier:10},{name:"a_opacity",property:"icon-opacity",type:"Uint8",multiplier:255}]},collisionBox:{layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"},{name:"a_data",components:2,type:"Uint8"}]),elementArrayType:createElementArrayType(2)}},SymbolBucket=function(e){var t=this;if(this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.sdfIcons=e.sdfIcons,this.iconsNeedLinear=e.iconsNeedLinear,this.adjustedTextSize=e.adjustedTextSize,this.adjustedIconSize=e.adjustedIconSize,this.fontstack=e.fontstack,e.arrays){this.buffers={};for(var o in e.arrays)e.arrays[o]&&(t.buffers[o]=new BufferGroup(symbolInterfaces[o],e.layers,e.zoom,e.arrays[o]))}};SymbolBucket.prototype.populate=function(e,t){var o=this,r=this.layers[0],a=r.layout,i=a["text-font"],n=a["icon-image"],l=i&&(!r.isLayoutValueFeatureConstant("text-field")||a["text-field"]),s=n;if(this.features=[],l||s){for(var c=t.iconDependencies,y=t.glyphDependencies,p=y[i]=y[i]||{},x=0;xEXTENT||i.y<0||i.y>EXTENT);if(!x||n){var l=n||f;r.addSymbolInstance(i,a,t,o,r.layers[0],l,r.collisionBoxArray,e.index,e.sourceLayerIndex,r.index,s,h,m,y,u,g,{zoom:r.zoom},e.properties)}};if("line"===b)for(var S=0,T=clipLine(e.geometry,0,0,EXTENT,EXTENT);S=0;i--)if(o.dist(a[i])7*Math.PI/4)continue}else if(r&&a&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(r&&a&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var m=u.tl,g=u.tr,f=u.bl,b=u.br,v=u.tex,I=u.anchorPoint,S=Math.max(y+Math.log(u.minScale)/Math.LN2,p),T=Math.min(y+Math.log(u.maxScale)/Math.LN2,25);if(!(T<=S)){S===p&&(S=0);var M=Math.round(u.glyphAngle/(2*Math.PI)*256),B=e.prepareSegment(4),A=B.vertexLength;addVertex(c,I.x,I.y,m.x,m.y,v.x,v.y,S,T,p,M),addVertex(c,I.x,I.y,g.x,g.y,v.x+v.w,v.y,S,T,p,M),addVertex(c,I.x,I.y,f.x,f.y,v.x,v.y+v.h,S,T,p,M),addVertex(c,I.x,I.y,b.x,b.y,v.x+v.w,v.y+v.h,S,T,p,M),s.emplaceBack(A,A+1,A+2),s.emplaceBack(A+1,A+2,A+3),B.vertexLength+=4,B.primitiveLength+=2}}e.populatePaintArrays(n)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,r=o.layoutVertexArray,a=o.elementArray,i=-e.angle,n=e.yStretch,l=0,s=t.symbolInstances;lSymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),z>SymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907");var _=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:M,textBoxEndIndex:B,iconBoxStartIndex:A,iconBoxEndIndex:z,glyphQuads:I,iconQuads:v,anchor:e,featureIndex:l,featureProperties:g,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket; +},{"../../source/rtl_text_plugin":90,"../../symbol/anchor":157,"../../symbol/clip_line":159,"../../symbol/collision_feature":161,"../../symbol/get_anchors":163,"../../symbol/mergelines":166,"../../symbol/quads":167,"../../symbol/resolve_text":168,"../../symbol/shaping":169,"../../util/classify_rings":195,"../../util/find_pole_of_inaccessibility":201,"../../util/script_detection":209,"../../util/token":211,"../../util/util":212,"../array_group":44,"../buffer_group":52,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60,"point-geometry":26,"vector-tile":34}],51:[function(require,module,exports){ +"use strict";var AttributeType={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT"},Buffer=function(e,t,r){this.arrayBuffer=e.arrayBuffer,this.length=e.length,this.attributes=t.members,this.itemSize=t.bytesPerElement,this.type=r,this.arrayType=t};Buffer.fromStructArray=function(e,t){return new Buffer(e.serialize(),e.constructor.serialize(),t)},Buffer.prototype.bind=function(e){var t=e[this.type];this.buffer?e.bindBuffer(t,this.buffer):(this.gl=e,this.buffer=e.createBuffer(),e.bindBuffer(t,this.buffer),e.bufferData(t,this.arrayBuffer,e.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.setVertexAttribPointers=function(e,t,r){for(var f=this,i=0;i0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),"viewport"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return u}; +},{"../util/util":212,"./extent":54}],57:[function(require,module,exports){ +"use strict";var createStructArrayType=require("../util/struct_array"),PosArray=createStructArrayType({members:[{name:"a_pos",type:"Int16",components:2}]});module.exports=PosArray; +},{"../util/struct_array":210}],58:[function(require,module,exports){ +"use strict";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+"-","").replace(/-/g,"_"));var i="color"===r._paintSpecifications[t.property].type;return util.extend({name:"a_"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=require("./vertex_array_type"),util=require("../util/util"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=""};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(t&&t.hasOwnProperty("lng")&&t.hasOwnProperty("lat"))return new LngLat(t.lng,t.lat);if(Array.isArray(t)&&2===t.length)return new LngLat(t[0],t[1]);throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]")},module.exports=LngLat; +},{"../util/util":212}],63:[function(require,module,exports){ +"use strict";var LngLat=require("./lng_lat"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds; +},{"./lng_lat":62}],64:[function(require,module,exports){ +"use strict";var LngLat=require("./lng_lat"),Point=require("point-geometry"),Coordinate=require("./coordinate"),util=require("../util/util"),interp=require("../util/interpolate"),TileCoord=require("../source/tile_coord"),EXTENT=require("../data/extent"),glmatrix=require("@mapbox/gl-matrix"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){var i=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-i)*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o))},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var o=0,e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(o-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r,n,s,a,h=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),i=this.latY(this.latRange[0]),r=i-ti&&(a=i-l)}if(this.lngRange){var u=this.x,f=h.x/2;u-fe&&(s=e-f)}void 0===s&&void 0===a||(this.center=this.unproject(new Point(void 0!==s?s:this.x,void 0!==a?a:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),e=Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance,r=1.01*e,n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),n=mat4.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error("failed to invert matrix");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform; +},{"../data/extent":54,"../source/tile_coord":94,"../util/interpolate":204,"../util/util":212,"./coordinate":61,"./lng_lat":62,"@mapbox/gl-matrix":1,"point-geometry":26}],65:[function(require,module,exports){ +"use strict";var browser=require("./util/browser"),mapboxgl=module.exports={};mapboxgl.version=require("../package.json").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=require("./ui/map"),mapboxgl.NavigationControl=require("./ui/control/navigation_control"),mapboxgl.GeolocateControl=require("./ui/control/geolocate_control"),mapboxgl.AttributionControl=require("./ui/control/attribution_control"),mapboxgl.ScaleControl=require("./ui/control/scale_control"),mapboxgl.FullscreenControl=require("./ui/control/fullscreen_control"),mapboxgl.Popup=require("./ui/popup"),mapboxgl.Marker=require("./ui/marker"),mapboxgl.Style=require("./style/style"),mapboxgl.LngLat=require("./geo/lng_lat"),mapboxgl.LngLatBounds=require("./geo/lng_lat_bounds"),mapboxgl.Point=require("point-geometry"),mapboxgl.Evented=require("./util/evented"),mapboxgl.supported=require("./util/browser").supported;var config=require("./util/config");mapboxgl.config=config;var rtlTextPlugin=require("./source/rtl_text_plugin");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,"accessToken",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}}); +},{"../package.json":43,"./geo/lng_lat":62,"./geo/lng_lat_bounds":63,"./source/rtl_text_plugin":90,"./style/style":146,"./ui/control/attribution_control":173,"./ui/control/fullscreen_control":174,"./ui/control/geolocate_control":175,"./ui/control/navigation_control":177,"./ui/control/scale_control":178,"./ui/map":187,"./ui/marker":188,"./ui/popup":189,"./util/browser":192,"./util/config":196,"./util/evented":200,"point-geometry":26}],66:[function(require,module,exports){ +"use strict";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint["background-color"],l=e.paint["background-pattern"],u=e.paint["background-opacity"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram("fillPattern",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram("fill",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var c=i.coveringTiles({tileSize:n}),g=0,p=c;g":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]}; +},{"../data/buffer":51,"../data/extent":54,"../data/pos_array":57,"../util/browser":192,"./vertex_array_object":80,"@mapbox/gl-matrix":1}],70:[function(require,module,exports){ +"use strict";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint["fill-pattern"]&&r.isPaintValueFeatureConstant("fill-color")&&r.isPaintValueFeatureConstant("fill-opacity")&&1===r.paint["fill-color"][3]&&1===r.paint["fill-opacity"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint["fill-antialias"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty("fill-outline-color")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint["raster-fade-duration"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=require("../util/util");module.exports=drawRaster; +},{"../util/util":212}],74:[function(require,module,exports){ +"use strict";function drawSymbols(e,t,a,i){if(!e.isOpaquePass){var o=!(a.layout["text-allow-overlap"]||a.layout["icon-allow-overlap"]||a.layout["text-ignore-placement"]||a.layout["icon-ignore-placement"]),r=e.gl;o?r.disable(r.STENCIL_TEST):r.enable(r.STENCIL_TEST),e.setDepthSublayer(0),e.depthMask(!1),drawLayerSymbols(e,t,a,i,!1,a.paint["icon-translate"],a.paint["icon-translate-anchor"],a.layout["icon-rotation-alignment"],a.layout["icon-rotation-alignment"],a.layout["icon-size"]),drawLayerSymbols(e,t,a,i,!0,a.paint["text-translate"],a.paint["text-translate-anchor"],a.layout["text-rotation-alignment"],a.layout["text-pitch-alignment"],a.layout["text-size"]),t.map.showCollisionBoxes&&drawCollisionDebug(e,t,a,i)}}function drawLayerSymbols(e,t,a,i,o,r,n,l,s,u){if(o||!e.style.sprite||e.style.sprite.loaded()){var f=e.gl,m="map"===l,p="map"===s,c=p;c?f.enable(f.DEPTH_TEST):f.disable(f.DEPTH_TEST);for(var d,_,h=0,g=i;hthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);a<=t?r.opacities[a]=r.changeOpacities[a]+o:r.opacities[a]=r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory; +},{}],76:[function(require,module,exports){ +"use strict";var util=require("../util/util"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(",")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1,a=128;if(this.nextRow+s>this.height)return util.warnOnce("LineAtlas out of space"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);var t=8,i=1/t;r.blendColor(i,i,i,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s="#define MAPBOX_GL_JS\n#define DEVICE_PIXEL_RATIO "+browser.devicePixelRatio.toFixed(1)+"\n";this._showOverdrawInspector&&(s+="#define OVERDRAW_INSPECTOR;\n");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,"fragment"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,"vertex"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)}; +},{"../source/pixels_to_tile_units":87}],79:[function(require,module,exports){ +"use strict";var path=require("path");module.exports={prelude:{fragmentSource:"#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n",vertexSource:"#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\n if (t < 1.0) {\n return mix(values[0], values[1], t);\n } else if (t < 2.0) {\n return mix(values[1], values[2], t - 1.0);\n } else {\n return mix(values[2], values[3], t - 2.0);\n }\n}\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\n if (t < 1.0) {\n return mix(value0, value1, t);\n } else if (t < 2.0) {\n return mix(value1, value2, t - 1.0);\n } else {\n return mix(value2, value3, t - 2.0);\n }\n}\n\n\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\n// [ floor(color.r * 255) * 256 + color.g * 255,\n// floor(color.b * 255) * 256 + color.g * 255 ]\nvec4 decode_color(const vec2 encodedColor) {\n float r = floor(encodedColor[0]/256.0)/255.0;\n float g = (encodedColor[0] - r*256.0*255.0)/255.0;\n float b = floor(encodedColor[1]/256.0)/255.0;\n float a = (encodedColor[1] - b*256.0*255.0)/255.0;\n return vec4(r, g, b, a);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\n return mix(packedValue[0], packedValue[1], t);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\n return mix(minColor, maxColor, t);\n}\n\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\n// vec2 offset = mod(pixel_coord, size)\n//\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\n//\n// The pixel_coord is passed in as two 16 bit values:\n// pixel_coord_upper = floor(pixel_coord / 2^16)\n// pixel_coord_lower = mod(pixel_coord, 2^16)\n//\n// The offset is calculated in a series of steps that should preserve this precision:\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\n\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\n return (tile_units_to_pixels * pos + offset) / pattern_size;\n}\n"},circle:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n float extrude_length = length(v_extrude);\n float antialiased_blur = -max(blur, v_antialiasblur);\n\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\n\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\n antialiased_blur,\n 0.0,\n extrude_length - radius / (radius + stroke_width)\n );\n\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform vec2 u_extrude_scale;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main(void) {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n // unencode the extrusion vector that we snuck into the a_pos vector\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n // in extrusion data\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\n\n if (u_scale_with_map) {\n gl_Position.xy += extrude;\n } else {\n gl_Position.xy += extrude * gl_Position.w;\n }\n\n // This is a minimum blur distance that serves as a faux-antialiasing for\n // the circle. since blur is a ratio of the circle's size and the intent is\n // to keep the blur at roughly 1px, the two are inversely related.\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\n}\n"},collisionBox:{fragmentSource:"uniform float u_zoom;\nuniform float u_maxzoom;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n\n float alpha = 0.5;\n\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\n\n if (v_placement_zoom > u_zoom) {\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n }\n\n if (u_zoom >= v_max_zoom) {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\n }\n\n if (v_placement_zoom >= u_maxzoom) {\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\n }\n}\n",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_data;\n\nuniform mat4 u_matrix;\nuniform float u_scale;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\n\n v_max_zoom = a_data.x;\n v_placement_zoom = a_data.y;\n}\n"},debug:{fragmentSource:"uniform lowp vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fillOutline:{fragmentSource:"#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = smoothstep(1.0, 0.0, dist);\n gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillOutlinePattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n // find distance to outline for alpha interpolation\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = smoothstep(1.0, 0.0, dist);\n\n\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n}\n"},fillExtrusion:{fragmentSource:"varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize lowp vec4 color\n\n gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define lowp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize lowp vec4 color\n\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\n float t = mod(a_normal.x, 2.0);\n\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n // Relative luminance (how dark/bright is the surface color?)\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n // Add slight ambient lighting so no extrusions are totally black\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n color += ambientlight;\n\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n // Adjust directional so that\n // the range of values for highlight/shading is narrower\n // with lower light intensity\n // and with lighter/brighter surface colors\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n // Add gradient along z axis of side surfaces\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n // with lower bounds adjusted to hue of light\n // so that shading is tinted with the complementary (opposite) color to the light color\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n"},fillExtrusionPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n vec4 mixedColor = mix(color1, color2, u_mix);\n\n gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n float t = mod(a_normal.x, 2.0);\n float z = t > 0.0 ? height : base;\n\n gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\n ? a_pos // extrusion top\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\n\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n"},extrusionTexture:{fragmentSource:"uniform sampler2D u_texture;\nuniform float u_opacity;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_texture, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform int u_xdim;\nuniform int u_ydim;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos.x = a_pos.x / float(u_xdim);\n v_pos.y = 1.0 - a_pos.y / float(u_ydim);\n}\n"},line:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n"},linePattern:{fragmentSource:"uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\n\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float gapwidth\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_linesofar = a_linesofar;\n v_width2 = vec2(outset, inset);\n}\n"},lineSDF:{fragmentSource:"\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\nuniform mediump float u_width;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset;\n \n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist =outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n v_width2 = vec2(outset, inset);\n}\n" +},raster:{fragmentSource:"uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n // read and cross-fade colors from the main and parent tiles\n vec4 color0 = texture2D(u_image0, v_pos0);\n vec4 color1 = texture2D(u_image1, v_pos1);\n vec4 color = mix(color0, color1, u_fade_t);\n color.a *= u_opacity;\n vec3 rgb = color.rgb;\n\n // spin\n rgb = vec3(\n dot(rgb, u_spin_weights.xyz),\n dot(rgb, u_spin_weights.zxy),\n dot(rgb, u_spin_weights.yzx));\n\n // saturation\n float average = (color.r + color.g + color.b) / 3.0;\n rgb += (average - rgb) * u_saturation_factor;\n\n // contrast\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n // brightness\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n"},symbolIcon:{fragmentSource:"uniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\nattribute vec4 a_pos_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n#pragma mapbox: define lowp float opacity\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_texture_pos.xy;\n mediump float a_labelminzoom = a_data[0];\n mediump vec2 a_zoom = a_data.pq;\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n // u_zoom is the current zoom level adjusted for the change in font size\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n if (u_rotate_with_map) {\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n } else {\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n"},symbolSDF:{fragmentSource:"#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\n#pragma mapbox: define lowp vec4 fill_color\n#pragma mapbox: define lowp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp float u_font_scale;\nuniform highp float u_gamma_scale;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 fill_color\n #pragma mapbox: initialize lowp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / u_gamma_scale;\n lowp float buff = (256.0 - 64.0) / 256.0;\n if (u_is_halo) {\n color = halo_color;\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / u_gamma_scale;\n buff = (6.0 - halo_width / u_font_scale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, v_tex).a;\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\n highp float gamma_scaled = gamma * v_gamma_scale;\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n#pragma mapbox: define lowp vec4 fill_color\n#pragma mapbox: define lowp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform bool u_pitch_with_map;\nuniform mediump float u_pitch;\nuniform mediump float u_bearing;\nuniform mediump float u_aspect_ratio;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 fill_color\n #pragma mapbox: initialize lowp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_texture_pos.xy;\n mediump float a_labelminzoom = a_data[0];\n mediump vec2 a_zoom = a_data.pq;\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n // u_zoom is the current zoom level adjusted for the change in font size\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n // pitch-alignment: map\n // rotation-alignment: map | viewport\n if (u_pitch_with_map) {\n lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\n vec2 offset = RotationMatrix * a_offset;\n vec2 extrude = u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: map\n } else if (u_rotate_with_map) {\n // foreshortening factor to apply on pitched maps\n // as a label goes from horizontal <=> vertical in angle\n // it goes from 0% foreshortening to up to around 70% foreshortening\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\n\n lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\n\n // use the lineangle to position points a,b along the line\n // project the points and calculate the label angle in projected space\n // this calculation allows labels to be rendered unskewed on pitched maps\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\n\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\n vec2 extrude = u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: viewport\n } else {\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_gamma_scale = gl_Position.w;\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n"}}; +},{"path":23}],80:[function(require,module,exports){ +"use strict";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,o){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension("OES_vertex_array_object"));var s=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==o;!e.extVertexArrayObject||s?(this.freshBind(e,t,r,i,n,o),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,o){var s,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),s=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=o;else{s=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send("loadTile",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send("removeTile",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast("removeSource",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource; +},{"../data/extent":54,"../util/evented":200,"../util/util":212,"../util/window":194}],83:[function(require,module,exports){ +"use strict";var ajax=require("../util/ajax"),rewind=require("geojson-rewind"),GeoJSONWrapper=require("./geojson_wrapper"),vtpbf=require("vt-pbf"),supercluster=require("supercluster"),geojsonvt=require("geojson-vt"),VectorTileWorkerSource=require("./vector_tile_worker_source"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name="_geojsonTileLayer";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):"object"!=typeof o?r(new Error("Input data is not a valid GeoJSON object.")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if("string"!=typeof e.data)return r(new Error("Input data is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error("Input data is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource; +},{"../util/ajax":191,"./geojson_wrapper":84,"./vector_tile_worker_source":96,"geojson-rewind":7,"geojson-vt":11,"supercluster":29,"vt-pbf":38}],84:[function(require,module,exports){ +"use strict";var Point=require("point-geometry"),VectorTileFeature=require("vector-tile").VectorTileFeature,EXTENT=require("../data/extent"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;a=i._tiles[d],a&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var t=Math.ceil(e.width/e.tileSize)+1,o=Math.ceil(e.height/e.tileSize)+1,i=t*o,r=5;this._cache.setMaxSize(Math.floor(i*r))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(u=this.used?this._source.coord?[this._source.coord]:e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}):[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),a=o.findLoadedParent(r,d,l),a&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire("dataloading",{tile:t,coord:t.coord,dataType:"source"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,"expired"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-(1/0),n=-(1/0),d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTimei.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e="",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=t:this.dispatcher.send("reloadTile",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send("loadTile",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send("abortTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send("removeTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource; +},{"../util/evented":200,"../util/mapbox":208,"../util/util":212,"./load_tilejson":86}],96:[function(require,module,exports){ +"use strict";var ajax=require("../util/ajax"),vt=require("vector-tile"),Protobuf=require("pbf"),WorkerTile=require("./worker_tile"),util=require("../util/util"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];"parsing"===l.status?l.reloadCallback=r:"done"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var a=t[i],l=a.redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource; +},{"../util/ajax":191,"../util/util":212,"./worker_tile":99,"pbf":25,"vector-tile":34}],97:[function(require,module,exports){ +"use strict";var ajax=require("../util/ajax"),ImageSource=require("./image_source"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type="video",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire("error",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener("playing",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener("pause",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},e}(ImageSource);module.exports=VideoSource; +},{"../util/ajax":191,"./image_source":85}],98:[function(require,module,exports){ +"use strict";var Actor=require("../util/actor"),StyleLayerIndex=require("../style/style_layer_index"),VectorTileWorkerSource=require("./vector_tile_worker_source"),GeoJSONWorkerSource=require("./geojson_worker_source"),globalRTLTextPlugin=require("./rtl_text_plugin"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name "'+e+'" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error("RTL text plugin already registered.");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)}; +},{"../style/style_layer_index":154,"../util/actor":190,"./geojson_worker_source":83,"./rtl_text_plugin":90,"./vector_tile_worker_source":96}],99:[function(require,module,exports){ +"use strict";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&"none"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(D++,2===D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r"===i||"<="===i||">="===i?compileComparisonOp(e[1],e[2],i,!0):"any"===i?compileLogicalOp(e.slice(1),"||"):"all"===i?compileLogicalOp(e.slice(1),"&&"):"none"===i?compileNegation(compileLogicalOp(e.slice(1),"||")):"in"===i?compileInOp(e[1],e.slice(2)):"!in"===i?compileNegation(compileInOp(e[1],e.slice(2))):"has"===i?compileHasOp(e[1]):"!has"===i?compileNegation(compileHasOp(e[1])):"true";return"("+n+")"}function compilePropertyReference(e){return"$type"===e?"f.type":"$id"===e?"f.id":"p["+JSON.stringify(e)+"]"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t="$type"===e?types.indexOf(i):JSON.stringify(i);return(r?"typeof "+o+"=== typeof "+t+"&&":"")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){"$type"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+".indexOf("+r+") !== -1":"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }("+r+", "+n+",0,"+(i.length-1)+")"}function compileHasOp(e){return"$id"===e?'"id" in f':JSON.stringify(e)+" in p"}function compileNegation(e){return"!("+e+")"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=["Unknown","Point","LineString","Polygon"]; +},{}],104:[function(require,module,exports){ +"use strict";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn),g=xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn);return[116*o-16,500*(b-o),200*(o-g),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1],n=r[2];return labToRgb([n,Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}}; +},{}],105:[function(require,module,exports){ +"use strict";function identityFunction(t){return t}function createFunction(t,e){var o,n="color"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&"object"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||("interpolated"===e.function?"exponential":"interval");n&&(t=extend({},t),t.stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if("exponential"===s)u=evaluateExponentialFunction;else if("interval"===s)u=evaluateIntervalFunction;else if("categorical"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=binarySearchForIndex(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if("number"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=binarySearchForIndex(t.stops,o);return interpolate(o,n,t.stops[a][0],t.stops[a+1][0],t.stops[a][1],t.stops[a+1][1])}function evaluateIdentityFunction(t,e,o){return"color"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function binarySearchForIndex(t,e){for(var o,n,r=t.length,a=0,i=r-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e>=o&&ee&&(i=s-1)}return Math.max(s-1,0)}function interpolate(t,e,o,n,r,a){return"function"==typeof r?function(){var i=r.apply(void 0,arguments),s=a.apply(void 0,arguments);if(void 0!==i&&void 0!==s)return interpolate(t,e,o,n,i,s)}:r.length?interpolateArray(t,e,o,n,r,a):interpolateNumber(t,e,o,n,r,a)}function interpolateNumber(t,e,o,n,r,a){var i,s=n-o,u=t-o;return i=1===e?u/s:(Math.pow(e,u)-1)/(Math.pow(e,s)-1),r*(1-i)+a*i}function interpolateArray(t,e,o,n,r,a){for(var i=[],s=0;s255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte("%"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float("%"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,"").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if("#"===r[0]){if(4===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null}if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf("("),t=r.indexOf(")");if(a!==-1&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(","),o=1;switch(n){case"rgba":if(4!==s.length)return null;o=parse_css_float(s.pop());case"rgb":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case"hsla":if(4!==s.length)return null;o=parse_css_float(s.pop());case"hsl":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){} +},{}],108:[function(require,module,exports){ +function sss(r){var e,t,s,n,u,a;switch(typeof r){case"object":if(null===r)return null;if(isArray(r)){for(s="[",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+"]"}for(n=objKeys(r).sort(),t=n.length,s="{",u=n[e=0],a=t>0&&void 0!==r[u];e15?"\\u00"+e.toString(16):"\\u000"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return""+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace; +},{}],109:[function(require,module,exports){ +function isObjectLike(r){return!!r&&"object"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function isObjectLike(t){return!!t&&"object"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",funcTag="[object Function]",genTag="[object GeneratorFunction]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments; +},{}],113:[function(require,module,exports){ +function isObjectLike(t){return!!t&&"object"==typeof t}function getNative(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}function isLength(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&("object"==r||"function"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var arrayTag="[object Array]",funcTag="[object Function]",reIsHostCtor=/^\[object .+?Constructor\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp("^"+fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nativeIsArray=getNative(Array,"isArray"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(t){return isObjectLike(t)&&isLength(t.length)&&objToString.call(t)==arrayTag};module.exports=isArray; +},{}],114:[function(require,module,exports){ +function isEqual(a,l,i,e){i="function"==typeof i?bindCallback(i,e,3):void 0;var s=i?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=require("lodash._baseisequal"),bindCallback=require("lodash._bindcallback");module.exports=isEqual; +},{"lodash._baseisequal":109,"lodash._bindcallback":110}],115:[function(require,module,exports){ +function isLength(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&"object"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objectToString=objectProto.toString;module.exports=isTypedArray; +},{}],116:[function(require,module,exports){ +function baseProperty(e){return function(t){return null==t?void 0:t[e]}}function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e="number"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n":{},">=":{},"<":{},"<=":{},"in":{},"!in":{},"all":{},"any":{},"none":{},"has":{},"!has":{}}},"geometry_type":{"type":"enum","values":{"Point":{},"LineString":{},"Polygon":{}}},"function":{"stops":{"type":"array","value":"function_stop"},"base":{"type":"number","default":1,"minimum":0},"property":{"type":"string","default":"$zoom"},"type":{"type":"enum","values":{"identity":{},"exponential":{},"interval":{},"categorical":{}},"default":"exponential"},"colorSpace":{"type":"enum","values":{"rgb":{},"lab":{},"hcl":{}},"default":"rgb"},"default":{"type":"*","required":false}},"function_stop":{"type":"array","minimum":0,"maximum":22,"value":["number","color"],"length":2},"light":{"anchor":{"type":"enum","default":"viewport","values":{"map":{},"viewport":{}},"transition":false},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","transition":true,"function":"interpolated","zoom-function":true,"property-function":false},"color":{"type":"color","default":"#ffffff","function":"interpolated","zoom-function":true,"property-function":false,"transition":true},"intensity":{"type":"number","default":0.5,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":false,"transition":true}},"paint":["paint_fill","paint_line","paint_circle","paint_fill-extrusion","paint_symbol","paint_raster","paint_background"],"paint_fill":{"fill-antialias":{"type":"boolean","function":"piecewise-constant","zoom-function":true,"default":true},"fill-opacity":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":1,"minimum":0,"maximum":1,"transition":true},"fill-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"fill-pattern"}]},"fill-outline-color":{"type":"color","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"fill-pattern"},{"fill-antialias":true}]},"fill-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"fill-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["fill-translate"]},"fill-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true}},"paint_fill-extrusion":{"fill-extrusion-opacity":{"type":"number","function":"interpolated","zoom-function":true,"property-function":false,"default":1,"minimum":0,"maximum":1,"transition":true},"fill-extrusion-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"fill-extrusion-pattern"}]},"fill-extrusion-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"fill-extrusion-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["fill-extrusion-translate"]},"fill-extrusion-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true},"fill-extrusion-height":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":0,"minimum":0,"units":"meters","transition":true},"fill-extrusion-base":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":0,"minimum":0,"units":"meters","transition":true,"requires":["fill-extrusion-height"]}},"paint_line":{"line-opacity":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":1,"minimum":0,"maximum":1,"transition":true},"line-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"line-pattern"}]},"line-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"line-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["line-translate"]},"line-width":{"type":"number","default":1,"minimum":0,"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"line-gap-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"line-offset":{"type":"number","default":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"line-blur":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"line-dasharray":{"type":"array","value":"number","function":"piecewise-constant","zoom-function":true,"minimum":0,"transition":true,"units":"line widths","requires":[{"!":"line-pattern"}]},"line-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true}},"paint_circle":{"circle-radius":{"type":"number","default":5,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"circle-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-blur":{"type":"number","default":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"circle-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["circle-translate"]},"circle-pitch-scale":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map"},"circle-stroke-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"circle-stroke-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-stroke-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true}},"paint_symbol":{"icon-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["icon-image"]},"icon-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["icon-image"]},"icon-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["icon-image"]},"icon-halo-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["icon-image"]},"icon-halo-blur":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["icon-image"]},"icon-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels","requires":["icon-image"]},"icon-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["icon-image","icon-translate"]},"text-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["text-field"]},"text-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["text-field"]},"text-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["text-field"]},"text-halo-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["text-field"]},"text-halo-blur":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["text-field"]},"text-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels","requires":["text-field"]},"text-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["text-field","text-translate"]}},"paint_raster":{"raster-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true},"raster-hue-rotate":{"type":"number","default":0,"period":360,"function":"interpolated","zoom-function":true,"transition":true,"units":"degrees"},"raster-brightness-min":{"type":"number","function":"interpolated","zoom-function":true,"default":0,"minimum":0,"maximum":1,"transition":true},"raster-brightness-max":{"type":"number","function":"interpolated","zoom-function":true,"default":1,"minimum":0,"maximum":1,"transition":true},"raster-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true},"raster-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true},"raster-fade-duration":{"type":"number","default":300,"minimum":0,"function":"interpolated","zoom-function":true,"transition":true,"units":"milliseconds"}},"paint_background":{"background-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"transition":true,"requires":[{"!":"background-pattern"}]},"background-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true},"background-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true}},"transition":{"duration":{"type":"number","default":300,"minimum":0,"units":"milliseconds"},"delay":{"type":"number","default":0,"minimum":0,"units":"milliseconds"}}} +},{}],119:[function(require,module,exports){ +"use strict";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,"constants have been deprecated as of v8")];if(!(a in l.constants))return[new ValidationError(u,a,'constant "%s" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&"object"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))}; +},{"../error/validation_error":102,"../util/extend":119,"../util/get_type":120,"./validate_array":125,"./validate_boolean":126,"./validate_color":127,"./validate_constants":128,"./validate_enum":129,"./validate_filter":130,"./validate_function":131,"./validate_layer":133,"./validate_light":135,"./validate_number":136,"./validate_object":137,"./validate_source":140,"./validate_string":141}],125:[function(require,module,exports){ +"use strict";var getType=require("../util/get_type"),validate=require("./validate"),ValidationError=require("../error/validation_error");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if("array"!==getType(r))return[new ValidationError(l,r,"array expected, %s found",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,"array length %d expected, length %d found",t.length,r.length)];if(t["min-length"]&&r.length7)return t?[new ValidationError(e,t,"constants have been deprecated as of v8")]:[];var o=getType(t);if("object"!==o)return[new ValidationError(e,t,"object expected, %s found",o)];var n=[];for(var i in t)"@"!==i[0]&&n.push(new ValidationError(e+"."+i,t[i],'constants must start with "@"'));return n}; +},{"../error/validation_error":102,"../util/get_type":120}],129:[function(require,module,exports){ +"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?u.values.indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",u.values.join(", "),n)):Object.keys(u.values).indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",Object.keys(u.values).join(", "),n)),o}; +},{"../error/validation_error":102,"../util/unbundle_jsonlint":123}],130:[function(require,module,exports){ +"use strict";var ValidationError=require("../error/validation_error"),validateEnum=require("./validate_enum"),getType=require("../util/get_type"),unbundle=require("../util/unbundle_jsonlint");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if("array"!==getType(a))return[new ValidationError(n,a,"array expected, %s found",getType(a))];if(a.length<1)return[new ValidationError(n,a,"filter array must have at least 1 element")];switch(s=s.concat(validateEnum({key:n+"[0]",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case"<":case"<=":case">":case">=":a.length>=2&&"$type"===unbundle(a[1])&&s.push(new ValidationError(n,a,'"$type" cannot be use with operator "%s"',a[0]));case"==":case"!=":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator "%s" must have 3 elements',a[0]));case"in":case"!in":a.length>=2&&(t=getType(a[1]),"string"!==t&&s.push(new ValidationError(n+"[1]",a[1],"string expected, %s found",t)));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,"stop zoom values must appear in ascending order")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+"[0]",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+"[0]",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+"[1]",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,"%s stop domain type must match previous stop domain type %s",t,n)]}else n=t;if("number"!==t&&"string"!==t&&"boolean"!==t)return[new ValidationError(e.key,e.value,"stop domain value must be a number, string, or boolean")];if("number"!==t&&"categorical"!==p){var a="number expected, %s found";return u["property-function"]&&void 0===p&&(a+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new ValidationError(e.key,e.value,a,t)]}return"categorical"!==p||"number"!==t||isFinite(r)&&Math.floor(r)===r?"number"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec["property-function"]?v.push(new ValidationError(e.key,e.value,"property functions not supported")):y&&!e.valueSpec["zoom-function"]&&v.push(new ValidationError(e.key,e.value,"zoom functions not supported"))),"categorical"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'"property" property is required')),v}; +},{"../error/validation_error":102,"../util/get_type":120,"../util/unbundle_jsonlint":123,"./validate":124,"./validate_array":125,"./validate_number":136,"./validate_object":137}],132:[function(require,module,exports){ +"use strict";var ValidationError=require("../error/validation_error"),validateString=require("./validate_string");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(e.indexOf("{fontstack}")===-1&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{fontstack}" token')),e.indexOf("{range}")===-1&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{range}" token')),a)}; +},{"../error/validation_error":102,"./validate_string":141}],133:[function(require,module,exports){ +"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint"),validateObject=require("./validate_object"),validateFilter=require("./validate_filter"),validatePaintProperty=require("./validate_paint_property"),validateLayoutProperty=require("./validate_layout_property"),extend=require("../util/extend");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either "type" or "ref" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,"%s is greater than the maximum value %s",i,m.maximum)]:[]}; +},{"../error/validation_error":102,"../util/get_type":120}],137:[function(require,module,exports){ +"use strict";var ValidationError=require("../error/validation_error"),getType=require("../util/get_type"),validateSpec=require("./validate");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if("object"!==u)return[new ValidationError(r,t,"object expected, %s found",u)];for(var d in t){var p=d.split(".")[0],s=i[p]||i["*"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a["*"])c=a["*"];else{if(!i["*"]){n.push(new ValidationError(r,t[d],'unknown property "%s"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+".":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property "%s"',v));return n}; +},{"../error/validation_error":102,"../util/get_type":120,"./validate":124}],138:[function(require,module,exports){ +"use strict";var validateProperty=require("./validate_property");module.exports=function(r){return validateProperty(r,"paint")}; +},{"./validate_property":139}],139:[function(require,module,exports){ +"use strict";var validate=require("./validate"),ValidationError=require("../error/validation_error"),getType=require("../util/get_type");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+"_"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if("paint"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property "%s"',o)];var s;if("string"===getType(n)&&p["property-function"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'"%s" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return"symbol"===e.layerType&&"text-field"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of "text-field" requires a style "glyphs" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))}; +},{"../error/validation_error":102,"../util/get_type":120,"./validate":124}],140:[function(require,module,exports){ +"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint"),validateObject=require("./validate_object"),validateEnum=require("./validate_enum");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'"type" is required')];var u=unbundle(a.type),i=[];switch(u){case"vector":case"raster":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),"url"in a)for(var s in a)["type","url","tileSize"].indexOf(s)<0&&i.push(new ValidationError(t+"."+s,a[s],'a source with a "url" property may not include a "%s" property',s));return i;case"geojson":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case"video":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case"image":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case"canvas":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+".type",value:a.type,valueSpec:{values:["vector","raster","geojson","video","image","canvas"]},style:l,styleSpec:r})}}; +},{"../error/validation_error":102,"../util/unbundle_jsonlint":123,"./validate_enum":129,"./validate_object":137}],141:[function(require,module,exports){ +"use strict";var getType=require("../util/get_type"),ValidationError=require("../error/validation_error");module.exports=function(r){var e=r.value,t=r.key,i=getType(e);return"string"!==i?[new ValidationError(t,e,"string expected, %s found",i)]:[]}; +},{"../error/validation_error":102,"../util/get_type":120}],142:[function(require,module,exports){ +"use strict";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:"",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,"*":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:"constants",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=require("./validate/validate_constants"),validate=require("./validate/validate"),latestStyleSpec=require("./reference/latest"),validateGlyphsURL=require("./validate/validate_glyphs_url");validateStyleMin.source=wrapCleanErrors(require("./validate/validate_source")),validateStyleMin.light=wrapCleanErrors(require("./validate/validate_light")),validateStyleMin.layer=wrapCleanErrors(require("./validate/validate_layer")),validateStyleMin.filter=wrapCleanErrors(require("./validate/validate_filter")),validateStyleMin.paintProperty=wrapCleanErrors(require("./validate/validate_paint_property")),validateStyleMin.layoutProperty=wrapCleanErrors(require("./validate/validate_layout_property")),module.exports=validateStyleMin; +},{"./reference/latest":117,"./validate/validate":124,"./validate/validate_constants":128,"./validate/validate_filter":130,"./validate/validate_glyphs_url":132,"./validate/validate_layer":133,"./validate/validate_layout_property":134,"./validate/validate_light":135,"./validate/validate_paint_property":138,"./validate/validate_source":140}],143:[function(require,module,exports){ +"use strict";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop; +},{}],144:[function(require,module,exports){ +"use strict";var Evented=require("../util/evented"),ajax=require("../util/ajax"),browser=require("../util/browser"),normalizeURL=require("../util/mapbox").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function i(i,e){var a=this;t.call(this),this.base=i,this.retina=browser.devicePixelRatio>1,this.setEventedParent(e);var r=this.retina?"@2x":"";ajax.getJSON(normalizeURL(i,r,".json"),function(t,i){return t?void a.fire("error",{error:t}):(a.data=i,void(a.imgData&&a.fire("data",{dataType:"style"})))}),ajax.getImage(normalizeURL(i,r,".png"),function(t,i){if(t)return void a.fire("error",{error:t});a.imgData=browser.getImageData(i);for(var e=0;e1!==this.retina){var e=new i(this.base);e.on("data",function(){t.data=e.data,t.imgData=e.imgData,t.width=e.width,t.retina=e.retina})}},i.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var i=this.data&&this.data[t];return i&&this.imgData?i:new SpritePosition},i}(Evented);module.exports=ImageSprite; +},{"../util/ajax":191,"../util/browser":192,"../util/evented":200,"../util/mapbox":208}],145:[function(require,module,exports){ +"use strict";var styleSpec=require("../style-spec/reference/latest"),util=require("../util/util"),Evented=require("../util/evented"),validateStyle=require("./validate_style"),StyleDeclaration=require("./style_declaration"),StyleTransition=require("./style_transition"),TRANSITION_SUFFIX="-transition",Light=function(t){function i(i){t.call(this),this.properties=["anchor","color","position","intensity"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];"reload"===a?r._reloadSource(s):"clear"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire("data",{dataType:"style"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return"symbol"===r._layers[e].type}):null;this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;e=util.extend({},e),e.layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error("Unimplemented: "+i.map(function(e){return e.command}).join(", ")+".");return r.forEach(function(e){"setTransition"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!t.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(t)+".");var o=["vector","raster","geojson","video","image","canvas"],s=o.indexOf(t.type)>=0;if(!s||!this._validate(validateStyle.source,"sources."+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if("object"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,"layers."+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?"clear":"reload"}this._updateLayer(o),"symbol"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(!r)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")});var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),"symbol"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]="reload"))},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(!t)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")});t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),"symbol"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,"layers."+r.id+".filter",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(!o)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")});if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i);var a=!(r&&MapboxGLFunction.isFunctionDefinition(r)&&"$zoom"!==r.property&&void 0!==r.property);a&&s||this._updateLayer(o),this.updateClasses(e,t)}},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||"all"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]="reload"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||"none"===this.layout.visibility)},i.prototype.updatePaintTransitions=function(t,i,a,e,n){for(var o=this,r=util.extend({},this._paintDeclarations[""]),s=0;s=this.endTime)return e;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((o-this.startTime-this.delay)/this.duration);return this.interp(a,e,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var o=t.zoom,e=this.zoomHistory.lastIntegerZoom,a=o>e?2:.5,n=this.declaration.calculate({zoom:o>e?o-1:o+1},i),r=this.declaration.calculate({zoom:o},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(o-e),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition; +},{"../util/interpolate":204,"../util/util":212}],156:[function(require,module,exports){ +"use strict";module.exports=require("../style-spec/validate_style.min"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(s--,s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;fr;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle; +},{}],159:[function(require,module,exports){ +"use strict";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=require("point-geometry");module.exports=clipLine; +},{"point-geometry":26}],160:[function(require,module,exports){ +"use strict";var createStructArrayType=require("../util/struct_array"),Point=require("point-geometry"),CollisionBoxArray=createStructArrayType({members:[{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Float32",name:"maxScale"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"},{type:"Int16",name:"bbox0"},{type:"Int16",name:"bbox1"},{type:"Int16",name:"bbox2"},{type:"Int16",name:"bbox3"},{type:"Float32",name:"placementScale"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,"anchorPoint",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray; +},{"../util/struct_array":210,"point-geometry":26}],161:[function(require,module,exports){ +"use strict";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(m--,m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],C=e[m+1],B=C.sub(p)._unit()._mult(g)._add(p)._round(),M=Math.max(Math.abs(c-h)-d/2,0),y=s/2/M;t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature; +},{}],162:[function(require,module,exports){ +"use strict";var Point=require("point-geometry"),EXTENT=require("../data/extent"),Grid=require("grid-index"),intersectionTests=require("../util/intersection_tests"),CollisionTile=function(t,e,i){if("object"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);S=r.tempCollisionBox,S.anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-(1/0),c=-(1/0),g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+c<=s){var M=new Anchor(k,q,y,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=A}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,h)),x}var interpolate=require("../util/interpolate"),Anchor=require("../symbol/anchor"),checkMaxAngle=require("./check_max_angle");module.exports=getAnchors; +},{"../symbol/anchor":157,"../util/interpolate":204,"./check_max_angle":158}],164:[function(require,module,exports){ +"use strict";var ShelfPack=require("@mapbox/shelf-pack"),util=require("../util/util"),SIZE_GROWTH_RATE=4,DEFAULT_SIZE=128,MAX_SIZE=2048,GlyphAtlas=function(){this.width=DEFAULT_SIZE,this.height=DEFAULT_SIZE,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+"#"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,n=1,l=a+2*n,T=E+2*n;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce("glyph bitmap overflow"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=MAX_SIZE||e>=MAX_SIZE)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=SIZE_GROWTH_RATE,this.height*=SIZE_GROWTH_RATE,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a("glyphs > 65535 not supported");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var i=256*e+"-"+(256*e+255),r=glyphUrl(t,i,this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},i.prototype.addIcons=function(t,i){for(var e=this,r=0;r1||(b?(clearTimeout(b),b=null,h("dblclick",t)):b=setTimeout(l,300))}function i(e){f("touchmove",e)}function c(e){f("touchend",e)}function d(e){f("touchcancel",e)}function l(){b=null}function s(e){var t=DOM.mousePos(g,e);t.equals(L)&&h("click",e)}function v(e){h("dblclick",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h("contextmenu",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener("mouseout",n,!1),g.addEventListener("mousedown",o,!1),g.addEventListener("mouseup",r,!1),g.addEventListener("mousemove",a,!1),g.addEventListener("touchstart",u,!1),g.addEventListener("touchend",c,!1),g.addEventListener("touchmove",i,!1),g.addEventListener("touchcancel",d,!1),g.addEventListener("click",s,!1),g.addEventListener("dblclick",v,!1),g.addEventListener("contextmenu",m,!1)}; +},{"../util/dom":199,"./handler/box_zoom":179,"./handler/dblclick_zoom":180,"./handler/drag_pan":181,"./handler/drag_rotate":182,"./handler/keyboard":183,"./handler/scroll_zoom":184,"./handler/touch_zoom_rotate":185,"point-geometry":26}],172:[function(require,module,exports){ +"use strict";var util=require("../util/util"),interpolate=require("../util/interpolate"),browser=require("../util/browser"),LngLat=require("../geo/lng_lat"),LngLatBounds=require("../geo/lng_lat_bounds"),Point=require("point-geometry"),Evented=require("../util/evented"),Camera=function(t){function i(i,e){t.call(this),this.moving=!1,this.transform=i,this._bearingSnap=e.bearingSnap}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i),this},i.prototype.panBy=function(t,i,e){return this.panTo(this.transform.center,util.extend({offset:Point.convert(t).mult(-1)},i),e),this},i.prototype.panTo=function(t,i,e){return this.easeTo(util.extend({center:t},i),e)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,i){return this.jumpTo({zoom:t},i),this},i.prototype.zoomTo=function(t,i,e){return this.easeTo(util.extend({zoom:t},i),e)},i.prototype.zoomIn=function(t,i){return this.zoomTo(this.getZoom()+1,t,i),this},i.prototype.zoomOut=function(t,i){return this.zoomTo(this.getZoom()-1,t,i),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,i){return this.jumpTo({bearing:t},i),this},i.prototype.rotateTo=function(t,i,e){return this.easeTo(util.extend({bearing:t},i),e)},i.prototype.resetNorth=function(t,i){return this.rotateTo(0,util.extend({duration:1e3},t),i),this},i.prototype.snapToNorth=function(t,i){return Math.abs(this.getBearing())i?1:0}),["bottom","left","right","top"]))return void util.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'");t=LngLatBounds.convert(t);var n=[i.padding.left-i.padding.right,i.padding.top-i.padding.bottom],r=Math.min(i.padding.right,i.padding.left),s=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var a=Point.convert(i.offset),h=this.transform,u=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),c=p.sub(u),g=(h.width-2*r-2*Math.abs(a.x))/c.x,m=(h.height-2*s-2*Math.abs(a.y))/c.y;return m<0||g<0?void util.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset."):(i.center=h.unproject(u.add(p).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,m)),i.maxZoom),i.bearing=0,i.linear?this.easeTo(i,e):this.flyTo(i,e))},i.prototype.jumpTo=function(t,i){this.stop();var e=this.transform,o=!1,n=!1,r=!1;return"zoom"in t&&e.zoom!==+t.zoom&&(o=!0,e.zoom=+t.zoom),"center"in t&&(e.center=LngLat.convert(t.center)),"bearing"in t&&e.bearing!==+t.bearing&&(n=!0,e.bearing=+t.bearing),"pitch"in t&&e.pitch!==+t.pitch&&(r=!0,e.pitch=+t.pitch),this.fire("movestart",i).fire("move",i),o&&this.fire("zoomstart",i).fire("zoom",i).fire("zoomend",i),n&&this.fire("rotate",i),r&&this.fire("pitch",i),this.fire("moveend",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),t=util.extend({offset:[0,0],duration:500,easing:util.ease},t);var o,n,r=this.transform,s=Point.convert(t.offset),a=this.getZoom(),h=this.getBearing(),u=this.getPitch(),p="zoom"in t?+t.zoom:a,c="bearing"in t?this._normalizeBearing(t.bearing,h):h,g="pitch"in t?+t.pitch:u;"center"in t?(o=LngLat.convert(t.center),n=r.centerPoint.add(s)):"around"in t?(o=LngLat.convert(t.around),n=r.locationPoint(o)):(n=r.centerPoint.add(s),o=r.pointLocation(n));var m=r.locationPoint(o);return t.animate===!1&&(t.duration=0),this.zooming=p!==a,this.rotating=h!==c,this.pitching=g!==u,t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration)),t.noMoveStart||(this.moving=!0,this.fire("movestart",i)),this.zooming&&this.fire("zoomstart",i),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(r.zoom=interpolate(a,p,t)),this.rotating&&(r.bearing=interpolate(h,c,t)),this.pitching&&(r.pitch=interpolate(u,g,t)),r.setLocationAtPoint(o,m.add(n.sub(m)._mult(t))),this.fire("move",i),this.zooming&&this.fire("zoom",i),this.rotating&&this.fire("rotate",i),this.pitching&&this.fire("pitch",i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(e._easeToEnd.bind(e,i),t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._easeToEnd=function(t){var i=this.zooming;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire("zoomend",t),this.fire("moveend",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(y*y-z*z+(t?-1:1)*E*E*_*_)/(2*(t?y:z)*E*_);return Math.log(Math.sqrt(i*i+1)-i)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,a=Point.convert(t.offset),h=this.getZoom(),u=this.getBearing(),p=this.getPitch(),c="center"in t?LngLat.convert(t.center):this.getCenter(),g="zoom"in t?+t.zoom:h,m="bearing"in t?this._normalizeBearing(t.bearing,u):u,f="pitch"in t?+t.pitch:p;Math.abs(s.center.lng)+Math.abs(c.lng)>180&&(s.center.lng>0&&c.lng<0?c.lng+=360:s.center.lng<0&&c.lng>0&&(c.lng-=360));var d=s.zoomScale(g-h),l=s.point,v="center"in t?s.project(c).sub(a.div(d)):l,b=t.curve,z=Math.max(s.width,s.height),y=z/d,_=v.sub(l).mag();if("minZoom"in t){var M=util.clamp(Math.min(t.minZoom,h,g),s.minZoom,s.maxZoom),T=z/s.zoomScale(M-h);b=Math.sqrt(T/_*2)}var E=b*b,x=e(0),L=function(t){return n(x)/n(x+b*t)},Z=function(t){return z*((n(x)*r(x+b*t)-o(x))/E)/_},P=(e(1)-x)/b;if(Math.abs(_)<1e-6){if(Math.abs(z-y)<1e-6)return this.easeTo(t,i);var j=y=0)return!1;return!0}),this._container.innerHTML=i.join(" | "),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?"add":"remove"]("compact")},module.exports=AttributionControl; +},{"../../util/dom":199,"../../util/util":212}],174:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in window.document&&(this._fullscreenchange="MSFullscreenChange")};FullscreenControl.prototype.onAdd=function(e){var n="mapboxgl-ctrl",t=this._container=DOM.create("div",n+" mapboxgl-ctrl-group"),l=this._fullscreenButton=DOM.create("button",n+"-icon "+n+"-fullscreen",this._container);return l.setAttribute("aria-label","Toggle fullscreen"),l.type="button",this._fullscreenButton.addEventListener("click",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),t},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(e){if(e.target===this._mapContainer){this._fullscreen=!this._fullscreen;var n="mapboxgl-ctrl";this._fullscreenButton.classList.toggle(n+"-shrink"),this._fullscreenButton.classList.toggle(n+"-fullscreen")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&window.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl; +},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],175:[function(require,module,exports){ +"use strict";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:"geolocation"}).then(function(o){supportsGeolocation="denied"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var Evented=require("../../util/evented"),DOM=require("../../util/dom"),window=require("../../util/window"),util=require("../../util/util"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},className="mapboxgl-ctrl",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll(["_onSuccess","_onError","_finish","_setupUI"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div",className+" "+className+"-group"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire("geolocate",t),this._finish()},o.prototype._onError=function(t){this.fire("error",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){t!==!1&&(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create("button",className+"-icon "+className+"-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.watchPosition&&this._geolocateButton.setAttribute("aria-pressed",!1),this._geolocateButton.addEventListener("click",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove("watching"),this._geolocateButton.setAttribute("aria-pressed",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add("watching"),this._geolocateButton.setAttribute("aria-pressed",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl; +},{"../../util/dom":199,"../../util/evented":200,"../../util/util":212,"../../util/window":194}],176:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),LogoControl=function(){util.bindAll(["_updateLogo"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create("div","mapboxgl-ctrl"),this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("sourcedata",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return"bottom-left"},LogoControl.prototype._updateLogo=function(o){if(o&&"metadata"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create("a","mapboxgl-ctrl-logo");t.target="_blank",t.href="https://www.mapbox.com/",t.setAttribute("aria-label","Mapbox logo"),this._container.appendChild(t),this._map.off("data",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){var e=o[t].getSource();if(e.mapbox_logo)return!0}return!1}},module.exports=LogoControl; +},{"../../util/dom":199,"../../util/util":212}],177:[function(require,module,exports){ +"use strict";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=require("../../util/dom"),window=require("../../util/window"),util=require("../../util/util"),className="mapboxgl-ctrl",NavigationControl=function(){util.bindAll(["_rotateCompassArrow"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t="rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div",className+" "+className+"-group",t.getContainer()),this._container.addEventListener("contextmenu",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+"-icon "+className+"-zoom-in","Zoom In",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+"-icon "+className+"-zoom-out","Zoom Out",t.zoomOut.bind(t)),this._compass=this._createButton(className+"-icon "+className+"-compass","Reset North",t.resetNorth.bind(t)),this._compassArrow=DOM.create("span",className+"-compass-arrow",this._compass),this._compass.addEventListener("mousedown",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("rotate",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener("mousemove",this._onCompassMove),window.document.addEventListener("mouseup",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener("mousemove",this._onCompassMove),window.document.removeEventListener("mouseup",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create("button",t,this._container);return n.type="button",n.setAttribute("aria-label",o),n.addEventListener("click",function(){e()}),n},module.exports=NavigationControl; +},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],178:[function(require,module,exports){ +"use strict";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&"imperial"===o.unit){var r=3.2808*a;if(r>5280){var l=r/5280;setScale(e,n,l,"mi")}else setScale(e,n,r,"ft")}else setScale(e,n,a,"m")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;"m"===n&&i>=1e3&&(i/=1e3,n="km"),t.style.width=e*a+"px",t.innerHTML=i+n}function getDistance(t,e){var o=6371e3,n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n),l=o*Math.acos(Math.min(r,1));return l}function getRoundNum(t){var e=Math.pow(10,(""+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=require("../../util/dom"),util=require("../../util/util"),ScaleControl=function(t){this.options=t,util.bindAll(["_onMove"],this)};ScaleControl.prototype.getDefaultPosition=function(){return"bottom-left"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("move",this._onMove),this._map=void 0},module.exports=ScaleControl; +},{"../../util/dom":199,"../../util/util":212}],179:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),LngLatBounds=require("../../geo/lng_lat_bounds"),util=require("../../util/util"),window=require("../../util/window"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll(["_onMouseDown","_onMouseMove","_onMouseUp","_onKeyDown"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onMouseDown,!1),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener("mousemove",this._onMouseMove,!1),window.document.addEventListener("keydown",this._onKeyDown,!1),window.document.addEventListener("mouseup",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),r=Math.max(e.y,t.y);DOM.setTransform(this._box,"translate("+n+"px,"+s+"px)"),this._box.style.width=i-n+"px",this._box.style.height=r-s+"px"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent("boxzoomcancel",o):this._map.fitBounds(n,{linear:!0}).fire("boxzoomend",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener("mousemove",this._onMouseMove,!1),window.document.removeEventListener("keydown",this._onKeyDown,!1),window.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler; +},{"../../geo/lng_lat_bounds":63,"../../util/dom":199,"../../util/util":212,"../../util/window":194}],180:[function(require,module,exports){ +"use strict";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on("dblclick",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off("dblclick",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler; +},{}],181:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.3,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=1400,inertiaDeceleration=2500,DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onDown","_onMove","_onUp","_onTouchEnd","_onMouseUp"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._el.addEventListener("touchstart",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._el.removeEventListener("touchstart",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener("touchmove",this._onMove),window.document.addEventListener("touchend",this._onTouchEnd)):(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onMouseUp)),window.addEventListener("blur",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("dragstart",t),this._fireEvent("movestart",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent("drag",t),this._fireEvent("move",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent("dragend",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent("moveend",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(inertiaLinearity/s),d=u.mag();d>inertiaMaxSpeed&&(d=inertiaMaxSpeed,u._unit()._mult(d));var h=d/(inertiaDeceleration*inertiaLinearity),v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onMouseUp),window.removeEventListener("blur",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var n=1,i=0;return"mousemove"===t.type?t.buttons&0===n:t.button&&t.button!==i},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),n=160;t.length>0&&e-t[0][0]>n;)t.shift()},module.exports=DragPanHandler; +},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],182:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,this._pitchWithRotate=e.pitchWithRotate!==!1,util.bindAll(["_onDown","_onMove","_onUp"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onUp),window.addEventListener("blur",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("rotatestart",t),this._fireEvent("movestart",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=(i.y-n.y)*-.5,o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,v=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,v[1])]),e.transform.bearing=o,this._pitchWithRotate&&(e.transform.pitch=s),this._fireEvent("rotate",t),this._fireEvent("move",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onUp),window.removeEventListener("blur",this._onUp),this.isActive())){this._active=!1,this._fireEvent("rotateend",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)inertiaMaxSpeed&&(p=inertiaMaxSpeed);var l=p/(inertiaDeceleration*inertiaLinearity),g=u*p*(l/2);v+=g,Math.abs(i._normalizeBearing(v,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return"undefined"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf("MAC")>=0&&(r=0),"mousemove"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),i=160;t.length>0&&e-t[0][0]>i;)t.shift()},module.exports=DragRotateHandler; +},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],183:[function(require,module,exports){ +"use strict";function easeOut(e){return e*(2-e)}var panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,n=0,a=0,i=0,r=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?a=1:(e.preventDefault(),r=-1);break;case 40:e.shiftKey?a=-1:(r=1,e.preventDefault())}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+n*bearingStep,pitch:s.getPitch()+a*pitchStep,offset:[-i*panStep,-r*panStep],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler; +},{}],184:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),browser=require("../../util/browser"),window=require("../../util/window"),ua=window.navigator.userAgent.toLowerCase(),firefox=ua.indexOf("firefox")!==-1,safari=ua.indexOf("safari")!==-1&&ua.indexOf("chrom")===-1,ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll(["_onWheel","_onTimeout"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener("wheel",this._onWheel,!1),this._el.addEventListener("mousewheel",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&"center"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("wheel",this._onWheel),this._el.removeEventListener("mousewheel",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;"wheel"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):"mousewheel"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625===0?this._type="wheel":0!==t&&Math.abs(t)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type="wheel",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:"wheel"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler; +},{"../../util/browser":192,"../../util/dom":199,"../../util/util":212,"../../util/window":194}],185:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=4,TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onStart","_onMove","_onEnd"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener("touchstart",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("touchstart",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener("touchmove",this._onMove,!1),window.document.addEventListener("touchend",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};"rotate"===this._gestureIntent&&(h.bearing=this._startBearing+r),"zoom"!==this._gestureIntent&&"rotate"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>significantScaleThreshold,d=Math.abs(r)>significantRotateThreshold;d?this._gestureIntent="rotate":u&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)return void o.snapToNorth({},{originalEvent:t});var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0===h||a===r)return void o.snapToNorth({},{originalEvent:t});var d=s*inertiaLinearity/h;Math.abs(d)>inertiaMaxSpeed&&(d=d>0?inertiaMaxSpeed:-inertiaMaxSpeed);var l=1e3*Math.abs(d/(inertiaDeceleration*inertiaLinearity)),c=a+d*l/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:l,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),o=160;t.length>2&&e-t[0][0]>o;)t.shift()},module.exports=TouchZoomRotateHandler; +},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],186:[function(require,module,exports){ +"use strict";var util=require("../util/util"),window=require("../util/window"),Hash=function(){util.bindAll(["_onHashChange","_updateHash"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace("#","").split("/");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n="#"+Math.round(100*e)/100+"/"+t.lat.toFixed(i)+"/"+t.lng.toFixed(i);(a||h)&&(n+="/"+Math.round(10*a)/10),h&&(n+="/"+Math.round(h)),window.history.replaceState("","",n)},module.exports=Hash; +},{"../util/util":212,"../util/window":194}],187:[function(require,module,exports){ +"use strict";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=require("../util/util"),browser=require("../util/browser"),window=require("../util/window"),DOM=require("../util/dom"),Style=require("../style/style"),AnimationLoop=require("../style/animation_loop"),Painter=require("../render/painter"),Transform=require("../geo/transform"),Hash=require("./hash"),bindHandlers=require("./bind_handlers"),Camera=require("./camera"),LngLat=require("../geo/lng_lat"),LngLatBounds=require("../geo/lng_lat_bounds"),Point=require("point-geometry"),AttributionControl=require("./control/attribution_control"),LogoControl=require("./control/logo_control"),isSupported=require("mapbox-gl-supported"),defaultMinZoom=0,defaultMaxZoom=22,defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(e=util.extend({},defaultOptions,e),null!=e.minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,"string"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored","_update","_render","_onData","_onDataLoading"],this),this._setupContainer(),this._setupPainter(),this.on("move",this._update.bind(this,!1)),this.on("zoom",this._update.bind(this,!0)),this.on("moveend",function(){o.animationLoop.set(300),o._rerender()}),"undefined"!=typeof window&&(window.addEventListener("online",this._onWindowOnline,!1),window.addEventListener("resize",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on("style.load",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on("data",this._onData),this.on("dataloading",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e="top-right");var o=t.onAdd(this),i=this._controlPositions[e];return e.indexOf("bottom")!==-1?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes.indexOf(t)>=0||""===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");var o=this._classes.indexOf(t);return o<0||""===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire("movestart").fire("move").fire("resize").fire("moveend")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if(t=null===t||void 0===t?defaultMinZoom:t,t>=defaultMinZoom&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.queryRenderedFeatures=function(){function t(t){return t instanceof Point||Array.isArray(t)}var e,o={};return 2===arguments.length?(e=arguments[0],o=arguments[1]):1===arguments.length&&t(arguments[0])?e=arguments[0]:1===arguments.length&&(o=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(e),o,this.transform.zoom,this.transform.angle)},e.prototype._makeQueryGeometry=function(t){var e=this;void 0===t&&(t=[Point.convert([0,0]),Point.convert([this.transform.width,this.transform.height])]);var o,i=t instanceof Point||"number"==typeof t[0];if(i){var r=Point.convert(t);o=[r]}else{var s=[Point.convert(t[0]),Point.convert(t[1])];o=[s[0],new Point(s[1].x,s[0].y),s[1],new Point(s[0].x,s[1].y),s[0]]}return o=o.map(function(t){return e.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){var o=(!e||e.diff!==!1)&&this.style&&t&&!(t instanceof Style)&&"string"!=typeof t;if(o)try{return this.style.setState(t)&&this._update(!0),this}catch(t){util.warnOnce("Unable to perform style diff: "+(t.message||t.error||t)+". Rebuilding the style from scratch.")}return this.style&&(this.style.setEventedParent(null),this.style._remove(),this.off("rotate",this.style._redoPlacement),this.off("pitch",this.style._redoPlacement)),t?(t instanceof Style?this.style=t:this.style=new Style(t,this),this.style.setEventedParent(this,{style:this.style}),this.on("rotate",this.style._redoPlacement),this.on("pitch",this.style._redoPlacement),this):(this.style=null,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire("error",{error:new Error("There is no source with ID '"+t+"'")}):e.loaded()},e.prototype.addSourceType=function(t,e,o){return this.style.addSourceType(t,e,o)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,o){this.style.spriteAtlas.addImage(t,e,o)},e.prototype.removeImage=function(t){this.style.spriteAtlas.removeImage(t)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,o){return this.style.setLayerZoomRange(t,e,o),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,o,i){return this.style.setPaintProperty(t,e,o,i),this._update(!0),this},e.prototype.getPaintProperty=function(t,e,o){return this.style.getPaintProperty(t,e,o)},e.prototype.setLayoutProperty=function(t,e,o){return this.style.setLayoutProperty(t,e,o),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add("mapboxgl-map");var e=this._canvasContainer=DOM.create("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=DOM.create("canvas","mapboxgl-canvas",e),this._canvas.style.position="absolute",this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",0),this._canvas.setAttribute("aria-label","Map");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var i=this._controlContainer=DOM.create("div","mapboxgl-control-container",t),r=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(function(t){r[t]=DOM.create("div","mapboxgl-ctrl-"+t,i)})},e.prototype._resizeCanvas=function(t,e){var o=window.devicePixelRatio||1;this._canvas.width=o*t,this._canvas.height=o*e,this._canvas.style.width=t+"px",this._canvas.style.height=e+"px"},e.prototype._setupPainter=function(){var t=util.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},isSupported.webGLContextAttributes),e=this._canvas.getContext("webgl",t)||this._canvas.getContext("experimental-webgl",t);return e?void(this.painter=new Painter(e,this.transform)):void this.fire("error",{error:new Error("Failed to initialize WebGL")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&browser.cancelFrame(this._frameId),this.fire("webglcontextlost",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire("webglcontextrestored",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},e.prototype._render=function(){return this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming}),this.fire("render"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire("load")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),browser.cancelFrame(this._frameId),this.setStyle(null),"undefined"!=typeof window&&(window.removeEventListener("resize",this._onWindowResize,!1),window.removeEventListener("online",this._onWindowOnline,!1));var t=this.painter.gl.getExtension("WEBGL_lose_context");t&&t.loseContext(),removeNode(this._canvasContainer),removeNode(this._controlContainer),this._container.classList.remove("mapboxgl-map"),this.fire("remove")},e.prototype._rerender=function(){this.style&&!this._frameId&&(this._frameId=browser.frame(this._render))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},o.showTileBoundaries.get=function(){return!!this._showTileBoundaries},o.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},o.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},o.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},o.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},o.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},o.repaint.get=function(){return!!this._repaint},o.repaint.set=function(t){this._repaint=t,this._update()},o.vertices.get=function(){return!!this._vertices},o.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update("style"===t.dataType),this.fire(t.dataType+"data",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+"dataloading",t)},Object.defineProperties(e.prototype,o),e}(Camera);module.exports=Map; +},{"../geo/lng_lat":62,"../geo/lng_lat_bounds":63,"../geo/transform":64,"../render/painter":77,"../style/animation_loop":143,"../style/style":146,"../util/browser":192,"../util/dom":199,"../util/util":212,"../util/window":194,"./bind_handlers":171,"./camera":172,"./control/attribution_control":173,"./control/logo_control":176,"./hash":186,"mapbox-gl-supported":22,"point-geometry":26}],188:[function(require,module,exports){ +"use strict";var DOM=require("../util/dom"),LngLat=require("../geo/lng_lat"),Point=require("point-geometry"),Marker=function(t,e){this._offset=Point.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this),this._onMapClick=this._onMapClick.bind(this),t||(t=DOM.create("div")),t.classList.add("mapboxgl-marker"),this._element=t,this._popup=null};Marker.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this._update(),this._map.on("click",this._onMapClick),this},Marker.prototype.remove=function(){return this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map=null),DOM.remove(this._element),this._popup&&this._popup.remove(),this},Marker.prototype.getLngLat=function(){return this._lngLat},Marker.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},Marker.prototype.getElement=function(){return this._element},Marker.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(this._popup=t,this._popup.setLngLat(this._lngLat)),this},Marker.prototype._onMapClick=function(t){var e=t.originalEvent.target,p=this._element;this._popup&&(e===p||p.contains(e))&&this.togglePopup()},Marker.prototype.getPopup=function(){return this._popup},Marker.prototype.togglePopup=function(){var t=this._popup;t&&(t.isOpen()?t.remove():t.addTo(this._map))},Marker.prototype._update=function(t){if(this._map){var e=this._map.project(this._lngLat)._add(this._offset);t&&"moveend"!==t.type||(e=e.round()),DOM.setTransform(this._element,"translate("+e.x+"px, "+e.y+"px)")}},module.exports=Marker; +},{"../geo/lng_lat":62,"../util/dom":199,"point-geometry":26}],189:[function(require,module,exports){ +"use strict";function normalizeOffset(t){if(t){if("number"==typeof t){var o=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{top:new Point(0,t),"top-left":new Point(o,o),"top-right":new Point(-o,o),bottom:new Point(0,-t),"bottom-left":new Point(o,-o),"bottom-right":new Point(-o,-o),left:new Point(t,0),right:new Point(-t,0)}}if(isPointLike(t)){var e=Point.convert(t);return{top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{top:Point.convert(t.top||[0,0]),"top-left":Point.convert(t["top-left"]||[0,0]),"top-right":Point.convert(t["top-right"]||[0,0]),bottom:Point.convert(t.bottom||[0,0]),"bottom-left":Point.convert(t["bottom-left"]||[0,0]),"bottom-right":Point.convert(t["bottom-right"]||[0,0]),left:Point.convert(t.left||[0,0]),right:Point.convert(t.right||[0,0])}}return normalizeOffset(new Point(0,0))}function isPointLike(t){return t instanceof Point||Array.isArray(t)}var util=require("../util/util"),Evented=require("../util/evented"),DOM=require("../util/dom"),LngLat=require("../geo/lng_lat"),Point=require("point-geometry"),window=require("../util/window"),defaultOptions={closeButton:!0,closeOnClick:!0},Popup=function(t){function o(o){t.call(this),this.options=util.extend(Object.create(defaultOptions),o),util.bindAll(["_update","_onClickClose"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.addTo=function(t){return this._map=t,this._map.on("move",this._update),this.options.closeOnClick&&this._map.on("click",this._onClickClose),this._update(),this},o.prototype.isOpen=function(){return!!this._map},o.prototype.remove=function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("click",this._onClickClose),delete this._map),this.fire("close"),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._update(),this},o.prototype.setText=function(t){return this.setDOMContent(window.document.createTextNode(t))},o.prototype.setHTML=function(t){var o,e=window.document.createDocumentFragment(),n=window.document.createElement("body");for(n.innerHTML=t;;){if(o=n.firstChild,!o)break;e.appendChild(o)}return this.setDOMContent(e)},o.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},o.prototype._createContent=function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=DOM.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=DOM.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClickClose))},o.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=DOM.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=DOM.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content));var t=this.options.anchor,o=normalizeOffset(this.options.offset),e=this._map.project(this._lngLat).round();if(!t){var n=this._container.offsetWidth,i=this._container.offsetHeight;t=e.y+o.bottom.ythis._map.transform.height-i?["bottom"]:[],e.xthis._map.transform.width-n/2&&t.push("right"),t=0===t.length?"bottom":t.join("-")}var r=e.add(o[t]),s={top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"},p=this._container.classList;for(var a in s)p.remove("mapboxgl-popup-anchor-"+a);p.add("mapboxgl-popup-anchor-"+t),DOM.setTransform(this._container,s[t]+" translate("+r.x+"px,"+r.y+"px)")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup; +},{"../geo/lng_lat":62,"../util/dom":199,"../util/evented":200,"../util/util":212,"../util/window":194,"point-geometry":26}],190:[function(require,module,exports){ +"use strict";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener("message",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+":"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:"",id:String(s),error:t?String(t):null,data:e},r)};if(""===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if("undefined"!=typeof r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if("undefined"!=typeof r.id&&this.parent.getWorkerSource){var p=r.type.split("."),d=this.parent.getWorkerSource(r.sourceMapId,p[0]);d[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)},module.exports=Actor; +},{}],191:[function(require,module,exports){ +"use strict";function sameOrigin(e){var t=window.document.createElement("a");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=require("./window");exports.getJSON=function(e,t){var n=new window.XMLHttpRequest;return n.open("GET",e,!0),n.setRequestHeader("Accept","application/json"),n.onerror=function(e){t(e)},n.onload=function(){if(n.status>=200&&n.status<300&&n.response){var e;try{e=JSON.parse(n.response)}catch(e){return t(e)}t(null,e)}else t(new Error(n.statusText))},n.send(),n},exports.getArrayBuffer=function(e,t){var n=new window.XMLHttpRequest;return n.open("GET",e,!0),n.responseType="arraybuffer",n.onerror=function(e){t(e)},n.onload=function(){return 0===n.response.byteLength&&200===n.status?t(new Error("http status 200 returned without content.")):void(n.status>=200&&n.status<300&&n.response?t(null,{data:n.response,cacheControl:n.getResponseHeader("Cache-Control"),expires:n.getResponseHeader("Expires")}):t(new Error(n.statusText)))},n.send(),n};var transparentPngUrl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,n){if(e)return t(e);var r=new window.Image,o=window.URL||window.webkitURL;r.onload=function(){t(null,r),o.revokeObjectURL(r.src)};var a=new window.Blob([new Uint8Array(n.data)],{type:"image/png"});r.cacheControl=n.cacheControl,r.expires=n.expires,r.src=n.data.byteLength?o.createObjectURL(a):transparentPngUrl})},exports.getVideo=function(e,t){var n=window.document.createElement("video");n.onloadstart=function(){t(null,n)};for(var r=0;r=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement("canvas"),t=n.getContext("2d");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height).data},exports.supported=require("mapbox-gl-supported"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,"devicePixelRatio",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement("img");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="; +},{"./window":194,"mapbox-gl-supported":22}],193:[function(require,module,exports){ +"use strict";var WebWorkify=require("webworkify"),window=require("../window"),workerURL=window.URL.createObjectURL(new WebWorkify(require("../../source/worker"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)}; +},{"../../source/worker":98,"../window":194,"webworkify":41}],194:[function(require,module,exports){ +"use strict";module.exports=self; +},{}],195:[function(require,module,exports){ +"use strict";function compareAreas(e,r){return r.area-e.area}var quickselect=require("quickselect"),calculateSignedArea=require("./util").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented; +},{"./util":212}],201:[function(require,module,exports){ +"use strict";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log("found best %d after %d probes",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log("num probes: "+c),console.log("best distance: "+m.d)),m.p}; +},{"./intersection_tests":205,"point-geometry":26,"tinyqueue":30}],202:[function(require,module,exports){ +"use strict";var WorkerPool=require("./worker_pool"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool}; +},{"./worker_pool":215}],203:[function(require,module,exports){ +"use strict";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs; +},{}],204:[function(require,module,exports){ +"use strict";function interpolate(t,e,n){return t*(1-n)+e*n}module.exports=interpolate,interpolate.number=interpolate,interpolate.vec2=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n)]},interpolate.color=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n),interpolate(t[2],e[2],n),interpolate(t[3],e[3],n)]},interpolate.array=function(t,e,n){return t.map(function(t,r){return interpolate(t,e[r],n)})}; +},{}],205:[function(require,module,exports){ +"use strict";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i)}return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=require("./util").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared}; +},{"./util":212}],206:[function(require,module,exports){ +"use strict";var unicodeBlockLookup={"Latin-1 Supplement":function(n){return n>=128&&n<=255},"Hangul Jamo":function(n){return n>=4352&&n<=4607},"Unified Canadian Aboriginal Syllabics":function(n){return n>=5120&&n<=5759},"Unified Canadian Aboriginal Syllabics Extended":function(n){return n>=6320&&n<=6399},"General Punctuation":function(n){return n>=8192&&n<=8303},"Letterlike Symbols":function(n){return n>=8448&&n<=8527},"Number Forms":function(n){return n>=8528&&n<=8591},"Miscellaneous Technical":function(n){return n>=8960&&n<=9215},"Control Pictures":function(n){return n>=9216&&n<=9279},"Optical Character Recognition":function(n){return n>=9280&&n<=9311},"Enclosed Alphanumerics":function(n){return n>=9312&&n<=9471},"Geometric Shapes":function(n){return n>=9632&&n<=9727},"Miscellaneous Symbols":function(n){return n>=9728&&n<=9983},"Miscellaneous Symbols and Arrows":function(n){return n>=11008&&n<=11263},"CJK Radicals Supplement":function(n){return n>=11904&&n<=12031},"Kangxi Radicals":function(n){return n>=12032&&n<=12255},"Ideographic Description Characters":function(n){return n>=12272&&n<=12287},"CJK Symbols and Punctuation":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},"Hangul Compatibility Jamo":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},"Bopomofo Extended":function(n){return n>=12704&&n<=12735},"CJK Strokes":function(n){return n>=12736&&n<=12783},"Katakana Phonetic Extensions":function(n){return n>=12784&&n<=12799},"Enclosed CJK Letters and Months":function(n){return n>=12800&&n<=13055},"CJK Compatibility":function(n){return n>=13056&&n<=13311},"CJK Unified Ideographs Extension A":function(n){return n>=13312&&n<=19903},"Yijing Hexagram Symbols":function(n){return n>=19904&&n<=19967},"CJK Unified Ideographs":function(n){return n>=19968&&n<=40959},"Yi Syllables":function(n){return n>=40960&&n<=42127},"Yi Radicals":function(n){return n>=42128&&n<=42191},"Hangul Jamo Extended-A":function(n){return n>=43360&&n<=43391},"Hangul Syllables":function(n){return n>=44032&&n<=55215},"Hangul Jamo Extended-B":function(n){return n>=55216&&n<=55295},"Private Use Area":function(n){return n>=57344&&n<=63743},"CJK Compatibility Ideographs":function(n){return n>=63744&&n<=64255},"Vertical Forms":function(n){return n>=65040&&n<=65055},"CJK Compatibility Forms":function(n){return n>=65072&&n<=65103},"Small Form Variants":function(n){return n>=65104&&n<=65135},"Halfwidth and Fullwidth Forms":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup; +},{}],207:[function(require,module,exports){ +"use strict";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){if(!this.has(t))return null;var e=this.data[t];return e},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache; +},{}],208:[function(require,module,exports){ +"use strict";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(e=e||config.ACCESS_TOKEN,!e)throw new Error("An API access token is required to use Mapbox GL. "+help);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+help);return r.params.push("access_token="+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf("mapbox:")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?"@2x":"",s=browser.supportsWebp?".webp":"$1";return o.path=o.path.replace(imageExtensionRe,""+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\w+):\/\/([^\/?]+)(\/[^?]+)?\??(.+)?/; +},{"./browser":192,"./config":196}],209:[function(require,module,exports){ +"use strict";var isChar=require("./is_char_in_unicode_block");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||(!!isChar["CJK Compatibility Ideographs"](a)||(!!isChar["CJK Compatibility"](a)||(!!isChar["CJK Radicals Supplement"](a)||(!!isChar["CJK Strokes"](a)||(!(!isChar["CJK Symbols and Punctuation"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||(!!isChar["CJK Unified Ideographs Extension A"](a)||(!!isChar["CJK Unified Ideographs"](a)||(!!isChar["Enclosed CJK Letters and Months"](a)||(!!isChar["Hangul Compatibility Jamo"](a)||(!!isChar["Hangul Jamo Extended-A"](a)||(!!isChar["Hangul Jamo Extended-B"](a)||(!!isChar["Hangul Jamo"](a)||(!!isChar["Hangul Syllables"](a)||(!!isChar.Hiragana(a)||(!!isChar["Ideographic Description Characters"](a)||(!!isChar.Kanbun(a)||(!!isChar["Kangxi Radicals"](a)||(!!isChar["Katakana Phonetic Extensions"](a)||(!(!isChar.Katakana(a)||12540===a)||(!(!isChar["Halfwidth and Fullwidth Forms"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||(!(!isChar["Small Form Variants"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||(!!isChar["Unified Canadian Aboriginal Syllabics"](a)||(!!isChar["Unified Canadian Aboriginal Syllabics Extended"](a)||(!!isChar["Vertical Forms"](a)||(!!isChar["Yijing Hexagram Symbols"](a)||(!!isChar["Yi Syllables"](a)||!!isChar["Yi Radicals"](a))))))))))))))))))))))))))))))},exports.charHasNeutralVerticalOrientation=function(a){return!(!isChar["Latin-1 Supplement"](a)||167!==a&&169!==a&&174!==a&&177!==a&&188!==a&&189!==a&&190!==a&&215!==a&&247!==a)||(!(!isChar["General Punctuation"](a)||8214!==a&&8224!==a&&8225!==a&&8240!==a&&8241!==a&&8251!==a&&8252!==a&&8258!==a&&8263!==a&&8264!==a&&8265!==a&&8273!==a)||(!!isChar["Letterlike Symbols"](a)||(!!isChar["Number Forms"](a)||(!(!isChar["Miscellaneous Technical"](a)||!(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215))||(!(!isChar["Control Pictures"](a)||9251===a)||(!!isChar["Optical Character Recognition"](a)||(!!isChar["Enclosed Alphanumerics"](a)||(!!isChar["Geometric Shapes"](a)||(!(!isChar["Miscellaneous Symbols"](a)||a>=9754&&a<=9759)||(!(!isChar["Miscellaneous Symbols and Arrows"](a)||!(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243))||(!!isChar["CJK Symbols and Punctuation"](a)||(!!isChar.Katakana(a)||(!!isChar["Private Use Area"](a)||(!!isChar["CJK Compatibility Forms"](a)||(!!isChar["Small Form Variants"](a)||(!!isChar["Halfwidth and Fullwidth Forms"](a)||(8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)))))))))))))))))},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))}; +},{"./is_char_in_unicode_block":206}],210:[function(require,module,exports){ +"use strict";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=["Uint8"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0===--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||("undefined"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),""}),t["max-age"]){var n=parseInt(t["max-age"],10);isNaN(n)?delete t["max-age"]:t["max-age"]=n}return t}; +},{"../geo/coordinate":61,"@mapbox/unitbezier":3,"point-geometry":26}],213:[function(require,module,exports){ +"use strict";var Feature=function(e,t,r,o){this.type="Feature",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)"_geometry"!==r&&"_vectorTileFeature"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature; +},{}],214:[function(require,module,exports){ +"use strict";var scriptDetection=require("./script_detection");module.exports=function(t){for(var o="",e=0;e":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"}; +},{"./script_detection":209}],215:[function(require,module,exports){ +"use strict";var WebWorker=require("./web_worker"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=require("../").workerCount;for(this.workers=[];this.workers.length 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 Q!CIRF3v literal 119908 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%0A>fGC% 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 diff --git a/public/assets/js/maps.js.gz b/public/assets/js/maps.js.gz index 23602a8d6170f859ab4a8cf91c3e03958ffca049..48c80e4b5756863f056e09fc1b0fe6aeb67fa6eb 100644 GIT binary patch literal 141891 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�mDVz6VW`8qNJg+bNINeI@;hZlrdQu;imIexL%*s%Gdt>{L?*}a^ z&hT6;ne=g%@PlMMFDFi~f*J~lJtId zL!Yy#>)_qb?LK?0#MQQY2)#J5Ks`OI(LH_Ju_a}9^krmUewkq(VzK{hR-5pKS&F}k z9m6`G&FT3O*sJAxw5d-@beiRLjktts;#x}`y>q=yL$cO9^RQG%JdsqgFy-Y(m(`ok z6fT^2zT2zYk&3czAty9=1dLPT`{*zB;2U_x87;H zJyoCmg}<(tcKSQhar=KJ2tS`PV{hHmy|tg8-Hi@6 z5e{%SczyiVfi=uNekwCcStbiVpCXY^q;)XlnKYZs=HCi$o42L(&0!9o6lr4GxF)%3 zZD-u^h@SX z!tIb5;+Kk6d+tdvG&&N`#(5@BI;8f5pWEfE!%5$srUkED5%D7Y;Z}Y*ZqrY-sb#EZ zcgyy1{ZG1OyEIX6T8G1i4HkFQP9E|%Zk^!sK{15mFz22#T$}XO1x?n^ULe%pZ@0X= zIIA)8qDI(`MYUTFuMl04xi9p@(v04V7giUl+_sIr`8Q;CWT1)mo)3#H{3A|qePp=x z{++{tR^j`_$KB^-DJ^?4{o*Hya}^Gj{WEXwVp7xGIA?BkOo34F8s9BPv%O+mST#jo zSM4bZ)!E+j!Bk;YgVqa=!@*u}&el3TX^y&7-DR8bhB0}|BvV<@_*;R&5*xS7$xv_0 zaL)d+)c5LCql+z)3}%-&&)0vpyLYUgQTel1n}67pInx}1L*kl*w`h5xp9gPx+i4jPtHm~_~>?fPt*{i=aPhOvqcdpWR($U&smj)}e0Be|yynE79{#3mR`lD1WGLFVfvVDZ99G z?X9CvMc>ToVxC>J{*_qvcJ5D1lZ>kiLN6XPZP-V=I6|_&(yO&DaeQQ6|DUuxFGyyVn-i?)g>BKZoCb-d`|98cBo7HlfF}?6L<;&SudSfv3l>jrHik=a+vy& zQDMr9@}pmq8yZ8V{ zsI&0Gd&OY|_o63Vy7tq&Drn#SD8Um+bCf4s&zJYoH#<^vg@sWy<#;XM%sYj>+=@VtpKZMv&7!7TrQnAENZjoqhyn-?Gb zeD}e!+851-%WiOcq}yx7Y?#=@!jh5NI%U>&?Uk8&9K2!A<>tutE!lNi!raR^7na6F|vFNlftLf22`jV$VeEyN~XlCbQ z_X>_FdI?L|`>rURDqG4lvsL!E{^CwE6J_fQZD}cI(+n@Ykkg#a=^@9e@s8=?yH8ma z_mp;-9c#YV#1r%7OHOuqO4;TvA+ei0kx$$66Q=&ztSkJqulQD#Pj83l7T*m9ck0c3 zSZ^v-Ih=7Sd*kY?k(T24tZ>~-hChEQU3KI}&Fkr+F~%63gnjyluik)i70g z>tL~)vUxg61+`+9b$l{x&H}#}F1%a#c(G-_3(LFbzk9oSMftOUSKHQSgzjBp$2b40{mB*a` zw!xpHTgGh0Cw4wWEA!a(yc6@Ude~msJ}IR|ZQ|U(sfpi%eHZdM2e>S+^736d!NW;P zbonHgvMr3QkIqWYJXc|?)pol_m1*;3i!H}z_jp?ie&{w+>PSeK0V&^KPpembbeFgj?asj{V%dkP}m({Ce8ZpsOqc-jQ?X9Pu=PEE(>7z7i0VJ$mczi zyuY}(9}%C#{BY$4TM>zaVhfJxA5!}_zqNMKs!J=+g&cpkJNCV6gw5s{cHSj^lO|eC z|CM#dNLoDQ&yiUYZ81kCWJfA!ESQ=&xBF$FP|r*i#@G`Y?<|`qv81IJ^7hPBSv9d$ zYL264l1J6voh7gK>im9sB(cAH`!sRGqK;?s_jW zuV?Lj>+*7;=>jID=Mr-l+sWpC5>gF0lUXn)cIWY@g%`LauWrqXKD@(!hm-Q=r<;^n z{`y~jvvAtP6Q#Ejb7QYuf0c8|XLs=BUO$d~1~;cpoQNRjcc;QbX+yZyyASFTo1dQ+8r zy~I^DJwpVO^J9n;W5KaFw-yoTPX_a${kQ)Cx zfnJ@2DOa9+EzDoJv38ztuj#S(Ckm=_XCDz?cP6b+s8_z@o8Qli47c7g&1>oC*pmJ4 z&+g7wJ0thZ@>dsLqM*7g^-`xw5(8uQU#sb=KBq!9#!bDJoE7$3@^!Rtm6PU#*j|R; z?->o4wUh%E{)%KVTPUJYeW1ef>(iD=brEZYx3He#``=TrWz%0>xmLcc;>K;IYh&Ci zL{|p?3oJUEbdvv4kVAo2>fVUvy9L~kl5zkv}yIK5CT}>66WIX$gwO~yi zd(O3DS7Wu)>5tytR=em_I=6Rot&-RR=gc|og+9wvWz>W3aPw^Oss3Ql7jt3ry@K86 zjqk1RlTKZ)m}c8;ZkP2lc-cJ$y=_IGqfNHtZ&@Xt@%a0n;*VT2rt8F=x7)*-X24yu z=h%l=N8fO|RSC}U&bh6!e$KH7i`({(n8asQI@mCx7=d&kMhK;(bp~PWSnA zbozU(uJot_da#IWO?UXz?UB$7he?0Zd>-~&o#};JL0EI~26=n39gpVjn-wxdwVq_Num&&u_CS=kIGWIB=RH{SyE6jw{I` zt_~jV2WF`1ev;bP?*D;7yyWHegI1p}{AZthnfpi2{3lHBQl`Z`G5-{{?&nsiJw{-iu3~%hb0>JAPGMHR%ukzumu2YR#YEl)vMa`kHGA-n`qUINlJ* z-FhZe`Q&%ARZY64C-3@)9=w+roW1V*2Y!>UwJSbtp52wMaiM;ON`PZ`WTg4`D+b8)XphbudmrF_xyr+)`9uSGZ&n1 z&%SAK>ykvuv^$p;1y{DO{aKTQd?}d^YSVx;B5q;$Xl1JQvp59xFO> z&urJ4Gv@>HXITq9XIgE|czZ_q`~|Zs8#Ef4b&7YLDUUf@ROl1z({tm1>D-t6g{K;W zx@P3hJ}C3@sO-V(vD`5?TVppnU;p}i?>)2QRiB&QNnM#cG52wvafHMtPOF(_^BjAW z*K|w}@hEIiJ#A=Kr0{O{yJB_)pQ&<--zxfSu)4=P`P97$j=N62J(90*D7}1}c;TKS zJC>imw`Bf*7S|26J*CQFDN%dcJw8O$FsO^`ZVJCJd8Y@1XU5g+3ozfWeVb2vwYCDsvP}$ot!6}@y}`KBwJyT+dBif)1pb0#UDrdcQH{1) zN0Wk1OKWS$#%gT)^8I#;(3(27>B1W;biI?hZs;79TB*^t_?dXPb=TERz8jf0d727} z-OMfUUUI%y_?7zP+$w>~Rx@RSb(fh}d|7E&*1T|!6RTpGPm0J8`Ret^Y*OAEGvW87mgK}wlT=nnxid(XvoJBMz7w6i(`0)9*JA6q zMXP>I^;Y2hT%=tgbC2PizNOg5&%M==7iP^@*kh~r_G%c5^@li{_xBe3-u0@FWgbOs>gapb%Uc|tpJGsCvPNZHgmKLLOV2+}oN4+u)%+)KXVb&R(epG41ZGCGyD=i^(U>cX!_icc%`^r#v6Sij!Hru;GGGw=Gn z6J{LVR;zv{TjR%)#fr@)-lA!bk`5@GVcnwGzv-FhiIU`53$EN2x}2$G!L@0}3d>0% z%Y1fgZ$GDUs;kG7ac05#FJ?^ArmWJ_O@bD?Zg5JtsCMR-havCAwFVJBTbIv#;C^k> z<{Zu2a=OzOJgU9wGm`mB04{lEmLo1*p4!y9jY%zm1D>h%2d zYcdF4-$B=ZcE`6Lp^=f3iKM@QO{A{@0mjZKqu^DXuGB zwtUSFmBz4T(f?~!yqWa2;Q05Dv@CX$Q{g+$b9srki@PuJnRQ{3!RZ}NA%FJmxc66# zvm|M=!ZD@PA9j) zIk?3%lRs#-_?Ou%`dwCW70cBZ`yP{!a8y`OAa%_w>foH>#}*sTyDycW*I3vzVRr3} z!VACTOP(!d$^G|kTF}h>x~CJ$I5u*&+>!a&?)g`RbK2#K*}q=>Ri1Z#ueA8{8TW#$ zE>yKumG~^YVNth$@6=un|H^{f*)9gBe&{(XDz9RQTl~(!;q>KBpR-SoF(mu@PP+K9 zZ`$s-Z&kZo9cQ02thmTsc;aBVM2NQVoWu=J6Us{M7Vc8n6xsf&%b}BXd78ifVh#?8 zKZYVLcPA8Pi+bEQ4>|p2?Us&J^5?EHb;+L#Wiqp$bDPV-6_r7~qQ`qjwwpvd}v+ccS^1*-Nku{-z z4tTwum63bAX3-tH`Q@{#HS`FIpJcjqul{vgyYZs1q8IPqUNPNU z**AN=(?qEkCqEyV{ci4?8`|#|v}GkuEdKiNMZ%W4Nvs@+KMZ;NI0GVP%f6FOvwwYP z+WtRFyE@W-HY)OlNp58O^>o+w%dx8_25p~YWA%=OZR(wMVI|?Vwe0e#<@>yiFYQX? zV3yo+B5T$YW$&-@!jXri;=2~!%JjT?`>NM6RZYfsFXpB0oAyQTrPafzgsdqmYxLi& zZ7mHcfBQNs_Qa?hmc}xADi08C#a!Pdeq#AUo+t zWvFh#T(9z%7sYLToF#P@6t-H;x%YBYu(C(1>0;4|T+sm?H%fPTbN0T`YChP%N#)43 zBEPDocPp>BS=H-aviSFIZo~zyD*=>$Wt9!Q?S(qtdYxP8HR-^&o>enGseV0G*2)-gh^2e^%#MX` zRy6(55SwxLh@`wb*D1-^hY=^gR~Ft>eJgtD;_Uie&1MtbcUUX0YKnDfZhunp@`j?zQp@_P zXD45q<9MCF=3dRK;?MGh>ZJk~KL@{(IPPmY~=S+P{rZhP<_mj=C8(xS^}vz*zXz0tdL&SA~- z{J(qz4+zUVVfuNsA!-NTu9e?ojc-1_@o*8dPN(|qm5d(z6N>9u9tp_lbJ)Ld{l+Mh zCiYqKhhehL;?&Q)(_1SxNA~qaNb=;ImrpTT`t$NMh7MQcrG*N)s}5-d!yxd z6)GyvS#EyX6ynWb)~qi`t5_b|2jLaho7smT{+38#{B$QzsR|hmCrGyKGmzL`Q+BX z8@qfae|`%?bmsO$URhUHm&|Qhv^{X?0*AV?TjrOa)bD*K9rK~H^;m#zMDJjigawjz|`*P!f(1X@}0<}-7 zu0Fe>`|8T8w>i(OS_4~(C-nZj=ehr89_yQvs+~d{=_fqjpNmt>s!jSWX?gE%NxyXA zF7fne!=ro4tIguiMWi&o{_%asqKoD)6L;C)R@*ADfm`nLu5h))$(wYie`hQ6UEO7x zsM=Nc#BlK$?Z+FY)$Gf7-*tGt^;UDyD68~f!``D|75C(yWK9e|ZMx`r=IO@+EP{#&0p zZ}!rdWS`Tex8~p7k>vbmYLJ0jqQOHZ0qGy>#r=)E98c5+@Ep?)zUVjYvi#>&+!y3; z@`>{XFNin2UtoT)=z~~CVA&B3W%Z1t3Atw!ZvKcq{rJm_>9uAnQ!-~JKXi^3H@a8z zQY>(~8qwMnC2~HJpwyibI z`F=O!WcWi`;+FNq&C|Ype?icu&?==Do$<;hzb4K3#?GBQ;f#1VTjvuWbB|x=-TueE zbbPdbdg=Fn+e0_nukgK+wql9h-;eorZ?~`5wWw}#W_9$GtMj+Ne)Rv}{5|#gInu{P zk3IZJY6r8CNMo<~_`)y*`Ud(v|6T(!A3ZRg3@cj;Q++Nio-<+)LB{rtbI z9Dxd@op;N=-TCg5JW+vTk^)DQg2YkzzY^!!KejxYTK>9vW!?Hl>19#TU)#9mt#B{D z`hIoK;)_M^+BF~Rd_Ob`FJsp$*G2Y zDR&l~vR_{JD^T%R-oq#S0 zxb^*Nd=AR|IH%9G(!?!l*5RIMMiPeNRat$-KZSfuS7jAW*zA-SvA#v-#|!t+>7iQ8 z6}f@zvHl|QS3`=FA0OL1vp@a;*W1?ZaZT0k*Y|u`e)8EjS*2RhR!s>H|6qy9uTx*C z%Va(9{Q3OXm$v&`%WZ@A&P_StmsPxmEyQZBsSD4tCF%b^HDS>*G9%PUguZiBoUn*muE)*nD#zW{L-yX zr^Sm^OqWhN_~Ajet?`cdJqEmcA|I%}`0?Vbn7N!yr;3mO`{IN)`{VzV_BP6|jw!uy zV(aBoJ8v)Yp6gb!L7+01jjiF#3;jz;EmpcL(LaRVeqB2)s3Y0rlKCwOIYrCPtE-nS zd~wTf@m$qtw_Og~)!Err&*1TR`uqI0JH`jn?{9zn&1j09f>_eymq9hV-HXK*v&>c( zV_cGR>yxMNJCVh4OGVyli5R}n(mK;6nZn;4{3G;2uKmw<=k`bLe>cbG*0l%MpIq-= z{Z{z)CcioHx8rv$+Fm8|=k|K*aNjfkw%Y#KZdQ|Hf6I)4=fm>9`^#PWPCpGib5uUO z#pX@FLif1{-5X23{M@kM!=AZv{tGWIVA!_r_0eF>y+U%{@;%>TJ5J0=N`L-vWnzPW zQG!6P-!Y@N7iBpr-X6`GSGQ2CjxSCl}vbrl4M<+xaWqk4>-_bL=Ab*pe%=#S0#Il!$=A5ZZ z)jwR%G2IQv6DI`9I6s9e($|1hqfQea^P} zWOUM+ir`~TL8oJmK5}~PxVCYl{p9yCyVO)`zTfDoG@AI>xIHK9L>=?@$S;l8TD^15 zZ1CfI8UN5G`TM5n|4u$Q)wx-7ZWDvg#a{xuTW9Jnw>1>)IJsrY+@fuASI(R7;NC08 zc*TSB#+oVYch8r8l{$}-y?B07E<{Xg!SrGee(^NsD+?Q?vE)OTGzT}&( zc#yGd+HR*Heh>YVlKsN`!H@JO?EUfH4m6;wK5mz2K27i$|(JLht+~* zlg|CGJFDVD*DsjBwN7pd`?|ebiVB|Y4*yc3{;*W~`iVZ?_qz_3+)%F)-lE(RaWLW0 zsg;dh{izZ6=6s&LQuoZH1?z9jvTwI?{rTA-I_6)_?f?9h-xdfx=y)jbb@uxYYU=)6 z-n}03zrstGym=||JgDy7QN=4y@3kH=@rd%Blz1Yfgz>}1(h9f#k-xn5*cPu`RbE#m z+$*f?eWc`53~$!6)QHy;#R}{iFCF=jCRUj#IH6b~*;FC@sYJZH_YJk_3YOi4*BXlC z4lWaPWivkbDW!ESSGR&>)S1I3XQW-b+nvPJ9M2heXzYEU&Ht;+;Pc6WApgGj~43EO`&o%=aE zHl)nYXmWD?ch)&;OCLu3YJK~lnD^(|+#~fotyQuPL2P1d8{Qw&UGtOSp2|y`U%HX+ z1n=qGv}JJk(y-Xu!0=34RtiV*;a*k?-S90x7wnS%ZdE6YQlfS$A%e=AsF3%{$ zn4&7>vi1MoZ}(>T%d{r%*QckamA~Fy{Qg~|*Nvqu_wIQq9K7$je(8&r z_xI%1oX{~^Rj^8LdXj_XyMt$5z2(w5bLin}ulL_scy=TxhP+r7RLQwg;D;1r+lilA zGCpmS+}#SlN+fptUd!WVa5?}z77PkBdv3#!$7J7?XM#ozW{@-vy+xV0c`b#(2Xc?yD0e(jjEgVjs% zy-I1o%tiS@OQtjjJt}K4(_43FQtfA}o=FeV`K>tbyn8MuH}S|X*)KPEH$=p*+x1bw z;mTRHw$6fTcK7PtzpH<2u=1Jxe4p+Utz+kZg-*HIDx}X>-e1Pww{Ovvd+)jzpSyRk zZu{-GZ)#n4{%yY3y;ofSTlx2@yLa>6YkSFkv-;isTmPHY?somE_7C5+PnEsvw|e&f zs;FM8pe=Lp8;*Q~JEsIEHo80yd~^6q%WIyy=fuvj-YEI};iTkeXM?4ROD1v$>^Yxy z@x-gLFTTctH(PbhDugBpxA|1P{8iRDMLzMooR-zGiSt|P{SFFvY}cD1vh>Pg>x5g= z_e?5pleUiv5Y00CFu(cC&gS@Edt;Qo_=?njdUx-q=Of=*TMLE_@*Gc@6C?^wwanjp zuKV!2y6;Qc<+~Wa`CoH4 zb9v|QP7jUwQ}XXw(T{ID{~EX0id<%I-_R>G<>Sjg$LFW`mAkjI_{i5uersdjz3cGT zgL;CCDjWN1BYc&8D<7s#F-u*N%Kk5B&J-K#mts5fU-Z{*T_g9qR&{2Ikp6tJS^pnR z*DrT{q4lCJYvt~;Jx0L`7=w1y9j-pV=c>{!Bg+hdG_5S3y(+t0JcF+;{U&_nXHVeF zw;}5#zKM8GO|#CL#^AltgY)UpG>iRAOJ~W&`=)+=`RCcZy}1Q}Gh3ANuF5+dE}!5K z^!w#6&a}gEs)2jh6dA83rEtwW?Ilt8?MX!F#{*y4XH0wTuD8mmkz>h0<yL)K`d-M3hSAM-@)B6AN?8vj+A&nfToE+j-TZa{$3cGtCD!)z{6} zp6sfe|L|q2?)jAd;7#)$-P^R|_9S zFJ1wUfKSUrx9pOSh&mbA?=NVu{!C6WOa}Vm>lW z`S$kAtZ=PK!UH-sze{ns`9k>_i(GwtzA~0b^kt26}mSosxtC_ z^Xkx!Y|B^jVIPmqnpIi(?{Rcb$Lr`n{i}W~+LRW;vvb{_m)8zI7wNlJ8XLCv=9rM8AB2bE2{$8aM4uTr=5#- zzMFOZ#4WAqMVc2+$;)fXCMJY&Rwi&KcQh&KUp=$V!G6>2nsY*bZdsnTI@@-+iR;RP z)OBfdZ^zu3axiQ1zn8POt#gptxoT(XgVn+bW`^R|#M<5q`<<!$3M44#Kn_h*8I-*6BXBdlz8vHjNsHnpJjdfEVcAPUVY7XDhq7x zy}s9XV&Oug)cZ|unl`@NyuqM-#gmT(f5`}EZaGbVxFE)kA4@%O_`9kcY~oH zllhA!DwEH>KT;X!D2TR6@`6; z9ukboXIc_$j~!a!7#7A-aAWnN;~CEc{GQuIZ&1E<=^bP4+!Z|O+RQ$GZZ6?bn=IM! z?rTUxAR9wnbLM>1lm?1;S3$e>GlmQHN`* z=z$JP=NFvCZP()x4Ze8A%6?WgJDtbR$nhzRsV4UtGxG$NdHU%ut1?<9J$U?}%+`d# zGa+N+^k1(Za`v70c&U7Lpi9H13r0L!giKilPB1-amDj(bl={*7vI?#PeGydG6eOYOB(XqxX|($b@8=F@wQOGF^dt$U|=~VB;t*cZf z99~+_d1>~oe8x4%SME{r>WzX~C$40)HUt^Q@BIHlGTd~Z zM3(jIR)(UgsB`O1y`1eVqZR2in|a0Rx>w3-G8@)#{HqIC`YM&7Y-QN0rPEi5vR&ca zxuiLM)rnxHhjr@u8xO0_o3*y1kBxEJq}1E1c>JRt>ny#~%&*t&_vU<9T&|*0RTi+)~M(sPDcqpzhOfYz+SC8_!_wi3Web!f;FHvVOCGJ0**CzUQng=#<=1Ejh(%$EJBkezHCyFEq+G-#oD^ zFYQE;d-2TD4_7X_nJd>me15e0zud8uFVbh43*WFRzR_H;_q4?Q*T1GO-GAiv5-nzZ zzSog6dEY#F|Ks5+%U4?S&uoCUEG7#-Uf|Ho~Piyn96HoH*EneUEkC|xORH+#?J zyYaVAfjjq{)z@$PZ$1%fb(O{O%frBk%_mzP7tXk;`|ElG=SuxC z@7|R2lWHsb55CXW0EB9n#o zN;o_)Ni=!<@iv2U&X0{V8JW)NFY!@Jb9!@rarFG|>7V`5ji=6?@$;XJ$5|1c2`sUB z2A-awnhg1@OV&JL^pv`@U1ELX#LVk|O*>{63ano{!EyeYJj?Hs?w=CP%RK0{Px;Kd zL*0gEr&t*x=k?r?>16Hva-;X-y3i+X{rz&s4@d9lwyDyK%l?$KUw&`T%RI*`U0)gc zKWHW|U;gR+8IBJ#M3`*O85~GXV5^vut1j`ta3MqgKEVfuPZ;_)3P$XEny)Uf!_a`) z#*NKKc*C!4O|QkP6-CT1aBELulZ$zN_(tEObG@H_^f9zezr_0IKtrpy^n9^1#!9>Y zzx%Q`}8tGH5__+I@*xK2) z4f$=;E-B_Ly;G+H6M4^gw!rqZrUiE z%%%>}>2wHKKS@BOm=!)9*#-3@0d)*CY) z??}6IHh#%-KjrFaoZ(EO4QC%J$xP+t;&PoadFoW(431u(^n(9l=g$^K|NS7gCB}q1 z_T{cp)4ZiSm)$!2NbuP8m%pmjZymdH|K+dUWt%@nAD%dKcdL&;@CW{<-#3?~@jQF* zt7AsHa)Y02{C}yc>(@8dOF!6bd@Lf7|F!hrxp$lWHt#*paO1s?y|jtPqgtE$FXc*e z1Rt)x{r29!GCke3d6&1BuhH8ly?ye*RgT9hzRRjt-E6g7;TwH(s}Fa;Cf-RK_pawP z`(_!O?08p~#XEQIoPBKy=Eoy<-nhn*wfBWV-mI8sXRl>wH}FIsEBpFTzSYWG8HDlKXffB@Zqq6hmri0%_+9t$YUj9zGJ?|Wjr%PH*2z;H{u_oX_0k=$e;)38$gsvf0}20Rw9>f&sXn+3^6mwiO-gL zoC%q={YTPQKLs1{DOZ;674DY)!J7a3#C_w(J5xVf>Y98}KKhC?Mf;4^%}<;Y)pg<( zcQM+XwQ^qftKpW|ierr8Hoa?aM|s7>GP|!S_|c%8S9(41B|}?kV_#Uf;!IKbT-%u! zt6wbY*kEAuCBSHN(l?Qye@sH`VISCk7jCFFn{V&7=B)rAnsgRnmVd$DuAiuOezL!0FK_$J8B6cT|4N?bRiAa~dcn>M(LK_s z8#`9@8*|=Xa5!r9v}KGEKY9$awz34f>a%9tz166{;_mnQ%d6L~$X0E5^Q)SlMcpPm zy`ip)jrCRjj=nei>;9f5c)G!B&Es6 zv*FLz7P&e17k~NiFg_$aRY7luX783C9^Oq`P8`>)iN3R9jkNLWV{M1ltv)wJc%uFNUl?5=!jTEStT0G@`J4!x_>s(TgZsb~0PNlDe56O0eA^?CeMqc@4&Ds9^r z*#j(1XZmeRJXsmL^J2g3R%WOX@|j-vZEw@lQ#U6p$_ZY$@y06oOc$d_wT~JTm28); zz4&I?o&D0bI|JNvrWDt(T(nibnP|f@BTR0F$GtNvPtIc59O*l4*QMGcTk4a~q)$Bl zB`{LsuDFBst`=>{PpTjP3Y2(HT*7aBM?bCpzWe$`ks{Bv(qASVx_eY&LayYZTW5=x z3dOhGoxDN$$P9xGA^)0Peli|2Ym?dE`L2%ZSh9UdGP~2&l`p0ru6Zq&JoEgi+VhvX zZ)}qK$0mA!A?(X7sh76GPJx-PMW$cuNjTZ}?D>`XEZHiJ(-OEtXqzPc3uGC`&K zhM3Wh>R-m^^jBWhQmQP~ns$+W!m%kI9{WuTZ<>7UfA)oppnXcI6HcXHkpAp;Ise*| z^3;8gi~pVxj;RjoW>e*_)>}N^CgSF&8J2(83jRsCom*9Mu5)71!rfupu((Cy6tGE@bi7T9(zI9Q3aXBdKz-_z5dhG0?f8uWty6N#PJdLB+q9n zrEe8@YLxgMDy%&8yeCt1(Vl)otq%v+=1APV_hHE6m1@~qvM;^O=BSz}V zYx$!LA}98h91_0GvG$()MycYWw)`6lf^F@xB$KQDFjXaC)U$d$`@~K5; z@}gh)oPWicOx1b!WP0wO>()F|`LW?@!+=!9hS<%8R|RL(9kyk8hDnCMQ89b3 z{)JVckGs6m3xDKp-R;o8$Pi;1U^8uZQQ+mN0Y|4@tK@!Tv-$W2u7;+dZ0l2EtBQ97 ztn{~w-={S-XzszIXYOriJ*Q_OZu`?GYtGUqb1j@5O|#B9$X&esM0V<8(-%)>AG>$) zX0KY`!Svb_?Wuu#_5Astf4}-**F8>CPd=GW^`G-*2`{vrd{nx+N2tb3d#8tnjr0?_ ztJ5^^e{ndUTEaNx{1wxNPKnN$+Y~}Pg=SUk@dz#4`s|zDkL^jxt8|`kzLNWA=S7#` zNbCAgHX}#Z$TNE;=D+^TB$%_J>!mU+FK`dm^8#Wu0nZ zEI)Cf*M^eP6I?#qGSCwvQn5D+y3Q~Lart$i(zgxbp zKdk+A@#QMU_iIfU&U5nkFPe4Z>38Ak2FJx_g1j-VjdtwZIa+5e&Q98N!7Zb~v~Y95 z>7~(^reuGgl?9abq#J*+G$D@|-@*ax`&c>e(5)29vN>D`m(3{o21?BydJ6N;wDR2J}IVc({V61(D&w99Jct? ztxN^UsEtm%Uk?AVn)UL6(L%Oaoa-u_dKDvMlMKGf$*VNVCJCJE*Jav$sBzhp(;Cb7 z|CuJgSbL_+g8F?i{_EybfahG}O#^puX zY%O0m8tu2WoAy&gXlAuVZ)MBn8NwF5qC32*yma;U?1)%@*r2a+O3~%%#M@Svi$w%vhz*H?M7}I5+-*G?ktPQ z*4ure-1Wt?4@w2a=bKN2wtSeiY`dq3M*g3d{uV3$25f4|NFXd?;=54uAAu|EkZHW~o~)-P4XbVmIN@?q^zO zKOb83kpJoYJLXcgh4I0WEZVMXyWZCENgw9O+@QWwojr|V$zq{DYgTYvJhn{AzwcH_ zzDhbrb?6Ppw7~MsUN?6IT5)J?jWOG?Y|_4K&kQa}J>2D>^qD`?_WZ6l{i>6X{rg&^ zRlDcu`pqBAIu;wu&on9&n^||Ywd^Hp;!cBov1kA9`TOti>&*{eZ*_lue(pJOP~cbqXJ6>HYfYCbbaU7I2sdF0*bpSpmUj1)$EsH`ERXB@F6hqv zKJ${w>o~6~)jRV0Y|re`eOWujghg|Tb`{66O=_v@p5B?Nal`-aoAn01$KQ!ZEI4*< zfp*niZNVk?bR;aBV=vy`E3_l%sPT)M^bP7&)e~eFZMUnD>$>-F>W`+bnF{~f7Kq-;4A|IqVp^f!iRp>U8>b|9N=`X;FM~rU z$mlqGN``5Plw>KdBb(-O#wQ=0lf6EcZr(p<-IRFq|3@o>(sq7n5ANQzHrmTDVdK(u zzYbd7G=Wki#g>c1*M1QVGPd}%bb^J{HpIJsNQl}|tT_1xMsp3DsY zr28UE9ltGDt#7Z`V488SioY(VKc(%a5NoAQsNl;6pLOeHKl8hoCY`c95_ji+*>m+g z9z&zb28Dk|zJ9Iv_Cxp}i-z>CdlN3LtaxU(_4TfGg{RkFNDfnAGTxBsu<-0wb*@CN z6PxE~i%-vR3BCXJ=sZp9X~mIJok4*B*a+VOsp$%Z}yTrw98r@@0N4Ivg7N-r`mJI`%8hyD#q5Z?jii zvDEi^*Jc5u+Z7+#*DT}D;XUf<`B1+?OYg(xrELFJR<4lPJVj|HmuScNhxrfw_GdM% zVfnX@_s|&$9pQBT;0<=Mp$ih6S?_)NVW_-(NBf7nHH!pi?|hc>y7+ylv3g17^j#wV zoM)R%s68s9J(bB{Hh4D2FA3u+##ZqU2Ap}O2b+Tru(+6Cko$LV?e=`PV(~=H&aMX~ z&E36k+&EJX?EiAs(d$Fi?78i&b~S9Orw=Zee&u!a17VBrhYVSp*xpE*nWU_~;QMBB z_LX^S=E+Qa{rbhf+wP01WRkXP-<*AX(eCEO7dJgvuPgTHv)b=7Y#L|TG)~NYbe6Fz zv0++6=}g{$3A_P5%p$krDowPGov~gveX8w`pGJ-IIsf(aiGL`5==R~Ws$RKy-jR<7 z3Ns%0wyD({CJA)4dK@`>^>XceHv{ntF-x-7uT1RY)Y<>z&Gz+@cdn@2ogTMh-LC$$ zqYAQO-~4VI=P94C^sc$EM>gY>29Z+EwXgc35@ObGemL)z=-OZNI;O;D-E5b;+t_0h zuha8B6^-+pCv>C+>=3{8f4%$!w=e{mdrA#rzc z{sZ|E*L{V@l{VzPvD^8|OT>2hG8G0VL*}yZL-%$Zb7KAB;#%0U~J)d$dn* z&5W38wX-n4!6W^pnSn|;!}5YB_aBPoO%_|sPppJ zJK8eWAC8aqIdO3Fjyj9I%ps@v_J?aGpPk&?xnc(Al7NNlJTH3k?9EyK`O$$75A`+D z*L3l&T+>lu1=;ok6E&22PCJ@yBY3)*S8p-+C`oR>iVzUE_W8ir=ZlOGQ3~ z1ZI^){$6}%VP$y76sz>h>#ar<}+aOw^w?N%5n@dQE@ZCn0qvt$LMD zzr`;3cak^zYueVh$4YV9HQC+HZA&w>zx5v!y;L80cEVFvE#@1O*xyG>gz%in z(|KB*pD&0}_0=_#Jv^yB>jQV3zh0nK7H7G_$n+GYy5-tqUF9LUC()yCTCBW^0z76nT1z-$;JNT?wT74Yc6)rXA`e~`Q6P` zrTqR6e%rHevi*%WUpdhgvGDHqPaJ$VA0OSR_E1!WTWaA_yCa<6mMmY}o~15*@ac@Y zs~b&UeJ-5+G_xt%#p?lwe#9-_75iGN*&jRc1y%VnBz4c6%_kPIW7npcYkb7daO*6d zw8N?O=-iu0o)aAZWv8v*V;1+SWV(`GjMmqR^QV~SzufRkbF=8-!-i#-53yHDe)yj7 zYqz=Sxx4+l|37P%d2ckqQcF$wB3tZ|qUZ%}R>AWQ?OPt-_4QNt<*q&JUL2Y+OFV1( zvDT;Q(kkjUUgzIdEhO`nF~JHeY88&mHku4 z>X+J!?z~?Z|7CsQV&NGj{_K9oOoI5#vV+@DnIs3LF zEGZ`HwUJWur^SDX{+t`A#&K!F(K{S6hopQHcw<-sFMZs^uCzCidrHOAr5jp}Hf-I& z#^4+?RcA}EQ0-ysQ+oQdTpxyRVG#dpu6cmzy6L{I1+16O`bRBW75(tdK7ptE4tPjx zx<2QgonF#?xx34^uuV{!d;Z&@WbZo9^s{2mlPYhpPm!%x_{#GCWX(j=&nxu*2ROaC zyV6s?)asPA%Ur??#Gs_WxWhCCDR$Y&!m;DKDq1l7vr#| zuD#hjy)_{bGX$iiPj=b*dd+#o758e@SyrQdUpB!5>4(g(m9GoD7$JK3TjYayNyfu# zrX5&ZlWAz=?Ynlno#azFdF>q5qwG#IXDGTnxQNm zbhj^7LioVVqw37x_WiBeS9oAbam~|4{f=JDbY(3onhGb=&9fa8iAFMsW7|jc>SqdRCjU^2Y>kbzS#ff^|{VvKxwX zPTM-QHSJit{%l^rJuT%kEZa}Aapce8Y$|1C(R{yHP>n;fePiXl^9<9r3b1!YFfZD2 z{oB$>-nV#}KVI8yF)wQSCkrXtCY|7#n@3)837-&)nf1Gi`?Iy$3PU50g&O5b(@o`c z8S@es1ie&vl66|Y{|#rG!D-$3dOP$Pmh4Ii(yLr3ZhN3^m0nl!5m)d2l@aYu?JF(M zKbiUBnrugw@S^xHV*CN!4$~IO=hX?Nb}v|U=+#f*9^bU5kUY@Gc#Vf4^|OPgPEnv-m}<|ITGJJq)?fO2IjS&IDqv>gt80?aIJU9P*b&(k zb}Q_);Ct<|pjrBdLpM&mcGsqAmHsNr%=jk^$0j)QU+wlkv*oww>J_hSYGt1uQ4hN` z@51xO2Sz()%_>dMpZ!B|VbAR)Rp9~=lCr#=odT2Rsg(PF;8HQFICQpSv*K#e(^GuU z{aDfRbl;{=kGcCcFW#cK>fFhzGeYGXZ>{(rcWQ&}%n!v@U$WXRi`MYG|Kd`{^Zv~` z77>-EoqS2oi-l%79LUlzDUecI%%B=L(MR|ZlSy!C!ORKAxo_Uqn8s6f#Z=;Wf-P@v zhm2C^w2vqJw;b84%_X&7^)2(9O*tYwvPaL#T~?|&%qgdKtwJFFW#FIMEi!2=4q|Vb zrc`%M>?r$e_(me(ds1tG+WM~cLp^g9R!%$Krc|)F<}>TNfAhrL1^(JkTi3!WJ#~?^ zWVL7e{nO9SPk;O7AHx!cyAJ%a5$nQcD(@FOpkcrMtz5@qoxDsQw@n#*Np8D!iVsAu z<&;XlE_`eL0zs3=mG3y#-}!TDziCFw;kyF7QY=3vnl3L?l?r3le{xgI%I4OFE&l5? zOb%|JsF#*uJ71A=VZfK3RWBP)r7CZ~vsQ;QFk;<)s{R116h(Jhgro zGk3vEm#n77cej|$882&_-@jUZ`TFzu`gfY|9$u_x@k6}m{vO-Cdu*!f|NV0} zQ2P=m*s!Z z7q|Ozgl0|keL=B1{mlI9|JQvvXs+XJ+mn90S>(NnzmR?TpBRnlzjbbkOTCD``?bL_^pn>KzMqDD z)3_Jgl}686v}fYqo;?Tbv-(yT9k7g5KeX={t69`5+uke&QN7fYoWfs1JrwGnB`@A7 zvdb>fbL!z%r%9ont}Em0S883G{8T7u zbEO+(H-YTO%%6KP_eKxj>RGopakZY5nv*#D?72N@xzRtgH#)wqem(2H^o;rcE3FoU-(}v* zyGtQTC%tQ@huZZL=IEbGvl;xERZ}cH_k}ecx~bin`}0xVr;GjPJ8E7YjWJa`-4c28 zig4;0t(7*`E%Enz>pZ0v$u8Kn_(Rgwnu&HHdp|zf^=|Ux(B6sDmA0?xtkry2v}$#N zPC n}<_&Jo))KD5&;h+|HWyOpfP|1jx)dQknGDoONfzqpm{P=HAaw=FPmU3*#BPHp@@Zn7ixF zjDKA-;kJe$-4?`oZS3h!(bT>hR26)Zzv=~#J|nYxwD-f{`8PD| zy;A)CZb|#NPC(sa(hmF6?*xm)UluP-dM|dp^T5=zD!B^hws46~IVxc$62BxwYoG9> z51$JkWvmI^&hC2p=P5Cl#&e2oOIE&mwvpdh&*;{YVzr)S|5hH*jh^wR+i-c9tD@u7 zl~xNgc7D~;TYj)1K5X`e`5kvsqf3KgkDvIEkka1z?RJ;%=Es88w*?B{cz%oOny}il za|v6-q?0d{vfs@RUwh=zwx_n!I;9U@{L<3DOmydkofT$p`Q?_pn*C(AYP@TzIm@KW zufMrCp0lj3UZin#&R@B%Ywvf|ux}PQ9DSxHDsfXn_B@H3@d*OYjXI9=7i?k3pK;Xp zbas+QZe!!xwG;pN9t(OU>%1%Ow2HvmEA_3l6B)g#?oW{FmYF&I)ReielI&7vJuQ)E zVU{v(nbiU8}_{+0w z&n1VXgQ~U)nM8KIYRa3`7x?AJuce=r?4O=9FX=Op@d~t&+4bU1xO9kYL+!bg6G?kM z-8k_u^v05D_Z=R!IxPu$^eWiH&g;x4bJxaYr}|!eJkV-l-v6unu|uP7(N6Q?=7W#C zY<6t^wzuQKeRi(n{~OMI+@otry}M?@YR|jP;g^*HP2 zuIXRBj%asF+T6jzdjGKXH*^7(PK`(z&VeGrzo ztbgaPpZf!A=Kr174&61%SkJfZ`p$E`;1j(ob3WA7ywbJPx;;GV$}z>0{y{=N4mCVJKi~gk(~c+K+g?;Zu`pMR^j9Q;%B;PaE{?YH;ahN=GE zUeL2=-m>ULFUy!`sf!5ujx=+0%?>&9CO5l}%sk}$t$vG z*yVe5$lR^3y4P1NEq$wM_gbcFPt*r#`x*C^%obm9rPiT);mnjdVhnflzcBu;Qf)u| zum5tH)1@+{Dq^^SHf|hKyf0 zqje_B{Jr6-Zn*SuPqAz|PyE6wg>I>`?t%v8)+-zvznP@HUFq4e{GCPcyam(e-_Y>C z{r$uJ<`)P4@A|O6Pxsx*W33xMF~t>r4w_iobt5{qig}B|;pGc{2wb@^H_4*@^_4vS z#+%||e`4Dh+t%OgS)uqxHtopS+>cvZcSU5}EAhXrVYud{70>d3PbHtTPPgv3W%sf) zP5#^b3k`Wkb2n?}UB97ZB=Lj4HSDC+#uZ!KQnK!a1pi!C@wKaTyYaQVZrgUSOxtB+ z7pzmd)2)2B{2X4r_3K*x+fP+uJxV=)S}&`DMp97CyDU zx=Z~2(rXL7O+MhSXK=`*hxbO~jD->`Ro zuH?owEqs=LK0G^n^ybprcg3GE{Q2_^lxHJ61!Fkt&uHRfM(a~4YBRqMz_lBjfv$=ftwpy)Tsjn9DnsHWx zcGh&e`D$YCT;9w)%YP&6Q`xcLuB@!3%NETtlArSB@|7$8mwmrp{uQ3#x@%|MtX)ey zPutIGW;0yna6aLcV~JIM45z-oL?!nRzR&L~8P;Z>JpM?rcFuC|jkA_tew@7QT(te_ z9Ahz#*PFdVEH0OA(}^&C`26(2tkf;@9d>;D_2}STgJpRhF}8i00<+o=l-&JQQ1E`S|hboA6&w%-<6cnE&cs+mTR@XO30qVrL^<`nloXjy2zt7O&JVm=d7YbfNLRpuml{ zC2zRD#~saB8kbYLa)!)S`8&oZ75LX0pH%p+@0lsGf9LbtlCvEx^RsSRr(10Lnf~9Y zFx~BE{%!jktIuZMUoh8lZ%oEi^BK~=f1GI65bjWnpFUg7ZkO&#W!3urg{!xp->A=U z^R@76u_J%Azb}3pvHrnz-9JJFH#1~A(}SJ_6mz+3IPq`IeI@H#+iv~VeZA@GJ@!nk zfA7)^bMG|gt`9CWu?DO;U*T25po3U4DZFKG) z&nd~v=S4{Ka(%v`_SJC5TN5FHs~gWxjeMQ`x@+B|jF_Yc^X1lP&%Wx*C$p+7I4SV$ z?Cqt_Ue;5mM9rRf>Z$qrkZ4_{V3bU zD&Ru+%9u{?+Qb8yF)7n$^ta~let$Y$e&YLI8(+O^=y5D@zmah4h-|pQW1%44G?R8^ zL60={jyEqBKg_j}I(^pd@M@{v2TLye@3XX%sBd^X!=rTW&my+Utzq6;Ki(=5aiNKxqDVzDhGHNpH$XuaCjgUaYjxl=W6ZhLsPZ6EI!=wuRZyE>H-#H8SMq@4RfAP zZp*zsRYluC)L**Guc?5?Ole0*om`c2O^fypzO;lFYgB|5wsSMcyG>3^5c|O<-tm6( z?&B|cj{kd{W6A4P>(!`U#^BcXuRw9(0;ebPk7o9qzg5ZgbZ)cmq|YH;KUDdGJSxR| z|JsCmAJ+W*_)TJ=vy9&VTSPcms0Mo*V+5e&0SDZE-~csp*g;RPmfEfE$Wr6W=^>O|HVOPsePFrHaytQ zFE{<)zk|s!_w6crGA+9&s?dA{l|4BdS|dPSY)NtPp8MGk&R2RvC8PiWfp_Sc{2A2-u3?s1K-Q*mls zDc}5ptNh?9hMH;bTExY<8U!o%r^c>ZcsTlMt=v=7@B^QBm*v29zz23YT zpBMa75_mIrLGw?oD6Qi%_ZYu7CLR)$`(o>`D8{|_O6%_if5}Jo{rv@}f5_!*|1OjN zYu;kd-_6x8-NaT)A2v5j)iri5sc)+;4iDbBHsXTlJCDAjUUy!|IWH@6<9|Kx*u7GN zQzhz7+u2S;-P&g4Db2m&&5ZuOSq}6iePt)9YI++ipxGi7K zsqQ-N*2s81^^))I8AsknzwELsnfh0?Xgd6UkavFTaV zjrpH{ev~e-Stl$j;oD*7oIloIcwhPZP09Up<3@nj?{CZ9rA@eKQ-*O|Z4&`_^xzmijB&bG#OxIx{2ui$uEewCVOTKdpPkbpQUg z^17U{ZW7b>)wZi|&iE<3ch0XTNmGP&%nh|=<%wIjNhmf$h|%==g>xpY4vhB|&Pu)6 zwewNeVLrF*$3*A+4Op#ZY|U4a@#x#PBO2#jk2>9*zw?%x@8pu+bkkkOI<+{?cVE~i z(QPTaF=0ww*Ss>$yr9FHX^&-jr_PRCp)gG+ZA#GY30>h~XH^$0SXA5+S<=W{xMaI| zUqLDBIkvF5ZC=h*QO!chmG09@PyU;sf4Z-DZ{n+Sj=jRdzL9gcZ47#<8fw6@eeX@3 zUET%7vIovwJkz-*wb;f4+77Q5w%od%jD4jA2>*LI@3DWo@VuQeRqZ`XzUU0>^NNC|%w|76lf z6)o?5eauf*)v9e=)1R~I>&01Tm&FN`%?=AyUGP47>z=PaDzcqhs|q%+oY8T+>S%`} z_q$aOjvOpM>9W^`{iN`&sogLA6w>nK?(WO`YPa&tif|j@?MVx7@f}@ZRLkaK6Y?zN z_3Cb~8!`JfFtB_)zEW=6rdD$u;S)Pg9=*n7HT_5`YuLt+J)79_-n{yBlY6;wg7%)~ z1^2FreYST?@RQ^f{Fa-cW+@sJvMu1`492(zey!W5Ec9~F4SZv4wKu@hKj!)b2JsVR zRgdOa-V$ysT2_(9TB2!nLf`fAd-j<}zAsq1`^(?Q$t&*cf0%g5)Bf1cqQn==!W3+* z-d@WIH2$G=TYl=^3;MS;AL(dMl)J#6q`7S7nI7YrnfKmBDc1gUh71zutV!==VpQdR(LS{yHGdTB^ipr6!=9 z*s>^ur6YL3xAO1p|6YE4-!o82{J18m zTf04p!|98R#`QVArO&H2y?V0tA8*IcjJPSLzs|q=U-l<(;?HQmXLElSez-lg;`KGT z(^2J2@s1YT-%T(rc<(YdYcH#Q$M#&8wSp(k7ld5+vH44G>Z$|Pf2S(Fd_HH%_jlSK zoZGqXzuvlcd4bH2 zdt~#(!`?yuCPPgMqn(nz3(tcL`Q?=-@)lOrna$8I8vAu%6ldwx={Ac&WZ>9?Z^8%6wR*| z2kVA^bi2}&9(v}$Cf)l#Vs74=`-5+VNZ>>pj_C4uzUcDD_mXeyQr-8an!oM1Md-Ku zH^=0^m@o>YKfH0``IM;=(+d;IuRnTFbIh>abnBw5go#0|+h#BsJk(%Z9l|#6$r%yd zf|@;&n~rSWxg*RcE6peI>HPUAm)E{XOxAVf&F|Cty6r25jb&3jIFXy}d)!BUX z?Z(#!k2P+ceWZ)$@%9}H_doe|=tSM;zpmLkJ5JtEU|Oj5sP|C`-(kMY@;wvO%?u6) zoAe*u`Rbb2tn>31NOE%~X)Kx%D5}9Xf00Dkk|}34N1RUma%+E_-^(MyCCydR>XVNc z?SHWGus=PWli zJZisj#)0{-XYM#=zj4P=m;Z808eZwIH16b<>ugW66FXf~^m#!?tFGS9#CT?@F7buc zzqhb%)a$>?ZE0uvR#>{Gq%#f`sADXPv zQ2JYxsJ*3P?u`Y4Pqda8udAt$y$%CCSfc`6=ZI^VxqfdVe?)%YMKAqrsu0Y8&ov=lN2hd{Vx9#kDW3 zdpUZAufM)6mM+`RR#z2yY_HwUf2-R5`l*`b-Qd^f-FGlL|M~luhi<#Rlwf_M7hSAh zb7PUK%FSKh79Ne>$S->IpTy6Dllw1id$>`%{dSx? zx6BTn%RlDzVvlfZ>eZi)Q?7YGH}Othai8`5!#Tw>efQ_H>U#F+m;7!q7GA15(OC4C z+BwNhtKH9@-E%~D=aeh`o2xhM-@iM4&%WayY8u~nN-Ll1?pv`(^=Zj>e%HHm6;9MB zUc0l8aY6IC75l?kZ|+|7tx4#KT*oTzkO>D%roMMf{5NsMzF^i!{Ug5~WJ}*;FRGfm zuHsXdutP!Zt636i!+vlezcq*KmUIGoc}-mz4ZQ=>oIqA#Ikfg20-Z~QxS zyM^b#_5Cep)CA|VvkQf|UF@9QxYK@rTKTst^Cy=FepIwSb-b@6`Jn0PY0FmIUA;N) z$i+WQ$&MHOjwswLkW#KVeO*3BwC-;3x`2qUP0OyuFf)hWVgJBxxiY-=Z1lSpuN2ee zPNz4?YFFD{{ra^e{O5(#)||k8=FcC*E8BwR8QM(X-}Ls=pQ|6fF25ZACTL&LGwrR$ zAFr1A_stHuop{9S&w=&X%2|&7m!z5V_V}!SV=t^LeSa0xG6|ih&VR%IsMR)o+@E(k zB%(87+s{?)AJ~tnFt`-StTQk<+!DF$L~KKgjLWQR!U4Av+>akte7BhQuGPU3_ru%; z#`f}lyiLF7{=2}l>^a+9w!P*a8xKl7dh_t50Op-EX<(8RKd8^@r{} z47W?n@tE`}Vq2z0?nB9ClMXo_NoDdWc=-8w+SN3jBysI`q1W!LUcW0musr|qsn_>I z_)>lLNW`s*2-_R7QKm&h@Ra|iCWjRsGAu6y^cVTcC4O5im$>YM8h>8VqOUG$YOI`J ze;q6hX!@ppCqU`=-=LpG#VRJBIA?wisL8&0x?b#l%(oxq_huTu%(R$Mp!o0RZYJy7 zcQ$NZnPlJa`eBb8-^^Y13FZe1?{9gvBcJPd?cdqo){0NPvsFFxyt`C(UZ&sT`8Dyg z*ZH3g{wB44_Rd|?t2(!zJ)UZ=abdOA#m7pO>yJ<67h8U;`RK>c-6pqcZ7wC&Xn*5A zQ1O^~zWc@N?iU{$Jeg3)lJYnwQz7-W)CyH~X@7KO&)3tm5@3#xRvhvD4#fmZ|teyC2|Ae?M@s6{< zx0IZo^6lon%39I5=l5DyZ%h$btBC(pOy{KRjL%sYj^GNm5@?+ah=tOGiZsk09 zsV#1?&OQ_I_55FgrPESte-!ksTC5YD|Kw?;vxCYDBffR}{$;2$OZlmYO!=kuQK_z{ z*^t@y;cC^pwu-My6=ojomj6(f5#wfhjX6g~qOTRC3uxp& zj}BMQIwkr=NX*5^NBPZx{i++dRy?1z^r;@>gk5Vrb~C6medX5B7r#{8uBlV$d3ad> z`^@sRK8=N;=jHbwj(Nnjx1{=Vkm-y2nJd*Eef=;ypl9;^BfAq7Ke}x`JSp(0w%D1w z^P&t&i}l_FYKwwH~py?ap}0zFu?wmQ`nY z<-3yqKd^pMJD2I6Ldw1<(Rph&Zn6vA?xh=kb?334&xPYYX|8{@w7ucu$D?&8&WpAF zVw$x>?p=m*dBem_ANNmV{eSDGe9Rx~W%ezbCQr0xvDae6n_f9;@-9e}RXt|7saE*%t?rj^ zmO7;@n|E=bVW z_li$Q)7q13-hbGy|M$njG9iJ<_k*4$+}qHTZ@E7|Sl41!t7g{IZC#U2ZRZvaS7v`wQ^R8rj(l-!}|M0 zii?dJZFU@sQx3bR`XWtsYM|k~Y1>wun_tD<=BT?vs^?2Z=ksN3D)&z*gw#K=d-LVQ z<)gd(90K#EZBI5Y`RlYV>3FZTS88|p z|IlB3D>nSZnv3t;XUz~<{C2`ylVtPR4PHO4yB}V0^1)njz3Fyb2|wn~*tNqz=gI!< zdD|TBtd^H=l(zrWTqvK|8Xz)v_v3@dwH-IcpA$V2vsN+x?&pJlR@pyoP13seC~L!m zDXdFuB<=-oXDL3f`CX{(PF#dkaD2q&Fcq;6_j8SfzMnnuZvWzwvD-V(U*VrMJK*RG zw&w3Fk79eHl#VG0#_4r^xN`b?lE_`flbzYy_goUloqs}8`THfgZlACx+Q&^VM!8?! zsKvW^ucLXmv25xljFt>+cz1^*s^Q4oz`0R1g9gpi$eQaTmG1xO8uXp zwcc}8BU?r7iQF}JHs|GjtDo|GO6cYX-2RN8BHB)9D!wd`fAEs)_m0UEt=VH=#T+_w z^~eM3XE#kbd4deoE%`gYZ>YF8yGw3@%9XAK3j6n@3bMa3ic(+n{L!^I_N9*;1q^uh zf7&(g?U!x6Thl}Ke=7(rUCr;j@b%LdC%>{U+_3t=GLA1@X|YWAZ@iUMsMz-K*`+G& zcSo&vKQZz@%~1a4adKwpL%Zd#JHE7r*xIt$n@eZAHzaEPj<<>4uYP=5=$7v5>wP2J zxYnr7d~j{^*}2wHnJ;F~K|B=LUBvrE1{F?W5c`%Af7{`396d$^wegNzEN zXZgC77f;cCmuezTl|-rv8W{cFF~%vC14X2rHtwoDc~vS4iy^UtDO z!)k$Mj)%E%6XZ7}^z3)&5|{6tSyO2I`{G*V>oPMZDK>i?yb;V3!gKe*=}yT5rAKX~ zZhEeXy;1hyMd-{!+&vGZ8><|yp7UMk|JIjHQ?BsP+u$oaUg@q?)-SI-^4z@a^4m9E zRn5vfCdhUz?7p)T=CscaqZREwb!gFZ4wXen-;pichUW6+~2*+?;C2o zdUrb^U2BQ#jn$7jg*Wf6bX%A#zoftaZnL)F$9?@P1iS-|^?sfC#-J^lQTvpfrPze- zN#R9aQkQw;w!iUG{@0&&EsL6Ylh@5{ zo%J8J^ac6W)juRuXW#7a{cyl-LcH<{{iwQbnn)%Jr78Z?FFZXf0 zcrhVwX3T+g>VfX+Zv zIW?pomuTfY*YAAS-L=(-%FngZLeD%^12$-#FkM7B8SEH`(f*^f&WACBx;a4D6i zdz;ra{!abBjhFVF-{-JTY>gSi)!s#%sXnQdi#E2bJn||&##!|B+L&7jQg_q6yL27} zDeUQ&i<_))=FFGgp1a!*1oJJk_d9!an$551T+>;Fn=j_yFv_-Er9|28-I^$`Gk11x+47=2d)7;>FYvX$#C3L|qie*~ zr4Pf)Wq)7ZnXyav&C>!)_fPj8aWC!^-F$&je3q-3{(SrRhW%#>FKjNusGDSb<>nDx#%lI(y3&lgi4Ldj zJh&%pjw#eXQ%`w$$&y>YcGC zpR$&!i^cb_rxf{~nz??#{6lAVN^gC$mnq+WC4*|}`zNcu-E#=eU$D~r4eM0Vy)Vssdj8<+qNG4 z&%R^1R>Z5Y!+B;bg;Vzayz;Mh@yfHom)CMIu6=Fa{DsTpl2h03)?M8C2Z|m)%vR-^ zkh|14H%{gC)n80y8;|UIb}5+c&VyH~3g(YCpd zvTTpQ$BChSg(a-fiKUIVJo*fepNn{KJ>dH1&fg2V0{m0Hwa8r1zoy^4}(g<;IzNCEX`)viagd|$^b*;Hm&D*jhf$1ZqMLXC^bRJEhF znVZrgCxkojX;)tgewt>WzR-Mkk$OSVKHKX{7&v`cnHb#GP5N1!%Mzj>Ab;w~;S2H) zt4?q){v&disZw3o-SI-prVqhBAHH3?CD?q_N4H_=!c&pGU)%dSV)Vn=4n7f?n!ics z4hOH_=|xEk-r8SaY1q5x!t9A!d#Wc#C%E5|VwAgmvUr!UZFB!};Y!IPtK)9`=Dg49 zS)`@@PDXaZa;d4$t6q9%Cr!w{WNm{KjFgD{IYrWNVIZ-f*@0PQ~TbVjE8|+gMfCe=+S6 zij^)ox;^%AU29yLV}^~CXlF>v8|LkE+ViITY;r5lTeX)%Y~8P(hE^flTW`beuX)5Y zEzG%Z{>H;y(Va4%^^|*KocAu;b@A)G2MW8T_;7TS*7khVu<&SOAJIgn2 zUs2k6+~=d&oPA$|@}@po2tNiV5i4e5uoy$jd0nJe$d)UR5T# zWIp#7uM0OlZ}L0d%)jw-cki);qy3gIZRdCRAdU8E? z(DZ$qP2<%xkAyY;_kUkwe}_rNDCS=`UryeykdEU)X8Y1M39M-qu)Mp7HSrAVpY-P{ z%*|pOwdyY$J!*8CBEEl>j^D>Ar=Lo*aL29|2;|q!xp9$e;jW65oVEgIV}4pa)u{qcM1A<{nUN2jPYQ=x6s3SzM-p@xN#or-2K~Ec>0A`>f8>; z1HSECU=y{OTUfm90+;`k^?zKq_~h4p6y9^9<^KDH+h!Z{?{mI=^RnB*MMo6m+q5_9 zJo{phE?zXJ$WbF)N0B|)&q;00&U+1O?;hY!%r(9#tzh&rvU~c;RmW%Fsnw0!bnJ!1 z$<@vayf->&DTQCWyMAW%!r5H+eV=Y~m*W&$xZ_*RBGGi=7ys=9{wDYt&t{v#v9%|y zKsk3gPsk~^TaA7>f|t6^3ch&t{mk~QaUs>QA9nWn=?Hz(4ylSZR|Int3|z zy3?|PT3(KmrU@^%nqDcB@4penG+*caQva#(mw#ukT5eafsAlJ{vr~l@#5G3P1Y5j3 z<+5kxu0yH;nGd^GbWEMuywmDjLg+D(s8FXrl0SZ5@j5&CO5(GV8J?@B6`Wh%Iww5( zxr5%L>iQo_``+C%$Y=cWNqOq7YwH_&te)nWeN*82;y>NgP=S5*&;`+xo2%Ne%m(xiI05X)Dhtk$nYh%5+tt+R%uCz$E zxNawVJkObm8BTtGgpL|_bnoK$bL8ptT?unfEl3bORBSH(W5wc0d#Y!$_)Xdyw{Cs? zr$Z~>^F_J;etWKN`)=(k{n|_u`7Y(PHQ(D(EP6~(SME$t$;5fv=dySxPW&7+`Ng$d z`8RLhmG8QH?&8DlyZ0{Mi<`FnfH-6EiByg=8m93z8^WI$e+g+j)BWM%n>BM^{9t?= zZ2x{k`G)%+npaHe>74I5ZO&ca1M@e9{b5}4P=3i=???K}SoXjBIG;Vz=t@% zw=^zTJ$<4iPr@qw`9GF*7IoCOO0L+ZtGve#uD!ZiO>5=y_V>0Q?_5d`Gd0J^EC)Y_`?4y-_NdNfA{$rDLT}ieD(0u>_b69o~KgvP5n5{cAqz0D{IHnbTN71 z;q&b=57duUoqsBvq@JW^e8K0FO-r3{^`tEG49O3Xwj#SOH=Es%{-(ygTmAQBhk07D zkA!#5E{)x5qr&L#@jB9weUhAfcGZM~cS;_&Z8BRrU*2WAo!8zwyerq_9o8?(a-Sjm zt+2epB`2~l^knr{+Gliig1(aZgzYhX!B6~`998>uvGhf1 zS58;wfoYAi>u=VcZS;Gky);-j?gxuO+?%ZH#Z#B=->Y9^^5!uAo&C6)8C7(IIr7ty#Jo6(TacU9ut*q?K`YG?gUQY;x6kv+B*1TRX#|?kd}yTy=W-wLV=3b)Sz?QPO0G7J_9@%pYi zD-tcrw0zm=3174{dAb~pw=SJ`Zq?s&?;Mv)@lJ|Uv}g2Q_w3w|G|tE-;9qsu|7V?w zbk5khG&IZi=JW;sr%d6Q65Q;#P|t!n#N*5xb@w$l`p?`u)gU(ERf@^Z^>c35UZ@J# z^w4|fqH5KofA0>J%df3_8xqQAoPYjP>-x2qw)orf2QF`D3psFHXRBbX_56@3U@?Zz5mLP1O~caz&TvbNMEZ%Aft~ znoiY(%j+Cnz2IL!^hc>^zYBT&99`MFx@ypKI&Uj*% z{!8~ufBd2egC9Da*>#y@WaoaA6ByJu4SsW&a!I^J(4HRGfm-<({`_b zZ%b{We;8IpJX~EDcB0Me;G%T*?7c6#ZU{_Y$Z>Rmc2w-N2|7ioY3?O1uQ`oE4L6nl zcNM!NmHFhK_VY$vCYpv?;lxZU2l65P~ekXkYuwr-hj=An(2<_&M|S$=Gita!KdqS(V*LFvc-O1YlrO>9aRRDM|`y8mxlsL!9S zwYy?VSWk3MlxL7HDlV9Q>T}_9)~8eYZp@8KU$3>Qr*hhRnUdC*B??-8=jY~yZjdPP zzwuw~drP)N;}MQ0z9DHZd7}k5FVD;_6Sh0QXwxkVv74zG2$UMcKxy%I_V@aM-{c$;(l|Lp>UlXQ%dF!%eLQ2MPT6m!%TmWqJW!a<#xC4@En$PYtkyx6U*YZA)|Va9 zS8FCSZL;>~{qZ5{*{h}3empjKa8sA-M`7l*A5+#ftDR;&H{Hm<->_|B@T7ZYnvKCl zho41GXS^gIY2ueYU17Q1sdiOK=eL(9_wbyJny+_1YbkHc(l=fUe@p6VeHa&P?#hN8t+Pla8&DPnT&-ns{cX`WH0 zUnVdg$iDZ~B;w-Bcd{K@KZ_jTD|h`HleEG%P}@o(BmN4vW}B7B)Xno5`&{&-9)9L{ zSZS2R#qdGpSc~|fl+c!{i^6KoNw*p`{1_rWS(S2MEoU*5K7LQuEp~oTh;Gf=v*(>} zY;AnYWS&;s%5k^htklHWd!L$S#5~uC5{Y`@bw;aL++bIojMKkOM)pki4!3)JeD!AY z&Cky(4vO%~eaY_JCFeHv=Y|goTi&?qdn%MB)qng@aC$eJ=(+6phP@B2{=EJ0>CK}{ zb)Oi1%&wn!FGgp5>J4Y@+q2aEN>+qAe_oKhNqd3_!{=l-im!DrbzO`Hdo^G><(f^QLvfMV9kzj@xLejXE*nDI$cFhV)OI*Q?4)0Z?3jt?u# zCN_Uj6LN7oCHtF2Ys;!`_NSj7>YiJ7ZD%xu@4!Z`?h0W9va1hshVCJ>?o^uXmsA&{DG7J+XSV`AXKkOLT5VeA2Mp zxaQ=766;@nFP9zKwg21t>A|PPCw5#t>FUL#oBMm=l#tBcC9_1Hw8&}gOH9w-%d&KP zoWst8>FPG-r&uF1PKO6XPB>c=QtBuw3tp9n_y_FkYlx^#7JvAZ0Kj1)E z-^QC)mtBb2m%8hTrpa@5-{(I?c9kywp>Rmocj1iX0a|KFk*2NFS~XRYFWwh>=96`9 z<`&S7tTWT^eap?%S2F>GORXdwMdH)Z)YwCT+3)JVyMJ~VWUwPHHF|s%! zMYKtN$*;q`q6}F~M@<^9M9rVJCAIhBw%1R#aVfvbEUJjS5O+MnzGGsS=LQos#|0m6 z%AJ`V)BKieOHBDhjZU5L#Ndq~nMe3K8mHPwRfK(zm{MwOnk(W0(tS@g?KNcNk^o!@u`!OY-X1i2aDdmd5Og{MoeY@?c1Do-bNBzF1)H${h|L$a2iU1LG|&d}|w$Gs(G zqvOQ=m=bjU|MO+}<-?Zn##Q}?YiJRIkTg^hh zPg^d%N~&nX{5=n@xpjP<{xsv&6vm9+xX*iP&u;#fwQ2gsrZ=m(YbJ9iSl+sIU}wBk zG;jI^TLI=7D!u7Hb}O^}UUXgb_oILlnyL?i-*Eo9Ey(Uv$NXi!bp5hP)eOBqt0gP8 zvvYpXU!rj7KdZ;X>I-kX?(JhxXx&!b!FiW&`J0nL?mzTZ-*hpvSTorCm)^jT=^pXS zW6PIQ-#*6sSx(VtIN|4ZO7NfZ{&Gd`|CS0>3m>erm@?HViJg1z0UwPz57YNav(_wS zUMZ`?n7RALI{U=k-&nS-ZSRy_H9yNaMgPhE_70)nlV07Pd{tQSLg9^twtCF>JvfCF z|JOEZZeq&2qqwN~jct}Qf1-6qUzf1qjRc)K4R3{==O^A_Rwx&bZvM|C(kFP}(f*jy z=~4V!Jr?LKD`61cDyN_*JG*gig-XhFM!6=}NfQ+QeCG%jSi8j2>?ucZzrcf5mg8>E z?_PB6;1jw!@ykPdTa~}(yL2boc&<#j!2D{T-X#a+UHuotoZf5JHD?ueFa|Lu3iAmv ze=6r^i26O_#-zO|>8<4(-_*rTV_Py=kjHtI*Zbs`ch`I1R1p7-hO_T^RRU9Z|M;b>;MtZzfwASa#k|V2zo)yG3?$ zr=fsY+ zvzWZN1ghVytSm@5$Lz4n-Gi}lPL)Po(M8YB5Bk^k&1Xz|v~@bCjf$wY^Suz`jPI{c zTAbJ*KjTsV6EE}m%F?KQUn9c3*D&W*h#tDqLx;ZnU;4B$ zqx#_A_C+e$+FXTmPJfV})Z}u}LLp4)e}hWPt4!6e-wgE+x4ClGn7__nHaASTJ@t;< zLC-Xs6LoKGcZ!(*nmzTNPnFE-*0s*f%Btn;#dl)XC7k~nvFL50I)fcc)lAXj`xef- zx%iU$1V&HhD2C09wT?9fGtSn$vzvL{wJr2>rGIZ)zuQw+yVC(O@|uoU4$5EA{VzVL zNP|r!T=FvG+2XiQ-#1tk9h&$^E^inV2b;TEp>2b~fXK`}t@y|li zv-+>FW(xiHlfLL(d->oR<=LD3nSb7Vu&uf2(RJ-_`lk%Eei)yWxO7YMd*U}q~};=O`RRx4ipxt>k&E?1UE)*tPKL9VC0R(K^?-jYbE-nX}@ zHc5W}_n*&_g#9~h!^RK) zqqpro@|U+WEJdWP)lMz%>0C8cfndIsCJBdUdKNGISbt^PrYJ>sYv#XBTsBdgjY4zc zOZ8r#GST*!c}w}J@#X3LCt@1@PukL!GV9hRi?S=FU%NUQ*jsspw7=fXnItpit>_jN zjlWece?A|dU==3IxaHqR*@xP?lBw)}5C2~O{)la1!QUf_;g?=0+!rgdt_s?%`uXk_ zgBQ9pZ%$%bUFvX$f5wCP%s>7)TR&RXr);&wzh+`7SN_bE%fG4aXJ24H!6$LD;J;U# zKFKN7GpjzDo7Dy_mr2|2F#Q1&`;|ViywwYKnmA`R{R>-ZE>QTx-c-3?q;>P6Hsf-( z-40CCew<>{j_^u2Ev>+=Arv#Asmt_V_te%KyYGidPU&0mC7fT|H+0sPsXk0Q#Mx3W z9IRiX@uPa;V*dXD>v|dg=IxAUl(;DVTZ~KPi1~y=TTd^vK4boQlAKYFjHXHs)4AKX zPM+CPy)$pZrJD0)^Q(PImlti)@0~Y2i&H72ipeyn&}cn#z^7?p)8)R-I{9bIzdIB8 zHfcv66S&)z-@G_JW9yyZa82vYk-VB*{QkmC#or(I|w_M41kFWg_bC1c^B^WJBQsU)W_wdRb z=V^N)u21|UKG{&dGf+&f;gyzd!MD#4i+_~o}CuB`$PSVHE(QnfAW`gW!qHFT}=J`Z!)@P{kg%wu}jo`-)i}v zmcL^I%kQ7CInw;ZIq>Bbm8^4Ya~J!4tz9H~BhC8$bFQX$`@*#Jc|LEhe6j1{!s!7w z&qrE{+jLJoEM3LFdHdJT&;9p5^L+4RS8hJr8k?=TMQ5LNNnRGU$eUigQ{xAtNbSz_ zirYKiY`C?x^_5tW&ADI4JhtY3JmbQlYpC_j>8Hz#=??t~wr}2C+Uy$jp<}H=b3DVd zj=xtHrFQKI;h*O!tX?2BuePzE#`@-AcgL^Q?!r~?J-&ZDpnWti zY1anbjbBUur3D-~o#lT)UivH`i!n-6+ zPoHy7duPOwq)Ar=l2%(KE!>^0ck^w{%t`I~w2x{lDvw0E;6bCsXXJor_| zDE7S4;n?D+BKz)B?`B=z^n2#bi)T!qu8X^Uc5BkZo6B@`r%g@%+PFYU$&hWi{6^=E zB`YSD*KN*Ya$B4?C3yXeAHsKq&G!^7zh&_KfNptI+3C5vgG)}&4e$9}w7BqHDBqWw zyAIm&hkxF3Ok1$a(aidWOp0KtaZI1u-P=CK9-;+@?Ki3|la9NU^JIHulh^X9=m>%B zl}(CFITN_9IfH3Hm|0&N^J%?)Z1=~kWyL-GhdUpYPLNz`y>wg7l_vW|jN2S0 zl-}E2I5m6MvrF8I(@gFZ_~<{Ka_7>~C$sbBD=>%Nx3+v!H{b8jFAsx_R_D9AckMBp zz+j;NzU^61y{q@-%((frd;WAzI{P)^?#-g7cgsSrs_wmzR>^e#)WBVHqe$PC+ zN#JM3v+9r9Q&P#YCgdtK`7y41iRsd6}um`iS6#$xoW{a&3}oh zYB#RP$NOYh?pgUXNX&WRZXMm37o@M2PdIlcMBK|b;~Prh9g^IfME=+5YBZatoDn zmmaY;R*8#J{mA6|sB+P=?YuX)vmKk#Bq1YkJ8>?jujY;t>!fA(jd$40TNzn7^EJ!- zJ2xMETJ?YB5@Cn?`4#6EIH~>!3E)&)=4D`5vfp2IYeLYqzjmRkSeGR^%$;!mTx+Fn z{_{ifl@oW_9HFL=p7iZWMS)OVXeRHX9X|>h#EX4R<+C3J_#Eib=;*zAG(yfH<^PixiYR2!TZmDLJ|NX-6yVy-R_E$bRvu&OHo}%fwJ-xRM z-RL^;s9qp=ZJ2-O>(n1D2h3cI4(ey?bn6wk@euT=iKPOrbB?s27b*Z;?lqXalA zQoGmRa^Au0dN6ch%A>o#L|=1vzgzyx=l-OtdijT9F1W<(NO>cE;qbRTWs0wBj!sIp z`F5_*vLbwYo%Fhg94dW0m1kLZ?5Gjump|35W1JV~zQT9Kq;ofyT1CGQ_o?)bU-r08 z=8WjHqIb+sh4MH(nmwsATK2t+S^d4%Y{_;<54N0m7N>3TEuYj*-#)oSx9W|m`IR}^hGw5D?DdsR_X<=7r)kV zRLnl~aN9-$mrrvY|8{&enOphk%@flrIlfO{bhq)mYqD1D|2CnkW#aY&H@B_Poa6So z>sw~NwX)cqXdtG~&-O$5 zVpQ0{a!xx*|7G`T-f`y5@0ybN^&9`T&(C}Gj`qgZSIY#f5758Wv`@}^_j#ErokrV& zQ?=g=Z|{mqepS-5&8S95r&r~|X3IT`tLj`Dax`ot3oSME3Sf6P05kcjrDh>0y}7uwfeKjP7OXV*L>c+S~z| z?k~4%=(uvnb$z+0a&U_VzpYm%`-=^czZdF#j?!6e^n61P!|7YwjM=32cRI+GstF#u zB{4fXx!}@FnL8!lSk9E{B(8hB{Nn+E^+%fxdfIQ>eLS|0Vc&++ky}p8Q1V&kxjH;R zo@a@_V@6Zya{iT_duo0KoJ-stT^|_6UE{2~L*Kl!>F*lB?J{vKYb&qkx%b?ev9|L1 zaplyryU(qyEPt0#PbRO<29Avhd(6@z99R@3^k*Y0W$vEpctn?n$Qk zf!m(l4UPJ2wudYJ)$Ud5DV!Xv9P6T0{7x-*%z7A_om;wKgYTkdP09U!YVMQMs}?EV54?PJf%6ok5G9X=H;K4r3@%zWRY zOQjFp-`Ta~^8VHv6|ejC3q_9nSotHZZJDXqz8T$nbOZ7<#U6znC}@o_|CS)`b8boS zy2qx^R~!rH3O#c7eXyW?B`1%r>!Og0Zy%j{QMNI~{b+aN#>*XN4?7E9_%6MIQz6kT z{)J*fNX6Xe=WQeM7Mg2p>ORhA=6lpt?#J~n+D%@1xA$*XiZ0+zc^<4i?c1t||NCp~ zYFEqu3!V14XWBLQ7s2o3Wv;PGZBR2=q^|O(RVMZHv**8*Zt(guFL}bdCT_hk-uHTiuusQIFU31Z8wDY~&DQ3EQCe!z+Vr`r$LLCAMC^;6Lf1 z&Ms}i12@-JGKko8K47b}?L4@9{hy<~;ne6Kp-d8m-_ulWC_*YPH?)q*)kERvAlmAaO-_^KWqv!lL zmT7mk3-)~evACT{z+$EHz6Dnb8|P0*UvfDi>EX6>;!@I&8fJUNC1_Oca#Xp%t0Wlh zoMl*&YiPM~o`X@MO6O|XHoqwxIj*m!>$<&jsJ)x7UjK^g>(_?(@NJtlx2`dMbYp?t z&Ixxt{Xp5ZuW3$Bnj^3i(GCYT>B@L!riC^)c%iFNssx;a& zVB6F)rwwO*kz}w6*z@+4znAh#O?zP>>HfMSuQV4k+Jrnb-~H{}x(!h*f4*C6EqnWR z%hF5Qlh@DaJ2a>7XXm-;b0@#+yPA7++vVJ2F-@&*r8C8*WtCfPO7YgtICuC^)F!u- z;Fi?nf9(3!r;ZAgDD0O#wCAAcv92fyoAP(_`y8ciSR1(IRWYqxIq}t&T?UVN=KMOv zTzqzQMgBBp?ri?dr|X|MCH<>TUHpk@-|)}- z^YOW>$h^DyOt0D|uUou#iLE8)+`Mef+}WqDuG^-;a--^HS>p0&?uTB_A5GT3sZzX) zDNQrPAkMP#R>ZQ>Fzr=+iJ?|}?2{tyc|Wj!dY0j}_>u=x@11ivoBRH^$@cE{pQR?v zrEK5lDXrl5k=c1(XIuTkEjg9O5oe=Muo`b^v9&9zV=!K>HvcsHWrME2(@Y*eI=8lG z5z`Sd!?&4>CR>EBOA6juloVv(Et#}Ppeg6C-OmkE5o%-@LDPJUl4e?b2io8H>& z+s*9JF}tVV+IM~O?|a#z_bse;hV6D;@H?^a@dxuFPNw_z^>y=aXK#vH`KPt|{O?qw z%N^F=7u}lu?po`;J$cQEKV<~eYYhbBwyO(1@Oh}iwkw_Ec}MHouWvn-CpxQ~Wx1KJ zb5Edr+YW7uo4u{!`vchmq~2cF*w-MLxm%_)+EAQ(;Y6irA4C;;-`Cdn%+A&qyAgQr zN4~ef>LAf6r$yBjeP^UxXa9b5Wwh>XlV_0_&F_d9C?0MgUcq*N@v;jJX^qbm7Ik{s7kqFq+PG%s&vN% zfkmqM7D4QpH_p1fJ~rER=2wXszh-`aQhQ|M-ybVN_#<-i?)=hjr4?73*L)6Hl=i|J@D32`*=+u$FW+?g3J}#>~(hj zQho#C+4?5<#1nYMah;|E-F*fO6L0~A9@`5b6Mh}a~FhWO_}HDQ1@-MU-F+r znLav`4&CfdpSQQ-*iG*stLl%Z()CY%pR;$$R~OzY_TqNsskSo7|KzI^7QbD%?>v|O zs}rSsPh1z|SKs*1t9HuUE_JbV&BJd(+x~j~TpRp>cS9@NH^+Br%{*U>4ITsv8fZ1| zIdpc1y`EFmk64$KM<=#i|6>>s5wbY7X&du)=gi3pekVBj_$Gzb?p@h7`vwOO$FGA? z|5ljoJ$PGRfqCPD@X$u@#jE$8;pm?J$#_!SmE)>TAAk7R8Q*zZeLPQd_xppKu50=a z9oSt|D>&QM@1)@up89V~wcXnGz2Cd$z}>7`?L4R3jI$CCOz=>(`4c9%xZ}>ffB&|L z&QY;uTvvGGoUrix=+JcIBD01pSM6Tr;|6C$?@UvjLYoz{v}x~ir$yV_wDuG zpCwWgtPR-Du%Fs_OT%;f)di1P-ZA>!ulw^d(%(gt*tolD! zX5QGg(_mv}oiS(p-q^3jueM0G@AljI@Pfv<7rq*@Y1yuhPYc2`RupaeA1%@n=G-t% zQX_hu=Y<3A_n!vM@;+=Kr<~V$NlbM?R?~t2TgL__lWPy2TySJ>yZ6m^v$oCl+t!C# z9pszRJ_UX6Kc6u@?Ul7YpM8t6#MeE)bT91Nw&-LSlhTF!8=v;M=9zTe^(#9x_m%pc z!ppva%ahjzR&!a4rRQzAEIfUk*5~E(Uhj(icry3y7kk;=ANU_Un7yga?}zW_$tC>? z+akJVR##r~V&~%DBgK@vzdZO$i8X7FvqEmgnbPm=JMt8s{rmf|K>gKirF>P{C6IoVr~9CKBi-(ZrtwWk;3-7 zzogmmc`kS(W3E2GEN|OdV~gj7Dd)0J{p_y3b}G>S&A;^N{%!BJy`NQo^Pl&#e?KG@ z&h9z+P38RNxWk$*+}m`@YvcX49?UDwzb$3n{!P^W{T)HeiyNxC&im@`zE$?RuJXha z`+n!@`(|>Jm)r9d%$=xHeYZ2*#?eG4Z_?R+3V!khl6!TFYb%fXbZb95_V0a+B+r_- z;_xM{SB-Vo&%3(aJ1b9hW5njS{||U4&p&53Z*E-O-&{kj@AqHLlHm8Ke0gT(yH4S? z>+7>V_t$Q6i@*2v>=TyD?dDS$U+DeF*^>3&qrOe~4EqaH{)aW!mxWweE%<-I>J9UM z9NGWQFGt65ll!uje~y)Btd2XoR>Lvi@I*egr3Z}*-yH9}*QKLrEU_d01;ZiDSzH>D z3tqfD8DyvG{7;AD^v)R^l@&{uPigO*5WeI6brn&P|^hF#WRZm838hzwo0B zUHf>QjUyGdurPThm`1O7o%^t8U0<$n`0TnJtLl#3PMGPtFY?6ig42<)POAJh=fyk? zn9sd>m$A?F?ir7RjmPXBzUyI%dJ=T)(A>j6U$S!8{w%nw|9t&Jk!QjY`_8TSaoOKt zcWCF$tkQ{xuAh)H(de3-u_2v5@!Rw6FAIgVza@qqTQ$FTeWJv{=H^2Uv!@^adP8+< zxO0!J#~+r6=#4F*`%f6F&)VIU`m%5S{NR_1U4?FNopt!RP`2khfBwUy<-D37IHzkb zv`{(38`k*$)Y31XkA8S`dG*3OOt-26FK0Fw^OT3i7xRCeTCHK4HsiN&!>QnxGh}B^ zfAr|nQVZkGY5aca0jE|rF1L3HeR=lHuGfWyZ@*f&9r2$Met&wh!)MR0Rux6BjI334 z%e|s5YrdS^yZ+@yqq;>=Tt}Dh)`-3A+Vc42H8!L5TP97@_u$&65}CE@##>oAnXtQ4 zO%zw1)>d$GYH+E)`S!iEUhuTQtKU4X?s={d;P3lyRX||ms;ASPTyJg_jb)hK*L3r8 zsG-bHUezy+!P4K0VvJ8u@O?E+&hvGan#StY7Cot4+ao$xly2pF`K{#QR>%Dfi*BE2 z-KG{0G0kTN=hy$Ki*|ht?|LoQEVlCI!fN-ZOYN);|3BZn>F!vc@%hWQFIQ*oO1txR z@&{k;wN~}LTJCvDA7i%M`jN2OZ;I;C)BPuu!f$PLyuId#amR-XXLx6wef;=to!{&j z=Aa84b(Vi$w{oxs__>_D(R+_$>dz%b0Y4eupDEDq{1Uz*IapzJ_bFq+=`R0%%|89q z=#S27L#qQNZ2BcFzy5o%t=-2L`|PaM`q^IRRHpUxCU)E|QWe{}$KXRDPhrohRpE`h zSG?`C(_Fn^^QhaMm5UoSh7w}O?lX&`||nBofBnl8tKMbu1K-6x-VQ>`%m|V z+U)dC;g+*?cTZzl5_m1PI41tT*6JTOBj+6DJIRu~tAevjrahCfG%>o;O1LJmMMNx) z-NKdAcWTqTwjGiOGz;Xs*aaB+S6`mldsU3#mR$?mli)=+H*fcrp8WRGzorioj+3u? ziuG!#MV5(1Z0G7>pBdE>?5ejuPUZ)v_Qx*668(264zF{6o6A41H|^mqyRo{?D{jV; zQyu{myQVZbsU9>vqg`^A&q=~p;dI>9VqKxQSwc!;E=xFOgk3$Ta&q(Qs!NA2>wZ1w zIbnAH+&+!;$qXxGZXG|~Q(oD)=zY%R2P^#T*POT-E)?M^BKa#Yb5)eHjUfly%8ODj z?y0;kD&XJz;DTi9B;E7#F0Tp4~tH{Y*`_eSWdFh;l#Y-(YLL{F@-3ry*f9j5BPQ2f{xX|m- zJI_d&IGk_Ls7VTBGkR?tyFXv+Zv)?iW3vkN+s^*`-F^D<_vy|%UyB>w`uXO}rVz`{qHPn6xGcvdMkh6)8}88U+N$J{9RoBd|YhZ zk1OmfueMd+`6kvaIb+@4mv_7uD405CecAlsCgCB0@Pm(j$lp#{o^idfA>MH8gXUA!-n&QkTHc;(u3%bF5Fhl!WNr$4u!pZMdD z|8x7Aw!IejUjEsn5TGuwKyS{n4K4Bdj)5i9v^O%umKW}Mqd#Smwc4BIpOhF6GCga( zE6;oEt-z{XN(`r}qN2mNd z|L^eQWM-S0Yt+@QdM2x%x+KNNu$r~^BLAf`4?Fj-ENYJNoUhBXVU?TSWZ$C#e^$K_ zVo`q>S8tVSc9`cVQ&&yHsf})2_SuQuT|#*Y-3y+?PuTjlzbbsyzZsGaeJ)QU%^z1N zntf(lUnW@)_vMw%QSUtAMUPHgx3my=w$oHa_L=9Yoqt*l`c}+6+_%E6yKT+73;nwk z8?~3oH7toulw0O}X`V)vzr&+_50Wc?)O_@v$lJf~WayLXJO4Rz^O_(1bh<75H&kAL zee1;cNwyC6f)hj(*7I|z+zapA;vLZ_*QtA{IgI7#f-E~W=hf{y`&7@A#&92Yyn5{c zqlB=3Ig^4&0H0KF_>AV?7xNxxTJSv#U*~Z&u*cFQLH5Gd1Mki{o{=t`DEMt_iKc&F z*WRF*W%Eianq+^mD$Q7XW<^uz?NjSKRzHecrEz7}XD2y*#-Cc}nhkP{Jxo{0#_QaD zxNYgF`{q~I@6LTOSKw2~A?EE%+;u0a@Ta~j*ctI)GLL?I8NW-%|67kV3pfNA98yu(Sh z4HNfl+-&;&_`#xmH)cIh+t2^X{GCu8??ZQkn^kUBpKdg{>E~QK`%&2OaG`pwZ2J|>F(i~_wWDB z>UZYb3uWu~?`OKM8$IpxlJh^m-m9*E?cXKpe&1@E|0LtbJN5tnUf9v3;njC+cIW2E z{hMAZIx?_03NUmt>|gPLgG1$9?F6OF@QM%h|8FocDExF}{Lj2OA?wr+d$s81?K@c+ zSx>3zdHqx9%5JPU;nRrs`K6Z zYL?lVbf@KAyraA8msgYMDW`WX6TN~H-?JnpNxyV&mw35WF;UMd6&s6{71EZW?v$FiI{--KMzKBEZVgPI*r!XB=KVB`)q{yuq>k&3D3+c^uiC7c_JIS+8!u zq#5VE@dHCx_lpefAL%QDR?pZGSG081#XWC&pG2>^D75rMLSWD;=7%k_6cj~%uzX~{ z{JLtgsadAe;}0p$d4@~a*1la-7PMJ;iBtQP9uHU9B_Zt|GCML3-)cY6KH`;_Z3aW;Dnk*SoYG{+D;sC10*ysG#yr1vZWgWAjXu(m_y$9KDJ4;S+m=XDi`5&A5 zlE_Vd+jP>kdcw009o>IYaZ;z>8fh+WhxoLB&s%B|>Sr=Y{@BgBevtz=L(Yq@>*icY zH7piznwZzwR8U&q*R<;NYu|m0r?M0B&DkT~AJ%aR?JS;Q+sN_PB5T<>wqKp4?aKTQ z&KpVxya{kKGgHw!)WjL$k|o=!a{S?`V#6JZ-(IPS2D!z$M)@ue?G2Q@$?`0I0sreQ z3H!IYp5nSEQJmy$pL=wTqg=Y@nZM_|E2bCkXApM!eYQ)b>1uwm-?SAq6Uyb%c!XAW za9kFfCR(tk@Wl$z=d(?3GF|joo#-CrEVepx*5@A4IqRHe{oid96>@s3+Ke)h!zbRl zGhdmvpxNwPqQ@U4y~K;novlvG-tFIOT+Vn$A;FzBap!{l4YS^Bo3-hlvfn0K5VnRP zvZMYf*Bd3%2^Z7me{IzE@72ywpKn>exS~?NY-y)WN8Owz*7%PtSu$zuDZ9l~E3@O& zc3$Jk?Y(-{{lLoa*RRamc5;G39(Q=Q%Vge?Gdr%%wbnTP(3)+zxS;HkdmpSK{?6Lb zT(;-t$AhoWFR|`;r8{$aYRYa=F$H_Jt0$_q6{j9Ej??uFyOH1%uKaTQeVP26Ra-(L zyf4j=yT@LhLsrTs1l7t4i}23Owi8=lj1&yfjM6!h&ThSMw33T?9g%J-Fts0XRFcM!|u`t=ENOUTV~^Rnb*V2FJAO=l_77hd-sgnTHAysOqk}d zZpVx#{)bgAukVhuTOH~4zIgxC51}?CoBN$>#4^?HJ@e)HDJDN<${D6ZCsTwZUN&Sk zo%v%~UBL6qn=8%Zf0jg8pi=G%kG9xvd~NSi%wsE?pRX3a^IHFAH(y4Ke6Y{vTFGE_ zgH|R_$2k+S&$@dsT2IM;{K31qB`bt$OMbYd`R0dA-KYEx2Ar95gvF`MBg9sIncbNc z%V%B8iZVRweUqi>Hgk`dn_igNs&Hbg) zRNM8;S7tTR{!T}ZSgj8bKk2TYGY_4AM>^@P19&0Tp z)5)j!A5E%b+pgr>uGnfZBT`HJ#_r|I^$u1?*6y}W?cL?{UH<&LgO;H^b_Ed!%?&(@ zVkGWVX*h2UE|GiOyj(FR|M|nk+0)b74YQA!@QbgSV{l=9_nqIXUtGC(EdD*W6=z9P z(6UQKm6ImCv2bmBRdVy@nmKyTnkx3*m*vmM_JnHxEI8V@z%gweAO5!ZCCQQwpvb+a8WTtVlr#LI8 zr=NOt{KuV{*}PL~`_9O^+5Ws5shzucaqeQX`dL@qPJb4N*YDW;lYfEDw`&V+&vZol zm{^s(U08bj;KGlF?J-KV>l|B&00O@dz& z9yjZ6xqm|R+olfMX1kK5DoPsJLQ?0H$U^<>1i zn=|=7@8F+v$M^l*D^{_UEldA>ICbl9QKGDvUuwCXa#`zB=~t5zmrgts#;}PgYORss z*F8I@NiV*W{`nzS_x28*I}xTmqN`s>EazM!k>38uw&hiA+bMO6q)+Zro1VV?Y11aL zzN)FGd28WbU+x2kWLp~acR9{@z9O}B$upOwlII>=o9@l^-RKl+P4{`T+TCw7_9Spd zE|aqS8@p%XYOdL~?=*|A*e+;3z1rY+kx=R#qlcdlPk6sMT=CjwnSF09+t>WySaUTwkEJa;b!={U_Uk;ew&U2tQ29N1s@T+D2Uybl z*Uht4db#rBN2{lv@~5{*<}ZU*(uDe!hFZ1;ds7xieC?%m`ci zQiAn_WcEwH)R#OQ<&g(C6wbNue{5gdWNE%3LezeGj%AOm_p6IPYlEZ1Z%*XaYWn#4 zgzVPn^oL!ddUuxGxM|IiFKqc~?wVCMCx!36ZZ)6(!+P!+x6J3P$>TX|!N(=>af_<{ z+;M(@20Qd)K-aIK8gS8!%b|> zCCBeKcG@cX&EP!s%)Qt5fN*5Wx@V`Qgko>*yu~s1_=8g??z9;SZTDO|d&#xqo@=Wo zL~WnkHEYSD$4eH;Em2au`tW|;=I?SxCL6sz&ukf-UNBK_=8Vh6hD?529$l@TYxz&mjI=d4TKVD21ct1Dqa@4umSFcSzfBMnaj^iRP_{3rrum63t z&ARtOj`yl3iHhk-|6lLl^1-3?vfD#h=dRD|=RMo*I{(DROU9R7cLjHd7fIX+Q%d1& zJInbn_IAdJueS9{AA&uYZ+TBSw;;LjEob80s}nc8JMx1gxvRR}Wqw}G;z|6QO3y03 zD{F3*i;Ph5vem1PtIXxwxKjPrE0J*HMKvWWE-P-6x!}|g9j179;mdlrbCJKU2Cww^ z+2o*?QFAnR!OQS6tpc5mKgy==Ddgf0y0OvVoA}9<(o!jKgT+iQW zNL9+mKh-3C{but$~wtf&M%_6H5xyc|KZ&||KF?QbD34# zW4!!M^WQ%|KWL?U-DBYrT_5!mh7W$HJ#4E{nseFnAZN@Ub1l_}jT;0`Oj#4TKwLOn zZE9~rPyf75llLhX%vU5D9DA?L&M5SqY2P-FTTGFAj#W;a+FN|%{fg5@>nB*s7f2@5 z{MyFZwDd!N{bF^`0)o2%gyzJaI;%chNk%c|9E+ zR}IvfHlBWA^z(7L|N3Q{)oUMbcmKXaFeP5ym0{n!>#_QqkM=GNoO!on`|UmD`s~Ng z{=0c?!@Tb+uRmP(JvPg5ZhZgIHx-ll6u&HAa%h6tx8CiyuC8b9Xj@S?)h`)w4ssK1to-`crjRS15ndp@p~H zW*mAHZ7}a6-_f4B^I9L~=S64yEbw;A`vy{uI&*u#|-oWXB0WP^keD96Tx@FwJjIkWK`hfUA6zX zNYu*bQ41%^n{Z4Eo_Ji#)2^bo=h>!Y;iC@uTh)K@+&f=)-d5xOfyddeL>@n7e6ch? zh9{imkK6j?r;{riR8DB02v{uXJ8zHUn2WlUBbkA{@9#76ZTDDUZKogS{rp?_cmGc z|B;L*jaTH#3qP4Aw)4e;KK99`5*z<-de$i{yyeBr9b1=~AHKCk{*=&-x0kyLj-Fp~ zeR1Yfj#ln@eIC~{95$`8$t$V;{;=&}(=Nw|rH8c2+T^vxbAEkjoN3VUS?x?%iQ{5Jv^20!2D{^ zw|m+?Zdbm2(!GAb^OV=;UA&tvBp4s+nU>CcHU6bj|J=G#9yy+?K|CipXYzB&AFG!C zQ1ANq0LR(8V%nZ*;;nv_W}Gus&Xftye7BkVTi8iG@0XPyDnbiivb|c{+L#Nm(&$0Y&^d| zTI=TD3qtl5jh}NPomVw3y(epPY1iJBmp5(;{%|-f|6;(F7`uos4{JWjv4!qAcF`n% zQpeekM`f~qE%_h1{qpve=k~?=E=>IY_tj+Cib<*S_Hk_vp7T3z`QL}>k<@n#AA#{HNWstEc(r znD2ga_Q=ucTBoJlKdzo45!-oJ+vkYF{r@L@GyH=Nh%|I`UA%bFr`he?O0Ph<&HE>? ze>iRHvhSI(KSU#qwf5h#Noc=l{Y(`VH)^V;k%p9u1r?pOf#brO|z;)u7}NnKWIMD*Z+CC zf6m@LDf;?1PkVp+Gzr4=K0T8|_x$I1H_zVx|G+&j?Q@0J1|gI`pC&CmveI+H=?!1`CeDnE6NuZswX1JymsQl%liRyCt$*=_ zNyyY#bIUPz3%SEP(t>MF24r8Bl!pLRU%&Gl(g)1D;?D?d$YvYFOYbAjiHDs$yYhd84N(|MLu zY*jlLQLfw8SL}a$Mo8)1SIj+E?uUO{sqo5G(aKM8lZMN^zkZGXPFve^7aw`{%=5Ni zkY4xV@YUABt1l-{-F)r$@ypkOno2DvJU<)IWVzR(pjPC8>Ax)3N$nZlH#QsOPu*dl ze>vCjQ<1`%VAY>`H}&$97F{cAj(V=YPDVRUDn2c9UVq?@XMtvCoq~+pZnj45ndwk2zQOt`VG_*7%ywp}?L3rNSSYFKc^TR(Oq3Mg3O!Dh-IoEFIdhcTX_las+pZ5iQ?e+1t{c@K7{T+Rqi;n&? z_s8~Ymxg=ad;eGddui8c&bYAq=l58dz5cTPlaFUIJ9D@EEU8bb=I1p&Ex8!_p+`=8 zmE=OLiG0$NlnbKIZDO4vf6wLRv*i}$Doj0a^dfzt{ZNmDLxwPhbC2^tO*Fn>sUwz_zWshj&#y8Vd zPD=2naV1!UHmo}zZZ6ut$?NJ3UzM{}Yx`p?t70;P->+XKb!*q7EhhZ$PQ2VzY|nM~ zW8}+!+A=*$)|_)ay*aXUYfGo;?-g`=ibdBlSuL<2Zl@FhKn*WdK z{Hxy+?Ef6>uix?KV|o40)9;mb-Td>?a%&b@{oqSerbGrdD|`=iH0dv#6kE4~eMyPUZ}UrqwJ(Z4 zTAllzr}}v9xrwr`vbLwrifTT(snxaC$X81Fg+=U>>yutv)&FVfSv|u!=UDyqvx{ct zOtUn}S($M4M(7)!Rdoji(hk0{^y%T1xLWa5CQWqe!=Q?gmxqo7C9OZS=GwWJ8=t)F z|Jm;N;#6nouR6J`>l~cxwIfcjPn{-OU^Q zW=(?*?y!gX_P}{lWUd zqgJF{a-Fujg44O#r;i;y-s`HDea|!dp6Z`pJcsljPELO>!Ct+0DaV8VH-G;=wyiKZ zQ0CwNpCa4dz0}Ke+@x~5Q+ejcv$yk#{Wr~4yZPp7e^qjgxCOfzGdpg@; zMTVv=BI%p&-uK?U(IJ6>hpqWwf&oL@36@kPF3u^|Q@^aW-l}Zjf9Xz$bx7dXZo}r@ z7p-#-h&nzn4A^m#K{Imw&07n%+b5p-xV>$e$x2=8?t+u7^|qnC_ZiFrb-3$e4el7+ ztBT+9TbJ{R!_lf4zALO)en(wkSDTV*U~YUqocp%s@#cxif30prvi`sK`i@mxqF%&t zgJ)iqe=o^$JH5a9MyP9=;m_@p{aqH_DV`SX>2uL5C7wD@{DACLtpF zm+LUsw{QJT%d_Ho)jkLwJu)GTGcfPTo4+f&eCCPF+oM<+W>ewY@4t*T*FN7CD-4O0)cq)u=5GngZNQQ`gjo~{#I`*kMF51#4t&vj1iq!-fn zPOvPoS$8*f!^88l-1#L#H>~$s^^?ikyZ)Eo%2Ff#D$Q?uj9;w0yZPfi&R@F{ELt|~ z&wlN=!A0Ub&xSb0Z|{X`ww>6_a{t((^M^}HU)CO%;H$fBysymbOWB35>vwqHn=t#| zdj*T@vtQQ5E3Rscnf>@M@5=j!5?=1QVlm~%w6wEVIb;I!qCXq#&*5dSUM*aBL%Q$0 z_{L8*pMyB#d{&A)h~G8CQ!#(SikbDl|7R~uIJ4mH3XeMS7r1zc2>-ihoJ)cX~qi|Ykn`@Dq0zTYr(7^U2%T9^`D<#CEvT{wLxI~ z>WR%I;!pDCJvqJe%{17dHDT-miUrRh{8a>zVkw z4>t2hWW0VJF7KClwn|FrM&_aiQTx_s%woOW^WpAX=fiImPH5g*D!gQ=Zzi)xkLAUM ziYjhXUR)BmH0fel?rnz2Z*BzNJXe@i&v#{Whuf0gX|o*h-k!Y1d4%r*Zq<-BP9_qklYsvoL0eW^L?$lDt*Z{?;-Jn=RQ zPAYL%9g?-Iyu874_Hm!b4V|;xyp5bDR?c=b?ml|MU+w9;cU8(49@?n9iQFJDS2lI= z=Ca$k5UEkF86E2r#|@F%Om!^NY=Pj_r;9dJx%vt|E|?aH=5pSo8PHf zAKGz0PqB`9xsB?Pz_Rc1D!bzst4m4hH7iZO{_35ZMD47VKc?y1F>jo7p3R}We4_j2 z*e>=4aYcy^BQ1Af)$jS1dqgWIa=5A`EeH`$+dVUD^8=5pawGQ}Ivg*Jdl>s;*ls6& zH#$@IPv)@03}(h@ajQMDewLRj9$p(XQ~y#0_tJtZwzi>nORJ=wTzI()cOD@l7fz{o3@)p&k57Bk4 zj_Y0L?ljf?{P5s$i<5=9hLdMn?Ur1eZ@j_T;;`%S^+vwCY)YRhhyJP&yY;xap!KV} z`RVD#o_pIm^Cz)9N_qFSyn3I;Lcd^7ZAtz%Mo~$o-?LKhMJp-TPCSq{=eJ1Dslc+I zYJtZ$Z46lKzA=2o-L#)Ry1psa!9s^8?-JW@>{ebb#~zuZeEx%uQ!C?Z$sE3TAM^9u zH#Se0)4uX*nd_^B-S$NiEYGse+N<=crS*gOv`uZVcg%6SryasQLHf>> z%ZnntIHrDS$_rzXR$0+G{e-s3$rP_;;oFbr2`1cF)T8UT-+8ma*N`X?=9`vr?rYvu zWz9~$cCuLdqN|Ief6GCO^%rg~yM9u`ifi{15&N!Nj{7f!G!@9qT~H*HYTs&KDH)(^ z%~f@D$K7{pyBy>TVk+Cdd~=^V^N`5NB`?F5eB1CpB|aqe?}rZz>XQ$O`>QQo;Ga6} z%(|!g@9$SwntHKq<4Cy~?cpf!Ot(IS$Moi2pQn`*xVhFC{9m2jFe$kF*Tg9oKC#yA zdif)L^3B&*>uYPiUUuhZIP0=o=;~J)hPo*y|Ns2(+5h|5{7aLS1Sfi|{drd0lY#3` zu42=oOa;v)X^XD4`uv-zTG;)l>#Ef1x>iH07xG<24{99B>|gMAJ=)YS@I6WF>~n{C zZ9%hYv)#dxu!O7f zzOo}QAAIvEij zJGH4Ue%i-yBYx2jr`rE>?+lZD&>8=lIZRKcIbzqj<4KcO9FAS$o~lH3f#tchW~<_k5aVxPUH5>^^cf;!qfWYzh76TFdg@*dhmNObD&d+4@dnC@l1zP0iA0iTrMZx zYu)ekR8p*x^_j#p)~j8{2S3e9`sp3Aq&UdO*5PcT%9O^ch^+Fbji1(e37k3=J$;Rk z3!A&{!T)Ju3vYe3**S4$Tj}Mn#WlXmx6XK=JMq=LE*G!v9q*Lf8umYujFVE|cjMgd zhmv^_zLh^kWW7`57}hf^S27HZkhfBsdihEIbfdbNM=Z2&2`<<#uJAtXVapXolRyuD z-T!~5o^3aKFA#P^Ec#i%o+L}@dAFXWtjH~~{TNirH{(S4YRQw2HfUL|F_~E_v(tC2 zXOdOw8=Vh4I_H886bq$UE_TwARQSxQ5wLgmdgYRp8rp49C)O-jFg08wppR+YRJXN_ zx4WKxNQk#M^`_v$YfkUhR*efkUR@~+$)cK@* zR&kwbx8LK-+1HO$?74FBtik44T`h5!4;(nxD)jtT32WfKgyQ)^EUuM~hbF&cb=}jq zT&N|uV0Th0x2j{7Moh-DoRA$15uaDLm58jn;IG%R=0AJFVp`CUh?d`mKRnu)jpQ2dbi%-+m$O$*{#w)wtorTTA0k*&9FAu>~iDL z?=fu*`o{HJUL1Qkl_zRBYjMKT{6kB9xYPJWgsZk2_b~sx-6*XWrd{9i+bU69-ywKe zK|smN*S%58R=Y%*NNh}a!6{m`zu|~|%IB^6Vs}mctkF0>)8*p2*8N3Rt2TD?tW{XJ z<3<>Ff3U#A!(kh%x17D@$Mmty^L?pJ{F7*n>I>(&aw{KB+mvAtx_t$M$s=A{spoM@ z2bMT@+rN6iQ7snOs-l^5C8uW3jYRgeZIcxi8U@dL{J`Gmc(U%l6;^XDxyzq+-Sy3bf^`nPOe+s$Uwk}=BeAPYpw5&# zdHyu7p#GeCkC|Ux8bV7}bN`i^^i06*(V9KKEEi?&N|U&r(zH@ks|aJ*v}r-*Q6nao=WPc)R>@!FXW}wqZua=Q(ZNb${*>Dj zGA~Fkb>DQFH)(ek*X*91Ggn&2r%b;W;oNt5vT*&<7?(L*CLtRaI?nc=ct&952PNUP z8MnGJjP%b|e^@@_Zzn_R&TP|7CmwJauks8&9`)~8W3TMul8YWacNR2m3s86D(-l)Z z(9Q8+(c+eeN)6ndb_(4ciF;UjEy{d1jd1 zrs7DIkAF608f|E3)Y*`%a%q9HwR`6;o}ZJYG|sXWIevC<>OP|C5F>Y1@{y22mu8vW zJ{!rWjw`o6QF?dphmvm6A!+@kGh7a<2yFi1x+2l3Cy}YQcw$FLi~9EqYW{N~&+ad6 zi-~1B{A5p%^1W-*?(A%E)sbG($;LQ&^|aQvMy66R5dq1q&S{%&zmELc|Fm=W>D=%u zJIYp_+W7Fn#0^ib7WnH<Sjip35M1GZ#$dtAn%4r&UP2k zvSya-TEmyo0b2Lc7S7+*_Tgh9k;&TxRBSXcKNyTtkj)l6Im?(U3)9)aX84@ zTTM~zb(f7$-ica^F2(uxk8b>E__69AmwM1Dnd45YHcf2&f9TM+RhGi!0~?@EiGPeL`>PpQsmc$GALk$Tm>h{=27XYcL5`IPPE_pHtD1K$?q zesj$I#&}h))|R`0HRF@#vkXQPWzm^kJ15ocs+jPsdD8V1FE5vg4)!;)V=dPF`FOSd zr=Mqi?YGUZSkjB0=H-4--6UHaaVO{9lEaZXHM&$BIkZr@%n zmjfHzW_M5SXFT5||5Cbj`6jiG<@Z>VYX3a_yZZ7$Z*yxWXMtspKX^G+D@n)I|9Sg& zbNO<4g-1tcr{~|FTleRui2u*}$Z!4p=l*^B>c8B6Pu=H_SF1aYoZdWt?|qy1o8_fH zt*VpUv&HzE!rQ<7=jXqiA7A(D!>{A>440KdFg`q$pW|IN4OY~CAd zd-s9B;{tR4ga_KXY7K%9T`n!qXx%jZb*xiJPsW@Hms*%xFYhZ@-~BcE!ud^#*=5;# zp1!-y5*$*p?ZB6ygo+E|UvDR!<>q0iP+E0*>BGg15u3{-n9OBjx+{dx~a%9oOEq;Fj zujulu-*S*S*-kU*-inR|ObTnBTwif8^20W(=~>pc?^LJX{;b3p?cK%v)!bGA}7n<%c?;Vt9{whm%mpiQ_!+)t*MSUy!}K?zxW4sFQ{Ys%_=w;*G+ zjOs0mnHydjvQKc4E>8ZsgGsg3(XQ`e-t0sCw@#nloH5aVqN7F7vYc~!8Gb)=+AXQS zVA2YM+kN8dbvvc!t`n$Qdo(K~V8?0pp0~C0U7je3DfZXD$x|pa zkC}_yUi!{+^nFpnSl+Zcf86T%D2Sb}Q%6vP*LgoqjUqobJy>XNummUURZC5kGc}$!d+x z0_So@*-KznaLlPJ5$EHZHXAZ6i#^iD{W?c0F;Tp6M|u9ifaZtc@^qd zR@>4G+jwdtzxDIpl-|{F;{F}(Su^hP98WvRtytix6Z~TG_KPwzj%(czU$?dI*x{}z z@!7FQr0jXp{re*tKRo-gX#4axn#bg)HXCo)J~K#A@?J`mm!;h0sG!2YtjoQJS-5?| zMcJk*Wqz?vHR4QsRM-|J7Ux~OX6lBBlFhnHSLy6nee^3^@7C3>4>QaUJ8y}%sl0Jl zA%1nk+PmrV&x?r%{+YL{&4jnB%Fg>-fV6Yps(?-2PcP^BH@2*3Sn^59sp$WNCGSHj z&#yb2AvVu-vqtja^B~Et(&$^tx0^r$+-uQHQBFm=YMvE^WE>+R~J9FefMGA zD%G?NH9vl^S$178Ro^*t))lQOpFVpVsO3oZwO>{0Nxr|L?nt?_AJx{p@Jfq~ z5VCsm{_gE74*6WG|8m~C${_MqGg9t+!zSn1Z8cpYO-GM7XvujA=eSPnxp2=SeBCtl zeHvFdWD<7&=Q(I#yMXq@L;ElKT zk1OT83QMOIx)+tnr-#Ijk6-67cE_;_9OO)tIJAv=N&gnvgbbV znU}@Q(qnmKw_n-JwUgAXyq~2wvfgat3wrd$?H3>a??Z3P=UN#A%{}~L(aggfk2-hE zPi^;K!83ij!P~;Ud%v6vpHqK5T3KFr&g#th^WV)&^yb;kI^~);=X0f^`PF~FrM+-{ z!^4nio_q6ej+77Mo$r;O<8=h3YMD~XPflDtwef=Jr^EH9RQ2u)3g>$Mx_ocJDG;D!ht?QpPlaNOr8GfRPe5d1I?#a zUjL6hCgC2 z2RkOONYR!p-V(^af}g9 z`Ff?1jhTIi|5@kr~tQA}edI+)6?BvjY0L!PC484r#XCW@$5uwqQK8PGM^H zo3|>df&%&6pQYP0#a-fz7ESdsJNMhK_UqyHV>|E85S;fVx6t!h!uPI#3F5`hk(Ej% zl1Ch(ZgsmP#O~{z%$cp|D&<`Hw?SQYvQgBRT(K>8S8RN+P~=sy#M%>AW=WpvI^anbV?J8xQ6 z{@qcq>5;{{(`r|(7V2iUOD*JK?~3iNl8HX}TINRYj+aMMO=d3(y50Ilm2++ef6q?+ z!;Yen#qkm!%-@}Stnx}#plSDXC);Zeo!stO*>NpkJ@)*m zd}hg-rITjAQ?}w-R*^C9`+kY_ z_Z_uD7Il8RSLs>pu*?g{u2R}y60Gn^PB=_csNulJO_%f}egAq$@AT7G`WEKzugsunpHW;Orxx~@WQ+9BTWmcziTNtteeZSqBP;G z{>(E6d6^P@rgfDC-CuwBqNDD{EdhIXaHgE)>fZF=Tb-Jd)8b1d{-12Qr+F>f{-pow z$A*P&H^MLI#4iwt_xXDB$d1X6_3sI_>oDw1czEm`!@e03mAACc>wheXUFIFZ+*$|Yx%7F%^_Zhl?y=Gfc?PmX_DkQTb2JUfqd_oDz23EtNiL{9w6Q*z~6 zv~F^Y8~5{hw$c|o<9;6gbmQ$Io2j$dxNUm7{5l>^F=-d^u<$$WnC5kTiQ9_ml`}fL zhB{m+W=bIHf03vma*l z*F@EXyO(-97Ova8JK?z4yOI~2PvmnWgRQv(beJW&4;_iQ@3~juqw6ALa^li$N78FmB zSh^}qKTG@4qI*v+bR&i=cliFjA4LZh3q1Pi*zAY6qWM6h_ z`kZsi{Sr3K$VmUh>A!C}gYm(W+hc5&KH6lXH~Zxao<$!mR@PRwvh|jh#5AnSQUBbb z9bfQtvqE}U_W}DKE-^c;7}OTLGgx=uWVg`fu5hES@W)dOU!5_q>}F5nckQ`(wP5Dz z#Vg#m?EQSV{8e#g%{RrbnHRL1yg6RQ*|@%cUA*A%&UY=v3l3{quE_72%i?N&E2|lM||P$r;FdJ`}bOW z4fkT-W%hnn zz1KGIzdXJF@ZQHMHepXQc%H7w|J@^byMOA}*bDDDt*=I%WUam$9l`V9nRdh--YX9m zm)hx7g^N9wH?LSYb@rE9yA<|^wt?j(4^H08f3NyEM)u~qorhT-|BTbND|pm2H&`on z(z102b9MxI?{Qw&@_2%k?7H8Vwg-z{-BA&w*(Fwa$Xv>4-=b&oQxfl=S{8Tm#e>V0 zs#Pif+GC#D?mBU%Y~9nVkw&-Y8XU-M++O*4UA1-3WbRr%#mlqj$Nzc$vi*O}*X@_T zueaOx|M$z|*Yo55{yBX-!T%liaS?r`&s%h6`-=q@Mjuh?a|qh|Og3$4Gt1snku7uf z=>|r>S!sRz(^Rduy#` zW>ao*<*k2wukH8lPmmUMx-V_brLp&80r8yJ3+3bo(OFk645>Qd{PX$`8kcV_A)I?tGS=g^tQ zX{&UCWhyRtiC<;A_Tcet8P7}0t*2I<4=P%8;^kiHcV_9{ubZW+BLZy~Pb?Jb)vbCT z^?hpn@7$HGcQVAEUR(bCo6uI?gTDIe0euHLx43R%D_?R+Pxb@r+ur#LJ-%}1?cp&h z{=NE@r;4A*_wS4W`@QPYd2+UGc(ARI!geh_s&j_pLB2WclH>!gM4Pv3%^&jmgMVimpWA5 z=3T38cV4fidWX^G3tzu}nz#G)(`DkK1Y79e~YCtyZzzmmpNnR@&AnO-1z#= zj-yu&OI$l}=g}Xhc^_(7!!l!^OTFA}&7Cl3@-4^CteG=^{4&_Fbj3y0yd`}PZ~gfe zp5%T{Xs@At{*g<6V$9@!&t>K8uh#z}*nDO7N4+&l?Q7GjjB7t_fA?U$eb>ux%Y9Bf z+7>XOd7X;N+XF%k-wyDfX{;|_?!IpFp>MX@_f}r8(hk>NBJ-DTrQ+JfC1>KYyaH~U z>-SvI`k*28m{nBvORMYSNMF%o-&}UD(<Q{CC~El^~1iRme-m)9_`#DwZhNtRNw2UNn5khza|yQuY;vyMl=Uk;vrFx?nZWd?k<6HWKH8;%n zo1ghy;1((mOCH_g2J0_W=EEE{GG+82E zIPsTq$@Cx3elN|udzFuW!Y%zH&fnc)g_!Iuj_Q15{w$a5Wc|u-`fkfVHyiEE-5IXR zJ2~xttoDUt{+cD8X*RFB9k^nAnmG;&woTXim+5~d zUB#y4C^>O4_vkMZIi}kg$fjY#`;b4+gkACpC*!wE;#!GWYCcCrgq@5T7g{O?7tT^# zrlkEraN%STG0$D53abA$aV+0((kJ)gHJ=8aC|yBk{$u{tizQ^5FEOx$_UND5%B=rO z&-NXEb=_@m1(ODW*~Kq&j^Edt{Nyov?(?7bOQw~4H$L(_^7;Im&z9@-D9iR(1mD}g z^tgVo{PcXr-Gcw5wiI*SWqI4-bb7&Dk*LfIey+QOd0eWl1pmA=*Khx2^|QW7+AF6B z&fjuF`b|ZV`@1E%JDpp%t}NN_J0WC)*`-T|KdRn4CUa=}7Sqbx|8C{I-PU!fRN%_C zUx!RM=YGGSWP6KS<@DOdKQofre(3bROc0;?eXZWY|J*v0WR;}L3sSRPR&h^xEf}+8 zv)BBOo96sjY;xxCqhpI-b=}jly2Nf`GP%fE=ftFspEiak#Hjq~G-vj^aFp%3dfe-> zd8aGrz~X@Mt*Bx>yli=YDQ;_qlry4<>u~N?Wzo{AT*TEbgdu%K^ip z4-*dge@_0brqIRa7;rgx{@+CA4T_1H_um~TSDG&2$$B;U{Ov=gkC(5z$JMpB%}KrQ zbhh7S8$pGH|I-U&W#6(n%@OfaQ4JB|DdRdZrTKJV?n$p*g^q_jn-9J76xCdEe|Grt z`4TLO?K`CuSBEO}BW$4?ehV_M!7-{MR0wK5)#uQECat#pAgv%M7OfTP2dL$(4WNxLv=-j+65z zWMuhY6SVUe?EU>Cy+El-sjaPp>jXpa_YeN-SvLN?J}YnMK9*padnLhlAFiHwx}qmY zr6W(}(t*>~6Zdl)8hQMm(qZx8Qs0+yVUGA&TfEEnrl^1PE-e4KoH1bSa+44@|Sqs_6dpUoyOQ?z)|?yVpJX^GqH_VyUg*!A{P zX76wK)3AHftL~JDI2tLu9%Rys`DQzbDCZKVyDYwMO>o7LNEdol5x{_S-PTQ9g9 zPt2brc}qTGe#v9g{0GH06E!(%>oe?roZc*I?<>Qab)`>B`PXt9I;ND7Ii$ z<-`U>&K(Qd`Zu)a?%XjgJ7}lk{SAK)PW$;ZuX(mfl34L%k*hOj8?5;0)1sE#${Mb^ zAW&J#Cv~y)7wz>vMS|0Azu}zI$)xpZno*m(?waj0PNijOMW-C!{3>P|U-V^_X>0-? zUamP%nWl8dMq-EY2h;Aav4Qsa6B{o*n#(nO}_7XY(-IRuV`4@`QCLAp4WDHioBQT7ZPJ-bnSd%cTq_w+=lbX@s^((zvVex zk$n5{#4(}I8NB5es`v_JXWdEP{<>N%^O3w*P{|uL{dO;jgorau7YcpUzXpp{En9O@ z?XO_pvK+%^C2r1>f&vP@Q*AD8J~VZK#IggMemIA+xQ4DFK<^_-=lMWw)@Y! zv)}vokL}kJ&Ky@T_4%si@O90FU+T)r6QlgyxcW-+9k!pbi>P|t|D$j5gvQRR9pMR) z3Rn9dd|bxyByh>nsvAO!KBl?_IEjchxritp(3<&q<@JusAE!(YT6%whcZp8$o($s{ zt?aIsWr9y`-Q>L?zDqdxp2Nf)O3Rr8EcNfaH0AQoR6KjNe*1A556mBx>xa9 z-YPuUvGzIl^M{_#?|Q0b9qv;Q-F~urLd5>CvOC8Wcj{d0(6uqI(!ccm`ab^cvFi@J zf7cV$kiGmg|Ben@sf0tv)*lW0r(ZYQ>*=aJzEg8QSWHz^y(20!ZKvNC%j-dlEUarL zSX3`_+n{~kKq{Z#rLJc2b*pn9d4GAomza3n@AE3J^t`$maq=daCr*i%S>4o2I~i%Q zIgiI|^U|MhOxmYh-szd80{*eTZvEnw;zJP}hq)PP{kXeqiUlZSx$S ze%)d!QqX-xRMX^iv#i)%nTIoXMf5)HOg8yH&r9>o(}L-Rbvs4d!;4mbt&QHcKR>tC z*!0%69buMl>)!Xj^5&mpWixwSdsxP`k~HycDe0%v7bLn&=AZsh=Ev0iS(gT~_4k{1Y>9~QiTD55eCKVQ-}0dF?dOdPPmd1!{) zykEC&^&BvLy6n?J)#aOZzIhfp$K$%#nVV7^{vp3VC28K@RU|99AYO9!{y&du^zUh< zi?aUO^Yd-kzBJ3t`_$i@$xF{*Gy1%H>XOsZx`m6h=lru#GpUcmcTidUY5U*xEnc`P|p%stoStZ z$^{08Tn3xU9g~Z-eg;(j)LPharkt}{i8IA;XHQUVpNcO3+UJf;B`vLU0;h>b`fXXW z|1zh-s^(7ZpNj&gf7swGow|PAv!6mLEY*)J_Ab88zA9>yMD0PrH}~Ind_LWA#A{d0 zM4#7k33I10EEjHx*q-j>^YVtk+2)I1R`aEMF`CW@Ub()_EX69CfPdt{F zrEpf?Yg>+w$WooC#wGDxMZM9DYwp@#_1zjPZS1|o)j~94IseRZ$DWf9rX4yQ{k-N{ zz`Ba{O*t1GGmkEdcrx3e?qXx|F6+Rhp;h;cYtKj=ek2rsU)=cnjScUD+J9v59$}Wz z`58BD`pb`-`;&z3%yPGBHx~4r^keB9?;kzt6VJ3UR2oK~)7PG;y^%x7LZ(jitiq$p zLZv-NdC#u_imnRoq|J639_{Hq*ghmxB`&}2rk8H@;%c=L^nfOPW9g^R>vP0)@ z{x30W-iPlidUoz^PN+y$v*Wek3f|~GiS>q1bm7L&hXNDIPAXL$JaPTff1V4!Meg*R z>$5Y=OIOX?&o=*9y87aH-HrZRCvnsX9(nxyROjc)#A7NS-`~~J;&l$}IVN57e!-q; zlil(pvC~S0SqTugm$1;=c1Q)l;eVI}I^<`Y4U_jUPw<;-r z_b+8jb536t8XDKWx%JGR8}8j(bvb%=3SU~oe8u^t$~yJ^wUet}iT{%E?O+XhX6rb= z`9#cOu^hJVm+R`dlHV0CcRurtr{W}&Oue0@q^+~r_O4}u-_FDzj7WU{jf>^#fwtHE z^Q!9^(~6d@Wjh&Pa?D#obN$-c`s#OAb+DdKDq6&HPT7N@C}rJ>ho0HnHoU84_p43b zv^;f+ze0!8yrA`iIQ+Xgj*Rb2<~Uz~`!_ zkV@&9-GX9~7w@<2IoZ7aN!E*Go0-!?epy=2dRe|>=lsVBX6Ii0vJ~^Yc)sxB#+@FS zc^rXkA{m#DJ>3x5wzD~+B{XuXbd!3E-Uc(r_J^k;pS`qu^fl)5#_Q|tFTYy#ZNi-| z$3pgBul~`L*TvNzE+=SvJoCh^P?fLI42?Q1))SsTuo77EVfh`a_9ID`I#aH-u34Y3 z_+DL(O!veYlGC3G{aYYo6@Sx0Kv?4kL)#^trhnJH!b+Pb&xwAyY|oWFn*3etq8=*+ zB`)MLUWjRa#<1!Z>x#r;uID`sCmJ0aRi9Rv_}pEZZdZ`M{bodN;C+WzFZcN5SxURQ z6?aa5^_llK^Q*i6!oTRn@W#y0?>hd}skCwTr^QTGkM(t}MHU)e4c@n_cUoTx&7Zsh(t9E?D zk#^-gV}B<@rB-`>m&KOc?|$9-uu4w&`$OlV-`bm#J6Lz5>gzdPdle@%^Tg|Ft+0@8 z=_)O^Rhe8zJr+u6h8#85pTO<9#=)hHqv)nzf5FY$`%8OgseG2?czykHSKivoQ(J2H zxo}L(n(?UUbI1v)S7KjuG%W2Ly&kP!v_#2BLAZ104xw%bE#H+6%;8s8%5LPjvSyD% zZ*!qw#??72nYD*ZA~vW9Pd63nc_FJM%b6b=Ib-{}CkL6r@I z#O1udz}!5u@Ebmv4}ThG@F{(Ey}w?`XtUtVUQ4EP6B+$3f4uTX?^#kc`g8 z9U1{k^OD^pv~9E+j@Gc~?f0I3MTxx)djj%^a z5A~GzRFu^DOMR7Y%{UTr?p^mYp-e|DrC+%k=i{dSa#HpSixCuUlxj>AcbP72xOmFX z4a}tr|HwHXQS1(@nW6IN!Y!}R(-(tZ+nPm%pF8?`5d;5GweT$^{i~B14KoE_22S7A zr0;6}Z^5+>;`6s_?O$p2Z;92<;I%R9PbvC7EsOqFSbV>C{e<-o_`lr>Ra`9h^ZU2E z8&p)D-|MM~aq!%$Jynt;EkNhfVymv)|MewzTKb-B`T2Cwv?a?`Q~#Fz_g<2*#ASu; z=SOzRnMOxbamsN$z1hnH`D|lZu8I9^)KVcUKFCPWlZYq0{$EB0g`cU3Bfa>-HB@f9lL^yP0Z! zO6AygA4b_bMTLjO+M}9|-q~<;;j{}TjTwI#HA5x)Rc{*VK70|zv1GACm#D1A(*=jx zBp5F|RCs)t^N(w0-#eom%Rs4BU6cA4CB$kboNyHFe(E5@YS6|i;8rB@*t07^r&Xbk zmC>b0AgNNvd5zhrsKWtEU-+G4(I9+b}+iL}@O>?&XF`FmHSNzHS(+g*f;?>)PCLeQT z=S?usxezv|v+=!lsLU0qitskuLk2Pj8Ji+SPG1iG_UYJq2lvT4r)ph3+-_rW;{Tw_El#*)_L*6f*Z%{P#p#sn zjFcW`k40A&O%s3h^sa{YqxsM09q~?Axu@G~pu6$z_x81K&l=@Sm+TXz?N(uusb8oS;@d z;c84mb?rjUbqpVO|M&T@%B}p%zCO$Ojh466n^$Bq-_H|UWm*#-vbFZw;+y;QFa7Q~ zF3lFGsrBH+Kf@1Aaq-)NAM~uvUEsHzUqrKTw^;PT8(l}P+5cU8`~375iyyg0yEp#2 z=X7V?Hm07eubfzPxL9z{UI{>-%e2nN!c?V=3iI6 zH>=q!*XqQxX)TBM#-%qRzPPM@>$>#i`EtwXem1oYX?Na73miK7@8@^t>4l-E?r8e) zo5emdOHiG=Yh!rMJj<>=>%R+Yq#lM&S$%3t>N%Yo507vhl(=%qzwnb~o29GmdY1k9 ziy|)B)@v1Q+rx16v5Rj>R^9I|@8pNqmL1fw`Mkx^x^~w4m%BrPF5bWUx&39HUB+|U zyKyIs8}^j#`&YP&`M>^a{{({rJbRBf+a3Hb`#_)PN8JCD_wLPW zdVl!jI(4o;Cmr+GZ@=&U<9}ZyQ_t_e?$(~m|9i-Msj|Koss8aOgR|%JL*klu)XI}e zUmt(+x7CsP>W{Mjf){wYIGA@`2nl>(A^$9w=dII8CB4aPQ?4AmpcfJv*C6@F_Fm$# zlM@&GU%KB}yUlx#*Y0pCQh#6aeZGv`o3Gy&9&Adq zzN_9pk4Mgysp`w__I~-VzxFyW5xVg7!GnpMoH`7#TekDJma!i&Xl7PXFFN-4;DdyQ z1+%PXIsdbnnfWSX-oa;29JDfA`#%4UoZ$TV=dVi!{Er*U)spJfd6ze@-1Fd`XJ6HE z&+7Mq`4KUlbN+I-)a()7e!lG7f(u%F(tuVCa&@|KTzU)^F{_>ie7b{djM|a7ae3>3;b=?r-Jn{x0|UaZJXN3Gc^G% z^EA?KOc&yRD5g4HT{of5>zQPRcIT}fm)~=UYhHMNqChcEb6WSBIpK2Nf{BO9R{WX& zLQr`9Qoi-)guhhH6f*1iSIE6mAlbQaujhp80$^{z2Jwlj{Oa-!0;<6`cP`l2<* z*lb-IrhF)v@FT;zZPBt%HZf;DJvI`V(IE4ZKl^g(OuwqjPG^qtoXpBZihwL zid+6p^?PKeai8bGH0zmh;ve(+IG4n!959*lGVFQP!pjzmXPCb`n#8T<=s(BU_MzpO z;=eL!7t-DD71!_=+wEi9G>_%F!GEPMW*Xrv+?s_Xf_E*5-Dnx}qE~%il!4AhBjage+kaV0&tCa1^OD%&r48GRTBH_9 z6)r(GshR<>A_TMu52Y1L) z{lBZ3J{0{~v|^i*qM@UQe9g|D+pI!@udP?^sb*VK?i~@=x!K_GwFl?D9u%gAcI+4O zG(Xjq%&Gt3TBpIekEfh^+!iksbhj0etyWWGljGJuJ}GdUiP)Xh+Bf8@${t7TIiBqM zzG&ICa`wYf_H$0=C~ajB3F>w_rcr7Tb^Xdb|6JCEeSX5*)_koEtiE_ye9MlI??Sf5 zuePmt_b}<}64qZyKNb6z{`2UY{K$EFS%1n>t}V5SDKlqi%xcU7j_n$*^SD}uLH zUY*Ih!&f6I`RUUhBYyq9_F0YXHL-!o^`E--8$DR)Vbd&BEZCOt{<5@>d!y=`*^Kk2 zH54v?-xOrRBwRet^~KMhj%_cWd}?1}F*l;YDcODM8O^k-ON!XnI_qZT-#lwl(f>02 zhJ3B9;bpd@W&1S^FIOckV>3ML+nKo{O+%eUTr7$A*Xq05_it1(7TqtqtyDd?S|jZ0 z<;O=vxI68y#BMliP+=MTv!Lpx;>lTwA^tpxdsNo7N@=5SNS61M2H zIJD;*{P=%9S!~3z5rxiv>-V-3V5E)LHbHyzU2?X>QUV5wBsw6uAl?R+Q6T)Jv$pj%ff z|C0Nr$wobbFZ-^)cd4_!(>dqV>)8o15|Z;Z+D>jcU)rWu{KCGP|KEf)H922bTrs`A z{`!vBcSC2z$=to0`PQ1F>#2n9maVh0EQ?mZxa@Oudrk7gC-c^ZW-ixacDSTU+j&6HDpDEX_FA431~o4<9gGY@W9wTWQ%B*H$Nin~UFG zbmxzM@|aog){GV69Md+}P8PM7^}ap(hmx<@=jYzH;?1Ylbb9TpmTE|CKE!n1e1WsU zJ-?j|sn)E`hQ}ra^(q{3Fm$<{f5yvRO~KO7MEN+sg{6X*R>p81HM;p! za`oTWeUcr&f;L9;hi=a+c{nf3JpJL-KP8h=m#3eOnZv`%je{krbV8;u+9Z7nV2s;k?7?|q;4@AC5B*K&1Qc1@b^c@zJIMFw0ft7@jjb|@=-_Dk68%}IU z7jf!$?|sWSd!_BXteE?~!PT}WIYSF)o|WrUnZAJQMz&VNGFJcoV5hJC8&Vr?vuSPM z{(t1q%FYk_3m&cHz5IZw>=a+0e%T(@FULPD+WR8rjm{Aji8nDN%l0@1PK@7?8$OX& z*ibZ3`a5UsM#V4BCdg`ubHuGtZByHCbtb$2$Ahq)-j}+Q4j1}A_)4X>=SmdOSjf~v4rbruqH~%EnauwGS7nF&Bv!)kzcVS zUR*PLf$^M^FPx4#@%)qi5|T5;aczX6n{3y=$?jTGF89@s&EEI;a?VKey`<|f(=$VJz31W(f+`HgS?67rp=$s!Y$`;M$u!L zZRk0bIj81$)iVjQHz*j$sKvBp&O7CrX0qSIL(S`8+ooRv%pC6mohG#zACfVaDN3oa zbKdAT^-HzD-v2DOzRj4tIpbUBrj_@k0`{5gIwh3BUU#^jHR!a#x{}K#KK7ZfzI>lo zpmKPXhHUM`GY;|o6GdFueq7fVPQ2Q2um|WcugSOpYwk?XKeE51IGZD0-5Xzqiu6eT_~`-ETQ=7j00Vu(bO3oJprN zuLn7$ckNv;!`6Z8K%nDe6-lwF-@hw<{1EU!Up=W_c&a@Ak;Qh8a+eA|WVnCa|H$L4 zNozctHvV1jDx_Ghc&-0I{LHXVrW=@5#O^9Tt&ux=M)QPgzop&pEh%CRvY#gzFVc46 zj-2wpaL<}f|7GH5mQ_dmvzy*x&NY9jAm5FDkDWJe@Bg3phbMBLYS$xA5lh>t)0P;W z=AOi45ztett2RASWR*;nLwrl%oVlu*PCDoR8$2~SS+tJDBk6=m%Ckk!>I`jo|H*wR zG&%esWNyp_CKrMKhdrKU|9Lmn(A%=vuzT&@!>c+34NvMmH0pd>q-CF7$gzLQgxCLq zRMa{dez}Pp>#`2qVJmr{UZ#E`L-WeEH-c|UC+V$ZS)3vj8zO%w@Qu!%u<(}(<*Qjv zB&j8wPn#Yh;mgZD<(FmJG5LgkewL?`41yAJ=FV5&cyZ?utrubbL6beM)GyI`A~LNd zfIGNrvWFJ$0<}DmLS@DcfdzBiy0yKt zU+{J$%1JX+t!q+|jXm}8u=^u{_Tu>EXT@LEv^{-j@P=REW2fJhxs7{Un6~X-9=!Dd zTS%dj(z^>Ui(@8i7Fn>*>c;h#Z8Pe6dMla!_oPg^VshE0(PWOqifxG_G;}b#`4~v4`*f%nVK+9!BR$m!@@H zvSCPUc-SP&_`TpqvH0ql;oN4j=DvrGJC5I!{-O~y!M=qgegFmgr>Y!2`BX-3(}S5TE2|weUp6fG++<0eKbwc0N3uouFEq31;d-cGUrx)3BHl_GZFBSdMu6cUH1fl*b zM-KZ;X}$c?r${ZszC^fJMfVL?%7*y{R`ZHfnWrr8|Hhj6zUso;!{#ETKX!DS({tqd zsN(#$nR8-K@&rW>S%EDR7AU1(w}@4g{VDHe%``>gyv!+q-%CUkrUl3bFf&BYRmu)Z z($zfOc}b9M$%*8yX?yywJ~=bFa$VZyx{rJP3x(9}vtJ$ltYBHDb#BUvMGy6lsfQ=d z6HrpHm($*77$L*4ZpX6aUW)IQF)~{i6xzq15=j1D`DL}8X$sT-$2Z<+{Y=rjvch`R zWp{t~X@?8r{l&FQTc+qfoi!@e()TSH%NDEr~+c3$W74fTMom=q;3Zoy5Vt>%kQ z>^M{{no)6J>E@mKUH6~Nb-S&dS$Hr`Y|Am-iR{1587m&_((V5=k>zvgH9irx3e}q3 zs!>nHJ_efzSEg;!H?mS=SbB_c!Ke8}oSrrFRjvqrekLDMbz7)gLGHA}&RtLatB+j^ zw~Cvi!Sm;X#A*ijrQa5rNTyZ(ii_j;vrt0bW@g*{?Sg`5UaoGso!iOktXXzYz_Vg; z<0<*7?+3HAt+(V{RXWXgV@Ba?=J>P59^RQLkDjr(Snrj8`+oJa{waFDweP>)A6sgv z)3uKK%Kf~LrRB?KuDr8ZN?18ZvqN}Gdy!(vGVc7BdR8a)=$_N+jyQLx^@Oxu!O7Yi zElbyS?pZP;hBK>hgZ01Ti`f6ae&GLq&)5F?Id5i_aNO~_tQV#5q3=@q&g-9N-d5fC z^V&VT;2-k;8H85tP;XY^JJlZ1^+tN)bD8Ux3k{FIeYs;xsK|=NpOjt&xX<0X%2s`T zQ>$3ef{AOlZJGB$K4^>Z{-SdtvzAE?abc%>{Z`coKjBlpA>y!_?Owqz(%?#<4Rt;24e#kL&x-m zElR2G6E8_;?p}Y|RetjI5+`wQwjVJw;?gq(9^~4pNM3B8#w4)ytnSC4Ju-)~rhn-V ze#4MZ_+z5;;%U=^&V~BA#YC=tuauUOXb^ZO*qU=oj9BDP#acnut~mL_+=YQ`?!p=F zEk@rK+pZIoTcBseVCBY;!`{+CakKMuv~uUzYEcF%b#$){CPN}#%9{n={mpj zTRrCfKGVNgBC_XOiQ<+60h*5gBmEi|*Oys!?R@;v-oGcaYN6fJ6*pe_o}QcNd1Maz zy(bZZZh@B4s|-G7KfAqV>GzJzY$u(r`#YccE?!Z!FNDv^M&qh=(XEeKxA~M_7}V4n zR?Yf3i|t07#DU3+b6lRr94N6mcv)DeKJA6%3)SQ4hq))p#Pgg#awPq~ZSbqJQv~Mx z{BfdOM1P6g7lGJ4^VTly6nW>vA-Z~@T$Q-e)!1c$u^Ts=8yFW|F>{({xP$e#s8w=xB`Jmm;}@hW}pmZ@bQV`USVzH#_@e{i=VaIxlVuiEH?w7r3zUz!^5x?a^zeY6ttiTlJj(inK?DugT;D z70$jBY16qE6eNA-?Ci)XVPkIE?xy~D^P_n$pHwWXk#GCTT=7ggcFFq9ehoj*iF_7K zop{9K_-0`NcA@%zkslr$e<)N@VEIQQ?M!n>@ypG>&nFA8JW9U#;i0{+U%O$Q+?Jl> z@1qWE*AdCfJh3cRIW~s<(w}3up4~oZ>N6`%b4Aw9K%w^NUUR8E4CeQ{rmTOr#pf(EfV)XvHDB%CRnN&=@d<4 zZk{+H>`Y)|SpCh@@0O@myy97PYU6>#ELEF!4#{H^TAHtURdEUmoOcdW-*ZU9W1(WE z>O_61B^S3(brWebky;ccl~M2@lRMKSZmr3z1*eU!9$wBUx-7p?;M)vNo*V1ts`NzO zXG+f9x@x(UR_`Ub)pM;}oR{2gol>N5rtk0!_Z79@%y;Eo`(mLR|M6?mMDgoRnS6KB z>U8fq-;DJ4H`-zJ=*o=gl9`J8f9uF+Kbty3Mc~>lCB@y(owzl{^7us0?)>(;xU+M1 zzi`(ac3(@^C(o{Wt`0Sw&FE{lYG;{0Yr*p^bHrcET)ligZTXbbU3LE-p6-g#*Z#Ci zxwtKT-kEx?&o87tb+o98t^D!R@as1NdG)6=do;8UERCP%v!a+wH}JxYm7?nxYdo(L zNT`!oVd`X}K4p^7=ZSgKHC=?GJJhOV7aCrZxLB$a(bW2(P%B>iz}=X%o#k@jg!AbTp(U$6|36_u-tQl+^Y;8J{3O5oJGXXk z(t)L~uLKGFZ8P%CP-0cd-h1u;mRq4gH5cNa!7 zhyD8hG4^!Brp@=K`Yo#~e}2Q7??BkYpXC+Cd_p}+el()=_k*|7|Cj!Hc$0s9uW}@1cVS|0RD|S#xQBeE4qvI|5HjF7+E7lioIIN@AV&QjW>* zrYn}t$#=ZQ7}CDkQ0i;Lz2AG)&u%Ha$BHMD_6Tu{Ux@xLx`bZZ_1OeoAfT-dzv|K@14wznGFW&mcRL3pGI-L ztzRgj^toCiP08tToye6Lii?u7-?B9%t>3cuLUQTF!j{&8HN|~a)_UO!V&>Z4xp(f0 zh2bQb;DefKuYOzky2M2I%oSO=PDt$L>-g8g&%0^WfChh zcUDa}>~x?l`zlM?!T^8i#IsujU*$|&IDfO{Qb``ktTvXw)0GohHy6%*C-O_3KUk%% ze(`y!kKF91*DTro@K5y2&LwkSHlMjJ(QkM9!{ystb@hua)b14*@UBw$<#Swk>!JN_ zpNd)F79JyD&!G5`g7sbe^N?4NB${Wizb&CUCmd0eM{W$ z=Kh49sehRGO;4<3KFTR2pn~e9uol;HzY{%kzqx`MeKn z{a36{xfl}C8jx3&9LpVhv&=t4D6?kw%!-WNoNBjsoizDyx8m93Hj_y4^Fjwb6&fEL zn`}_9C{k*NrVjTVk!dV>UTWFK8x#tHw@5Vby;v>zBhGh%(Ebx~XN23<#^jW&x_-+o z-S(`7eB@#YOKyqEO{=!+p6KG!@3rLKV!_2YW$AzM{wnU+g*np8eAAEn{@-*WZ7M?c;CQBE3&zeMv`5YTNml&r~B%h0fa&R=IQUDPvwcRna`}cq_X)uC)eP zLHt(J<7*1*c6!gd{cP25PS%wTLF?~``M#a&BzQTmrq_#i@8nm4QVg3MidU(9cWwDs z>hMcKHfvI0jnI(|cca5LFSz`4;!R#lh47nKV;1zYTbwre%J;-$N4eXxy+3cAda&xo z1d-KCrs?w}U3n{3B;~a3Zt#+!KP)UUJ!y3w^~T{4I*O?&z4M zoOmVD;2X5){@dypzOSyn;mL;_uH@>i`uX^y_1B3Tkg0oqi+Q?%@jM1>2lM zZ@bm)p33!LUq)2`+bK(y*^aYRDzhtYKl0!R3Vh+mwO8GB^^WP$O*#3UVtZ%aX$o#s z*S_e~E^x-#;7#5xpP4(NGO8E2Y&PGCIwJT@j$y&?lD4BO!sD)q22J*teSh)i3u)o5?_RSqPY7`M=pVXr zsV}ZoXWaBf=Bx1(>F z(Z%_K^WrbfpKP#?Z}YWI1MkOO=IO3a;-(l0Fo|3?IK7lh`A~OBn779o&FnO1-jn{B zch75Zh~Hb&D$Uci%HC!FscJ?3U(9D~KEH4~CvyGGjmMc!1O71{xg05a^iJUJ$lJf# zEljQ&J+IqwaG{pLE+(55a~+cYC|Nx_>9gzwe~JCk-313tPffn5w3+pk^Ipc*g zWz(Cktmj4j%~pvomrfDz+2&?6*L|~OXQ9o1FU2a?Ifo`|%srzKcd+aU?-ZX|-D3Yl z+;)F!-PP22;@+AmOFrE>y6?@`V=8qkuP{a!=VlyC;y85B?&MAVb1fwsR21ADg!am> zoNU1~>4l-^T&MeUF5E4g-1F&}>x+=D(;w)+G5+gXyLA8Cf0sU9+5c7rUK}Xy)EWO)CeaZ~>0-r-_;jbRJZ)kOS`JmZqzpdG) zsBy#3b*`>QuORj{ciyeIbw`+0d;@X{cwq-h1g-gp;&t4~JktiZ^>~&zk`K5o# zB349kcITgHe|qKOq5$`|8y|c9Gk@M#>GWyJiC0PPFSQTOc+fiOwb({xZ{D}{ieKk` zbzW*6GfCjt4b3?ci%gd*FBdl|-rCMCboT0L|l#Woq-X--( zvtNEz@(WtI^3(gnDl?Pc6@1&BtPo}CBQp21$GK%vb4^Yjwh5ADHTk8M{KBhrj}Yf4 z<6Em=XvaM1G@cjoq)I96wb-rN=&e;dYF4k^r|=}-Uu#;!qOX>-o=q3oGv$#h8z zjb;}$u8V)OHeYDWzdU$KM0RfZwXRm}>)RjgEPDBR<-14vd8=&=)MgnR^(vaX;K1dl zJAVChuGaRqJ87|4KU?JFS>NgL=O(?m|57EycjoJz;?*^8Wxk3&KK`)ft48glqI;2N zg5T`CA8&BatlLR-Pgv5~EnZE3|JY3aIlX7GW2(&DKV>l&eF~&}PkH@2KK19eBa8gE zSO5DF@%j1n)ALOKuKk#0Db)4B<5AkZKT%su#JAVYJ6-YGSt9*~!L}K#C*GgGq%kM= zuMo4c-_vWi`BN{QtopTf{!96pi(X}?FZ{~UICYtG@Y%f)UtevU6n>vUbt}{2%>1)a z`5)FAPP7!+bW!U?wD8mU-8#p;AJk_{8cu%hk-GQg%0o8Akw#65*Oa@ze^Psy-?zGP z;j!q)U6YdHUQMkm3Uw=!n6=Nso%6&?t4G?L4U4sU^wYlgfBnlGe*foMiS)ZN{R{Xn zeBLLyujg{wt2^(tl=pA7+P+Ty;DrgZkXE=`H@ph zm5(h_LkYU?cYCh1t0HmpD*tZx14p^Z_RdX)=z2aqSLi|^8-3} zH$N-*>$kea%J*5xp3nPUH8*74)2o{=W`Fc~;K$$^w?f9Vj1N943Fwy!Ym`W)v3^;4 z&wt;9lT*)Je)@9P->c=fyw=KBFVC-gKey}39Oj)@ZU>!xqM7I~7*LtfdQ&{&ZdlZd zov-CLpa18a+qdq%+qM3L#M5iOR~k0S-&?BxIWV@}`^*}SQ~eotqpkO`J3X?{VVW+y zJ)`B4;InC4b{6_23l!gSDYIT&*BoKZ(o<@FfjL~gO~&l*EvXQn-j#7**2M}%>t)}1 zVDE2nEVFGM|F66M8h7Q@tWRIC>-jm?m{zgG_i?+yk!$ms zx#k_+@lw%8w>!SqJLL4JkdNA~w+mzQtWKYMXW`A7BB_5ZfSGL<;K zak|8LbwclK*!Nm2$`N_uCm88NH1zu5)?mC8+VkSinkA~uV(pw;<85K5B9kpvajZ5w4999W{%$W$Nb@{LPk#3f3Ed+ zG_SgT?N@c>SZV*pATBg#tMjM6KZ_sjzP9}f|Ha?0H}2s{KUo!Wb@R74{~Xc(KmXUw z`M;wm;V|2SHUH}U|NLKJ{I=@M{{-U=-7B0E%Fg^)eEMKo|0Mf)GHVWh>epj`UHI?u z>4RT+9V~y;2mks1qiBQVXZuMqC4!|KYj`iVeHUx3OTYLc>qgJZnFvEyL9 zz1s7KB4=jL7D!uv{kPe&5{(kGZX-^YnQ6MVpWbF$eYw88Tdl2^tr^80Y?(hdLPCp`rY&ky}s^{t~&?n|BaoU`B0ow+Xj^3bDJx~4+T?DFuW zGw(_{3s)&c+1;DbZQc=mpxb8FTPLQS4}S-w>pfn{?ey^-v)onhQr{2>_R3QM0giFp z0Ws>m*L7BR+sthjJ#KJ)S6VJaY%xDs@sZRSE zFsI9;H7L8$fbml2#B4ALqsGdo&db>*xwUmzeo53*PZIQ~xfP=FVfNG0l1I<|$WA$VvLRx&oKNQ8{2oq6 z7Ol)#B|m>XSl<8h+sBByb$p8XicS}`cIUn}+A}RWJ?L0;u%-V~mZ_818r(jlUe6z0 z_i;;6$K)4lqSHQKzxu(pIdAK~DO<_dp<8(b<(aA<#P-SJaq4?AH1rQ zTHq(qvFeIM(>LXqOk);SXN$uUi}_v7o;cd#en_%Q;%~&2KHFV8uSymQ{C3%~nCH>= zoSGT?W?T|KmvHEX?ZW~)H+hcmRSA1~?MtPO*^9lCX#VkcUV%IBvF}&!6nIL967({NxEJh(n-PPlRDnvDl^8*k1u3_H{`BRiUZ z!k2pot%O%Du!(LkESWr~Yps2%NmR6xxYMGB_{sz3EE+7Pg-_bP3VgUWf7vcK+2f+c zGn-y(zLHA=FzY`>|5@a{esC3Ozq0$6ta<;M z(#O~0llNr#aJyCwLHhphf(z5Mv(`{PBfHEdUAUELtKe9oh0j?Eh9%qLws;a_!7RczX^ zsR`j%X0?d1O#OLW=9Qa8V^e7J#}7&O`I{KzFL=$`ts}ZI!_YcMb)!q2^nXoj!^p*J znDrlgjZ%=SVO+}p@~KRY(=x+f(>kt%XC$jm(toVJ{qcm2S7zH(@4er@u}h7Go|7f;mu@W_efoX_wj`7*N?_CZ7e8O6Iv%^V@}~4XU9DM#yICKt4}Gy*v4!_<$+fjH z9|B*jX6@x!dv(FBQ`c>uCN}P?@BaS&fvEf!X_3a|f4BvGnwKABSi}2&VU-OB)8YmH zI5VC`e)e$wRTKZ@&a4*0S$5~1h!q%mrsp*WG3^s?x#^)OVBmIJ;6`&^TF$lbj8YCC z{W4QG@wbKNQ_AiJo+(W}q13!wRP$<0VpibyMQwX;wZ|RJnX}q)?WeDw)HvA|Kj{dR zP~EV}(9lDmxow_h-076HWtZ|Kd#2s!NsGO{NpUuBZq)}h{@RzJ2da`X-w5cd&A73M z>8RM3XMej{>r1Ac`XKyu#jb^IPMalLyH00$eN}$ZujKoJgCqBX|16hookgzd(vyxI zd2V!O#?g=sr$U*VANKE`aev}j)63a)@)m#W{;0hd6G^*_7xul z=j5-}`NTED+OMMMu2x?4tt9h3@4HQ1`F=ItOGub%#$P0NN{llzV)d>{2Wh1XArmrt zywiJTKRX#U`H8{No6|%3Uu|>MH+a5vPvsZEwuKp{S&}P`DS1W(%>4Kxw@Wtg($S4q zZH{=&s+l=e#8oo-*){RqI|EAsHn#cwiQen7HL7`1p6}W3df{uERv6t6^&i)ho8Rx7ZL2HF()(@JBT2t4AwMOSBpI(#pL0HS z#-mHNXVi@5Jz6tiN$||1t)^EU_cN&7(^=su9O&>?{71uX{W*@OjV8I}CapZVa;@6^ zq|O(TyDlD36$*3D3!9SE9W+f?`;OG)%|5dZsor7P+FM}cbB0f}M74JDq6}d|?g)MtU3XVyae&mbMFqyPYO6(0*9F(RG3hn7tx;Wfb>aF&I?id&qpiGSD_0*? zH0k5sEF`mCY~{Omb(6V5BO_+lp4Z&E>YRO~ai{Ccv$ylZmbk_*yC!fmsjpky(lz(y z3+26wg=CsC=GJ|`yRFe>t%=<|8ToUy{6>dUw|d<+{`JKBR)6ICm8Zo`l}oCbWc?0Z zmt7ivh`jBEQB^>eGK!yaYke(L)e4qkG6}w>{)h9W8N9D z;1K^cOxv$G>z|NH>&=viKXHGBnV!#ek-S&;uf3VPb^G`BJ0dj;GGDT%`trQ{>hp9) zx#E@2>m=@NjeJqV>&>A2TDs)HKKu7Pj%&`uzh7x%cX3^slFr?e70>3)e3!O3M$@Fc zywZH?^YZdc}P514atfTUm-qQJIKHEuhVM3kaqnfW3Ep>pCpR;*6tNO zARwZ@X@U8vzLaol(_SOHABMb())hsZIW}{n!2G0R3LHWg3f|}P9_W0(y!)rlA!!ZEcU9xEy>x-Z5Il@QT>~w^7&YkDuMo z?NT9n=-AAgi;K9sqpwfe$imL(B5lo7@zThuJAo;rt;nHs78_e3XGYL_9e1DIx3YNG zPVbOxUbTToB}M%7W7V>IAOC77b~sdhm?y!Ks`Z%jgvO6OQ`pj0h)BHIq*5lC7jW=< zs$}2&!ZXXb--y@l<1TGzUH_xcs-+@R$mM7`o8D0w8RH9`GuS7;-=`foN1$u*$->uC zF5Z(iO>=+F@G*O1pF_x|ANL&Q`yX$VSl+aaqr-x4#gV7Cx8~ND=3e1gZq}tYZP(8m zX%8oVz2p?`wpm2~fbDm3G|kH{F=w`yZ( znqA!Z`L+CB*C^kJ`wOmy%UVQi*NCWRIuL3tkWjytd;jX!3BMKw@ynOp>F(YezgJ7> zeel1#?;gzaIL$dN^PPzA+XcB-oB#jLS-mctb*tEnSyuBu*$25>@vJp)+q&@)&&ust zMf3M^%gTHDaU_ZLZ=JUPQQ+jSag%T9rz|UxpEo}}Hr4uj+5h9O-~EuS_4s99_BXI+ zbFsy|18fI9C0}ICc)X*oKJi#kwT*GPSkSpuZ{sGu{M_KDpqTRWP?Di{aN+mhe6^6k z`}&VSn-i`Hi&~1F{Ucmk^UA#Z+Wp`A=Wn)KU(xY{ zI^Q`%WcRfW9}docDhK8Z>Tgi$GWLvK)*8XGEXd*L<9V;jTsXIXtj#;~v*MP{_hm26 z&NxyjqW|R7y1G;!58+9t;;QB>^8Rb^^>*;I3*SzzSR-)0Q*mB;%@zxNrvIF&zJcw@ zL2=5O%Jx$6^Ghmq6LVNr{z!U!xZ|ASueksJw^a5n@+{z0`B66M{|Ejx*A{B+S{U|y zgD`J)&8@oc$;LrX-to8_sccE@c*+!Nw06cpfit()UJi>cJ3W9Y6nWGR&Kz zToa+5ZBZwGxbF3ygMo?F_m*zIeb8wd>+b)>uY3QemtOi7{(mEPtcLo8oAK@9H{UJm z+)}n-+ZR@+9qjXTAKUEt>Hf#NO>N8COVt-{76o4~IZ+m26`t!g>& zaU`!-_XExBO)5c{}0F>hC+wwrXno}A6b<*;SL68?+p zHzqO6@A$gLQfvf4!HSVd;U7^x`LltziXfRANpZ+MlO!= zY5t0Z0V+ESzF*-kYDiLE=TtlM+)S+*yvNV{Yl@7Ya#y>{Pk?nJi}|aR(EjUL${&Aj zVCMh+Q}fOD|1XYpn*QUQSayGvU%!)|qj`GGPsW)~a$9a? zzqsG#$ni_cCH*J+vw5F94%@Ozc5IG5bLrA0$^Xi}lkUtp6Zy+b`m<-RMA1k4Rp;aH z?HBajt(&n~{8{Fg_xmRQ`ll4|H)}%O!IP}tR4vR8YcvL~d!e%LM8m07=Z*EvZD#gn zth|`Qv*f-jL;u0fAFP$B;kL;ltL9G)eD>UA&VC2=`&kF0`CQlh+WoM`F1qSx>Xgn; zv)t~yKG0X%5xCs>%6a>k|*`KHF(aZiS?10THdvZD`wXxCeB#8&ESs5uS=H<{GAJni?`=|4!SG5V%aqH zZgw&M%C(=gmG(x-az;+SUaShLYPi;ujG18->I!<@+ zZoZviwd5OD59`tm3-g$=w$IL<^PqRW@#;%wZ^=)+;d(ctOI;;l+sZz*)z?1#y70IC zt@{35(+c%o&v~w~@M-sl`44+%_ida|F->j0@yuN>U6~q=cvgv?O9*T;Zf7nRJ$GJ6 zV`X$x?TqDteFvJH-U}J!TlQ2Q?%DaIp=xfE{R`j7e?j@8d)#-i)^?p-_WWR3y=vUz zU4EgFvCDd$<5W(WTBgZ9y>N8%%=U*(@*i&ARaj(Dk|@&d=*YMsIo@6P=ejljHLvS` zZu<59kVswNY}M$cfu{;z*YoE^EjZpg;lYXajN(r|vzW>>J=nK$d~D5Y>@Zm`uPt45 z!!~@2dT7|4RreJ?+z^=dN5S7IgOTY_cuDC;A*Bl&r+rE=N;xS1bneBVEb)7lZOKg& zgSV_XoF^A=ablsjWVF@$@O*AGDj@bo$7~ocAlG zC%C7DyiZa0XqCKNp2Q}xnTxxv`-Ql|ve_4X;_uFER+4G-Um_&8e7WPhZV&HC3wGqE zE&8Tl%W$rA5vyla;jRN$GX)|wE1PsKt4y9)7%uilhjV$UQO#}TmEC7|?hZ~|){#Gb z!YLlB`#OzcIx|>%L(eKFTN})rFW#WhuDssmy8OvJA>&Hll@2~SSNl(R&zmUIWbw+- zbHCE_gIe7TUwW>JJ=v^gI7M4b%}L;*&HSH|f!jW>+$bCPxx@F=0}K7|B0*QJmo!C=aBSTa_Hk36 zM*QL#>M@(FOgp~nM5|BvJmrtq;?68Du_=F@xK|Z5eOh$iKWOKyS#pMpix$kC#>Tfg zUNV3G1>Q6Bg4Fpnr@go<@$>T?FQ+Ddu~(*CqM{1vr8k2oa@eg|oId?h1$T79bQ6c9 zNo-H-R<}RBBDCkt^{O96GmRaj*USu3aZD)?^qJFXnE37I){c~(>Un0q$3J#XI(^mf zv8$LAi)PV}#g?1}rAu`-?l*otBPGq?t?8+l_sX5K7yejQ*1bn>j-1gxwOrvfa>4JW zBp$xD)~;jnqs(vHHTHig3b*)ioc9dpRZ@_HB}QQZjU|p@#vbegv_3;b&MR3le9j&Z_aaZ(?8$- z?5x9YpJ(gi**4DFB)Wdl)B6VFBW&{2**V|S@G#~QlGMO;@Z_`weE)X z@Cs(LEfR0hIwNde&^Wz=OC#>7n``uo7mm_b)@8k&sIy*a+j`}=MFG=w6cWGA6Y6<$ zCE#5_&Ucq(SJFAw_MBz?Tqp8BPBg}J#*}>bouzN*z81;K%s%9__OHdN~Rfn^nqUR)eUq&8J1ZaSCc*1a+<`G#8B z*6D#}?)96kR%k9)T#%}7vQo0>kfv9&ew60bi*c?O`J4WvDqeodFC=d}B~tduet`#H z_B3d4*9tP-JF7b1&p>v8{H7^2t6%(nJX@aYSpKO~%*}WB|4&;oKjoL6=bU?PVczEs z-F%tOT4cp8al&|NKzZ;@Ey2b`pWP%poF|yfuVqR6nzwC7$0Msr3IK`<+?- zZ0n{K(x(rd@;{|@`9E9l!&-^>0-3%{u2+`JOCNQ=Q1ZK^pUENik!gv*<37>A7dv?h zAMei)`emHRdgK|ex#%+`QNh)XS&Js0`z76$Jt4?o3%jJ8{kBE#-W51)Z&OOW;%w@` zVY|w<`?F2FglKxyqKS(Z?6)llxFP=Icx$QeIk%Y_w@NyfihN;X??2*LAK);N#a!(C zt8*$}4lFJUC)Cq+ zEAr0z(0wV$NWn8@b+XQ~FMpT*$&2G-^A=inS3_B|VcSa?^`iX;W#$JpC7yPjv+;)2 zWWAZ&JAygFv%l0rEbuRWQnn!JR^DU075IdWYm^oM9+;VC4G$ysl z2B-ImJ^J$Rv2<*j_X)ku=I08t7fk)Imgi+p(>8`DE4JO7`|S4o9lyL(uRZ)|`Qt*_ z`eR=gZCUffbFFB+Q(0-t!qaSzgPi zGn+C0h1;?$$K%g0|6LN@rJ*k>)BnAo^Mw4J zb(h6K)707G$=#GPUE3cKo9!1U8Z_yA%1D*4eDC<|__b{U8+UA++IF+^qU#I(oA2u8 zwS`~ezPdm;RZ`sV!c5lVyN{Lb+c9;8>%21@ffh#bCvA@SdnqiK?rJ3cUwHOLi8o)r zuw2yVXtQxT=3KNTSoqlM%xBSiXKs*qG*!nv!MtzLqLc%y=T977`oBtX;VEbBLtgm@ z6VjizB?dEzO7YHS&?!}N-qm*Yj@QQ5>n%&WQr0i;kGlS;{S@DohoQxJ6VD~byS!=J zvSX>r+5n++HS0Fp)VEPDl4R%icx_ddnmM=T^*(ixA5op}Z-;rleb4J&TPeIUJ99e+ zLu2p@l@`v;Ym)-?mq(|2-_kZXrLy6D?N-;x_qQh=Wz)XRT^z62eOF!S>O%)8fA2N~MYx|O-ttD^7 zl2cRsZdhvR$DMsyqw@LG%r{$2c&n7SJ_S~ZY+P!gt9#T_;30z#(_WS*g_9Tf6qoOD zEo5f2idTs+4$(b*u*Xo{ag$Su)H3@pt<7TjIVVhlHuW#EU3^jJ-W9D$TV!~4emN8| z`-|UB-sFlSAvsF5fhPaxEOo*3aPb6*dvkd@#pr%3sS_eyV2dv8o*UbDDESEL#oVMqb(4t$VMRN&C%- z9nRClq~gsc9N5?T~ly+{z-$-lPi4Zt@8I<7MOKD-s4!CsEymYXkN?aiStTZB#ZqAhDPK|A1 zdbzg+uZ`-&s?6Ttz6&uv%v3por+9L-qyv(RGGqe7|q{zIC#phSKDt{3u&9h z&6sg|k;9zc)BVDB^2#5iPIDiL3)ynbq3i9uvkp1eHy+*Y5$SgSwCkSOn9TzAg_&Ok z+jh?KKNP8T_+`;)JJYV#oV|57mAb|6K8=h%A-3$r;iWZ>HaTAIhI0Pa(NA8TnyE5R zH}rwc%(IiuSG4(7zs;$2OVLw`h)mob`Pt{9_7;ok8!ufavU+AJY25l`@?zz(M!&lK z)vST7`Jc`_n4??5896&>zPjS{XK%hPcpMTQ#gzTIowkLh2W|$KPT66@yW8_mj@8!+_5z?0FJ$h&D(>!8$%cIA;ZHr~ttE)Yy*7}~E_`oFohH<~h_9+dM_vl~S zp{=-V(bBpC6IZ59(&wj_|5{y?V3{Tnr4{)!IIFpoP0^Rxcgv;QGRwX#S=wxGvbeIB zgVQSP?yQ!sMK3x}Y%@Oi%g{sSXp7K+uG3#G2OVzRY;nt1bnBTjs`FV&K1l1o3~qev zbXj(j+nz^%#9nUc^Z2>p_w27L3>1nHVCGHa{dt6?x@k&~LE$nR7 zZM{?CW{2wdFYUhjYhTux-XBq0etwTk+~S(*V*h64FNS3cMf>Ml-E%xwvQtH{`m_WU+bL?S)qy(~jo3 z9rt|1y-aoLA=B!h`_7B}>MI5BwRe2e+||fscX;+A;TZXoX^Q$JVN>mHgpy-3YRd%s8Wj5CuWsw!o_UcNu^m&F&(wMlQR_ndDj zpLsvSed-<8VC|)reD3@2HmnG+a|+n4x1^NoFGJ?c*=qm(K7Qa66jN(|$9?A}_c?hh z7B<~h*Z4hamy65Uxs!IxZQ2}OsrhMtYe9>1tE`aArL1K|c6wK{x9Xe|XqfZxGKk_8UFg^+5>j@Cd(k>Qg9iuzp{&k&-C%ahtOT=tm``9dhzS*Gt;=j0` zH%@C>_eOh6?=w$%6Rfv9@WHyjR(}JRoS8hg?|kK#dt0lf+aCyaDVp-K{IBuj4U2cN z6^I=rYV|FqFFXy{E~6-=d#p&rxO^zEA@AM57ztp$ssyxd#L5!` zqJ8XV+pDx()u@*`PC2J{#!mGsKT@$}@v1nd_LClet5R>J372NeE$UC?v+U~mwf0U$ zcURupFM6pQTY8z-rHIHK^?9^G#qgUahqmG2+xc$U_g}L8TfXg(L3PKWhLqke^F=>y zG-bJ(%`>{J{W-t#zqa{%A#VSee8apCcVo@=**q+lUNc$v?v@ws=TG&2SftXDuuoF7 z{FvXG!`ph5&qV()edDP-GhvS9r^Y)Tsp}pd-Ez%i?es*m#7&nvuOFZN`_=cR0`;Aq z<%%8a_W69U_{y{VSbC0M_-vCGzx9`&5)|AcQ2Dq$LcMwV#J>x}r%W%b%(}eW+ud1% zH>R-v>w(O&7yo8YWVeX$y&a@;>E;DZ{DT0|(QVee&Xs-3{6EHT zYAZV}5}2^VPwiCcrS*Y3RpnTG9`^GqalD<8?(oE4yFo`KY1^^N+?0^>D<1FrRkdB` zdbD54>%Ut}-diihsQ9Eu++E<#?tCa@Z*Se!@A)yOw=Nfd=@(+P`^6hi@%8(!%f*XK zj87FZnr!-V_P2?xj~2w6TOMzI^lV|Pemim!xdBYz~Igng{E(>zUpf&xtRFn^qg-iJp8SG%t}vtwfiIY%KWJ>b~-&Zt=fHm z^JP6D;ocQhJS#1{4}RRYK_Q@SHP;7U?>|RPpPVR}cKj{;3z_Rur96=-E5d;i`LsLH9DHLv5z=Zf++R<}(%bZ{(A=7dqQ+ z)ZX6yXx`_x!|JxiGwT$#>AyOkn{>di_X8+Hu=;Ylbjwc!n~TreD3Cl*8-E}j01D7had5- zm!9=}pUuqVFVYX5MyBZ%3H=awv1ksf;Z|41$7`KtR>HpW)|6poezHj_# z*b|;4yhKZ7<$jAzGu!x%opW6ps!}1AHSNi|g5aX(A0AF$b@)nVg2VP}Pj*!vS)O$$ zPPx=<-^;g*-%r>+(P}>XK5IsMCR=j#v?XdYLK(M)GS2f8DB3*x>$STX%m4OEt=}45 zyf({(SLuhdd`?%J244`nzcP` zvC;yim-F($_4i?2mjuV`#r_`&z2f@@5BeP{QoZ=72o>j@gv2x zJ#QO-+!M;#vL(bZNR+8t#lB?w-6aP^<`ks8nx=C`U^S1cc%oYRePgjXJ>@r4_pMW3 z^VUnl<*1Xb;|c4;nozN)ecg9L)=ZAQ{YG)B(XsuHd3*GD-|U|6lq$7M`>fLavL%HP zNpr;Y#V<*PSUV=LeQI9dBhmVI*SXIZ9adZPif^*4y3*rvm^G{SG1umf6#?>h{w=Up zHoKi>t~M*}%YylLj+9RSo>?=8PbusE{XG^t)?fa?b^Gy+9hLm2<-BSqrfj(<-%$9- z_R5Yn_B|hd{C0X*x<9`?A1+1uUSwbK`^YT|7e~fRNz59zj;reN zD?NT>clOik(;7SLd6RGRTX)RRbK3l)s@B(W%cJeiu{YmtyU$wTaoO_s_T181)w9X7 zHeKb`^msX37wfDxNHKn2JdrFS_$^MgnQ@XPF_S346#g9+y`gbud=aE=&?%T7c zHNx_)hs(|qHD7yS&T0SmAML6fes6C)ugkQftugCsl~h#x|6h{r1`+YA^Gv>-%fFMP zcWLd6{vT20*W+U4nko9>B)Tq6XM3D}c7re|W{eUdhXvb+@&3ggW9_?tfbtV)r!WZTOQnVTX${)jGb{&HyE%WHAUb5~|B zNzb?t5h3oW|E7D1IRAc+Te0T#3*8uG1tf199Pi8Rl-_Yyy6W1cBdvzMg)>?+v)8}6 ze$RI8P5v#nQe`FZO# zc5n84C|_&cd5Kdbx_;tky`}S_%B>d%%rQ+pu!XCF`>~aQ+$Gnxu*cP#rzK2vDsbMd zsk|)oK<4`Gn#@aYMTRLqH^}96&py@r@`{ws4&Fyn`OK~v?!VZ|Th?!V<6PPN@7L-h zv#TWz&gOv{xz9BH~)HEdEDOje_E9ue?IzT z@)=))H#%1=%g%=gO`g5)RL!ogWw*Qj-u`8tT7TYKPt$no#Y2}9sweZ!Q#mhs*UH@> zbhbZpn(WQC-!Cpb+GUoYF8^g;tonb3n7>`e58T?fu1~USt=Q%~Zr?{!?a#)Zzs+{( zp4kNHeCZQy>)5l_ZddV~*wu1%-X6}l{9l}>0#2Mfb>xEPS+@i8j599h>?s%eQfnB^ zxpNwCaW`*vmDkO$Pxs!*cv>{GsP?~5v7DK4`v2QT&)aM=3m;jr`IsdiIFfcCC7I1f zO2R{gmzrTwcNE`(SOJ(d?`vVXO5s%u0`Vsl;dP)7`sb zb`|fHx9lZ13-?JX@!CG;-)~cY=xltxecHXhb8o#%x_Dy4zk<(auDreT>Z{r7`ztSB zSKhSjviaHfWxKNX{`xAZu>!;3#yiw=HG9d&8Om9CrqQKG&6E7r>g&9U zaoX|g6RTX|`D5DFO!3BNWYlEkzRYUB@-N?f$r-L|vi%xQZ=4Wh{>{9k#eU! zN6z}h)oziZDX(*{@3Bc0U=w_&Cb7MKtx?#HVlEp6ZeG??6Yv~;GtTavD z%KNc%#gc?OTu--Mes6hSLN3mAvq#$b?&hb@1b2Ntkd$5|7t;OUOtJO#??+_{=CeIt z{PW_J!uitT);`BS3mbCk&0gnxEy8<=Rlr-T89mh{rUy$mzCZF#R^h_>*!z5|UWrV~ zsE(?f6U#F3^0|*MPrhI(dnI+Lf#*rd$F}Z8@7h24blP2c%HL@l_lND$%Q&lSIdT4Cp6R=`2rczi z-f6nxV&+D-r2>Y{w}kp%SEgi?Fyz16d0x7yIcsS)$FV!9+d0yNH|GW}UHkF@cf@z~ zIj>KgW7{05=rFmfGcV+2lC8R-+qfZM;d%>+@knCl$OvCN^!?j!6AGst| z&zTk=@3?sS5_6?FmwIz2ZK~5T)I2!-+Sc7o9`mAjRwa5`7u;U;F*xI9%Qx4U9r-OY zYc^VRtF3=LKe6lMq(0sohP(2vD}`2WIKN=U@w}|wkk#rPzl;8t>3SEhK6~)Zwyk>> z_&*iDRC!_9uaa(#<|iv{UQ7Acb8w*Ewn>&E9V z*S%fi>|Z*=x2Ey7Ye-bZG{^OxU*;LQZJXY?Z^q7c{p8Q{_9o9_Pf8Zz2>h{p>67=( zN8;DCO*uN(^=;g<$SV^+?>M>teu3Jj2dC%1-?lO1(xFgydwP!B({<`bi6Qj&K(%uCLtG&H+SMT`pGjC@1OrE5Lm8(Olo*tcg zq^tgTtcjJ}`q@cqR|p?^-6jw(^@CeD(de$$BFoh|N}{FFt$l|NDqnSvFT50f*X@hh zp2{|hm9wp#CU))Ev^xCJ$v-AWVTnqY8Q$)*;8*yXseVVcCqy%Hx$>sP^FB(Xs89Hj zaz}(kAdX*P<@u|Xw>#PbcK6p^dAn`j6K4NY>Jh&LMf)alpSkk#aS(HHcXz|4RjEf> z*KOI6+n4d*kkNIov8KIVhW*E&(-!YH?cKh3-@U!x{y*V8RnX3yZs6D=qf81ZP<9Xt{Ro!wNfRTVMCOOPpzU-xyh)x81+`^NP+NnQIE$j&UzI<&w&# z68>+kvEC2BAHS}CiVg4w#{N^{i z^69c1Kdk4KUuM*(7hk0DANk~)#NW!`M1FMW+#r3Hbo>9+qk9ALC_MdV)&!DbciA(t!(?ZQ3H;?~+ z*{yNiKfUk7vx~*^FVtQ6-Ibkaw_>J8EJtVE`ggmgFIyFS>($4jyIxA1>pQFT^y=h0 zD}tJDRqeU0-5Fkya=5T?DZ57BUw7SIirYn3&GfqZHGb{X2ek zQx1FlNSxO4^IpT`2RcnbR;CB^19O&$vq`3I*qB)Iv2EpxI18hiYyt6$#yeK5DEE*0 zKX1!H+sx|TxBA~TxU}XpY>Lou{?Zq=)9~GgwuQe0>J_qIcqEn?tyr<)jnp-5cdjN8 zmC2n^Q(pnUZAGJ};dyPWIm4oo$AEA`=~ zkzuOw3*YBKb6CUY7N05P>c9HXeK? zQ%dOUm@OU_)KxqGFl%AlmA#BNmRg8Uf8=$i<6qu-g}VO#@B3%et$(!Ackk5|w(5mo zGq&fsEni^}FFNbvPX3u6iogCen&tW8h2J*o3w(v?Y&tDd#A>*cq`tnEL^D>cXopK!6n67&$L4KaA!(xeysN0hg3kus2bnQ&mk{ofG2&P2OFtBOy}Mmy@u?rPR2M=m~8TKH~(##^t6rUj>-?`Q9qx0Sn@ zX_8=N_@|Tg-`YR-#m#I=4~nN5EvTM-Fxd2a`l7inWQ=Ad&F;Hg_2<#lIdLa+B!W}! zi;GAUB=j@?{&zAfrFZu4^LL+3vy|H@`K4~N4-tL3~FW(U3(=vuZ+Luq|r=A7iai2>)!l{nV~YCKwycBdmU zq4-nkgxgx@UVPGc?m2tk&AbU0Z3FKu<=?z=sn(${LeKIG+d2bdcQ&4U$n;N-bxp>t zg!b3nnFWlEsrBqvbh?^%&U(aV?RE3iE-zXBX-!Ul6QWw!4u%Te;ucGao~G7c>EP6# z*Ytf_lGeH-Ov_CwqW))`3!Ak4PQ&L#jGsS7o7&Dd-`Z%F9`tlhdghxrr92n4bw_vJ zTI=a8cs#f?DTd+SLW83TnXMe@%sx^2>yOOb_$sW#dDhR^V{hi_+uagi7JpRiE6L3L zNPRnxbkY|^kGThR>>^&baR=k&=p{(bKp$F}|t?~VWb=3K)yVb7LH)2F65 z1Z!)R?(9u5-#)MF%NiHq2kj2=CLd&eJo`COEcA@S`I(J%JV9QP_Vzpb-PdgE=6~e= z`uB0Sdy#7`BJ@q>xLckOKNHq>GyH4WQaQPY&v!+Bzh=G2q)cO)nX9a1=Ie!-o-3bekUmO7`US}C|bzp0OXzk-cL0b_09!u6ka80gGBtsoyiM}+O1s`Hd*XICe1 zK07;Uws3vPN=fc8?Gpks`%WsPaSHivKF@p5r{s*w!3}SJdQ}Tu%q$D$i0$HWIdVk2 zc={|em$@^Pk|j7b-YPHII-yZvtE-#wrEBRYTh(iW((e5+x$*M*pV%MAv-$OY&+7cV zP@u8a#u5a2nEo1&s z|9uzcpVyvm@rNhjhmEA=E?a@>ZF@W(U7s^y?_!R8wYZ-i3|VG-cXideiI~p6lqq$v z??}NKiIp5b17$hGu8SOr;902JGR>fDj{wJ&&IX}>c}jX$zccLr{bTOK??RUXm%Wd8 zoM$d(t|hvF@rb8vW#G5qACt|QopoFFYIEM`G;Dm;tz@bloF9@UcE>?$rsvlUTF1}% z#Qa+Hhw0k)!h&|yaE=QzPVs@`T7gt2|RZKMTJa{8;)uXN;(a#NYSUHVYv}8AXZN5b>6ftY4hJ<^9{*tEMNm z{GK)O^U4m_4)cZ%kC;!Joj(?Szj!W3UGfo6P*HeIOvDGPlxxjbK3M21I;6z4S0iAG z=N*L>Uj1LK9CM^B>mrZn8`e!J+cfuy#@)N@e%{O++ZBCu>IEDAaUH5Fob!&aY?1v^ zXa2X=;{W`b;?G=IdFIgSowr`kb)KzuK}*A}!RmIq+u9v()#h9-%5|FcmhZzl?VJ-C zg(_d=?laxcIxKtFHB%>Q%kN_`OqaD3W|tKeG8Y@Xm72{uXY<;w-l@;kA92+$5c#OH zV_DGp3pypCc~9bgKWLsMAG>9KqiOa%zE6UZPxe$kKXkuV%`P%d`+BVD!LF71|3W<@ z9@%hnT0E_(k~(1fYJQ)C>Cfq0|G1k!pL3}_b9?e)1?9Yo)mI{uB;QZ|F`Z%a60?Hd zq#3hU{eGK&lqZvW(wnv=-=ifA#os=NtPElcjz~Q8ci-#-FJ^Hs*#Ayu2D5`-mvrjH z-%R^G4n;V>ESJrwViDlZzkE7Qbq>?{`K$a2%nyH2ShVq-h#iZ%@WnSLA75*<z24^-2d;ZFU#Nm|7UxDy3$-_F;wxCd@4Zvwu=TbdN1UW5WO+MG>7A5% zl;`YSp1@yM>%S_rOmv#EC4wbs<*j#-Qw}dE$l_=AoO4m`O-$21ZSH3Q^9vcc90Z&! z#N?a9e^}4j+Whz28~@*rl-cb5W!9&x33pn=z2W`&jbG9pEuOT4``dTlR5$%%)28M} z`#+rZz7D#rt=PtKv87N&_pFUm8zwS;OR{s0U$rbkmrv}_0+^|w< z-ocWuZ(dw|F>|Ao4ezC-GZows!Zz8*>#7;GS@#^Yy;G@{r*QskpvA66o68?Fe?L>1 z(J%aCV@>q(z*+i%v*WL9=DWD$=Q?|5t`i3&_N)ru`y%sz6XzGMzYoQmG^U%c=-Xs} z_h`=#R;JjZY5zPJ=5fB|{;cirODxc(Z-JJ!@6Rh!ykdQObA@t$E%lgHu~l@dXH%z$ zm7?vW#ap(hT5a+#E&J{>Rr!fu*SRfyEqjhkk!AmSLcaBt*p4&tre5Izo27nzZZ7!s z`0ZwS|N4r*&mOP-F7Wf&SO4|%_TIO7|9ZaMobUPX=kK-t%OI$K&!+nKyDyK=FJB+` z@5igto9c5;{F9pBEVXCL=WhycZ_X~SuTy(fd70(KKc?yY|9)IvJ$?E4|9m!w-uv#7 zInaJ@M{`WrfqPB-3td_HLXUhp{Adkh;GcTiNxd4=)?{C6x&Fnn+wv~QwRdwqd#uZ2 z<@Bok-KFg5wd4P!b62V?uS~ByU{uz&zGJ>`l#)(=;I_QYq26bXm76AhOB zk7D*(v2WNpbHXF;GXk2K>#hARY2W#Au-zs0?}Vt^pLVNCXu31#e9$#9XFvAnwu#Z% z#hs@<^3C2E(B>_Er@?w|wu45aR#9=xiVC&^_bxe{(+l=;km#^p>?&2eDzj|>24D%jrfcH+~&LO8p5?JS|M@93-!Nu zK5pY;OmGvCRG&YPL1Ra9Q^q2t?} z2VJRoa&6t}4;)Xn8f^-y{p$3U#gV7-f&$}7uK4DxI2Ex8aXFu+zunhjq{#m7!K-?{ z%^MH!Uwa###3cOHMZRvvhnl@SPb!+eHSxcav@E@Pr2Di%?L?oej(1uAWJ-8dyneO( zXiW`YsQ#W(gS(!AuZ-`Qe+w^Y$_|?`|DuwU+w|<$x0t@HRhkFl-U*Lm?+zV2z?y{iXiF!(nKyK9TwUhB8|ZD2t` zLBpzrhAUl~o_5k(;EH~5qKU1E|I+-$Hjf-^^t zzbx6n`1xdhPwc`|H#C-RsmZ8ub@yf|=emCMl1!YvGS9&~MfX?FV_DO)x%z8=!MfQ8 z1LALpTby-x;gHD@UmLgj-z@nh=Uf%D8&vkq*m}F|<>dQYo(BK;W%_lIw}F?=lnOEN zf;an4hox`1a&Gd@=hhb+naw>PdCsWTY^fD|{VI9)uZ%h2tB-34_NK;ut=VwIRl!ti zty&a^iW$?(LOy}yKZ|W&v}>&kPhvZqc_Zui-Pw=IPg+mj@_+XMd+~!2cfabdYxuo> zOU{0y)Ze0VPa~)8=q&zmAe5u;UGctoN*~V^-ZxszaKpCNC+z#a=JWM!`vp%_NPMi| zlfCxk&1b3Vg(nPNn|K&*ek?bCSIyJEMS#!wQ;+>#R&msx1H z>~-6fy>`z7?=`(#7ohe0;O=w0Xa43}dw-N<6y>?)6s5kqx%Q*tjETE{q!+R|-U&bS zA)AAlOTemCVCVG1$K#te^Zlq}Sw8prqshU#IwzM|v~DY~>8`&!y)Rn-`%-?tBfo!N z`tEmRy<>NtDEBLlf;+Z1KGwa7`F(g^h47Y)nN|ER;;o8V{=VMZdZ_AyPUf1A`iFP^ zP!In)fvHX=uHWeJ#Fx&$eV^~GxchJGXU-)X=3e+0{(JqLEi3$)4nMT7H7w+MqB4np zX6drr%N0#V+SP)+s#~@s^ z)%WM3-A9_Ym}^xqJJz0AU}NZ^y2r%(fN;b4+eanO*z~YR#5_+e*Ic0UWADe?ta2_) z;@?~uxwrm$@$cK5tjbWUuTDKb9Id||x<0@8Bmbh$UVDV>=Q!x6Efqd7f8rAHXU|n; z%$VPuu+Tm-Z1MMYO-IwCjQWfgzcieVy6Cj17F=)({^h;s_QlR=$!i{1Hu+@F-5eA* zamj;w)`r!7F<}esJT2erJX`tbkMP7tYnwRZ>m7crK5%>$xBQBb-wrR?tB#3VBSSNSdNPfzr>{a@yw-kko(>rb$ac)e)-#eF`Pu5{JZFSWHY){UIwn8YbA zq;vbEM#%dU>H;C+uUy`m$u2j);lp&>OGZo6Vb=E+yhncn_G|Kwa{ zS54`6dPk;e-U^nmoUU-|;9s7){1XnX*YmeBtBLPE98Fd`ldXiD`PMdEAu)mbddhBp^Z~82L z`6vAoPwC8zJ>7p&UGjRw`r@AQ=uC-wMSnLW4_`EQ& zF1dT#Up^LM5^`8HS#^^|fUwyD2md|HuVVzI{=_g#98BpFZ@M%)CFId;mX&|G)%G^1 zoR{C0@cvdqut(+z^9ddkI<9w#HJLG9+;J&Egyf!ooT&5ne)dC4$xW_O`*}E)nsMg_b^63~&785JWNNI&GcJh|rahm{ z?_SZ9e$+5m%yF-yjH*!O#fg8@)-AF7F0gK%eq!W_`l>JNtMq)s9A}*uI9k5>sOu8F z=d(`eRLl7;o-)VEd1}ob$r;-Pg72JS?Nqtid*Oz&`l{;+A+^+6<^h}|KYF6yBn7Vp0Ar6U=)8OIWtec<-yOn z4<@v6wv_HK^UHEioAbb|=H2DHC$7r{>^`<6?jGAWn>kLGH*xvhYK<=|GW_s$^5IV! z?$<9qOi-6y_O|F*-=DcFmVGG~s#1whdbua?%HvJHPF0J}y=?6m|L%9v{_Sg(QXuW)iy2KSvx2;0?O1#CdoG0HrTOKvlz=-HBT@c)UXKq(@B4J%(U&vF`53JF9iHVJ=KL0u_CQcUk?rIS zzBIP~-De6o+EPrn9NsMHbpLMZWRqFX^;7*GIbQvg!*)64Tb0)2Zj(9jZo*ef1VT#c z7FZ}G8V6r{*X?q*>gk7XOARKvd)z;ss{DQP<lC_u0P43Px z`O)(FtjxJNJ?9pi7uRz-oax*9 zy6EO(4e9qsLhhGtq_ma*Go^%`%%^YYH69k>HDor{N>}me?!hKIyF&Bdk%@Mqrmgf`}Ca?0ia)^sPn{PMIo;|{jj=5W(+H&vl z<5@1Yi#_32y*Y)7JfV`{Alkqa~K_R<%CPi?Mje z7P!11{;0Q7)0Ws8$JLMdc5hl`%-_(|UA>?AYdQb_cZn6M6;X@@ zElVnXRCm;W4?R;C|2K5!H~uU4kFT0@Tx(VRiaI`a+kdu8;@1e*fB!H&JheAO+U{lN zvA!d^U({#kE_|%@zVN-a-hc0Br=OoXKXcEet1FHjUewuf)aML$_PU4%dawMhOfxW7 zwVs~)bc0>E)3Zg)&En7XEJQ`ld@vF4I_5pqjMpZganpDI&1J7vzj@A4(dWeG|F`9F z_qU&%JU23LTjwADH~-P(iIY~$n8_y<*r{+@IaX(`!YVOF`_=lEp9`loF)0R@mjoQT zHC@H7*=Sl#*s2rFWnHd46x^3Ng)?Ek zRG=!S?o6%cPTPKO%P;qrSikM_^n3SsM0S)Vndc|=zKM=l+?$`+E0venyGCSzi&5j7 z7c9|xA6ee#)#~Uv(HXRfIlsfRd5`Yxdv(W~YuAMqkG8y< zZ@;g0@uq#VRyNN$E*H=v!E*bs+=0LV12d_$B7eMJliI9?+uG{oth_!&1i5 z^6;~2Jo{JXP5Em&Y5u~RCmojz>+%;Q>{(H;+uihb-c-h?v(sa)-D$rQ*$Db783 zrOe$!68~07_XjR$n7DuU*GAimT{CjDeV&F*ZAx0bq`x6(*|SRK9FdZTr*>q>CSJV% z%6mgC+m1xL7f1dCJ-u=0^)H8$O$!ZU^G?pzIBmSDqlcLz`Lo?dg;lOMr-%Ig800j2 zvCqzDCoLjlVuaH3o}Lujuu!XI!{x8)2X(Vz5Bq4WlUTNUdee?12`7Wu^Y|T`GU6n@ zg)7gtdc)CF+$XNdKRKHDpU|`mwi{)>?P%KcLsaib%SEFp;TH`41m+*y{$lQ{&{UVD zpR{(CEn%5$!1E+#yS8hJGjC*8MK+ z_SBcFW@~BL2ShRi9$lJ|xBbJCSKD{}NR6#I#dEsL`Dsbu`8@w)LPv!zukZ}x(led0 za!;Syr`VYvw$$55eCz(H+G1(neCAj8)u+$YW<^HM-M7BJwzz_A=ju}ne?>|5U3qS! z;(GCG+H~*aIZnr$6}}X>%<{7Ks{1an(E8QGpr7_1EDz<^&+})R{`2S@VcE}`hZFA| zogXf5*B5lB@q)I@lj-_)duG@@*^=@qT6^`Dsw3y+4m-)+uQ&PlxBvY7yXIx@A10l9 zKaXq8Zk2?rGvWUV{(2r^SNfVTWzOgBi>I`wJ?L|1?3Dg)puGO?$32G~EV#=I&U|?# zpS1bfzZup4=UtxAFJC73_4NGvySBAt7HvJa_Wkq?9Wz%>m)z_*>rC3KR^!-fc@y_} zuUx)gZB>ZFK2Cv25?Qm_#9w(iMzVLTZ1s;|{H@m`&Gj!8XTTmN$FI-wU*>;~E7nvo6_Faj<)*$<@Hgm*Y3Q zsbhO^-Qw^0#K*jOiyD&>&75}fWZ!n>{%-zkOEcHg@28{0i`N8)i&wRtl})RBWv;QB zN9yaHySXiW>(dWJ%w^COyIo%XVd1?uQjV;K9Z$O_%Cj3vLL)0}xKP{u)LTT8&v z(z#Ay$-6hK;9mEAmHgG}dt8-wB2n+Zv3rz^6S`<=bQ8Re2@c7SI}ke;&RSCC(ew#K8!;Rd_U zHs6sClN9RzcrW<&(&?N1or7{0)am(MT4g1^ee;h;z8&5NTzR^LZb^TfXRj*U-sy3P zL+8UoA79?X6{#U5ace!kGKH&LQh2$nXx9vn^PfDrT^E^u3jBGvTXj*kzNTzt*s-_u z6~!OZJeK#AXla;At9_GRy>ngo^X7<6uf=X|zU4N#dRdS~yvEw^tnY5QZ1k~>w%N1L z;A70ryr1H?u2+P8eEK84L}_aBgWHp@tba9ad4M5PM71L04wipqsXfw$a>srw=2n^Q z^v-w6Q=yFpOET8*IOz4L>P=2ln3k7m+%ZinQF(%9pjdA}RgC|;_Jyw&{cen4@tJ*~ z!X~|!p(-Ta{NRnlAGr>G5ffW2x#Fsg;5xnr&i>LSJuXa!Osr(|rMvWA4R_CXcSMMZ?wg?3H z>4rJwdaXQdw)|f1LzVSba<}`UPhUunecIp09wf*d+07DGs4w*6k#<7jwe;;iyWFy` z9Jzj3oPC3H?5SPTw$0c+anp<+4Plb0UiWoBmfq?_GV9VyF2M{5aPzfZ1Klm!BbVfn2TgA2|BB;balDu?9E9hugU%l zTe&D|75`o@8{r;HmV5PYCH{37E#epa@O;UQOPikCwk7>%Kby(qzjEs8mG4{)wf?JZ zmhr!PX7$Q~#a?wkwU%7*GzdSwN33Gijom8D8SFN1AI`T^ZeO4EZqetTqK77^iZB>S zXRK_PwkN7(`Js33^!lofm#+C_HYfjJ7UTCX=anBZL@c`4$Cj_syjp96&mLE;1vj)Z zR@KOqH8yrA+?{6sWsy@OhhFd0r;EJxD_1_%{q@8x>!0B~s~2e%9-Qr(?d7MAa2K{l zR>(L{SUzI``@=|)!`C-zepXhjJYKU+XP@?_c`jkD%U0^7a6RJ9+1)IB#V+~JMY{5Q_-CR!3rWmb0Z*=d|!UI>+H%{xVQRcJ%_+mL*Xv)O}R_i`- zeu_)&TYJXj?5dV4UJJ}RP8{qywX($6(B<*JZzo<9PP`pF!F21C&A%BVJ}nHGGn+$7 zE8=5pJZII%uu8SnC;InHkxxum9j_DcWzG8cTc2viL`Iq%mlc;W<#B9?&~ajZv}Mot zK5w0$jxkNHyeYj0MUUTkdidyxCl`|SGoSbfvS$h|D|-}hzNY>L*VVPp&awtri8kC0 z^SJ*gGx5Z`tJAfGI_4!GnXS|<{@dm6>RCk*EKc7nb{%?J!oVD!d#i9d+n*=mmjv6- z$Q*Og*s`g;(85pcSaN|xyK{cycGeix&Pk867``cliLc92s^eVY%pogwLd7xElFD~L>6I_raHl7q{>LwyT4o@AU3$(a6jsaDS2Hu)|~ zsU5kq6g582Vy)Fw<2idpCF9qI1o1~s2bZmAE9$pD-Th89yh}UDv@q`D>4`hfw?;q8 zKSX&Z*DYMk(bBmU~^KtV|jIq>b3B*@A-Wl z__I&P*4}Q(EJ#j{>XG@(wfv)bu&cWPtAMkjqRF<;E?)vh=Z_}(# zpIdLef7@P}(5L(Mf9CpEzpMDw`$L{J9Wi|MUk#VZe0#dvS!=>y?yKe>)ZhP}yJFX2 zH%ktIGi3r-H4o2~5n0uEPT+cahIyJtDO>1my=fb6m3%t+EXc3@?>h${v6ow0F8o_i zDRgR;aKH@<#@I0R1+HgVOv=?3cqaJr@ftH{CfrhBlhl8ew$8io>r&(EhvfB+RQ^3< zDnGTWAS~h1+{SO0^%kqY`mH%*y5ox(2L6gn!hxY-``;$;%O#pS_6f8ku3W;$^pW#L z0~??1y0VKqj~woiJRAP#mRfX}9-G=ep@fA&{mTu$KiuYdFLbVM-BtH9H)i|Z58cO8 zcXw{r(tlB1Qk z^sasL(~Il9*7V$CO}!V?pi^G|b)lK?ZK0d@R_$B3)Z)kUzN}YVzgyF*Ur9LgX1+Fv z^<3qr#kw|Ul9yz?gJi&_U4q-I&5m&J^z~diz_s;r-go2ZeX*`hzc&AfYq->uJ+*5| zyPQkvi#fqtPP{kO=W<#6EpUDO2CIFa{ZtOtKXzW$@b{fGM-RvG2b<n>D_OF4W@)w?Pv%jsV|P|wm^)*&+mr?!pOv3P-aXLM`;*+QnluO@xR!~qIu%biN2%E=k+fd ztNPhh*SVKX_4r)g+t=B=sd{qRcJ|`Q|J?W|ynFC*-8{X=b9e9xU)r~yd4UpliP!e; z6(3mo@|XWx;qb-hpVZ3RON=kd%5>CKZf@vJE?7N5YSrVn9c%9IT`;xvdG>49b6LqO zA-k_%o>-PqX?*{dzMP#@$FH-A9=C+~KXsPe`%<)5Rr>q=?{&iKJ#HIbx;b}!&IS9^ z3s-Drz1GQRkZDvLFQ?J-!Ev2eF!!!>gC)n-23H+=eAR?0yh}nx$AYcD?8SQVlUHq6 zO8mPL?TfUxeyg~_-sNAq!)eovz!w+X4td>)R#>xnxv#c+p0uaIzgK=7k0%~o7@kz;QE$3C_>#GYT&n}B&J(KnI=g(s*P7h2?iWXeI)N0YKvAd0F z>MkFrDZvdoLhs*c2|BiNd@=dNZaMkIKgL6i5nF|0A4&$@Y&C|TzVG+`vgo%lYeS+%xQcl$MopKS zx+N=RKV$vYc}aKr`w~{m23KBQ5EVW#dRk~=N!}KQe&g8^y}SMUsdv&Mr45I^vnW3g`W~aQ%(&#zyZ%SY=N8|4d30`xORW71cK-># zLVR~7vYva`$I~eDL7d;jdGCK8r3pUK<9tEN#9L z_#tDzdDfI4kN@mob=q&5Gx0*!+>D>^?OdKdidkj8Zug?TD^eYo%)Zs<=Pv$tisSjU z4*3PiCv+ZYs61tAb1Y!L9OyMELbmh5(*+moDa7t+;6FkzER2`L2fXS_Zyq z+@&)a!ZV%Obk*MraP9G``#a0%?wgP|>6PC!PwiipvYn;3c$?!vg*CIf>V6-5VRVY$ zYF=OT>WQA;mTnJSKJ7&F)>~nB@?trn@CPOt5a>iO(wAPFVy8uA1S;ay4h` zEr~0YQK3JB)_qOeG5N5wU>DbAjW=fw8FO}Qw^I`rH{QAQv}4Pz8$TAT*(|p=jX%Aq ze8=qoC9j9hb#IrsS1+}`8}+Js`YAKF{;1`zPSvZc`g&$B=biFB@$8QMg3AM!O_t6z z*)`2{>B}nJW#QXDUphHof#Xix8sYM*GXme9kTm@;EiUOvm!oaUw>L&dkIvTLr!x8E z&DEx7%OkEm&!jtA8XmO_4+lE8HG8` z+rP%_^-{O?m#;Z&d$Vx=qTO*5W7qTepFG9N zv1#G!=Z7wod8Z%#$8&9My6_EKUiH(8@A4;9AN?R`m8QM&k8nxDV$-WzVhSRzN&e*d z-+07!{i3(^1rM*jJr%fpqP%)VW2yIp_FaeAn^PK(2e3_k_GkL_H5IelBZPhncyIcs zIBm&80q>-xJC^NdkN9G;((!uE*536&*K=eRMwo2hf9%fGn&P9KY`bG8zccDKNnQ5p z;2gtWE-EiY;urMjFRC$|>g3+Kv&&NO6z8J<5g%^0%u{f0yLakV^W(%WHN$H2)1Px~ zX3mz;Is1F@wdqb5^&-0;eyRF(w|t%TOuw(Ls*9#AyK~ZP-R(C^(#tRGV(uvAc|DIm z?TA;C+4_7F?$@P#lBwT1d$XKX-vu3O-I-q-a%%B3-Q)xFr6by&D)#*JH!Z&!5o}TEyW-a(&7~66{|aK0H*DX(O?7Ye zhaKBH!_EsVi+UC`Q|I=TTCRJ0mp=5Wo4Dw~{Vg8uDKpQ_T((A}cIWyTyDR^1dGe9B zG^xD!3*)Izi|dYvdb^Ea#QXF|*Q2zwoEC0&vZ#8pPvoGtTCr;-Z|MP+S?cI|7{ifWNNHne9g^6KI=s^KIyv5I^Ci)SIF&F$FDnk{ zuIRj6IY(#z8D{lktm#kt*i;@r?MvKmcr^6O9L68jE302iJ&aoY&i$%f-Lwk@y(+J} zFU97HUJX8HVPf3G$SzqRm1-fo&*yNrsr0IIbE8asHWhMe?2wuF@u<{&VTZE5)d90U z$?`IO(*FOsJkyB3(`Md&!>t1Uf3NuZ{xEN5v3%Ou=o9?!Ew)c6t!=-fl6=-@e|`F` zN4FQu@c41Ex5_!`-V6S~t(^DL|9jUI_S>GD;JCwtA;SIUHQ(QC(WUMD;YTxDUD{6< zDY_oo(y}$R>G_3!Zu%@=4(bT8?sPov#QV?K{t$cx(v|8e>iv=N-f-%v_piV5ue47~ z+$YRzw25QsuajR-+}Aw3@cy&o*F$aEot58smaZ^5zW<+J51%LJ(zXd}&g(8)^gesJ zl5nZ7f?dqAc$2r^TdrqqJ$w5{?f#lY=iSpU#-3cN=E(HrjqLYoXAT(|`3L9keU$sh zbLHsABK64Hy_~+KUzqy@RSdbp_D*?NwC^6?cFFAkznU~Bxx*RKx z@95oH%M`rQ?ea6_8Iu^o7Ht&RSG99zPr%aq!7ZzfJS^*-_x!c6*yi4AQ)k6hO`mkT zNqyq%iH^JlvSv%~>8AI&?GjUDpZ%})#tci{I&ZJr(s$&WPqkm$Bflx`lFU+$ZTmQO zd_0?_uvs>({yh5}O{H61J`Rk2RE&6Xd z_EbOa_P8$`cq~=zj?klN`#el#j`wb;-Es9~nfu+6i>C~Wmd)z3yI0(imHy+k@;;vQ zm(v5?8Mn=O@~CmnmdPu>Y?bZu3AvkVbo{vZ_w^mjr4HBT6x4h(zp#0AoTA77drxGn zj+8ADbg0={w(p?!wP{*AZ1P@(?^|YVc*pds?aVlxyq9IxHPX}G`y5_V!b(65TTIjXO+Sd(ltn<;H z{asG>f0gr*#P^9>tLntkiuW3H#?Lz&GH-!Y;*I6u%G*Dz54eBlkldQ)k6rHfzr8nE z6ZW_$uwuuvqujIfofhrq6mnzy`gg_pgJt|Dt30nKeGGD6y!-eO-MjG?KD)l0I_9PF zPM{#*inHU!tpEH~vjmog%C+WSc_aMv^n%^T3rp6wm0G&`f0-k*D1O=}vps>~qO5=a z#&P}#I+UW=eY=Z|eZq%HaU4Z#ad~`uV)RcGl{<#*zjw)7ckii3tk>LYUNf#cvH4nD z)y|_9wRbC?I?3(3^GK<#|LL@?8)mMpyl~{?6A!LKf6Ak03o7MpV>ew;@6T)z%)8i4 zyl~RA-#lOLZT7Ke)_ZQbBtIf`2#q3%jdGC8We@x7w>(|$C{WaP=`+3eb zkGnjJRw;yqP55G&ALIQj#!0cN>0?CvbLCTa)YY@AZr|LmeB5mN@xRgAk87`v%w2K$ z`lg+;zKU!}wEKED<;@JEnfVb}OB~nK?r}4`Z|xZv;4iXY?bU_ir*W-mCCeK<%`2H) zv*M@j;*L6-^84JqNiPEW;_ttErnXw-?#oT@L^u4d-n8kqXUpU8I_=u$>-@7WE_E#9 zcdUGwmv{Ll&js;InXC61m~QyREckS`d>`AjXokYTP$8FOwwGT%+WqCo-^t(1@@`xB z^(RXO9JCv!J2F)o&EcU;Wee+TQ{L%*Xyeq{MJ{!Y72WqlkS~+`tE@I)Exi(M-|r( zRjo~aJ}Lj`CKH*&n4>+f-@ocok6-)HXj=Shb&hF#CuV&3`+?P?CP^DFHN%V7Fp)U={2K5<~iDTedzdjrq;zGBR^`k}+|=evpA&!d;tKYOvc_iFwN zpF)ct`_CRKDEJV)hKK*Pcw0aF4!sn;(&=qZbvGXsoOLdA-DTDAbGyd=C0UHigckE@ zu}VgA`~PcQjD5RvN6p`+_upf(6wl}GIgu3? zZ@PY3!G_4`N9ND5sqhWE^CafEb^e}zfr}qm&;80Cv3}z0chlG1_)?>H_IkULuZy7h zWJBIv?baK_cDy{Y%l9R_*p)b!Tn(KYlG0cw#HZv`7&%jBee>y$OXDni z-bJd!UDM&oe)rD*i0L{xKZC24ng$-Pp6c=B2uCetn|a^mTd#P}$5V-O&x&{W+OVAX zXMN?{S<|w%bsK*D`l@@m{IF==lAn?{%r?#NUn1(q?RzjT?u*QC_e*sz42MX%Sy`?NnzlA3;8sd@gDh~W5H_nUC+v2<9?p~hS;Ay+I>QU6*Z^z!}SgrngGko2(%q#VWRb@jz zSg(IoAjz~r=1dZ?zXQrMxKRNzc@yvYz<&URtpSA6tUG>F7vwg2lF13x% z*|4Rj?e?}O%$;+aP5aE=_T8_&U+`JHc=qz3V)-6N z_e&cuR7%vJcxvO2UMu(U)$fM9ZJI(y>&5anTd%gt_ErBn%g=26OP}~@r?zk9KVMpR z_tRCgZ3 zIv&Pz{8#$Ho?JJjHtf~v6noYGWkO8r?OyR;&ENlh2ZznG8HbM_wt3NiE=aOYN;J@4 zVit4%cZLXz=KsDEV)JZhUh$W)zeTA;zyAid|zl9Q=jXL&=yc6>FOd3M6%ePO?LyY1K?>t(5Y zJG!v4-|WE4s{MIv7oM(}&-`S%AJhDmj9g8(orMobRo|Y~Q}s+k=|ppSF2ek$}jfL+3P;>b@$os z>d(KHhezD<+i?H$U&YHuoFp$d_q|#5VtR{ZZ{VTi^Ut5^CLhttzGRs9rMYy4eN_6T z$u${rkbcuNeglJHGaDPVn0&bm}lu%>HjrwFHom*)*d6XPDfD4vW>GR)#U)r$%kOP9VZ zOnN1M_=tt^g4p;~t3;=0o;ki`_8W=5U5^6pN2*)p7yf1AKGFRDc23|o`E9N*^W49& zpF8)IA?J-`MA@Rx8A8WOGJZc!)!KYI#q8*+vmsGuUO%Z_xQBPcbB&kV%j-hLHolst z@?p-k&KQw>PKHt8GZxD}&EC5B>$%xiPV}12y>qGLRQn6rC;K~hUGCYxdRGmj*Nh&C zok2FbK@S}4g;N*j{kjzN`?a_3?5Mj_l}|6o?fjDe{%d+l#+I4gDY7E7?zQ-OAGb7cD%9J(>v)xt+#B|un*Rdf z2~(J6lyBYlc*m-G@BN(`6K=@8(E951?SS~kcY6#vPVOzZ{w}UdBs1Xr`h=rw^C!=p zp_g&k*8Tjs_n&KXl{Wi+Hm&vY-FKx;c&*e7eGzwsoXYh=oX^Er4n5veR*@j-X-c&H%G~?uo5V9x-Wk7`fjfFSI?$iVk?eZer1Y(oc@-5ci*@C zyL{|qsE=vNs)u(n%S>$7Nq6|He#mqpj@@C&H`iMC&?TO4x+dlbf1J28>2UncdwkM- zmsZVw`u@G6r^lMRs?(f9P)M*(IATTCBfy*FKPXJLCI;rxCAmqo#5c%%S9eVUnHd zzce5H%DuzBc7<4-?7=&XpMA}~3so2AC*-|T{hs?S^Uc1ieD@EpV=kYTkbN!w+oRX# z7uIgO9XmmRWpDZN`Buj)_9`6Izw2%Bwch7iEccZcZ_7AaeY;+1G z-XC05Dk9l&*2Q;<)AxE z=*zE@`mtga)5kOHl?OYvGAn#oEdQ3Z^gH_oM*qDho}c(}s6(dm;oZBc>vSKNH86x# zS}TgN|G2g+{uOiig;_S9)9k4^|$`x-she)o7;W7BtOjl~W7 z-ZQ+N)4N^%hjw_z+S?ArW#_M*HocvbdUK84gS%>BNo|H-#4pW1dU2{$aQ>u}IA-yp zUoUwW6b|n;==#jH@4}CjKIPA+usA$T)fJP7TQi}Ut2>!@L-%4SO`)TEw$Ge-Qlh>p zQib78_Xn?K3pot~4WG`9wK}=)>cXEv>)WLFPMN-*ZS(wJ>+1{dAL&|D=FD5_Rrss3 z>zI$RhuMO~J@XcBx@V<*??+p;m66{S|A~8hlSEV<*Y|Mbha5>bVED%+Qj`DStB4Z^ z=l%XPdB-B5_A*u`mp)P7`A!>IcIH1?`Z+R__n5xJ?B-uP`0E>&OR(9C-oC4KYu`qO z#YNG<2Q>~)&i@gi5dP3Rd*NkIj%qo#&DWpjAFfw>X+2XZxy^8&PJ!-Wnc|114UP65 zv-Yxcp1GtwvFTPy<@$S#$BQyJ{^)w9Ulu=UGfC2Q-eaxzSI^4KxB4M*HslM}lTUm8 zZ8UosIh!wQW1_8f$?jDpQhBQ%$ek@y_^74&>6EszQ`zOmTb8FTnIGTO5O|(*g?QSY zu!$Q=x1RX4)_7;>LcOU?oZQFmgiYLk)LY`r^7ScNr^RFJ+GJ+^xS{Y^*GlkZt!1-6 zL-FI)9{blXRybUH(v@>-EN5i)<8B)_edZ+}w?0gqE5*mKV^+k)Q$=TPbKP(ZEc;p; z`zy1@NN>fO`asSK)5#Jw`)X{zo_UkBd(zFfe=hm$|602`_et*defPU2*SwZVP23*( z-_0W-MZq~O!&f_^-}Iuu>Ml%Pk!`SS$HV`= zlb#+^U-FzYAm;Tq2_>_oMIRz1WUD5(1iulki@j6v>-@)$i!)})T3*_@ZnD-@zxoy4 z(hD?-W;<5%Wa+Z-yfxZ*vQOpfx2mj#+`UWER_&ht`cGo#TnEqWm^CUc`G*d^V~r9q zdFHb*e$JdL(K9a3`y5)lHNoL0FHf6&gY2eBQ4tqTo!*r+-=XA2Txdnjmz9hDp4MZ{ zI5au-k7oMbA|LV1@r5_?j)tzX-kidwR@Aj%+Nxr;DJdJib9a3>rP2}Mf9kqizix?=bc3u#vd2|) z+Ey}tG2cDK=zFW6@1D1jDk9q>j21F|)}G;E;&iRq)x<=*(^zUHPcmWXOii}3${^~+zzwN9R(DeuijbH6T)^2rNn$icNI9B&J{f_ea|6|1~eR zX-!(964~d@@$Owzmhm%*#I|n@3+MLSIdy*4o{)(;F>@v!pLC+m=iFh*WqoH#Lw?;o zarn%22bE`ApS-9`T3DFTwC39XWh|GI{@r)eH{)qeiCW3cw@7(gbMK{dQ=HTo#Ov%HeYZst(UkdlCw+glfu z{@i z{zgmAC67|Joj9QIgp2XqyHk(ard>6B&z#XWbH=kg*YAQ7#p~2RTsCF7ccCnO;^YrS z87n+D%xh!G5D&;Hk7ikO{@m;em1GY!iAxKbZYbSblM>#y^3!bYf7hLso&J7GO=-FP z2?4Gx>cxC{Pt$r2w0-#^aOPM9v%#^=CcM+{Y6S1!^IVzrRlLo)i=w(d`coG6#a`^Q zUHLfU*46och3jvuKgsgv!OWR|l6OyN^NCAxoZ0=c%4y2%rSqS}8~i<j-s%z$PdB={ zEh41*%F?z!&%&nebn`Uu^WQQ*BJ8N8{BDisudWH6S@kR4f6tBo2ARn^`??zDhh_B# z{hq=#UtRmJmdL)sH&=PYB4su8C#lSJ+qkLn$Ld`V9rM+V{jaQ_?CV$bStDR~%C@4= zuEna|+jT#-=+2mW?y70nzMV?~p8IUGU41+xkm2aF&u=%K-mqUte#V)jQwkQeC9{4z z)Z)WBS-|{Car)D5-JfjlotnJX@~v^sN~P@rPZfPKtOVwu)ln~y-yx5ZJC-kCHLq_F;VWHtVmk|Kb?C)9H!FK72Rb78REqDYZvzz4^nSW!X2UFq%ILT2s7vkz~>5 zO~EU@<8R;O*;yICUO%GQag{OiKY_EKzP`OSL3+Ejww5dJ+_3rC$NOftJD4wRy)3q! zk2l<#cWZW+{@qh1@nHgD6Qk$M?o2d4{PUmG>x=7GpI^VYcGHihrn@%rPQR;PXJ@oU zNBe3Ac*k8{$g}O`j6$#61N~fE3pd5-=4d(IHo3c}M5M5mlV$s|Ii@$?#*|JAyB={< zScvEA*R_G#3%p{czmwFIlRMV#ox;qq*S4m7`5%U37jCPI)rID_ZT5J~Higt?HIYagNADvuno70nS zHhuMDTfJM!d0y-puIZB_Cq13xXub49;f3CA&zr@q#y9zN^9sLN->s}zW@a3<=sL^u zJb#Of&hK1bVylnx?0Uazd$sj~BV8vV&7(_J#6Frdy{C95+a7tlO;v64w0+8o zb{{^`!uWAhU$kbhpT5klmvf@E7^I6YH=dlzyiNSk-nhxH|9+L)qxHVtiJ( z?e|qKY-@OS?~M4iJAp#88@di&5vurKsLb=D;k1aQHGleCBj)bZsNWUO?oErjvFY^m zH4?LH>UVrhddaRZjpYK%wJU*suaBmHx1Ug`NFj7UEb`0>m*cD6{66G*?Va-Zz7oM_c0U~i zre@WoZ;zT7nl4`YFLuhCBj!8G1>3e}HucpV7iT#V&m+7J>rJgz1%-5jhPPVIa{xJGcPH- z;D?Uxd}%MMw?&<6@0~H6_UeZdfB3_+dv`WYo3g@YgT&XQWoAbToz6{ATf2X6)xXEm zFJAa;l3;u5YiXP$<6pGTz|ZJv)=RyX#oKfLmFehn=bUrxn6}ztC(~(}KewlzJoD~+ zL-n6KFS4~ROuT5;I`>xvQ_<#`dtaqpUd|j5a`7(9(?4m`=3MFEe{)(o^ zK2fooH9c3Y7FpDo2&{c}e8t?yQv`PFXPrypleZV^U2fU__pj|-uX@8z6Em*fKl^On z@B44QtS#uv=X>}nd0~Ifq2~^3EVVfest;L8trTX=wsPi@Z~qWju2Wc9~<2hj;v(u1^u&vn!3_&rE%^Qz~$_`QAjw?3!n_++V++k6g~B zL&vQ}KV*J^Ps>dY?fgygv;iw>HW>Fx2mEXm=^ z&f0bD=%sRDC96>Jwhtr6vt_St@s+3Pot#neV#U(@ zZ3*lyTDNZ5Z1$JFZSg~?@V)f~b5WI+Gu$p~_Dt;A&9isUTjO&lkEPF<+-7{P(_`P4 zb(@XutO%Sv<>f3Fwk5MfGd92dx@tzNw(rf}Z(M7bjdRx2`cHb4<@@^bKDJZ7h3i{3 zHPk%(RTYwSZJKk!Q`>C6J)0|jEOK=$7Pk=J9cdPKb*=7QL;k>TlkfYSk3X!vLgD1> zV~Y%BpIqU7W&B*xS1KsNq0oB9`zimP_vhcY_*JBo5)gmw^dsSIx_T$_G#{~DNLt#+ z{$}~$ck zKC+^A@w!dj#*r_+OD_9SIX}H4%Cv;*Kv-$T?oIvArENcy&Ivs~v#V%z&<9z+(u>== zL$X^MxQj3Ip3AKLzMt)HbD->m*Q>7RsO2mxyzcz1sH3X=c+t}Je{OSGRw@S_U-Nd> zw7+g!5@j#(&p&g$+BQD&k+~)@-*pmP?Bd zs1!f?EyL+rvY!8;27f{13=yxQ@=6g|?Wem+japikt6H6_T+PQ6q}L!jpCcku?&$93 z$8+9o$k61yCGWH)noIuaD+jiO4khT1r@x8J+YgzOGp$8_M&l(^tM%$GvA4<`yv z72*qNI`!h&;ww{Uu=iSTe|l6*UyCh+wn{4HZ*s_BVUaUw zEZ)CNRY_MzP~uV>NA!dlLC0pY-|%9t42#>yQ@AZ|iq(JCGM@CGP5F;<_Av+LvsPZJ zzOe4Fame}H@1G{zii@}#A-w!&Z~n`Mx~8?CCfF5hEMkkk_QEFf_?|k+FE>oHl|H)J zJwANbVu4ilverimF{ib>_r5X+;@z;Nvmz?9pW&XuMp4#>8;|YheY`04;P$(6i}n_a zJaWl0&6AnSvat7s&B;&OTV|De7v^t#kf?T|vUOicFH@k*Go@L4_A8Rx;+}Bd;g&fy z)uZvW*4l^5c9~szWEVeCta{pyv~u%VT9R|icw^qZ>*3>O((dg{nyCFX|L`rgS-xCn zzisIYnt67z#bp0zx62E{Pud&W>m?P%3trDLRLXg#E>ftg+06BKW3BqJtb@LXbG7xK zZl1JiRY>4*`IWOJHms96E^~&*xarv^!-WNpt{-vy$)?!#$@NRC>5AVPLR;!5nM-~> zvM0m(zQbMD+fD`k+qjI1ZKQ2x^*yinzvcLfm#f9@ZWAaC(|f#gb;RV4nx&T=Uq#ey zH2Qnz#pHj7-)@hrP^~|&OB8-CG*NBPa|$7b^H6q0f!cRE8tXq zY!~4Z&efc3qjlD8@uI>TEB`+~eBM5?|M3mSn)JWw_p|ercJ=(KCv~2i9l6W0 zT_nnW->(}&K@0xJ^n6ZX{FW~1x3PGhuUb)G-0O!j72Ol={7q*&WqnB9uut-LWl+?L zL@6t+5Ru#!O8lQ)znMsUc_7L1&*s)*eYx|k8>AjS%#=(}p2%$cQc~e4V`l9ck5HfE z6I)ZBecdwIIJ`|eRX#ApNdEdZ?ZgQoGsRE7{Jnj#&SKx?p3#ce3YWdgsMVC*xpPJN ztD@cMr(^bM=0!_DJMsM;32UCxq+EQtN4zqb=P!@FI#)4zUH!>wVp@) z>LpwH#D#6no;H^|?(yimtB~az*I%newLfN ze>|FABDO_jmEb(9yK|3=FWzi0`N2`4zh8fze{cW&-{<4qPbB}mU(UZjX5X);OwH>* zoc}C-{$Jnz=k`8!f8=@gyf_>8_v!ljpTFbT?HR9Rcl>;MbF;zU*Pqx~|Gzn`U;p># z-+H+{KYqWy?s!^e@6^W|gEDTr+B!3JFv_l0RIP3PAL<-D**#Qtk!}gX{HVd41x7qu7BuQtq{k!n;%hdedZ~NVX zXI|<1YUOSqJo_rjVvTcePPViYxco=w z#2%ZC%)4evx6kZtuL46DAbsQPkR!``N7w@f6i&i{9jpazgs82OL*H9;j#OqRQk7)a)ad+ z94`yo^MCs>2T$Ux*5~ezVa|4MJZ=2r$cf7eImeH0y75-1w*JLb`M4{bfA8K97t`I# zvYaL6$q^mB(z0C#_6f|b2&~WDYO^=|w5Xc!lU{kp=gKd; z?AtZHigx|V-c&OG`g+Eu%SX2Qt@U275xHfRx_I;>v0KJDB5I*OuAW-IO}lw>Uh#|S zNr?h=wWS{e)3U``FJ5K+(mHWrn$p_!tF{ZJnTcFkX4RCrrvJ~U%x{l>pRNtD{rCE> z{{QFt^>b}+|Njy5QtbNqe~UsU?tk;n?%wWux%T~a`|h-MEC^M;CT$xubUxv%az%$#dYRCO>k-Ptsy21?3J$VzOU(PSL@6KG6 z@D2xU_Sn0t-;0ZvFyn@kB-Pc6KRh(*%?vr^76j( z62}`dYD^w3JKFF*MP|OpeRoE`GPYh@ACZ+WxS3a77Ed$(rKKCdFmqSbF7=?=jn7+t zUN_;E4s|%Q@X;!E+vfJ}BcER=?Wq0s?yF|cw1rV&X@~FLEs!hqJXOMYds@Z+SNi++ z)ct?;*uLA3wW!E!_oNe`eTH9)QA~A95xs_AaR=@nPIzIG@QcF*F zT1|)Gi>;!m#asT}NEhzX^X<`7?fk3fnYKrMVb_KCsUp`W1^L=`buW9OzqLa-;L<}) z>DuL$A|YL^pE!0aEnlw}G|^pfb4$v!6HOc~GiI!Kx@pz<(=J*rsDkEA@i&l!RCN z7Pt7QNBFf=M|@bnEw5!&h_+JgXa3!XvYN|E%EeRdTkR_ae??RWJ}7H??y~jwzxg~d zKUH%#+b70kP7yxf;G%cxEL)b|vTsIxG4G%K)Z@Q-$02-ac3uHn-?7f8o3(hRcFZ$a zx>d?I{^7zor+s2KJ@Nd!^4dL(>)+aCB7}K8HvE@78ol6Aoxys6BQF9a-_6aK?t4Wx zcxGzWf8o>9-yP)-nrrLIa;SR($6GnaGFgi?i>@A?*6}^c{q)yuMVGX6o%=n^qB}h6 zQ+8M!+miTKm@mAf@Xx#5M~v1U$;sE@d?j+eaZ%Hw8TMySdu&|rX1C$D++U7MAGBJW zT)%(D{d#5Qd6K15CFiT}yYSOH$miw6@6$6Y68V^8?Y9J_bMKH$<}FZqrPLfY=g6ki zHJ?-WY+H1zspM_z!o?*=S4>*&qp|Yi#vaRyd-LD@5AUg+bi#hyDhtk{yIkGsXWMq1 z_g$NqCdb&}SE4%E_1(;)wkZ`I^BnU{exEG&3`;)m!}K?T@yyErhAIE$N`24Xb-cIq z`Kisxd@Hr*7C(L$FCnA#y1rECsm#5Ju1BPQ2+a9a?$P=%UaijOnUt^AEmz^CSENE* zdz{R9zifWRC~w0!<>ko-FWnE-L~L_RQTT4Oc4?}@_oP{2rH3ySmKEjS=2)p$)FdEOd}gy?4vKOb3nc;5xd9a|f`*D?IRbC>a~;Q{a2Q_uNW zTz}R+lXVZ5q5SG25@zw|I*oEm^?Q5IgtL^?Si!;_z>dmz4^nF(pQ_3B) zdBLaJa`vboTTiVCZ)Bo^zy7SOz3a2~tLyqkpQO%DkI%C0I3j%0hhzJa1D$0jK24Qa zSY7tEj(flPDz1<%3l>*wul&k*Y0nLhNlkaS+E(egdtPU0?Jc)vl6ZHc^HJ%Rez_(U zBcjYBnQd(A#g|5@8(m1p@a zd8MjxQn9AH`kckxXKC)MKNULLY+0*#RR7zXm6s}J{nb6C&)E6sno)%QgOd|jre^kh z5Geh2^Pu(T_}H_bpHAz#5!9NkUCC^0H2dn?Ejb6AN(=uysOB&D6|}8j@~rOI`|Zah zie|sNS9MQ8^-dA9rj*r&h$QRmd5h$ZD=b~M?q7Jc>BGAM(&;q{OO!vZpSLpZ#Lb>G zwTWWh`zjZt*Prn}yNf4@%ct2=t=8wB>gK1eLWfW3e%Dy+!6~ttgJXy9%$FL^+xPGJ zZ*ie?_tP6({ynq(GB4bJE1GO)eteJO)qF}X=-8~-t#Vt9h-CP z%_axCkJ}RG@i&?VnVen1ILTXN;_1aK%99y7)g(S;woIJJ`?I8NqH&ALAx7!4Aj9@~ z-baEyUs^ij_an84cYH@g+?51p%u)MtB5XPP1-<=GdKogNY}+5l^76$a4XM~Ij19`? zn^Q{obc*^W2Csdwx^8dA{f^=v<;;IqsefF3Al2KDbD7U-BL|V)ZBs1c)|!4=xBK$) z@VlBZ=Q!#&J`F#(wc~4yskh#qX;piwUh`Cyz4pJn_JhnWX=a69#dWGZ#Sd$D?q_!W zwOc?yxJE40(^%s-$M0*qIoIu;?qRe$vf-G_vCq8+?x!x#h_el;ww)3fR$UvZc4dj| zo9yR83hkckChTIp$EJI!?b{F}TDwee?r&FyB`fqFY@JbL_@qyyq{)6ov;=2z2jBOq ztWAELUyt7`s+(E4aKcmBic^91ZtI4Tlv*V z{VejYU0|R%-P^Nv7R^hisPS$3p^~li)>E&tUN#c!1D<^+&iBv z4?Mfmzw^zXKu_BRA*oj$ESuKZuOY}Q<##LDCpbU6{c^U<)TxvHhPIyV%ohpQ61!7x z!M$pso&SrpFh$ojqI+c5-|zgp?M~!Lfvs86(G?F&x{5WI za9c0z=dAUyh>T42pA}Up=(p-)_Oy4A3$?2^u2jE#E-L5Unu8L$pTyKPjraAsNY4B7=uGYTvV&K+ z%5KH5U9bj_i(otB>mR-wVC%qPM5$SJ=`bQH{jhCrQGVxgx!c zlHV;;c@2Z}wYpgybo$bGHeT@h#IxmbU~sbV#Fx{AL|k^CSbZ&R$I)d6!(A8b?_;`B zv^YC5;`meN##h|O90VOpXFT0$+xy@ZL-$$rohQ}XHm2!h`)W6M7ONWG3VC&-^Ov&O z@5f=~9x>MyU%xuVS{C9P>s5RG?5PzCq|)Ye%6$3B{-yuu!iW&t=4W4dW(ha%V!3$4 z;aHNF4ez&8XIvJ$TwYNba?T}b^6@2&r&n#>y5`oLnbG~za@=;Ux06;m@a)mD${bCt zV`Ar~ZSGu_yJ_DBi5+2E9h0}UG3+wDac-WW+52~ACZDsLZoF#xxw&|DyR6+={ObcmKNcCll|u}<~iBK zaN99pa@)+phi}vZPx_h7o%TyK`r_X=9$%(d3uRs||DB@kcAIeqPf*pD&l;w8rv3{3 zd?`0G`jx}}GX@Jf;<8_KUYx_gde8mEuO78mm7Vi-rhm`m{q*Ns_w%D0=xE@H`@T0H%x<_nFY=N>4tx4eDZ$|Wj}t9E+4)X;b} zv0dW!%+|L&8+yHRlw04f;n=F&s(VG#J7?)8#huE_k3GJ^x@z5_eDkYk+GaC#eVui# zz_#N?ft_3)hx#m$SBb$+YkP|##CNXR{@DIZe~F;`i>@Cs)^B_#)kK|XzI{!)rfJdT z`-i@lop4>Ybnfr3Nvd^HU)b9>)Ygdb@bQH$`kEebNVVWs^eIe{r3_!f#Qre&O}x>4`6*80xtw~p7$joS0(xz1O)QeQgl z%%)>=e*bQt@;RZQMA7`xTKP#|R%!A#70pwxJ@MJ>l$ubKv1m1m0CtYO{uRU|( z>pu1USI6(w5qI@X?pB%2j&DoQose04Jb4-8(|h$jJ71a>p4j;Hq0yZC%~oG@pH}yT zY}4GftlQwcVrpH{j_Xq@wR;xwYTlc9&m!%Comi+q3tRt&CF1{|+i$09{4-K#;Q9laNnNr1Bq^KA1^L+GPH|6(tDxbi^(QTso5|_ zdzryuyY#!(5BM4s|E#QJP(?o_bY7`RfN)8IM(PKVV3o(>80q`P1Vu{TBa)&-~Zx zU3WMpukrX>v3Vym&-|?5Z!`6M*&oQWBWK&b$p-qhJIKXS?WoY4R^TePD^i_w9v^qUxRc zFZ6D<+`9kbp17;sjFLKLpVzCC(qDW%ntY|1MLIs zTxCkUa^~3LOF7GDMBI|mnSFD+(lZHf-8+2p`(Brc)=esC2#$TBq~fhydQm85%A<>n zXYvY<1V_FKs=Xf?$L4yASNwo;X3P7IR~v5Vd9AQ!K2^JR-SZP0cZFP4VBS&Clx_Cl z=r)#zEU#zjKGs{D{!uJpyQrU<(dlhP7i=!(>~>9A@H}VZ!~Cn2SJukkFFCmUNzl1x ztCodb<6?R$@l>qGxN3)K{2a#TH;z_+_P;9|A3JTyY0>DyNzQFPehVU}@<^s#FrCi6 zzVY0{(6AVFuSmbpX$!7S+h@R;d~cfn)Kzwy*EL;=iJkLFew$8ukENZ{_rSQb^H;92 zOY)6q$=&CF*4H?6&CAXCi)YrqS`@slUBPiHYn-oqQ-9uRlU38^O#8IJYj^mop!Kd+ z)&AQa?#lb`Dyz-(D~L1Np=T}2d+rNz`?sH&sOet-8PU0)O=GB7@DhB!b_4V!H7-Z1&?9ToIu@tCw2O3(VgBV2_E@^c#*6 zf!U|0+9l`SveaA_x=$}_nP}jIjvBEob{;#Awr{ep|Cb|k>X`8@S-WO8@m+uQU+wLC zwb$o@gO`SMFV9N{39Xa23-Omc1 zb3w>EQ(s$Lu*l)(T0=|!M}N2l7j}!)XS=NXUM|Rf)^P2*T|NF!w%IUxZt+MxeV^r` zrN|S7RsHU5r5rbPExsL^Ww&^T*^!k}4y(2n3(ptG`p_Q7D7J;ep?~8AeZT)Jr2|iu zeyNsxQ}zEv)#o3N-p&8a{a^mF?0sv#e~0hOTIL>RcfC6;Q2l^Sa%sz&5|^ZH(Jg=W ztuCI;6VqK@&b}<+PKR~g-}eW7x!rc3khr(&+tVFa|MJ)~e3btiq@?0v{p+RJq+6@a zq8Mrql|Acb3!EpylW`K& zqy*WC-Aa2tc+6}L;2l$Z08SydKSCe)jR9wHrIEB;T2zw)lIz?NgR!Ht(;zv*+G5a$m?%E;Ce45I4RZ z@ht39IXkm<@7eAt5uf)@y-|^Jjc3W)Rwy2c1YVk z_5S_8^>lb@>z^<_uRYkoebw#!WcM3J9E}g>JyIw+QTSKAy!^xF_PHO}<(8iP?f7-U zy4YIh9nZfXGFAJe@pBr}VsGoH`)*woTa#G6KP@m^lV~=5X2wptBYQ+@g4pK22@K%f zvsZ4Tddn|cpL@5p6~BM`ZIzK)bw}Sw_RBW|NuIB6MlY7kxl@Xpo;(M1c+M=F+_ zC~UUvleXF9v3urY=4t;Ma@H-l9kJy4`$bootmfRdF`V%~+MfH5ig=~eIkVZUCG1y! z9uP?S>)yZp>cXCXi`88pe6(Y?c==%hGtcKG?u<8nYBBw0cvDa^cQfbJYKs@*S7rFv ztV#|n{2M3vs`!ONJ6r0D3C{iBPF<*z)H+?=v$D*7=Rcji_*?U|&y`$!vgFX-cdc(` z2+1WrFf_7fk>l^0q5fBC*$n@A9uk%QRkpTz^S|)%YplF~fBB4mj_W%rOBgO(XqA%M zwb7&c&yo&HovyZhpK`y%s!JaF%{k%L%$?UNj#*4u{k^g9p-let(vWSxxn}?Pksv?2 zqp>R`>ixAv)m*WWY%bayvJ9D;?>y$O!t zCXZyd?KH|wH`{XSI%BX^^g^jg-Px;t?hCq8Fw<4s@SH%wn|nWm0t;u^@f_1Fm9Bs7 zqQX$G8t9aEEl}UZ^vds~FO$v*dg-PHJeiRcuE%_N7F)B^Vu#Szu1$UA?dGR$yzJ(A zb@=cdPacWX3bVP}1)7D7!mfYa%Di)OXSB^G&b0^Rt5iC)1b0nHRC^J+W8tn7mc^_4 zT)9HcZKh}^-VU?vPS1IIO#kMow&^)bCusLe9Fae3I^o?0 z1<^DcA_Dkxf>a2E)zeY29rq|qhaYdz*yv_^-QtwU#v5yYOSAg@|)$HAil2Mtff6xRq2iMn>uDDsUEn!$dQL7 z{E=6_&qaX~t^4-5@wRpLq{Z#i{wupOvGT*T1=lD3S(DY=`{mu|{q;3pAAY&J`upuC1NdlULYgUwGkAM}~HQ z^!+oB{&(D5$+qEJ&y=;_!tS>}nZ|MTVM~q3tIx>`6U}{(J?xyZ`NSzM%Vp)>&%Mr6 zKIvwPSIQIC@?34(p7xia?cd7lpKq^S%W&a#V{eTAyK}YLoPr+VXYc;}?b4c@mLHl{(DYLT1<9^!`g4V+L&iX^Ubwe zqy2B0>NRnmzZJ$=mdoE}Z{?e_`0EV5y!gXs?2p)UIcfMNbkv{i5a0YEOK-XJ=jKU@ z>HjYV{Jr`?z}a5)%)Nva|FR@H4$AlaN}Sdr(Z0Xz$>P6>A6F}dH%UGDb@%38*(Zxq zHri?MzhbWRaOY>@-DrK` zCjUSD+8;l6Uu(hX`R>R=W5HMw9W_5jD6&A(&kS4R`0i8S~V-HS9nOT zeUoO?dqr&ZYrgX6GjpAF4$KX5UHQSF!Fu<#mF|b~+9&Uxv?prj-bD{%&fHZ$ocJQP za-YN7#p~FsoAUmZTb=)YRQKz}3ok4Z9e7qp&bm-Chi&Tz1r^hc9+jv5woO`LnPx7z zLs59v-#*>49o@Gde#kOiRMTB&2_fIW?LF&Tqu;?a;)vd{HTuK+pjH;%YEX+ zdOqEA(yiRPg>Kv4dobKrWQu*hZvR`O*U|Y_=6V5-`d*!AJU=N*;EUUrCHGJ0ho$*y zeJ(ORsveYU{Jd>a=I+{!&qOq@uMe~+(l%15h^Ge(6SA5}3g$rggW4)i|OsssiRI~8q z=8e_db)o^mx8vW&alAd5XSbut@7O1a_x_UGqO{Y!wy(O_VgKflmcfSS=bx^h_)_!R z{*!_^<&2r>T5F$niyKHR3zT`biRFpE7}@qZHIv)|W0p67P%yZF`T zW#EO+H%kj!1QW_1b<`PJT$&s5#9-}o_g&x16_UR{u#kV}xI+1F*}a!`b_O~ASLUpe z4n8BEpnN{7Ys$))eVr*UXD+rn9L$ruO?SiUFT0wVFTUme^YZsCv9_uZ*14PBe3IJ} zBdxc@!#DcYbCZ%ypHp|rYEC*3T=FCMPT$A=C(~43T<0qBDhd4a%z3SPNYqaI1r<9B zc+Q;+k!J32@wQ%nM)eTGL-&=xtDL&}Jw1MGtbGtPBQ3$=H`DuEo+S>}VatV^cLe(- z8ffuo#k6m3Ju|00ddWu~?w#+J?^D@1p|7~s$LZCi3)TNqm-Kl>UsuY0p1%3aj8h@@ z546L4e$I+7iZ!@9;kCiM%B7W=w;8g&Ca#UDdu^&cf6;N()o#g+U)}4tzB8~0{z;rT z{ne}I*YC?zN1E#@%O%q>QI~Z*UKkV`BRu{6K!HWb7xc^QBpiQy=E`R&BYx@60Q`t1*9j zoBP=J@AI$_V6%PEa7AU$mFq!X6PbQ~yteLW=$r1C#enwCuN_Gxxy^2u+jT7LUQrBIvMnwUL%=03u)KN%kafi+Xj7=SA@?COs3DGuIV; zeAm~Z=Cm-@i#M}W?(BkW`LMuT*#l8rj6Ew>7ic~GBN~%$P&~KPv$=DV(~F-fMsFiH zXA7;owqj|ud*4?E@2JX#)Z32Eod$}5eJ`E7zT2L-q*PyC%Wd8hFLEegH(w&N$qTb) zuUM6flQ`BMNiO74zSe6fy!8GJBO#^UwVoSHJ#({X@D^T*k}OUay1p+U^lks+kld7r zpMMf%YcD0YcW<2jwkK-MB&XR^%~LIezU|YSYO^B4s7mTfR$juQ<7$UZ{z)!dZ0{a9 zZ;AJl47Y~KIz}N69K#Oz#b*mnzF4dp)t7(=0sq<@B)ZtLw@O`MVac{v=)d``e0%jPvdZS^k;gw7LFJ?dy-1o1WIX zRuo&ie`<9V;GE=n+$@;$>AA~!=LL@3{1dcHu%XT;t|e1%v&NRf?Gr<$yB|9LU`a^) zt%Je~KJlG(ejoS#8-L@2Z_gv%U9fX%I{sN>j%$TUxX0h8%L?Y*u)ipwo&QVxS@eCq zUAymn{O~{iR;1pVwI+pstiva&*T&C!%CdU;l*jM#T6Pt_db-lQw7k5${QI{cKm7&U z3;z9{pAxy|6#I{fGw;6P;a+q8Lu&=s>zNmhPY$YD`sIPghi3F4?pC^~0S;cX$uKI%IHWWe->E(ktvQ z&c2)`@>^@!cJp)jzoL9{b7sugRq)W{ak_2f<;Bl$&wlPvbNBb>YVCD)_awdl-p%@S z-Oc@B`ti-JbsHBjwfQxN+k0$th~iTH?OVAj^PuPZ?auk@Ojf)of5kiPS2?$FaLsOk zjr04RBmPZWAkPz^?rbvWWO1^pxtzo-TR;D+FW*XgX5CRTPpaD)zWjUO*$#(m6?95 z+l0zLG-TbakXFy?Il)u0`hAm5!C#U1xMf?mAMD6Da>M0W8GphZ5uMYef4?#NpWRkj z&ClT%=i)rI_V-EMNoyuvIVB-*;Mb~YllCPg^6zcXiTXC#=b0zZ)Hu0c5l_9ooy?#5 z{mJyFbFWrDHaJ|QJNMnHkhOImgd#od-Fy2S*+b=guRWf2N4&gj*S_2Cmz$ri`)~hu z7gPAZ^V-^unU}OCxc{B4;JS*nBk$_V(W1 z%yfzGg2AQafSFb7j_yzJ4>^`yk#y$BRwDtu5$?OyTD~n@4JD>b)_Os!N!Y9X-&M7B9tNrYlGQVcZ zp57XtKR$MHzawW^&8_qDzOnX1{M*L&LQnQp9yT>A>N7}uzIFz$tkUUg1@Bt(f=sr& z;q>EFxN}d+Oz>jW8ja1Rf_~Xj%gaM`Qjho6FDVnUU6r}tf0xN+Cew2<#s_VCHl~SO zFmkr)-ZwW|Xp_z->sji8g|p92ewOXMPlk1yyR^u_zi(>3{=GiG_S5Td`*YLm+o%uZ;EP1qW6F~HvWFE6iw z$%P9F&dt2Mh9)8+_t!kEEnNM6&l#SlIv%F=hacF-E_LtNUw3%rqSEDeE?%nB%DDb^ z`Bcfd3Aet?cQxg7&RP9(iKpZ4m&q46jut=4>M!@RS{uKCsW9fRwbb*P1FuzA^iB;? zjq6}ipS0=Wy!qGCvW0yP#P>`;KS!N0clpb|TjSzm<$tX@aPm20X^4Q~>b9WXrgPu# z99Vaq$ye?;({x#%+&*rX?3~;;;Tx6wk2I9nlr2|z6xDsEhxZ_JhHv(N>x!QC3!8-< z%r$FVuN{6a(;zi&#ay22!}^iGIRe}&i6W3L#uJ(%kDitEu4{FL^pUQ8)xF!9Xxy4FBY$w?3 zj(jhf_k^)lvGU3>>p1`N*OxL+s|OwJS@|hraj|6g#K&s{VV7&_Py=3oNxMb-}g7;wp7&#aC&wqIx#v}N44Gm z8{itGRJ(V{jU#9B*^HYt6&6=UrgVK$iu$-G#pTc|u5RWik5)hwoOsh%jny?64uvp2UA-2Xg;>f zyY{V6!tLU>9qSCVIoIrAEDQa9>PfFp!I}fwLi!y+E;l~!x~hKMx`1Of|7L%cU{Aki zTNLD3O(h3UKm=kmZQ+K)J_Qp)aMc^i9p*Zn6XagvLMpcG9Ed8^<++ zS#RbzYv|U?J$8M3@>-Kp(jrF-(<7ifkrnDWFy%W>X{oBuBeC~63MXv0=h=*T$>MIWh#Mjw3#a`fuz2GFc_iH(yu+>qqhpblW*H-^p z!*97_KlkTFlME)U?B_{eQr^A$_l|?Sw-j!q++&Cezq~E&>*t3H|6R;mRy8xs?$*k< zE2WDAKNc%~P&?$5QySsrlzO;wP5qKS8}XXd%+g}MhZ@3jQe95T|4`Kwh=^B9`TXn6 zRdv6QuL3Q#CH{V$e*J0w{ymHH=kJM=`n6u!?9@Cx`@g?Fzr0)Se}4UD|MmWx#nYeW zAN^Fkt;*ui?CbrL&Ocvlf5QLy@zy8rr}f9#ivQeeem{;`+Shd|pUAY7+xw(~QjE4n zGvnF$(;1 z{Oha^^Ux%W7PTB*bj3$i*sZHI>fh6I4LE=0I(_7>QFY%$-ii{JO& zGFW>$)Um2a>1@=z9bY*uiqvEqAFpz8Y`&(l%X^*VOP#auS_UAEL#)800d-l$ncYd(BS zTafF^<0v%Mz&|HoPsEo4Hd_zwJ!Q=>E8p_pG&4r-L-w9=4a)8FXBBN`NO{vVwRW9P z>hcGc2dxe~;Y{zjap09yk;+WJT@nJ>N3|CnQTy7{KSzw~$hTw8+-rJ#j!)n5_Wu^X z@bp!UQ_ubsvC(W*Xtm-fmO5hc*pxIp*eYo0G+3na~k0=kn&*5@keK_<2UaWAmF_=}n?Rrk^(?Ir?JO3uX zH(xE8?y2CfED`VFdhK!a#SOL-TNmgmXqH5GDEJh`30UmADfoQNUAaix&fKlOQs$MS zbB|e@FE3DT(5v(0(0=nIHlXFI{X+F6J3U)eQo=UrJvI83zG?OApq%OE&!!un=vm|LHSw_wG^x*6$L>e3c8y?Fcm{gh?m z;Z_H@E;n_AY+rH1?^a31r(a_E$MWV(boyPK{J!J=gPN)H?yi2g<7w85jIwL#O~&75 zx2alAtvGgO?OB6@dG;6EGV@Fl{#4hvikl_d3iNGdo~yXq+WBpU&lzvC#}@Z@R@|`N z|9t5Q50-0cy{a9xVeQXy?s}i)e>+LMvfJFnMfB|DwNq-RABg%o_5Ym5TRd)OIOx1p zx6!}U3w)FH8C%E?)DwaJh!&a?wdHJ$?5TyZ3`~1<>SA7`dQS& zJ99s7I`K3ha*wWcfBcJb`wlMJ_x@%yj1=&PL7qQvghd#_Q` z^g+0~>4e~C>QlKB7HyrV#Gih-dPV(W*ZyBsUtY*(Us@bCUGDAnmlyBfT<-q2w<_fN z*0ZUvf|ZKS9lt8|{MJd=s(AAqyLNuQR{H1vhquc^-PU(Kw@Nu{TGKB&)98|8=DpG! z{vY=q?dWKj%y6N}L}KCJY}qwzOY*H>Hgld8EO_sAJTIv6W$p|My^|A5TMRt^EmL}J z!L+@9i>CYb>Meh=@85UQNSAiKck5W=tmC@jAM;Hv)}3%z`~1N6`NdK$=}+S#EcfeN z&oJ7m?YQn<8HZHIpX+z!GZ)H59gOB^%>B&JFYR{g#n}o!0gM07PF_wwAHS#O>#wu7 z%ir7A{Q0)~ef^J*%jehs{AzApX2P>RX4x8>sA(QJiq_)lZ|`1_C3*2ce1+H&Xz2Tpi)Pt0d zZ%VdJUKT5}{Q2Ko!rA5V&Vee~yDGgWFZA5_?V8>FI?q5MRoBAWxE&0)Ziu)}6mjib zGKsNLH$@`OWdHQoieG64omZ9I@9SSH-~RWu(3_Pz0wULloh^R-Ds6A(*=K7tZFJ38 zEoO_IIl5r&b*l^Y>><@JCDrbI{#Ixew7{itQs5a)M>D0QkV}bn^55t4RMoAV(Uq93 zlP_4?C3f-IEAN!DeuddHDz79ydh+k1(F-jz4+)Oa?MJ1Sc&%AC`G!#Gm#S@VnF8Q+_$ADBL$*`_G#EZIMKagn*x42~&V_*7k|B+9zkTR1!3 zx8*;)S;k_P&!j|kTZ@7Q_h6>*1I7~CCK#9iLplM%G!4Hxeerngocfy>vd zzpf!IW$m1oERWSIZ`Tx1uaujj8zZ26f7KV6XO}oyY?s*?NSMuF-@fIb_T`|WcF(gr z)wZ9z9Bo}7^!uUBrqjW%K3rMH!z&b_9=Os~`qX{PYXy$a4kww;)=SY*IdeHW+2N5xHXwwqm7UtDRq|J+MwXMeHP>o>K^m%h%|_mBJk+9q9TAuYZi=RC8*WF&TL&4Wu zCp>@hjN9m9DyQB48TU?w9`27_JmJMl9VLk?lWqn5ywSE*x53FX@J^D2{rUG_A9q~* z(dS&UGpcvndtn|0uRyWpFAS@t8$$UN%oaH>VOXD^7QCdrUD$QW-IoQzMIx$=m7mUj zj&LogvJku}wbd_-b@P_$uD;7D1r`>s_}SYRtJuAf=bN;6%lRuSRyh9MJ-h$1ugf|= z7WroZ$*j+n@6LYt>F^!9>ldeNX(`ctbx|xY&Ai>Ca981TufA!CvkjA7+Lm`XNi5LM zIFTbRtWx5-M(D^3)#dzK-4nRAUCWxgTwCnKn9qk_U+?nnc*yyCc?+%P+9s@wxV(4M z(`pm0LwsMB7&dQJ4z2mja^b?P1o?Sq*WZ3NS7f{KqKksN-&(g6w~Kw)@z1C}-r?A5 zrYi>VkLUj6NRplU<6(SnsKn~cr`Eik=M&Si#rmh=6)geXshjmSdbt0pQCYpc zZ{IZSmBz3BoS5U8_~gho*|ajNCb8SSo!m{*vrHfO9$6K$@rH}eCUvGT_lvXQPc4*q zQDwJr>hiaYb7zY+cmGgK+{9kfl`Yh^^+(KJ6LbBrV_l1%EU->yxhsB}WAj3n*K>J~ zDNL0ri;Y=w?ZmrfLjF$b*HYcQTqUKMMHV#jty}O;>fg+=p7+)KvkezmhP{c{V0TXO znMIj-bClB-8HVqNMJ9jkpHceK^+ekS?K?q{I$!Rve_xj}^N~XT)~7S1C4+^+`mdb% z-0|+Qg@3ZE%zK6H{abdKRWD{QY+lvp8E5FkyCTrc?+^nxt_PITjt^K`1Oj(?=J~HbBI{L_R1^RckYY4 zNEtz|2ezdj=Y8ArL#Ma2YyH8!iro!wE_bKSNONZ1nDbdhqwO|l^oj)>{8O@4KAqt{ z!Nz?>aeB8hU!_q%dXHJ(=}Si?ia)O_{;sU$X?Lht#%1#i)1{L*Wp`(5w0(+*Ih1wJ zb8bLcV0zNdhjG@juTl>!`SMOPo}n^4^WOQ3h7&WIPJh0rp(Qw1npLr7|K+y7Y)|AC z91)FpwmQQ5u#?5}TT4$WZ<%JJ9V=`;4}tjk*$^)_J6E4Q^jw#m-=vd~Pu z+{@?2HrI!#XBiij7#V&(Td6+zYk=?0CeP?zQN`ls@EeX#*G!4&Uv&MP&)Em};>z8^ zO|0hL{I}ET!REu&D~kNrKlgEF+I2Z2jrGs0ZzdY2bswDBTtE5PRbG!=&MVG8vkZitPzTAry$+mW1BEx0&#^y%iV*L-3;*&C7zPUJS6Gy}Q z!e{5CI$sJzq*#}QH5EP-Sljk;($@>cGm@Eabmy#QNi6#C^V`8__4iM>K+!lt z_DgTSxO%?po9ha{YcU@-@K}9%bI9jy!Tyf!0L7d(G?s_V6EnCmwBN&{CIQD{hFUztnqub zZMB<}bIapshR~VeZFQ%NE>!R3Y2L5y zY`=DD;)7Ec_>Gta)ILl%6U??q*!W^^+?vJv)vpxzB+vW z0pr8cJI5cr_PF44bEcI>YqBZdx>M_wZu~HlRQ@qHZq4V4D|xvtKeo0Ul~v4|)#%Q! z!<6y1;Aa2#vF6tvZ&+ux%J^A#)t1zIOCx4C&i$z^TXx4&<~-As+lO;E9+@;ju+W1+ zQ@TIn(=WlcH$Trw%O06LPjJtY&RABD^Yd>kcR209xj(K)`sU=nzqeFPz1^wi|!Bm!Oq&SkL~Dp#KM7o4;H3d^j)m_3?s* zALoSbJIp!Xa~r>G$*~0=`(8R{rKns`J*?-*mc3?v%psu{atTiyJN>M$b)B86T zi=Ethohv2PRE164ip$bX{x5Cebzgtfwa`}l{NC>93nWrC|=l6JCp53M@$q%O(+W+)8iM*bE zc{I@*o4pLn!&oyuf$qxr9u*3G=e=C!HOmm@u7;+A)L8|+t}*PP9g zkf-@W$D931ae|dZ=|YhylM)SnKi;C#nO~^P+67U%;Vh2h`ja)V}%sZTnL-$-4i++bh=mW)pqh{8c43$uit0`<{2otZQGw zk{``o^>|?d+e>b4jSnld?p+Y$@v^+YR37<7!cFhcLC&7?gVSy*`!Kj`d*|lfIoC9i zP3Kc}Q_aQGzFjj_b3$L%=@hJBpObOW*M3!_ZSRY~Sr*H`RJFBfiZAeEnZMxg(tS04ku#@>9V^F*Aiu!STmNi69{$Z*6L_biTx7}aWXzA^y zDE^Mq---ye5c^f%4>YZLQ)0U!h40HAyJinET`p4VuN@ZNvDd__ zSwoVoX4_)9#yB0xU;dX8BIZ2360BafKQgX%p`GQQ_zuVjQ-Ff@}lFiPzw!C8->jl@x z%Bz>%oG|Onf&02TIq8>-ZtAYvX|weF-qo{K^xTr_4OmmJH%(*8m9B3QUl{vNxlF3M z^!nBrhF2GTSIRCty5Y?7lrFm+;<=A*#}`i6ob2o5U7fyiVtHWqi@B^7hjVvkJ?!6? z@NeoqKb5+Gvqk&XD16%&cX#^JY3Zf1+GSh*yi|EtqM~``-kK1b<#My16#fX~msE(m z9W5?i9C`NH>*}qoYnF-LnsrG`*X_xT{Zi5)J7-P&AhJiQG$-J9mfP`Yw(JXE^}~;B zxX%3L|J+kI=4&hd)?(W~e^1p(y-D}JUcd2#pCQov=Wlzz9X^p}TvLu_S+qYkQnmVc zNq+wJGg&IRoH0|(jP`7Jq%rrjU3}4EjT`p5jY}+6tUr9~6g%70+9e-0vHiEuKWWqH zR>?CZUgz2RfZ(e;B~~|C*H&`RJgMn)Wq*iboqZ@!dB;RNL-;uvZ-GB1qk|`YR^1Dio?MzFxZLba#zrlKW`SmX>hNr(iQ)WCE`FDZE z=_Sd9FDEu z@!#U+p04|w->Vef(m$%hF3DeE@Md}8%KNNgTYZ%dL~S`et!u5`vySCQr--XGa>#Dm z5c2cx?D%{8e!P78^5oCY^W**%{mQoMn9p}}XSL>s7uk9TjL+yD?k~P?aO-<;USP#n z`6ug(Pi!*U>f#eVSKxX`-O`HCpD7ZYnd=Vkv2+csJoIYseDBzq?5F(pyto_Magf(2 zV*9}#^>dn?@?N}~y3jk?huv1bcx&O})Bn}C$xO2lef+RJx9zz2Owq=J*Dt52S}bNZ zxoa7GG-6Jk2&>)G^Gyp%N|_kkX5@$MKbIdnZDDKVGw*=7ZJFBVYmfK!ti8O_qsuPp zf`NZ|v{vrP1F;_bFILGfXLmj=aQCs?#zV_(+l~LLN?v*=Uq4|{z;wTze;EtY z%wha}E}^5#{NSU>$`MW7k&E~`^u2$1u-J99uswWmC)U?cX;v(&ZsTduG>fEWC%Ip< zj1niZeOd1$G1>hsf8BQuHkGeQeSO+@uiXBl%F-%Qc;jtE>mh~DDqIF1Pbi(+tx&UU zb>Nk_)Nj*+G$e0L6+HRp+Acx=3;9B4B%~bI+0R*;#&ynI_fMsSmz!Y`&2;;P zm{e=g&wJes@BioS+L^y@=BdRqH(XE73HDtgmpA)J-P0eOrq?fD+%~Ikij2+^=WP>i zs42Lc=`Lt%{jdDqN?hh>;)nm$ov&{iJdn+ia9S4ke((2vs?~eVKfP05(x8*$e5m#2 zzS%4{Pi*RGjrkHO{z)_K)w`w{j*eQdn-X?cxlTSW7`$A7H)Z0bubH~WPT4-Pic#-` zbMLJ;bu^T=F_}HBwrWB5(WJzZi_yF*6PLYPF6DGsC(uS*)am0~si{-f_=~J)KhAfb zJxyYBM({Nur+J@^6)3U|E08H%QLl_KTDYN;})6J-5eC*6yBqWzq3P>+N#c zBBCSSYHocw<9lsH`IW^6e8v;3yKL^R-KesG)$8V$2zPd`_N8U_IjXA^3!1;)GV|WL z`HW82C#Jg4osrK@hv;{G*%AKy)6#=SJeTxuo$&v^xBh)?pE(EQ@_$ANF5&S|doO%H z@L$S$VUeX$AC)*e{>#X?D%@A`xik3(Z-eqQ_t(a=-&9yMo}6U!YO{GP#Db<6Q9f=tttuavW>?TWWsXur%)OI~|}U;tnH!sZ8acpYbbT(N_1y+^_! z?$nRRZGJn?%lz`n^;MPEqP&=c+d0Kzj;Du+{d}vYT1q}9X+Ju zUNXn#M&X31%d=B%mDyM) zIidGb=OOvt=qY7sHxs@V?(xr>z2GKK#Kmh?4-GW`YAVWKIazhLaM`o9=B0d!FS$PT zd|DNgJ}sj>`t^-Ddw5L`)yn2A`Vlni#Mf&5gKw{c=HO{AK5ASoL_y?D~~Sf)0rpl9=K1ZF-$=%^QO_oaPiZw8_$$Xo8Efz%f&}g)0{3> zz1+Q3cU@}9?QJ|;*6y}YIpO^3>7K>2ugCrqeDYDKfVomex96kE;uWrUg#*=dlyB@<=yOQzfo;K0i#x1rhr(nw z)qdRieO}Geqv>|_uTE~Culwoz{i<(oK0H4E$e%BGYfVt?m!-elYyZ7`*qfK};rjj9 z=Fctb=ZybepcyI{pQz2TJ9b zOS=A-2Rrz7SlGuoZ!ryyvgEh_{p9+NrvLr2_g1*3ToZ|PNtQLZrQf{ z_LTD_AKb!f5_7cij=B=droOZmjWg2bA_N0fCvq9yZw$WafTQaX#oZIvw<|W6` z#V6b+>k99^(y2GSbjK5ZfiK^Fo4TEIFwhpN=8<1HFU;UvLU(nS;Vf$r;}dgBZNw`@ z+u9$^d@d8_we+||%qREj9@R!dG z&KI@!ns6RJAQs75^rK?2P)ce0jO<{^$?9c=vzgkwpUg-KOtXtfi=1iW+aj{*LZYJz zM|Vrzs?UcV6(sgvy_GN0+UqU8t>dxOMc$HLhMN&)EV*H;u zK=R#x%I~6g-`+OWb^rZ%!Rouu1e7$oKWR^7srf5?2(aXChDs=A_S=ls2 z*YsQceq)IShRj=~MRC>UVg?dCY|RG~J}lXmTr>648i{(9;JaC-;`}?L*9RFMf4Xsv zz~}P^bfveynk>48H)^T>)#nGLz23I#t~z8JaZyfa?$z(}y|u2+(Lc57@48Emk44V5 zJ2bD$_2oQGzvWCFGgnOHS`r`mMpCUg_|iui@mh8sk=5(?TliUa>i4K|_}46#-4p-q zMf=^AYhSmYwZHQ{x5B5Rwpn9^n5r#J+S2E6osGS7VF%fKRcr&R_6F*QH2ZN^QHv?%XOA2u-!eTcuzO3XQ@VfQscyB zovza^uUv2=;y*8|(PC>6#tVXCLhmKpb7#q97WIlgoc;ZKwqo>?r_7&Tvp>0>^w;Lo zi`|!3ZwopyQA|WKesY7;>f5!ojOWkxHU)9FeqCel;wIF^v)4EINoS%dZ=h1(^Vsh; zF_M{Ys(&}uME%IhZj0Vk6=eV8&wdx@kfletlp4g7Y~mI_q)KTixuA=$RCZZyDh*Yb@2FwElbvkZ4FHR zAI`q{(Jck}mp{Jex8=nz6+hD&AA0hJ3Y%}|qK|vj+oCF+ba$;}*l|vnD^&JuX(8VO z^KBQ6%HpRR&F@kS;642D&kEP6SMqhGu2x*s5TC5Oki%rPH#_IeSDK2|6;@lV_3O@s zf7j{pKf1bbw|l2)-~KD>uenz!Ii@eY$Li{@Cb2iVKk)9Kby^c2JW#ZK`NDINdUloW zlMKV%!m0c+Q~9!g9|<^U$71@eG;EK*ksq^SsZz7~x5Ijeh1~5w>n^xtImc6`OL(~UnN}-@ zAMJ4xZRyBS>hQnK<7;?p+d-S#)Afbjo<^o9)EX$PP7DrWcE08P&~i(>n&m!chN%&I z7I^LXvHkD{4*vgdC-k2D8~g3+q}val^2h)E^Y{AxeLo*AkKh0E;dAqN*-xr#pKz^d z+|c~{#o@nyC9;c5XH1+wA=0*RmDb8xJ1=y6eB*WQm1={+{uAz#?tbpsJ!jHnmbJfI zTyMEpC4SNAj6A-M;c$>o*7ja%GY$bhnpU6W6Ixc!fxu;%3I@c?!v+i zZzPUP*S8I|-q7jtX3^EzAqU+0e$Enl`pxz^Z;o*jVdA|04-(-Gm&T|(}F4h+|f?O9W z6-5@9bDWIhvrlBQKfZZG!~D&XmzGVL5#*=wR3^A>iqVoO!CsZ7pDjls zw43>?e88d<-4kH#uBmdivzsM3x~DSu)^p>@$+u#-_l54!y(Jbs{f3rKZA{nt`HHT8 zEEjGG?wWh?yyf3LS)5gUrN(6!JA(}M=4ym`PjTBR_0-K$RA+wlhfg1?j-{Vp|Dxek z_wG}N=U@LK9Bs6*lmD!Kpi}Mg`XH0{t=(P?2A{$_Pw|(^g*V({PyW$ zKe!sA6Es`joW5tu7|$Hwj^IIin^w zU7PZ7-S%TrN(PJ%WEvzHzOUfn&|%oY@<5eAd<7539i|U#4cZKOB^%X4-e`(ew;h$* z|8U9bJ(t&gI=AbT^?SYdqEo-mI@Qe{qQJ#@b;aT%*JV|c_Vp<}-m&{kMMg?>j+gDi zpujIH(&jeVzSH@>Wb>WN?N6(gz1y@f!R8_B{ZCWQ|D1IH!=&^-lh*&36_VhuwV^@& z`FBm53x$FLt5?k5TiUVe#_jeMrF&gHUb)6N&k*qAd}ylZAQZ|_I!oXjhoYPS+mgW4 zfV-TJ?<5>)Va&`C`SbmYV7-lBPkiDYuApO6uH^f1ZC4T9t+-XwGtg+U)O0t=uw|91 zA!@C&rsxK$GR$YT$@W~q@I&aqblsgfjCIT(LUnof&kgr=o-}zvkx69%YTUsrsE8JZ&?ODpTJmj`zXsPF>y^1%dsodsCy{%}wSkBL~=IRI0 z$H6KVA5L2**_fyxSF6L89N<_zuYbmQ$_^(`?@KM)+ zNmA7}eUHVd|96=6<~?L&_tc2Y&sGsX+HY~_aNMQIEoHZ6ndZmH7E~;#T5@7*SAkK+ z&*$Deq8GPCPR_XD{eO#AhiScAZrk3}(~J2-W*BQdym758Z|}O?2!j(3Yid&dhOvYm zsNnl=cjv^gZy30TFQkyEH8Y3#o#uayN zvQOVOsfRn z{a2M&rR>ff{O-Pcw(zgiEzdLSltWFmDi^K_HN17_{`Iv5)#u;+Z2v7OU-x9v^grt( zKTVR~{Y16!OWoWDkloqeVF(kDV)doM1p(AXCew9mhoUBmIw(hW}?CUviwe7Bt2@WZv)I{8+W z>TE6B#Y4|7)phnby?TG8&(F$};aiTZ3B1Jm)V=FckdN-sOP3Sa%(Y`%?KSJnU5+2kMHewSHk>{GoRec-;RET`cjrVS;sWEm4JGu|Lu+gF zcqG?FcfZQAe0~4k-HZ9VR)poa?Uf9Yf|J=r1ah&Rp&ItOj zE1z7y!s+^^UrJ}2FYW!{p2N)ac=gA_XD;xpE8nqe`W?raHxsp7C9GD2XXBh*_Aj(KIBBxL@t0FJHOd8XTrrtz5v5kaJvB(} z#^NI@UM-FB?b;`1v}E>#fIS=bbgEvtvN|-nK1Tgy>->&Trne^@tNEI;W@T6Tgv(`h zeP|E8{O$63iG;-12kyr54h->!Rz&$khdIXnk;;(0^k=zuyQ}=V8lN?M=ZhLEJ44F- z9^HCWv2y|Mi8ZdA+n8Kmv7P<;Xc>=?U%@=1d&^#)zWnWn#<#AFUcM^}x7j={-nY^D zWmrlZzn!>rq8Ilw;f=1nGmQlvvdx(ibz0jly@&nwNg02^TtnN>mxK4Umh69?U(v>J z{+M9*HK_+oftMA2DCI|FpV#Y1{N^T+>$?L-eK?j4WE43J?mr48jWa&jA<*~7VgwGNw>)t^O|;2dqQo-#RE-Jl@lh- zXRHpP^%4oh>;}Q4FlU~0>Tg-BH>MeOI`fBFtkjc6>Udvma$Ndfe>2x;9<7l*8>(`d7 z__d`T8*^3P9uDT07adbV=jdS=YAi-aT0)(s2FmUfbTgreBK0 zyH1@{YvPbvWYXa0^1$|ZQO?~Nk5>fC_$BIkE|8bh4nEDP9TqwN-;eXPRnN8m&pG_i zAxw3AhnPwH=f<@Rr{^C8ECS65a$ z1&gOO7xUcvuX(fH#<47Z@?GmqztboF^;-2sZRI8RA9n97kG1b@Ut=HUF!8R<6gEHK zJ2vNj=4jrS6>`MLYH_gYB<)YHORwt$o?V#z?8CN#dtVOLtYlYR!LYu6_u3mv>^25v zt%^Q%Ire)4+f%FG(|jk$7ysDSbL3Tq_j4Kcn9do>!B1Uo38|#%EkAW^s^vV>z{l!8 zzV7H<#kT(eZ=6S9-xQ67EB+Qsx6AsZ zSNXMb@^>wR2zkrQ{Z=MF`O8(K5=HtK23VPRPB?nS74G@ z@jB18cJcOyS07eeY*ghttaPEGNB$9$ZxEw~#&3}}O`lzU>z-a@OEYT-^eUZvPIci7 zjt76COs%Q^ zpQ|7j`phFsFN8s*deY-~m!~TkS&e!muP@|sc8zVY+h2Tw|KkHr)*xx`1AFT9)DI|P4O066yNCAauX~sh^9r%z{FzAN>4qJwCN^W$51tmm{wU@~k-1 zw|x2e7io8&uT5F>EIJ@DYGt64V|U-#i`~=piy!Ywh}HixQOR_Y*f!zFS^w3#hq|k@iA#qpZLOnH*A*<%#3;DFL9XZ-;x8Gi*_W| zSf2b6l6LaP*%I!9Yuo(1Ii@klzQ5~JFD<&KXHylMbJMT5>lQaYvb^g0degadZk=W0 z1ed}^Zl~BRkEK0|UUog6Z^{(-duD{?)3O9bnCzG#t8un_S`!A zfj>+$F?sJNhsuzU-tyoxQhzhef+c74HBD2AlvJ^K`MfCHa8BIm(n96ZV=U1Zm;4Zo zSr(}(TI zXBX?<{K~_xRl+#AUS=tq_J<}2l!V@}agw;xrq8qV@XO3y7F@020YUH1w6C6j|I|88 z%PsTPt!%l-m9oA1XHdMwHRd=4&eq6M72EbM@3TT8s-2Z=B3zCE^CUIy#~x69B&s7)v!}oXfg^<`duRTj_TsN(q6zq7Rn)&0k>$A`L#$0|kWv!f_ z(xkGl9^BTe!#NUiH@$wZ_rZMOeZfC{Wor8tTV%+FFc^Fn|1tZ*dyYEB$&akNKI>kZ zBQ@)?*x8l-n_XrFI~U(tWcfAoUWa{M0QX9!H;N&J`?hS*)z{6*fA#Nl#s5!F_x(Ta zqO)@8x6;#$cgl1mTyN=SM0LG?AkOvtgqqQY_WOIY588H0KakbkAWPj$3%-?yA|s$CbBrs7#!o67${D zMp49qtMZ!S%jFD=pSguJ|96$=?)RGfTFHNt!b8^0ztwgfknhgn_nh(ISk%L48}kRB z*36txXmnXOdUnN`&$E?cO^&ZPu?YGh~?4J;OBCWl8kMW{KB&XI8ZE&HT#6Qq>=Q ziMyb8|Mb&Yu@2{YEQ^+ zZaJqwr?e>FXV;teN)lpnf{AZApE9jqtMGz*s@^)ygXheoq$U*y+|HY~=i>TiDM9Dy z>{0Jsu zR9>~LX=4h@+(T82TO^aF$9POo*cswIf&FGmWqJFpy-S2b{x2+Cv%^J8K_J06`P_=q zjK!agqwh}fk>FyJUhCIMFnJchT@~`KTqk_LG zV`5%~z0r8Ov-f#mYoX?&&7Upmc;gT8KbhOIKHs2$*S|eoeR(0TjpKvWm&4b`%g>*) z&+LFA)8omHCE~7F*l%88_;{zg@&41MXYX88QMh!*b{30_(uIpE8keU0x*mGN{QJ4v z&rhwejNp6Wx$E*152Np2P2FqX8a;ixPPfuobZx-G&uToX5gRlnSnX*xuzlzI(QEli zss2kLz0#6WqDw8sqV$}z0}gs+d{=V+-gL)9+`d3=hOC)E_3b$&2a9r(uDwi}=*fTf zkYod30x9#oJC@{4=-VOwsC30B))gCY~ix$r+bvE z1uCw*I?8!u$L`g^TK1~x6P{d6;sLdrSA7i(jeQW>TR=x$f;Gih_ICrP5CGU%j@H-!tv`(r!b+Oy&=<}(~ z&l#4NGBhmz8r6H^SoJRPo9pLr1xGf}G%D^DoYknl~Hj9IJ1BkW%?; zl*iQJpy(vbcGp-tWJ7(?g}jwbUo;Sm7Xv5u27pPI4={4qGNuKdyEZ}$v*Ut9eBBK}FucLMiz z-s@rP+im*ejx|61dBk#MZx>HS>0G_Xzuj4k&5vrU-Q2MuooV|ovs(VY*$uBN;{=b@ zMLt%kTCzb`f1|;#tUU_tbMkhDmqsqMSk^Rc(W0hr0t=LWII*`2$lPyPCm`@fsCAEm z;(JC*CIK$XO_|kR(G{6rv;H-N>3n?7*0v;*N8REsxp}7hit@dF=d*>ev_Q!0p$cuAcnw_WAw4-aRkxJ#lfvV!j!-Z7(lVe^I@2W}d%| zP}lPx>a!oI?krOJbj)&jPSjm z$L=Lnn*V~M%{7>uQ@C%@W(;_uI|b6``G-v_5@VkbwB$!n?vW)rbpWaG&bD-R4$+tRg+jQ z@49W!6*SF5uzMC-JMQ5GZR%gS*vwb+lT>t64n{e>_-MM|o zt@!NMENdt@W^J)y)w9fPM~kwawawlo&Fb~KXT^?7R?0=UxDTh^(N&ww)T#S;QiQ|J z*t54L>s-mMGQRzO!nu}j{nJ>ij!X`XD-q#8;J5EziFM?Q)qRayge_9}JWDM^EF31V z->H%Dv08tqTJ=o8wr#G3?aO2xj0(0%xc_;S=;k12+fcXRo9O#VW$$Ke-NYd2C(QKb zTZQYbSsA<8j|$IAa<0}~&=-AH?7YH*-z=&Lxi2(gxGwU#TyC85RhDQL50Cuc2eAe+DQi{#9tNJ@#@JU*O%|kl`nag zQW0#jYYETH^~^h0tW2J*eN1|0q58cNfxXIyDzfy2dv{CbJ=<>~$6MKDbKktO&aQoi zTX6W33(HjaEB1St{I=VDa(;33o5JPki^|@7s=CVf>Bh&JZ)wqcBUD0}yua#yczEy$ ztL+M2m4Ekl%io)!@A{p8=Jtw>TdQW<-4tJXy)s7Z)pWn5?oVw)ZrXoIVO9Dos{T|( z`>&B`=aPlbg}f5p{J*iUYq87BLo?r&?7ZIns%Bow=kkh=E~d4Q)kLfFmdq1+w9>m? zjlJ@#)QO89Zz{Z*&s6>Q@(O#Kw^#Xhu@y#aT&&Qib*#_F?{t_VSHudr0|sL8M;155 zKb&}~u{`E_(M$bZA#=VlPi9}O5$I!{^MObEm(8s0BDO6`B2(jJnZGHwF645u`S|P; zN3TFx?kY>Fb(z$^|A*5Q;rT^+LJCJWM(^-H@Lb@s!ZGdX6W(YrI`T|Pwr4+L z!clxgk6l%vW9!#-7pHBRBYu4TD#^00%H%Two@~C$xAxTk^;~WdX!=lIYuDPK9D|J_ zMd2rF1ZOC}JCgk%*&xTf+A3G^e*XI7nib0?1Uaa#F5#6;UaT@>#ZDdX+|B%&&Wevt zE^&JKCrBiF9{2g%ufiuptNx6UV|88sD%(u!*s)zNw9YQs{jc4ySnR*o?>&v-R&~qP zG&AM}UbrRu>ao;f@wUkqyU&ZsD4P@?exX>fWTGDD(QYB3$7iMDPs`j`|AhPOE5+Bl z4o8TJ*3IECKb9Z5iL+>d*L!36n_Qo(^gq3C2>X52g(s(T-*g5^_8;}jUccKQ6}sh| zYG~f$t7kk#t{?gQ_STA|p9V+QuhzdGR(ku<)dS*U>4sKcUY!s8{_BeoLtn9!pcDonCI3du3MTx*)kF6PJ{Ryy=ZZsyY2y)k>5drMSx zm9KQC%(pwS{H?ZJm5I~?zXg|)A{gH&oHKmzq^xtxwrgcmt@6@>4=vnbE38t?m2%~9 z@YyXp7Tj6or1oli?yso#O>C|)F$dz|IeYbr*C}s$>ZHsx|1x{mtDUTI+@~C* z%@`kN%C34fVTPU($@EHYP)$h(;BJ#r(&YRQgc z)h?HJ*ajsQzpOmo%+!+YDR9)SJL#l!>ZWfME_VOg?cGH0_Xh2g7yZs7pZH^eH=mru zN%8ucZ5?0g^_!0Km~B6osUl+UsT7rv7I; zn5EX__T^pPfkQWppC)!pPq}_finDsxHpNA|t$V8UUtGARxg}pNw5s^G!;kqh0^F@F z3_?sART&~*dnav^xgNT~z@JN4f1*MkXKmb`i>(iq1>b(QZs%16jsWwfX_Hu&6p--#-6??0(V0A9*#pc}JH1==7@8 zpP-ScsIcte`HAd9`o{Y0^|PMZX1p*>t>(YUrLnSMQqns% zm&v-@ZeDo1_v0o9Pu3}4)FT_LHC|2n^wxgSiup0q(#4-fow#0q-6Lk#)zfF@WbWU6 z*j>Zndi!3Hf1*9Jr_3(%lDM8Zy-w=i*H3@1_#K{8HdD?0w8EYC$me&(enoA2v-!QS z$=d=wuGP_8O(~PS-;@-^IIjPE(x zwkSHGQ(a|wm#(H{_eKHT^81_oc?zzFtn%J|+hk|tz1Rt>)@+q>>E4+6gZ2B9NZGYB z<^2`oUZ*a;sQ=GJIU}AYZTq!EslAWp-8QW{yEfdUtH1K_V<+|#KY|79j=uc(Ve<0h zU#p_-hF?(8ihEQ#Bd#m1R(-4m-7_kNidoH1v1@Ox>8=}FSZ zk}Xdj7n=Tqr7q>?_wrA_R&QCOuz615k_E=b>y}B^HcCneboH8Fe#BJZ8< zn-@-EbXS#T-MPao?$WikKYRbC&9r$s=@n-!=iA*vno%wqV#%!&B$}fxH?I;sRut%V zpg}{aHL7*Cse#<1^IN~ZXikvKjnL~}ttz9+qFgXa2z^QUAl{0gX!Ntm6z zJ<;R=?{m(_=gu}sd_5`{+a{q|@G0ou@q#J4J6Te!Ix<)0o=Dz(M(pt{&Ex#RYww== zAf@ix`Tj(!qQ4k-*TTCK!e7sPcBh7m=W*3U-Ng#)Ha{$>oisyGc1eCSldy#T`lQ)1 zyPrr*PWCv*kU2|1@l@Jd%mR2urW3c zj=Qk9Z`JZQn-Y(eh_f_?POkd7kEu~~S#wP2fq5lz@e)C2OyeYWi5}x~`o+LB>EPZQ z%?TP`QYX8t7xz!7{B?t=AhdE*N=Sdz>Dh8wK7X!DUROHEC(p3g^vmm)lXlL%Z(4mK zuKWK+&5Lt1qCT{kMM#*J#!1XScwSW~e^T5GgN;?Xch0#vW*?T+<#=BEXJP2W--iE| zUjD#c!gTld)O&GiJKgp@Rn+_Y`PRRML1tl-8wDyD!pi0@{8%WRy>&7y5FZWk(Tc>2L7-8GuM^PfxNf<3~;EAA|G`dafvV!bi{u}gDmHZ5KG+cxO(Z?h87 zgPYmkEmc^x_zCMPt96YkA2weufAlSCRlcK3*wZZtAjOX0CkH zYde+3WhLMB3)kFwBwcLUzGY&ILEJ}G|B9E>o>>>&4rDaWSY}-&R5*P@EW@E3#&-t3 z&Owh79^{*E;m|m-cB#9J&Pnl*7h70E{a-ui_kXw&_enwX*pjBmsXLhT(!O8W@?~nIbaYlIyK|;UGG94l8p%HE z(Z6#FQop{XU%4}L<0QT#%NFHm6rB=Ex;gEQ{I(_E-Gu&2A4!=lJ1u{S@TSzePcGDW z7i?H{PB+I&aM~iK#kD2-3RnNDJDR)nxaeCyt-pu0Z%qsN^?c>~(~^GcL~5n@Zw0qM zlKjh;e(uag=_j$=)6U;Ik~81cMK^c%hqa5%KHgOS-k2Y{>j$5BMpM`ICaug*#?vFi zW-T@sjoY@eAas4irR_~`m#dp*JyKXCwcFa_{?o6=SKO+|i7}m%%xUlZ`OOoj6$LjY z-xEB3u)=iV61l%U;bF1GCw@G8emcJX&!4x?r@ucWs!_%*bZqm+TA{G}MMoEwP5E~E z?QfUQ(>@=H*>hr6zb;;|h->=W#(md}=HBiMl<9x1vi(%j)1;|WLMBgt zad^@i2a$O7&sV1}SkUPCXrGAT!e^4QHrf+@8MW(+Hm&5F@up#_?1m|KKd-?H0q^42AEsuk8=Ix}BP|AR5J{-itaEB+o;p1Vit z?t5*mcR04oVcXZAT}{unI4-^K81UH|&X8Sn@XTRifm-PvG;>*%zsvo+{OtanWMQ3>Pues5=>3Fc{EteuP{uX*l|8krXmFtt>zqsCCnTXoGUsK)h*782Rv(v zzB+H(!flUE{ypX~_p$dggCD1~G%V~=AbOSF?AK4G?2Wa)H`BgHmNmTA z`>>;oXw<%K+qoY4%96}aQl*!REgBXqsE(R>Z`GDbvQAH@tAq(?#TRil z?d=H@?3&1T%;7_?N8pB?5|5%Ty*i|=EH!V#iT?TXHw%{8x0Yusz87=)$iXyI<3lau z8k;?*B;_4>gx>5;DBmMw?!4faK!a_xL))o%mhFd_4EgWB*!`wAclNIvnTdR}>;9*m zsJO^I?NECD;TtN)jy}cLr6qz_U81{bU{V$p(kbi??61V+BU-m^34_tZw9H}n~ZGFn~<;9n$y86x=pKkx6 z_;2d+=GiAxO3P2DYJ??Q%Kn&XHYL+}rb^nPCmGheg+G1>)!!WZ`SSaQzuPL-%LdGQ zwNW!)M(oe`_4_i^c5&ufpRD0Mc_-vg*rB{lBA3|zG(X?byr9=eeRY(MikzU>(%%t6 zvV|M|)$h{SYI&YH`>2HK1J!1$+#9QdkNe9=ZxwmivOK_U=ITU#hs*{26SoOp$no-$ zdM$oNM^b)cq`cjVo$LF}KR2q|_{ zIJawVnDSebrP5-*dhdfP2hJ%A$eXO3n0mpi_UtUbchmS5Zd-EX9dEGiBvVJP+NPx0 za^Ko^om%|EbbFB`FZ-T#hDVa#7|*Yh@5u6!Zj0WxXsP@5{Me5%F^#bwZ`B=}z9Vm9 zbm^Atr8{pP-o4WKy4jN2PcNz-?fkxShum`E!sNIQ!3*ZS>}n)DCP z&~Eu%t=%{8G3(UiHOrn#+;m#DEWNogm1~hhx-!?_YVB8sWhZ|~otIT)U}ZD=^6iDh zlPKoX_YYpX`|X;+Kez0%Eh)AVMbq66pKP!Zwfnw*&C{#IHR;nU6an18){TEdhp=1S#hkEQ1!k{^$spV7)^TPSIJ_(kqvf%Dr^-)Q+uYQ9)G zdqv%0p;<~XU&C_0E+{j7_3`EM{7awimNiTKIJM+^S4>ph!misvs~A>IpLQ#-WQNqY z-h~&LF7KTpCUE}LR)>1+EBQfN8|;@?etmUXCo=!ZA??elliu(DyRWU5lRNZ;`MY@i z$tJ(^Drf##9boU(`nzF={KwQH<;kb^Z+oDXmVNuHsmL8O{k+}#r)<)Ac6;j??fGf5 zuk+94o^>FD`@-?q?|+>QY%^{%F2A~yowKCxTl>?)EjpU3-^+Q&sLyUcuqmS4VAYc( z>w1xYV*3-5gnKRK)L4}q?L49OGpLH=@cC|Co332b;x8JE(-RK(X2ncewfOp`Ul)bk zHd=h(-@fy2)QQKDH=+MVr7<-D_=JMQYSZ~JQz{7!1w zR%tis{pVDUJy=pa>As5UIdRv|e)H33|K9HL<+RfJC+mLgX)>$azc%HioM6SJf1IB8 zA6C!bbAHVhZ|66UE>3wMz_s@r-_EA3i`6$g;hSP|beBqGNV;U>Iy;S(HJe&K?VPeP zx^(h^mgU9w?Z180ezWzg;kLi3+3RiHw(VyTaq#APz4iLcjH6%8S4MBB%RKo*<)r(| z5Q96i?7#V9L;e9r z=5rrYE_2*k$=j#&tH${7q2mIw-phX7j+y_3W5TT0ns4(zR6IY(aUf>CQp>5eDV|0B z>~G!IXjSdedd_u6YjMt8n8$JOw2ik)V` z%`@)y-#zB=nz{6!GG}}H7rwP3ox85JtuD#cT&~phF!3o@Yp#D3LqS2Ha&xGRWbe!K z`3JXE%g-sZ)&Cwh=?AC7GtKsdJ@xCOy)}+4UKuy$#BJu|@8@%7 zwK=@L&Y*Ii*Olj?1|ROFiRiX&m2z*f4+ppR_W*0S%PjOzeU{}Naiw_mK zA4+ItY`iVC;`9fpV||Qb>@iEe2gtwJHsRRPhmz+Srif~#h;05?Z+regMrk?wCZ;k) zwyv&8+((tJGkx8T9<7+7fJIj~Z@ewNv`ccmoJzRf&HBauW?Q;H3Mqs#PpW#a zEitchZ)Lapnlt8~E`PjMbMa4BcX+e+kBjmPjOAB+l6P#@VNKcirNnR7+^bt2%slam zx!;Y6b;FdMWkqL0PVufPmyLgMzBfeZ*MSqw%e4Hj#s1y8ZSfV~uXB51?w{On=Rxn= zZid_dy&~m#nsa4?;QPrz+q$-RGi(afcvDi{f8Hb7L1cHXm?Db`Ymi6y zo-IeCb)Fm&)h`#Fde5?G$D#i8FMoX(Y4hD*Y$d1mo?lk}&7t*8+mjdQ@G-r2?@tI7 z{<|x0?a#!c6~@nPKlkNciB{V`YoTlTDSk6Esdl*y0GBPWLBx=eqhQKr0W$*f1=N5z&M%k|Med2vaFc_9CGtrv6Gi_Kz< z&Wa7OkUU=|b;uw$F6Y}?6&A-+>oYw+T(hj0dA_@KNfYyZ-e+CU-*L_Uz9!tSebr^v zS5xI&_OoyqOc3ii{qp6@4_`IE{5bjY=f{(rxy26ptu31$|1iyY)^1p3DW29_Sn+4p z@%71a`>W2nd7UV%m6U$zuW(twOv!3OC37T~XyVEA$(}YlCQm$9&VFCU((bWWeCe{= zx?EMx=7vWSlPw!{3s28ZQMQ!i^OH%ivfbSs&;Rr0NAF7Z8669_KN>uGc(H zHw}|2U&!5Bz5C(GhSxk|>y6LS5}v@K_QJozWD&U^v+c@2eSYKyyY=o((u9TIsJb>5nJ+C>0)+_&rm%N}GaOQ(aij58Xa}^QpPOe{{Z@=HCb8WWL z@zUi}T91Uu^9$5xp7Gz1I!pRR(n5Ac0P`H7Ry+-46oSYIE;dMd+;u_}Q~?)}>$Xzfb)W7yRDJHEW5|s%g1`x<9u}db`jyxCwN~<0&7nvn&bTJM}focjqbfOJh1kHurulSiLStMYiq7lV*u|d#x<(Y!AL) z=v-f^DS7>{_~untraqS_+GA&5S6cJ!m2%Nsnf-O97M9k%k1Gm33I6mu-?rXAZoi$a zo#e6OA3rD;&EscZ{(Sj*f41Y#*SA0a@LRBweRp{Cv;T6Z|2#0gu)bW{^7v^^^IfiA zsu#R=@_aGf^PiI3o&$ai=XPh?-3{I6v3@1z%BMkFUPp$VX|8zSKe_Xygxb|$!OM}{ zytBAY%5C_RTcuol`uL&=ssHjtb^cy#z3^N*P|hDSO=4_xj}{?&9U zX4y>Z=9!xoKiCs4e>f#M^0cev#wkupy8~_5EJGd}b4dpY?$yfdEwA?yX#bEt+4;%xj*AKZVzOHPvh39FQkv}f zFQ!WDZ|A9H);lfa?4~bptzTqmH)+w~`dP;}PktV><%R#}ABH0LO+B{RR!J0;o=*n(lcMa zWRTUaKm7YlUY~1?r1g!2H7^%hzB9edZ^4-x*`p!#(7LN^;W@9R8z%_exRdwv3PXa% zGtr4P-)&~eJ73Z`?_MlvH&<@nhB)VLxlJEVU46B`rQJW}pzp7Fdh-kBX@(jd^%p4d z@DEbqn>%f*=BsWbxTq9*8^ zEZgUi_Q!Mbmf5?voK=1I?p|hXT?Xg2ol`w^JuSm>_tyWmZhk1h;2704yX^O!^!M8~ za_}@9OaN_ZW){@+cDMT^)3EzMu)@EG4==wx!1nw0L0)#%n6=luKa2c3|0YdY-+@`F zsI_62Vfl%oQ|U$$SrXIV@f}}a%IfH8Y_tBuRn0ewk;{tjgoJI6e071zJfcRS=kD+S zQ%j#L*w*ur>%zl-fov*wJl$tj?q?Q?xL30H-GYSQZHlG4mfw8De^}wbZMBM~O}AzH zKHXiosyn=F^SVVm`j4)9&3v%u?)?sz<5CQ-cHGO~KKeGAh*JPj0m zf9(d-4zX7G$1k!R?^P!}3^3ds_15o6Kd)$VY=l$);qIRh2iz8eRnIX#M-~(=KJq=MM@x6|cg*{(G@*JahRt!-L2FKWgmS zvPxL;@8XAk=Iy8B3+_+r-ZZZ$|6)-2Ro$ptT2r|+E^5mQ6`s>GIK9&5Q>&><;MD0- zY2hjJuIAdObJjhclR7u;b*3Y$)a%rBYIASL-no&mmACfTwzb+pZtJS@W_sBDx~i6z zo}2i?@M`9b{1dwlrRAM_ajI~Y&h38r>$5g2^;jJy&$;Q)%g8Jt4c!lGoP$m<`Nqj9 z2CjeVc9cyhB12cEx%Ba&Q%{Sw_jJ6OWoNf!RsYx0kAH5*Opjg>C4RnTZT2E1KEE@+ zZ-*aAE%EK^+gBPIb7JAIX06{h0%q@im%FZqd*=+>C7b&Fa=YeEO})G})A;>r7X4K# zJa31EH_R3l^W1f+fB&9y{eDYXMYpY+d_dPm^W?G5;@5s&TsdXg`)#2@Ti&0t>3yQV z_QT>><@G1|pUG>jTOGXU;X`NNr=_JT3UW3oF^%gs2sHJYhPm@@>QV}5-@mQag`2&= z>TBcM355@zcL=$&dZ;~rF3R8|6*=8On_-H@uGq!*SK2vA@qWLU`{?0DGtHVjy+?~q zo6D4?iXJ)lQ|u7e*Y%YVCUey{D!y9#!Z5`4YRnaGS&nqIop0C9U3KPN5%527a zCbJtEJs9J4pZ`qDXbF0-`9+nn34>S8LeLX_FtO6&P zAGG?2OE(H~G=^Sy+AkW09S_&OUuJP4 zdgXf2K96UUPUngqwEJhf^sURshbxX4nqAPHp?~Pt%jBbNN;O#uw>ldXA9wG}d6hk* z{o{qjlbW(VcPkz5>|PzsHS6i5hCaQ&&o%bvEb-_37^t^LCcS^rs+l=mYj&(Gl~}Oj zbh2{AiHa>rD<;i6zf^wju2YY@8#i%lxlAxNDf(uSp2J^wW|K;g{erd6R`#1dY!G$* z@V(31^fZIY%D`3G)3QX^Tv~!Iebm<|n(wgVrmpv!S3=*Q#JpQG4rh+3l?^m2= zQF3ee@{@;5LyE j_gob!h#^t2_;&uOb}}D=sO0E8o!nrK`EeyMIkz(Z14MzHbg? zy;$4-W80w*JiPV#n{@=*^utwWj z=8}q;kA$QDZ=B-2N9~kkh4PIvT0XJv^~d`UoOx(nrFC3>rM;Gb=LK1gKbOw$T6ro| z@x1x-ResBU>-VtC&yo;ce@VQ4jo>@!h52X8j#mn{pE@#2fy3VBTRtvH#&M;+0ZA$+Tj5-hA=t zPnfFB8~f$MpD!!enek`El$%H9_cdf1J6Lm^;uU)?_j3N?RUX^k%-x$`_MljS&HJh)qyLocM=MQRnh8lApJFT9zzNT@#Sg@YFWfA-PcRiWQmutLO zA8}{LUEYLU<+DPoA0`>bPyBPqhWqGDlgcUQQ!m&pHt>CGwAZ77Ggj^7533zlRTt)8 zw-Ec&t1sosd2ho?wbV4jh69<4R?j?p&sDM4zW~@m_3_C zmKDv}iwOrt208AOwSpHC8r$En)5zIVzuGoh~7(GS0!FY z^sW>Y-=|$})NxSa=0+)D?q$qdz2-kW7OHjRk6N{1~-YR^wF52iE9mpF>XhtXC5gvHzFDx@yU-Q`1^SI?dAW-0LaY zDCPNaa}{IlcKt;+HO%5teXd=d719J&>61Gx=xO&SzV?zfURPeNd349P4sCqPeL_P+BxKRQ%QnDGot-JQ+U5hM!Ec$`P`5DiXe-k$pO;#p@?= z8gczw_^0sV`KE(zJB*UfE)Q-v=YHvr74P|TL6x!(CmUXiP;5QR`|sVo$#u)i7cfqE zCsm(&LZR^czqjumMBW$Yw3~QWx=A1<@FlO+rTbsme%!j9$9THA=i#g0i=P~2P+MS_ zE}Cho*Km@r{-Xe9kmw(?D!os|R+>+zRz2WP7GT;-5!Y23eXn_8w&bP{vI@lC&6 zHdSTqYu&$)+2p9B`vi@$=-j_gTz6L(?SFe^!jG~&KMkdO*E>Ahz3GU&_xHf3M|jNR z)n8pWf6%W#$?G{sSm1?9Uf-{eo(N}rk81M^xl<{nq%UT1hv|4|#8pF2R=H^(o7L^^ zFSLB>%HZ6>8CiKnYTgF9t^W+NMI9tR$kfE8=1%M~+Sk_@V}9xVtxS{GRo@f##0o_- zpH&OdeY2^}`@Uy@>&K9z4;!?KMkR1Yh0!Q8VjT#cG91 zip@&3GZi#JILR+C`-!#qI@avN8o|TcmviBTYZ<$|m zUpTaM(V>d1UM4TP{zYw2$e#07LSbXybL{;z1)dXdQR zVfz>B3BSa)%`f|Z%T|?%Rhan3a{qq->Htl25d^R_ME7Y&oO>D-NO_TH#J?nqHZi&#hS(R~U zcZ1ZQ^3IEl?h_@0WXdnAJacbO-;j8-`Uf}n@xVPwleO<2aBos}?M;^Fef+!1K3KEU z*_Hjsf-2UXRoAY4lsLXesnKZpmPqbJuiRpv?5h*IcZdJA*41iBi6oPjuX`-MdfOe1 zdtv^LbM5OD?Sk((KZ^^#!}u#9p(VOISbKMP98qb_}XUH zdFf3*7JV~z`{S56o0a|LLmrWr+z!&Udm;<&qy-&Y;N7JYf3~nb;?G~Z%Bg22ZwWD+ ztK5;mf7s$%NW;qoXF|PpbMIcCuskApS>x1A@~LlbO#dZe@W<%qm*W{`lM5&GDZG$j z-(aJ={gvjlpA-Lnw%Odle>Ni2Mk?Y!&-(lYc3TuByzd{mu{Mp%yQJvrv=^Qm!h|wd z_dWQewR=IfL;Y0ciHkPqhrIaq$KPW86tUADuT)n?9g}g83SK2&zAoyI{MP^TCzrK< z=A7!e?w)pj{8sBtmnYZ<{8V0f`?}4-X#FU|1y?qnEBtg^V45*sQ}Ukc(fd*tN``6) z>$0t9Hhehyps4RGkAsHwOMO#z989qDezbJ&3YiI?zAtt-p71P5AmXBkKzaGK<jd+{gc#> zs?b~~qn0Tg>L!)5Zq4(v{!tF1C-#+0oBWI8?E3bKx7wfb@_#SzxO-Pp(zt3D6X$9p z@2mY)2e*D~p7W<;m6Uq2&x|_n1@SyLWVU{MrSey9>+M;VTymdp3F~n$d|~x=^0o}+ ztBVWxp8KqN$N!0Gk#FKzzr<6Qm?PrWs!!)wkZL_u`~ZKhQcauKv|FqzY z!0?slmSwgsyM3!CR2pR7cUph#t*};X%cbv?=8X)Kw>7L=Tv6h=Gebeuc85nd zMGmVmaCzmbOwpfVv1@|!WcmJh%cV0UcFpkRji2$Rsn{@N{j6oKUYQt z@u*hJo0>W?qQ&lnZJuxDoiBUN6@C&ln7=vx|IQg*J2xs^@erC-Q8jVZ)2zemV_)1q zbIdjQOnT*of2-~~UXEB_Bg|&xXdQXx@X9Y`|9973|9AZ^_r*Nv&iKSb@&A8Ko%!wh z{%wk1SAPqyV_#MByhhJr)^0wHDYg6eSWRAOdo1@s`Nh6aKAy!Ztt|r5r?4hOT(601 z>{MK-`=Z}|QG0R@lkxdepKi!Z^PYO;M9QV(p37Gk{!|eQJX+QizI?js@8+FZoOT{F z>m}3L6ut*JzFjc&(+UHLD@CDe7+EzG|8+DpYE+#q3QrQPe$N$~lo0XX>h+)3dOGRf z&4m-cp4ivh&yk>i*v&i-_v?lGIc<5QR?lO+rEi8{c+3L?)^1R>j z%;@gl75^fFE1xvo{JF|V!1?rnmNhF+iceMS6m5$WQ;2u5_^>a+$;ohTrRv;oA@VgA z49#vG;ulk|T@&HbX#De{|JCOLeVu7lo&U7gow?iSWM>&ww5QHz8|%bp55!I+pVXJp z@Zj5P_r?9k-J6@FmdiabnccE}QOT}3?Ph|xwpO2~UTHcTJoRTpiSF^p1aE~ocPHv^ z+T?J1cFW!Q@n!#Ce`%@zvitnQlT*yD6tf(jTqw@|>*Zm^D+vj+JI&TDYPiqAouhrW zWY+SOh5Z*8vahdgjn=%osV{2x^r~l9I%{Xyuc`m$%Cc2xj+}6?c>lqiDYxD%yf@`Q z$xY8*Ii25s58jMdub=z3w5%l5qo8hiU9Qau!N%@0fqmQ?-T8xMw%%U6g*kNlErnMT zIJv|GCLGDEh%*ja8YF#;r9kfT=ai>{wsZ3iY&vrNg3gPtY*ASiv+~@oTI^q-%y)u+ zWtzA2EyiO<-4B1r3b}8^ui|X1ZQ`(g-ML9SIoAqFEqE=ktn|#Q1!2=oB=#?3_e^M- zq4H|6Yl6DPg(*yLPW;%d|MBH3nQRUjCB>(5H!~*K?d0TSxz)q8_6%=nWojzdnr&ti z?p!h`6kc-mi21r3kMFcGUi>xVbbfic-h8J;&*bJl`^2#<)9-=F+5=Y~J^r%eQ(V$! zzQwO2TGWa?E0i9rxSL;IBG_};dXs%=rj0opQ@pN?u@*0%!Mvxdb``q*Pu}EXyk~Ln zvKsNDr(=^Sgx>x7C8H zJ}T1N6sBsFm2Zi={D-sbzro40`rn67zH|NgPV8y4-?WSiW>1>KxUL$S+bTTS@%7Pb z$D;?$q?IMue9f%{g0o7(tq=3N$V~a5#O3ARtdijJWmeiZ&k%$B{}1^sR;Fz9alTQp z)wNpC<>@?TpF4ps6X%}%Cco+1iWAA*Cs}qCKkC=44ojQdvNq-aT3e%c9yhcYo3rNU zF&URmC@mB^(tF}-)ZNoes~8t9HvIRdq@l&Ly>tst$`NHToe!lg-r;74>SzA2x{;rJ{5-RHE{-@YCqc5seC$Ob{(#9#?U=5HOg<{@kjeHM;l zuC6_1X76lvrd$@CI7#tOX)1eU%SBzOtJip+e>whg=c@u|<>bZZ3zJHeI2c^d+AsNP zBbD)Ad#cIg^wZo=&#tZ8+qr(RN$2UA%Y>eHzIBX!IXzNf8ux2!1Dmte_y2$Rb@t_J z^Z5TibUkjHS($6BKF+jv(;=SLv&v5F$wJP`7GX!DxV;|F+_dpg{KY}{e zBf9OS#g10iEVEfWM+z#G7TL^kzkD&ppXa+D%es)4G9C7_-gG~-OF8~xI{$qChh+~s zf0Rf*6>6B@wfDLDBc-Vi%0KQ|Z+Ff?;x9|&pRF!CYQGxBwi?#hJaiJ;-}a+bd_|*} zVvYQY{D9dHzdQVmJNeV*C(HcmA3MdivD)s?HPc>fcJ02{7N`DOA!~HIQe)Jooc^$) zcSdrj){T#(Me0kfwD&vy^nR{6Q}lwo z_SH+d%<4y*j?QEIbNGZ}r|gG*qxR5i4fPV1X|qe$imq1uuTdQFi0zN_a}8dj1@=}` zryN}HBYVkaHt`qpt-`aj8$U)r|6DBP_Tj^$V~6#gi=OLWQqXYm+x-c#2YySa|0z%8 z`oAw`$*b>N|Nd@IUGr~l@~=-!|604Be0a})S?1qgyPa+I@uxK-S|!=Ndwy=8#;oY` zYTc|$ZIe{Di3seoT&kZc^>pStwdD(TY(9VQ&C{NH%ZIwT5H|uLk2roXY}y*2R!~DDtAN4(Z$2$s$G|t zVzWxwXYQb1hcu5Zbo3WbPu+7d_}ls;)tja?2`P1S@uz+`(-dHF*mXsKsnYtMnXSv~ zts4}X=Qm}DExC4~r)@@~ro-w&I?c}X#dgtlWo^{W{T%*4(b7AR8>oZ0-L~9R}=YCZU-gn(IJ@ep! z=W9QEYOc9@;?;Am;=e~CWKu4=_UL~;ec`aT;J+RGOv3*2zE1xAL6Fr@=5nV-gUy!m z!#`_IEYH~S{P-gEe;P|o{#-H(9X8IIjAn3s%;R)5Rtxlzounmv9Yt`;fFI!ZP($<&FdA_4xnPPM#on*)!0m_1D4v zkNywN^hY&hvHaWD{pirO)k4o#a~tT*-4QBL#<6G1$J|E0(r$(3qD6wUS-+)7XTQ2? ztUjT{L8bNog(o~2^E3KFv+GVQzfi`S-1Biy!y)bp50>&t52k7+FfGb{F7W@sxu{zg zue-ic2^5@@SKt}A+l@);gMRJn2<3|Cv-*cE>}y$6?>;!|y{L-&&!2UND%=`pFZ{O1 zY)f!4i`v_y?5*?GzL%Y7T=Dq-L*+nwzD$D)Z`K}5+R(lD;@1c3^~GL&-tZ|#Sy${bjR$Z{t z#+!Lx+_R+$vSR=8Y>xFL1TDE+V&w6fX-b30zTmL(r#hSRPX8=;`=({up8%CN*{^mT zS-ib}s`}AGzs?<1t({%O;FcIMPQLjYJo|#VF2`gW1hq{~aPnsSAmeetdzoO@ zMaf+@@rUeR#MMZiad{H^E4gTYXef_6uPUQJSLB9ju5U&g#I#oUUlDQli0a)Sb{r&e@ zeOmCo#WOd`nOSZWG5qW6WwX>`*G#7_Q{&Z&yEpuvqAadwy1ltU#OPhPtGaZ6+1JUR zGGtqA^t|Slh1#F8-TMCT1UK_rk7JfFJ-xAYv6aX6B{R%eTyqbYw|D!VJz(ayPIFSm zoNbrH4s!{3d@7VvFg&E38JxI6_$Q;l8`U9pqia>Gt9qmJr#POs zQ&*ARC%$ImukA(Q6F*H__}*9ic8=XrtvuGtcb@qy{nr20Pb&WXf$bieqx zJtS$$x~VQNFFqETw|`qfbLoftNTL6l+yC_C9{D3OEA*_W)ZzKT8~PQ)CY-x7=_k`c zk2NYiQ!dx`PHpVC8(J(~(S5ad$tqEPAs59f3M+rGzOVj}nj6XU?(W=4*DQ9tnCGwD zz5fjN0;Ry;d4JmD{HGmzeKIOV#C6XN`Sw(ewnw!OgW5T?wOD&ET#|XjqbVt+t@u7s zc*iTFb=LiEzIJaj6K6eqHbJOlj+l*;2{;=G=b3D_O*52Xc{hBwGeczS1vyYSYTh-(K^tJmx z&pI%FargYg+^-$}7JRrb)bhiD`R3vzW1-x$uItQLY_7E466tsTT$UYiuOaOVTM|QZ z*8QH?DD&h(Sw`PwL3tVytGY!mH0USVBq-1AVEr3YTAbHk)ybk;r(3hNzvDye!=t;} z8mf*|{_1Ku9@4kE&)BhuCAiDZ^Fi;Es*tL11BN>3nyf5G3Xf)+XVKjK^_{$EaYdtAC0+U>eCN^VO1^_lEJ{U7EZ+J9q1r`OkZp-Ufx z&zCPf9eD4e%d}0uQkK+ruX-A)mHAZT*X@YSM{KobI@Ve2DPve&lQ#M4vs=DZGsEgu zUD?{^w)c;APRIETJvXPQJ?-^$TphEy*WqcVwIkDq);qpu-)04E4OqG*UF=7=>&6YU zRX;3=30>o}eRZ#z`szD(V|yDH{OVf%OfA*R>*l5@E6z`_*SynaayYlZm0Q8JB;GQyvHQmpuRSPY(W7VE9S@?O3m-EMmQ*Ld3w8^*iOWl`y#VcQJ zz9VJ3_0VHOMo!%?k91arC7;)E^i)e<@~v63+Nt)ETkpfh)K}k*o^44KSk~h$aPF#z z;%kRn#@C-H6n#I=QQTLZ%vM--n#0kGsd>lj^p?(~)qH!C?KBvs^$Pe)L~OkrL}B3box<-|8YD{j8&s;X z@wzW~)*=ypcfWFo;)K)}?g8^`e=4oY-ca|?#dvn)*ENp4&7an=H+@~RFim^u_nG}) zcfG#$aMLDV;b!f$t&6P$W~B0RE{Z-B)yvEJ^wxuh>fEc*w<_$qcj z?WDWHQ3q-1`s+FmI$UEz__eu}%~rXUx`plvxTT?&yLx5Xf@P&{#Vy;IZj@$gMr8-& zuKUq&v-4_PQ+ATF+V-O^KHXJ*RsyOGrcWFerhV+3`EN&>XzHVzuQk-~ZJxx}YRTWC z*Svb=UACZ`>*R&r?229UouzT-)r%8uh$day`{Etv{Os!tTd5Nx2=fq^D+`sp@gC4XNu7{V><*NAIsMcaCN#d^z|#L!+zt`^9@v4vtPU zZYP*+kqYEwIpe(WV5QRxR*lYX4c`v#4?d;`L!AVFC)dyJFz{GvyrJV@l2r6ZQsy|REQ8E!W36kwugv@xD=m3?iEncj+eP&=FMbQ1ZDnPe!1`PMo7zU9 zi$QkHdzs!u?~%y49%Ca`roz&?)k;+)aKe<^dIk6Rdo>zfyxYhlq9d_PBLB%N)w!km z^7e7xx^6Q}V5(rYE3w-dC!Y5+jAzlOin0$bHrk8&mL*7fuX8vi5gtG9h3_@Xs1$Q$ zD?9ho>D$tZjuc#oiL;)yrTb!Dw;3hCmyIfVXpz!L+unSs~7{ni&wee^4?k!d;dc9(4eSg$*)>DtoOuW)njB~8N zFH%!&Hqt+l+EOpdYP;HS}_9ND~eHXb3KJ*F) z_?!_6ZuxYuL4HDg#{1*^@87-axp z-|1@?=FMT9C_2$C{a3PR-8-`*x7;=c+?l-g`ZrJQnBd(WhgXNobaMYrj_MPiQg3C- zm|#~oMSO=+L{OZy#FL8kKWrv1Eq~s0_gQy}CeMZPH%ST2MW3QHnrddNoo>AbSOJnVR?HOFKRVC#rk zaZbHDMXGP}t|aGBz0a-R9NTVlFFa|cU6d%Zp6~S5q^q24Z_=jwgsCgceciT2fN6dB zf+DwIebut+nat|*AF_IhwiGh5$hPl#d6MaHH(N@Ql&woC2W zbiUe%6YlQ?Wlni@XIj7HUVQg`+`p$^{PXQ(_WwNn@-)AE+`s29cbng@um0n{$I{I_ zirZ#SRo>%dt9H`}mK%5VVv=j)Pi(!h==)*cyYhZ-&fn)}Z2KxAk>}WyvT=@a@kF0I zh30LqwDlQmc_U6pcvgsuv=+bU$ojb9ws#T5R3SLrLMtL6){8xI|N(mC<4YQMa- z=h>s}c|Q|SE~24YfAmKkAkz}hACfyPNvkH?^;{r{nXS|{*|xMo}=7v-srZf%=)2WBV(eUa&JS?^%Fue zo_8jRiZhyap6LwQ9P2&%$^BdDQ?^Y?b!+B%YH6A?DRxPq(S6R=AGagTj3QQN-tL_C zX{$a5^JHfo!(jJkGg~C5N7Ncw3cFqYlTvVA-0XkSg%zctP65ex)I>_F&o`Rtvh9h@ zKU}B8In7orNH{U1Mt{?8r~kESmmgUid44xQ(k7@{UG>D(C5}PtHb+xjMI!9veXk|G z{QYX#smcilEWhluYfmd_+)*K*tFFEDd)m`5&s7UfZ?ll%Wp@soShVclqijy;sb6ZQWMknZG<*%xnoI1rL zx$~OwRF*;vK0(W3&wVl5u)y%~l@At`pT#!_%0w$< z1&E&NQp!($FtPYWeL?i@)zVkLotZshcB-{atV(2bLd1KOu+yIcCiJpu$=PJC_t%-~ z82++M`dMVEyXmYudR&>NS;D(wMgJ{`-SSbn!Jhf_L~gf!r3{PKo+>l@s58nl``G^O zN)q^}@b`_=Nu@b%KTkQG(lWELSfSm1>FM&^>LVBCFN&=Dxl<$Pp{`-;W!+gip|J-| z9G7d9FR9GjbIO0|Y+hNZx%0FvYpSFcu*WBBlrT)Qnyh$ND{_u6=qsbB&Nv z_@ircoL+rR(5)$+k``0u_5P3Ul*&r0I2kvdZ5pljY&z7sg*S3N+bccsz<%wn1^b=8 zf4|z@kfzvDapZl={?av%PpMtLeO%gY<5qW>aMy@lLANz7P49OlJUEnl&|dtPal>w| zTifnN94gbCHka{_`5lg}?g3_=RtNWWY+czc?D*LK^|m$hOk!7FSBkAZ^5EZ%l=6F- zSvw;hzJ7HmUu>CZUwG@qe~lRe4;MGvE^IZddB^Qu5OY#)XQsP+Gp>MzE*T)|s=1uYkD*hQ-y!g(#kMDzZ6vy|N z3yH#SKKu(6uHKf}s;Kb7@EFf6u8PyGPvQ?03M{ZMmc7{g@pruIo9LvtlAgW7ruR1nsGK%<(<=}22CNAX;(xlj=RJ>u&;*&R?J^!{VZN1#O zAK}vPq!<2Mvx@uZ1*Y1YhIw=MJkeHj<^A^DYrb4Od-KPyiqmD{4=?p{PKU!c^x_W ze(pk#FaD1w?m4mD`FB#%jCJ?U=&j;AXwJA#pkVQuX!8}D56u^Ez0@VIJ#~N3Pwi9j zh5!B^nfob!QT?8sjiH?USL<_KU8Xb`y6Mf1-caqkLFh(`SRhOM>LU*xW}OpT)t$1c zP}8r`S`H;nV{p+SGLVQ zIs4?tlbr$e*3F-;e_%1$F4c3-CdPmB(b&z0mNm{YH5Y#MQ0vb0?W=Z3-TfTD=;Ffj z#v51nJyuULT>YxVG9#kBdAG-ty`uj(e5dkGnZ$4J6!N5hecZn4&6AmwOW6*me|KEN z;j~vsO#Z98gv2^)30{St=Vrg%Q~lfaNJQQ5k3XJ%U*F}_KmX0o_IBsM**_m0o&0~I z)ZN4RkGQ%YJ@D6z`}^VJmwx^GwZ*?a_Uqg4v9JAlxc&Wo5w61~C->}KzPDNSJeR+! z&xy_ZknFUO#0NGW8kP$GO*Maj`}< z)LH)(mT%jt@Ll`W^}k$?+=@k+FK+Cs_1d(MMS6$b>I<$r9(9}>O#wfOg!D|Sx5ZI!j|=Yc@q;%L*e+rxaN?{|y-{I)7nZi3L-e-d(% zM^-TXZRl)z5pmB>Fma{G#70zpPt5uekk7H}iW}>cQFEk$UW}w_dGhGPGVV&hOhMIZ=`O%!MTl8Io6xIA$qdS-Jnk6D`TB zKf4n+7Msp&PP@r$DRIu2fByxRC+By^TAiIGUv+x%-isH$C*HK4e7&ge?2=cCM;+JK zKM;SPd5vScY=6tgb>#*U??U!=*YIrANR&8wbF5FN2SkAxrk={b-)eTm>x7%AU z%@1FC?@ZN}d(3}0Z~eXeu;!0?z=cMeaKm=`Tu@l zwf?W8PnRdS&icEwKQdjv&6@LRO@qvldH?pZ+zD){Jo!%YPe?F#riC{9df}P}vySlm z{+u;)*`!*Az5GtiUFNo-*AImMZgyubeARvW!Qm?3+j=e`HNr76OBb(RJbiKTkvB~9 ztb*1mEw5wVQdcb@Un{)j>XZEbdvZ$mt0xr5{Zru-m@#ovw^Dw53yYHs|IRPX+BFAF z&n#wb-ebGOC`2%{=>F^+ z)93kR`@UVD-}w7k-LxOCoL+A_ylZoLd6hsYli`!>?b(lNFN9hJefuurvG=oBCgaq- zcAwTc-r3J}@3-=M(LcM|;+gbBa-BZ*3Rzx}W#^nGZa>TX=)AWTdz;sl-+3$BU?N)2 z-_>DyzcJwFyAQ`dmMet(le-geeee4V>?eN<{$tg8oUkYHX268^wJP@K7O!06{O#f6=X^=%v0wD%@c|@YVoy6CpcP`~mN{CCo z9_6rV<(>Y`3aK}Bm3pSscDZ;~PrK7w6MrMD-Nl1Z*I8b<=h=x}=hh^}>KL)Tdh7Me zHe~Uvp7wAb5V{+1a2*;b-vWn421{`~!_RsZnKvGPFM z6)#qYoO>9gsbkUHUDN(E;)GdIeC1WapLuhPb}AdOU9?T;mfV~WcDTpeW9y8Ia(zAu zvuYhS<@dSm_?n@!UAlKep2?!cTz}oa{YYqF%su3?X131s;uF~>5l#p1-`l-fPwATD z|L!>k;*NV=SQeX!&z#XUHF>f~XJ&HEru~zDO>Gf)v46LI(hvS`DfdL;rm`EZsyqMD z{GZn2o>YO){~UPu&oF1C{7x4>z=+^z=tGGRdNeK+5I>wUZG-|Z-8a|z4%W0y~>td;Y=e0$mMg{N3naL*J@xW>TAuw2oRp+akO zN}X>1!MPUe>_43|Tz_y~Ns5fk3KJNzBBbotXzw1;l zb9V-B=VWFzaAzp(lh+m4!6>%bUvS&Ive2hZqOKwpy2UGh>=B!i;Fr$x#WL(|(WMEY z%LP-}9t+$I_+rzQo}ke5`*Hr`f-e6|*Yt}rYvyeAQ2O$c>45*_&zDc=eK5G*9-mO+ z|Jkzd@9&?Vl!`LECaRV(y7m5h>E!6xe8T>SG3)%Vr$kOwbGLcSJ+AraeC8DAQ{^Xp zrtNf-@|&6eeDzV)!X3Z1r!Q4xxt7BGLgjdsv`Jj&3e$t^(K8w2uWO-OS| zp2^++61E4*{MVe|);=bzF5b4b>%57UXl|{x3e&g0?)-9(J}fwRxQSoh zM(6KRHvj8i9~`_anrmAT?0i$|?=AM~Q>(Mo|Xyg)9;H_|1MpUQ`YyI$>EcK+tK;=y;qvWBubsg z;(D+Af7_WN%fq2>mG7BP^_#@o;VZCUvP;8r&K@VeS7i!c^A)@2E~-txR{N{*;E&@f zmIrkW#2fsdvsIKXWRM8Fv{qqfpzOVca-TKw_k4(L+u`}@Jm1Hjfcf%m!jn30*W_j4?k(M!;XN_%px>=w9CC+@#X9@BOlf4d{iB|cQ;mLj7XN9Nvu7wTR zBH!Mx_1g6&bn=(#&}%o}FU_|LNmX)ETK)3O*GcDMuJ4<{IP3CB9_8;pnReyu5b0b0 z<>5!sp6f}Q-uUVt{vx_!j{ZfDuGVX>x83SsVJuSfoul`zf2vB(Q`{ocb?kh zymP8cU~DnRs##iVM2|B*4hht=o)TYIbfx{7gv6pZaqD)572lj#rDwOD>A>2%D?ePA zAm|~QRHnUBaSF@F_O|PpUs>O*TzuLxQraop3YN zck0yd*U#RVsP6IkklzkNu@vX<>{W+5?zftsND;MVc-pgZk+^pSTf^I=uhKTrzw>hW zS9zw@j zq-*k`gan((H|L!$-Yir9Drt%k>)%piHmN(go3`z`;l>n|cOdq$2s7KSOB$sTTN&Nh z+hu$5-U?g%I2dP|^3C1hf{w(y?#!9pU99(KTi$f^om|rE&b#ZFpm@u4=ZyHCqi(eu zFNB_wx%BWDxM=m#0LD3b3kM0D7=~vy**zFO@b8v5goxfe` zj-7o8&m^9?=$VHV_MBID3*)!Y{w4WK@|=IurLss70U^Cv9aCqBxm$8Gu3Ec7|84lI zy=o>4u5CWvf3W!N=hx4qxYA{g%zYOZ!E!LukEK%jiSREwLHXvCW{o7Z6>qHd&eR_N zVWr`_?Oyc9i{klb#V<_`YP7s$-@N@t@e*M<)+sC@2cEtOo^j0nNbrG2$@^xV4lC14 zy>}>tC+=RA=&`~{+t)3ceeL-5`&&MUK9!ho^uE`Ehin#|somG26HYd+st@!!w)n`@ zn!kbzPXG2vitNnEx{z@=?XnKXZr}Cm1TTEw>vnI~?%m%OIvP*8*=iwv{cP7n#;o~v z>Lz!#oEAI#Nk+wA=8E33-4kc9r@r~M?CS3oW{V>~o@tuZnx!sw`PLUpg^jDuuDl*D zzIDUWnu|;VN9OzSZk!&wCvv9axm3+yddP{d+p}oZX+MX8hS3@{w%Cg$k*}XreG8cy3lD9jws9ffQ<%;F; zfq`*BSIiH_{;8-q!~MwJIP6mS!H-WKcmA-tkbdf3d6Ht9()!rigbAP2CbG129tnwP zRF`D@D74|P<&UaApFX6!JxSeZG@s4hKW<)!xnuI($L2qT*fjIz|1F^7**E?7no9daa9pME1=8Q=)W_wfFd@ zd+LqnW%hivQ_OyFue0OT-q&|K%5B%&atN^B6xjTD{*>g^$GBpy#~XUpYX$zYt6=qe zapA%DwCwxAEPQ{0bAx||UNQM@p7HK|T5-MgA8YgP=9826asIRWdAsw6@qz#DAI|49#?1g%cEJy78Oz`0W)X@}c?1O0mf6<5@=5(8_#O$fTGZtu=v*U|f8alx$(Pq%J+ z+j_kI@?Qy_12wFtReaPn7X{@kzwP;dOIX^mT~b0j_*bX#z2v<#|8=Rc)YAQWPo6!z zanABY@0*pafg=2sDKFMO>7Kf8-}Ikb+gK+Y$$WQ}_e@FqPCmVuHD8XuTBjd$;_TTw zcTS|<^VszvuS?c#oA%oCTl4R@MqSQQZ&aTrB*dAZe{kZp@w1Les%iH@W z_QcQ5WKy_y#8^9i`I@6=)-s>G8_|C5dTGqTSy7iwHgsHGps&X;<5fX}WhnFf>1U?s z6x1BD+;n8IcHuFftn`=zr|L^Xe73J@@7*rKyGHX;Rp>c+&o9-BGryVb$XHXUCNY=& zijCd=-PYDsEYdq(FV6nk@;o}=wtIhqbMx+n+sk&@S4rPk@Z_6rx5ZJ@*!^N>H=hx| z-tNdD&A#?-N?elU{-dh@QnyRQ-t-UB+jZL2>lm9L=e&;TXI@%8vRYDmiM#R{v+WyTurqY^KS8(Zb7zb4O%Il#1Kb>05obvF(k73t@@_=4$p`}AKw z0@{`L&AGFn_eiwZqSvZI3x!L&d|Ussb1XW&f9i_bm~68htvV8IOD(q;%#==iI8U+R zJYO^Oy4rI2zQ1ucSLfUD2#dsdg$0x>wB3E-;4>$=DM@Zy4~a=$w1-jiz?UGa$v;-OCtcM%o)qbqXRDF)usiv0+Im*rqpL3* zX1>)_alHMYyT#4F94@gAd zrd!HChU|Ik81JaLyJ>&;hwoDV;tt>Me-xo}qv#y~(_T^YY{fFW2z(6|vWse_IjT zF8Fdf_x#mIcOMb!QwUddO-}fg_T=3&`Lm1V*d}o5=`tE|f7$)~!@BPb^6%u{94RPm z<7tdz@!rjAyry~Qik0aRjh5xF3KP$5ad_Pw6xDdUe%&-V-K~1rOQ!M9I`Zx5>8p3v zKFytQ#bZtX!RY9utMPUoM}y8Bk<@ZM%Md=B;hZ^Rj0nTDgr6FAWo%bnJer;?oNd$c z#MZphU-F>r$}iWZdi{P~`gz_>!_dr+!PT`cbNOPl9>sQYKT36FwW+Pmw)^%!Q1S%l zBa4Q>Qy=c}meetH2QyvlnR4ov*kflO=RIpvDnp%Lb1?HhYdFx$&;QXV-^we2$6%7c z6Q_=+iy2p>ZQ+_HKliq9amahY6NMK0j|tfnnjh{Dw&~&6znbXoXgLrpLleQb|=Iz-08Bv z+gZ4 z$)Bz8+&sNgwpLy1^s5)y57$gzJbg}>(_fu0a(Q3EQZK*HcJ#jF!FAcra29vEx5+Mn zXKHyRt72`X);&#ad>nMi=G?)_&CPq8U){BB+Mf5`^uD;H?fdRq)x6tgz)Qn$Pk5*OXHiDt2yPVDNwDiv5ACkv*lw7q+g=XYOtL z+qmOmp zs`pm>|K}fPZ~I{wByV5$|Kr>3_xD%UdaXQ_Uw7r-kK^)oGQvDHSqfh9;@d^E&71y4 z?{(K;Sn^Xf#O&mEhbVuJwjT9&EbE?Jo%t>G{8Q1LVxjVH7S}9Ep1^f?)2qyVa>29r zem2?pt0QnhhIG=xoXQ@-J?dxMBU^K-Hi>c>i}K8U#`9zQGoyw%Q&!CD;SJxZtQELr z4!81Y`O2f(D;rHNGnXyU=K8s4C*PUF@lV9ODzANTu;bYFc>8+4`1*>U>Gw~j``ay_ zKl91nc~a&}Hy`e>{IlTxxnrwX_nPJN?)dt`M!No7Z%)lLt{F+2Lh?V%fARd8anGO9 zw@D9ElWt!AZqqU+VlsnP(Bpz8N6B-hr!DSmeKWD##V(Aux#IY-dO#R!+b62wX68G+Mk|(b@uPw^pYNLR&(emG z`}Wk-#K%eT&6gj}iR0YKvCqxufa87FyN>r+Wxn+4S6@$jWRW%hx~*`g?v8VF-1vWP zG>m;OzU+xG_QTYcoE=XuGug?zd%eqD=+ zU!m0FzeLV8voC1{bAS6YjbjIYs@Mp6bJeeND_rTkK)+W#V$sP@NA|@{U#a-@C4Wqe z;fAaTpC4Cm@jj~fvPM5EKK+SmQi*|pblg7M8`T9ZliIlF*0{DZM#Mk)6Mf0!rjU-}kxYkSzkzi(}K2zr+-xRrJH>tqq%MG|j5Xt%6$pO^7&n){(|6Qh35_gtH` z`8?bC_SRJe9}*5d&y+|np0Z7({KS%-eUsELx=R0l=}~g}SpA=^>y#t+_}LwOGkw*a zj6*h_y1sVry<(Ya>lR1+lbm}jSA)ZLMtPfc(UOIxeQ7nyHcw84E~)#${6a+ZM4_BU zt?+kti+^$N4zJUlG=Bn*>yb-)w#1Yx-;a3s;%Y?=cwFeEMcsl)1mqA<$>>70d<$%FJ`R#FyC6yA_AxMT3UV&9WBzULO!-`V-r$&#lB;mcCEJCw$Jd-ysJt zv9Ai8woi3>Uf-L`GU2Jo8wzCI+I=JMueiNwTE>YB?lLviPfNBlSlNaL1iW%=a;=%| zX3Sf{7$5ueK4;{5<)b=@yAE+LTp4|J4GY6Vn_!Qa=e&wx0e8;}Pk6)j^4vK=#+iR^ zAD7>!ziiWOj;l>m=RD&S`j9W#QD4^^IrEhfL*}it1$j!Ch_>m|D2YM6Mh^s*fUA-sqwT^ zdlmJkF8eF?ZRyt2E8o`M;c*wd#K96C#qEAvq;cIe+mzCKULJeQ4A_bqIQ%coY?xSb zSUZ7HRkH9@gAdT_W6?Xvn8hdW-2?ksxa2~=A)4N+Hvb%6|ZGJUw!9M@!nO|{(rk9#EwPm_ZOMX zogvn;W1?>p=dq*5{_m3e^IE*V;N$z-d;&Sr%KzDGJY%h2KbRho)UYeXXu~D;8T$@> zdDv<9^O%0y{mqxYbJWe%veR7g+SO_6f>pt(f&%4CUz;ECEJzhpJ+^UEYO!yQe@4d! zr;KNvQl{HF`o3B-O`7)kj`;SjaQ9ictq0dn$x-20A>Pn>Sd!(XO0@XiR@?NI9dp&B z)U*zorI-o-dG9@Qos>GG;ZIXjzA)bNzrsHMwlZI|uyV#B?d{=HL-ysj&N6()qRA7n zW0A`ZUO7>Ii$5yiGv_{@yxUmDYkTF{<6)s`zn554_8o{?Vsj?&_x`4L2hz`kH!j^Z zx8*qN2jSyF`6-dJrizO(de&Tt*}9aaeDBWnOw(f8W@ZVQ1kWq6yyd)%AwMo#(b=eR z4O8~|iA5Hi`*J%{EmmBgO67Pz*7DCGS( zUj5+M_g|?yzHe|caLaGL`Q&fsf&~41$wyt+CzKz&ee&wbA5Qur;*Vt4v2oAc)G%f0 zQ@v7O19PjVY>79{yLu5T9!1~74w8`&3_1fy1iw}-^tvi`jgnD z9-LMDzVYLQ-QRfI-A&eAKid>-%X-39(rM|DC5Qhq@Q40r|I2h&`@+(DS~IlgN&E_` zEYxROEEF?wPWut*2%G#ISN;H@JxT^o-dgKEYKUDn+vUsD9pB6y3mG_=jy?Q8{m}WU zeb#q2ip|gb{OIwvr+W50t>>m)t`=8laf&*4S3sdVF^(z!#$3yg4;iQLF8%Izr=fbw zV-^3`4a?r#ox6EW#-hutF29`CypwOSFTEw*-jE>0?qG9kkLK}tJO4fkP0OD5kV!hQ z>_NHn;Gz4ZNe8Dc zbl==O`-o*!TeJmh*y1e=ca8i#_y0c@fBC;DXK2_{u+Ar(eVX>vDqmy-fRn-E-sTe!Fx^N>XDuYO-YjVZ!}ET zW%NHdF*Wz0sN00F47m$iy`x{$&YtYq=RUjOzDOwZ^PUrL)FX=DZO`gs`)hkKC!b~c z#^sOfZp&6Q%61$xo_Oo?a^5!g2F9Ko{q<4m`ng`N_stoP`Em5@+S-17a(u{aOS&B-SRGB@4W}t3)g@BqQ)(-otpE);w^Q7I6n z;?y5AAAV(LoSwKR=%|IxOudYJv4<)}#jaCVOwu`Vcq_l|n$vgBDsV8R{a7rZQ_T=q z)-U&(J#CY9=U?quy(#MVBASeJnD5r;Pd%0KYN^*^#=9$ZZ{_ayx%c*6T*tS}-CG`S z(R4AJH}#v})lHuS!_7IZEy%RkJLSJ#xa01Cxz5*G2ZWP( zwy`Wfw(;eJLxS8%Hb!wQzC6=9MApyO6)FB|R8w|Bn(6$#)z5Ui_&)Y4?Fsx6f8fKe zb4w$BDDP%t$eT>yqw>V&NyJgA=B|X+7$6uT) zl{?y6xG#1?HTRuIPeNt}T+=Omusv_9b>?#0yx&@8fm2qmWfWh{dfxhN*n;lJHTOAh z?Y^0QjTXAc z1;><>mM>U#WNY#XV;+-JuCHZEp2!58&$uv4Ttdr-J7<}E%Y`4^JXPPCjehq`%l2*6 zj+u4tW69Hk`Wil|ucDz_XH2;pQFhMt=G4Y|C#!?3B1dXpJG^A6GX0*tbI+o8OCDXT zQeSpuiCcK~g5W*2<%{d~#y@<^t>xf(GLf@zD^KaSbn{NGjg(pkNcJ{CHD)tXI`_2`*Bee6wyw&e)YSy~4ZaQvtIbB3? zm6`a5)v9Kt)8lj=@R{o}E`93u`r7~QTNxK?F9x2T{pagt&*S;OxM%GMw3O9SIp!#u zJZH`UwHfa{qfcr+`@zcn$JFd=%_F-EB{N~uYA3!I;VXUS)F zR!>#9CH!(P;|$5mo-4k~AJmodeeojqujHwT(vuEHPMGlH+GWLVg;bkh1%-ESY!BC$ ztbCNJl6HPt`^=};*RmFxMK03FyRjv%GiIxvUenPZOk(r7rzO-Flq`JH@jGL=*;7Mv zhdiy{r|h2=6}dX)*9pxzT>10dR7F;g1S1ZHh@Cp0*Y^lMsE`*rHRZ6uyhl|l#NEDX zvWb4_JLk^hD17R$e_`MEEoOZZI%#_ttejofq`l;?oyd~7lBa2-X5sp^I!!FTzNc3u zCA_h}z|s&BH{$={+RC6kST&P?!V)I9BS#l?q+54 zV%}Hn63yq~F&beZ6s=!)c|ee(M$cZI^OaxN)cc z-BlKmk*$4v&*LKw*DtMFk^5z{y2XjS73_aLnTInuoHd%s< z2|r1_U#{~==(>QjEU9W zp$%&vEj7>Ndd=1$c7x-9qxRK{i?pK` zcsI@SDDu!uFY)u|8)M6p6Gz~u9p9M_@!qVie6$~X?5QqnB$srhfw~-R*t7k|2}(9X|!Iw zbyNDv=#NX*bacWZqA+gG`w_l@=LXZ)nhy8LqB6)1K^kvE;lk z^Kp*#!jDdV=bxW+ZT?=fEmyu}8z0*9_P5^6qE|~730(8~w@y%3D~_*}w^<=!{^DI+ z7s?~<&XuyZ`LLh!S?rg|f9|g}*cs0spSk>s$J$4Yo6FuSZl3naq+f`kGuXAj zv2u%Fc$#j{d~x}W-hYm#%#8mRnN|_cxqpBAF}?dOA7p?*v&*uVfN(4{pTsWV9P$|^mpis;597cn{`I8SxPi3i_a5!=0%6g8++>$=K z&hu6MZ9bUb|Dj))DbVhMV<5Y2hr-sXP^ z7wW%#`FZcd&3|5HkdpYawKCssg-L#_Awrt{S(H)Ibvc)E_ z@?5zRV>fwQ%?7U~Z@X2;!e;G!e0`SdOqHVh>vIJbm?`@hoP9c5a9NDojLT92eUEen z^p5Y8Otoz<`_TPv+m*1i4<~D{rrx;oQfJq0O3V~XI9hskShHwE@2h}^BTGFV=7q)BOx|H64D zOgsBAk*xnd@#bp2VouWtFjI>s;DQQXhJ%1=F zw2{9o<$lfI+#Hk5olPvE{)gK5nttrsUOi#|#$txY=i+r;s{S_GovOHWeCEodyXM{U zo4)16dEcfQx94^DRAve+*qQRTU~25eprD0EHchuW-gH*}^)xd+d8UIeG8Zns&+@Zl zzQlpOQ~V>W6`A=oJx^6~{hDnO62TsLy-EMp!U=N}zZ|?jYnINNcT3e9?}XoaD7V=|f#ngrQQO}>A_vKhPY1Y*bD%YMT@%~ieR4SeL)WH3pOH9ondD+&uCnuK8 z;KSt!EzppYq-CXcAt})|X;)L3#-c1uf)i;QkUfR4kMZ`4YK~3oWD-X7|TkQ>) z{`>Bu@F(k~C7Sn0Gwqgg<~*;fI%mVe^1RKDpWH4lSTHyJV9E~e)!z%ut!@_Gy5d)0 zEBjtlP-@LK_oy3JB{h2=uh}zCscO>I>E+4Gu7or1zhDp--g!1!W70n-x4K%9PxB`* z)X!S>*{E!F{+17S4zP!m2VdD2B)K=VdBVO-HM_;Dp6jb!3E!NxuFZPI>Vqw}vNDQt zm)|IwF`I3Y;;Ygi36W;MciOhGtH158_W#9umEo1?C*ds3t#c;1U+K5$+51UwmESop zj%^QqC-=IT-;(2$xwva$JCpU#b+OzUS9!N8C|@aG8XbNy!aS+m^oiag&J*1}Pw#%; zeO@~1`0P`hca1A&u1?(2I^o;#BG;UdIqCUZ_b^QDRf&5kF{e;tS<=VUu;b~^eTyfa zE|8xSxN^&i2eW2pXSD4)c_Z&4PqUdoW^leq&g71Z0(}yYQ8qzGG)e%C|J;D3?`}uRb;0y~+DRRluf) zpSLF!CoX0H<-EzjLN!1s5R5a|u z*FL)VP_|9|cgYGy^Ul);Ll#&~U@E$mY%b;-#0;8@DLnt0z3Zm%I`6KD zfz0a8#XYZ_xQsRxaaIg$7Jt)jgdWA zzgw>6$KrkZ5dp=*o(o*JpL^_;lB}o1khE~NgRr^#hx_Z;rX^2HvQ)RaiY34r_A#{E>?ZpPmBD{ajrPTwbz;Njjqv_r%_*)GaX$QZl1#I za$%XuZ@%DUg)qqIdwo-(tG&-L1Mo+2&WYUTGhlx@pa>Q!k#Um(P1+TWfZsdRMU9vE)nPYRTS$W&zGT$3ylTW?5&epfl?~}Vf+o5k30;cKD7dytfNPO|NsOZQ) zBssx;vr?(>B-g6j;w=Y{+HA;dIlrzTjGujxluR|_!~DbCHy1y+%@Y*XKKYe8&*yDD zy^nBx8@X#xVE!>g0%nyElu-c{Zt*vmL z+GnmGQ-aDL3%%RoVU*pdp`F#O`F{PArh~6uJ+Kau4&*dVh_zkuH1B}3XUDEh_jR6s z=2_Btr{R$0;j2j>>>_nmr^F{j-IkJ+Nl7m-xcG{s?yeh;#XVUF`^GaD2 z{sy{UuBqcmdbPJoC+PZxFLRbeMyh@0KmNYwQdq2C+1ewql`(TOF2C+R{)*GJkUQ+c z#B5g8Gu8U>2OrOn_wTR&@!kCXde^k3rg(qefC+0p`aHNMXuSBZ?Lzm+?u)w`+hrK; zeYmvjXvgA%|AaRdPGh=p*>+>08sn9HH&iSbUO4241TuULF*#SuRH5c|kYoONj(N+K zmI*NUCwf%q<+!=7ccCq{w zdR#%dD+CG!GMn9mMEFa5Z>6V-#&Ri^C_US{lUpKY=CKL;*PQil`1&C=aF5dOjDJ52 z<5XOO+5bi@n$~_Xxh|qbz~Wo&jMNEL@9wu%tP!2p_(|-WUDMJBS8tauKb~(V_uENU zVE?r4Kc60d@;PeqrOP+dY+kdmX$e0^a7^iv7t`Kz%Pf2oIm7jGzQWpfdQ0@X?tM7@ z_+HEsrNd?u-SVeo1&4fFKHYwWyW-w}lrX!aIbZ$;>S{$l5SSGnl=#1V6`O;KnUwVH z>tA`!g_<7q=vcb%xec$039)v_s)S3c3Fe@a5?arY;q*E$gnE;kK(G=q8B z*s?!%Ieaiq3|YppvQX*ilxmMC>3w3EAJTeno}Rt3PO<;;>d$VK?{$l9=LXEmdT{Y_x<&Z>e~Whh@@i!{`z5=xVxwb} z@uC`E=4J0Au5Gk$TXb;A`$KQk`FUiOw3hp)_{!UU`C=86vA549?TEm7jpG_RT@QV( z+pVX4Jc1$)AtoL^e$D&xGh zYY)d3HQs**SQ0Lod1ZfLN_^=oT6)!N`|6aM-z;yuo|bg%(flC8`QJaVu98di!RFVC zSS06Z3y3n8t8s=%_=cZ9esy+~)$Tg?x_aK`+$@Hbn>NZbua>_)|GMCP4I2feGfzrQ zrgHi5&Uv8Ap1S9F5C05C*Sj}uP1DV{=bV4JWc!2rN@6x$c_#NJKeOpOQ2i*IEuKZ< zQf-{wWA^vjal7AZ-($J{W8b6Rs@8ssX-Bk-?(TVZ(AjW%yt+tu%M@1Tt1Hhx(%aWD z@wd7BV&>xGt+_eJYgxrW>Qj<+2`UY?u4^yyl@f9~8RVQV%%QRKaN zH8Eg|?eEk@y@$8%2Q6Fj?{ZmE6E$(N$?0mNuq3T~f#Bz%iis@^`M-}!>rMRJ<}Ks$ zV~&f2%2JW;+OI2CPD@%jDJk;j3vTa?^KP;==^Whkvgq5+qc=CEB~3YYMf)j>Nx#^S zfZal84WFGot?|ep^ehMebDP<%503SwWR%mZik>n8OhJw}lx6RaawZ9b5A>CvMfpW}~wKk{zn1SJ#Z=M9TD$K@A4xFRI> zv*m&M&Yx1rybR~(O-bWl|7qu973r95msK`edSzsIJVj%#MWU+Nb1sOv$|E63+g-YMs0r_n7;QMo9>H@wpQiS`g!{%-e05{W#;^N z-V}=$+;@s(7g#lK3+YSoR_s~3!pQmmovH<1tkWCottyVr+A{Cg_V;@~SIaHh$CY*e ziEMmk)fwrP9{=;T3N}s2UAW%7P+VrqP2(jVue>JC|2voGzSK;gT^Y~p1b>MC7m5E- zsFda~>*hn=$!W)!zUl0kdB)GI$o1-~b#c}6V&2Son40;AS+}uvZ`lL;Lo?2MU)?)T ztM=L2vu}3p$2)cu~#gt<%w>c@Y$#Iha9x5(95^z@-)pVeoP@Er#C?)5xNYEArOP!Qh3m3wac z6#Z=>MpqKbo;2g^q*rwCU z^6$4ya0v6RV*ia+C+;n`;}P7}e>JesiOss_==@be9q*D|#ND!YwC_Dw&&YM0Bk^JU z-7gJQ{A)E9FfRMDQ09TQvUjXr@kG4!`-V4;k<-|g#4GSPpIXYl;Y(a##qt?m=QBL!8w(3-nuPPu z;0=9mb@Tv_#JcmF8D}%H2zrR9EO>dn-DcLbAAeh(Wr({kUA-)3`-)3z7KUF5u%CH* z_XOSr!cWXS7Ri0hJZG!Fa&P<@&J;$OuG%$Bb&9DU} z8NNM^J0paj@M)IMf2~{>7I7g*QmUuB^3Da}uayU6Iw#95U%0BIU(59yqrDmrqb#92Vd{(nhH5u|Oj&wp!pX)-O&2P>3Y>$Ltc^Gu7BEaYC*;l0()zRh z-6w_}w%5Nn2L^o+ZM8U;`h!2vaY=^EhOj>^C6fevGN)Cs&j`QL=E_;q|8i|%`0A4$ zr+3sg1)urh^7m49_Te|O`QcU8FAGm_N6%+-_k3sfj72A0hc!^XULf+H zzRS~Z-|q^zQP&c8urQKHgmi$(u~&pduvop35)j+I5RNT@;N)OXXhSFK9!4^%e% z*~6l@kZnqpr?Rt8j9=`pE5VUx{b#+2U+i~$)qJ)EACq5pB~9P8WUA4hMxFzcix0R) zZc7LZo3nvOYzb?FhrhPU#w*%~nqKDmys=f9Gp$-DZ9?+{`9D?(j2sQCIDBsukNqqzM9_h>h{GWFJx8zNNa{aefP+rm*H&rn#Z1sH@;1H z?76===zpJWUPe_sx4^B66=nB&3wVoPu5y!P+~@rBn!^vpdS=1bLJ?Ey)@wex^6|`4 z0kNNrU4K3q1}Sxad0+j5A*$y82G4!@8g*;*9i+ZJw6D8um$7iI*kV0BF8O_Pp4__r zS;#u7?~3~+mAb{fFE(y{`G9X?fz^V>KNlZuQx`p&AF)*bl!4X{^+|?Hw!YpqU+g}^ z$LCJr8>a4S{GF?>>g;#G>Yvk>B;Sj9Z6VM9ZxN8ZlHeTlc>fA5y;oWb=PY=dQ62Q= z=Qr(doy=R=uiV#~Up940!-lHYKd$c=`+DI>yU)@ab46C3&op1PR{rm*ugU#FC4YCU zKf)f6({h7YRRORxOu%iEv;3QefEy`#t}E9W9;TU-0*cVtVG6C3nPL)$vR% z^M1Cw`_zK+(6n&QHSdHU)ve(CSIKlgeu}_!Um3<*2DxWDH1?#XdC6+j^*hun%six~ z{L55i#xm{O`d7O5f8^`x{IunVX^3kjyX)TaVIFVJTc6mbGK+BPc{m=G`hWCT(vo+FrJ65sPW|^Lap}sg$=ez| z7rbk2l@$1Kx~pk_xaF^x;!kghth!(PlIuW3?bK}n3d;K$MebJ3?@`<{GyKPd#K)51 zNi!ODuK#<;XLtN7ww<%y=bXQPJ>q+|`tM7N_5^uvaJnYEV)B`jRk96}u5a1J)0t)V z`SP#Noh1S(?!kr9NzWof%5gGBzNmfEXXREkC)JY%Nz{(Ok>^&>}D zsQ#J1(p=xojI%oBdjwM{3#;{1=8m-R1;t!n#s~o%OR;o2ycy)j#`XLFW@}4{j)_LE^Nwq;21E~{qtnb4?V~IqZu4` zE=n(bE4=^WK?jq&2Aj@*Q24oW#n*HpUiaq3>3@GoyJQ=j{Z>Cwnd8@ws-3&!*W5qi ze7sjcwk76yTA6Oelue7JckyJ4zdqjozJAr@11IBe-{+fgcXREhKQst?U*9Sjz;gTIIz8w3C!+p0 zq)fhi-dCgC+_~}0M!jVZE*4zb&!1fIyP;dUW%JuDj}L8D7wFC3UvX7qRsES4bL5PT zY;8WU6;8N$FWdV~?c~*xA{^bUa}4tMg5_6L2{4|hF|V-46?)2JY zl@Zn#!e_J1y34)ZjNgdaly8%7LiGgKpfd%gvr2-E^%X4lwb^_+m#e;K&t<*!8(g-Y z`?BwYg3o75HtAGyS2&?|{O*=>s&_v;YYp6Nm1nuc+Op4jmqq=Bslq7>cAZx9XW#Fkn3xu_-RD>T zD(zjn)Fv=)h`XJ;b?L{TX$vpxsr&rzNB@)@{bM!W+5z8h>|B{#Rd<%#RWHH!^p%qT zY;JLvnw};;y}Xm>a=6AJn@>MpPhWZA(Q5g7e?L6@@>+iX&u6@UDywUbd%RG2o#`Ht zq_p?Q1o^y9{>dEEq>rRY?*5Tt+jX^K&Vi{}=jZ(LTff1m?(DB5xhH8~ieDa^!=v(7 z!9q%UCfg*tt4#t+zDx|}eqypB=-hds-`d<~q6*~dnLCAhnbye6R#0OrQ{S~%@8pct zTDzn__g_m{l>7I?QOmWh(|co9r3T38%>62~BC!7B3*QN|g-T6Ej$jJI0?m`Pg>Ht=g-4izijxw3+1gcDWe|Miv zH~Cj6cl6P|sqqgwSnf2-)g@lqH+9SUW6tUi!{?q-Sk>Ln_bh4s%5STE+-@xGw&Y66 zF5NhdUEpTDR>hi(MTR9s_qan}EEZZ<&J%avzOKUf!`i2>HNtmTCM-XEU2Km1st2JT zY{kDE-6q;8Q@@XYqSS?zC)lpa*Z=$Q>F-N-kBYDFo|eB?Ty*H=?CbaU{oM2DIKSS% zySLx_@2~v*?#EenM{&`(x*Pl6oX(d%wQnz%{*w<|V>j?u%J2L8Yv~GkZ{>LJz3cyf z{?WT@M{2*?RK7J`C3>$d%ocB0_vrKb1wMzS@6Alf{l@xd|IZJfcAGD`H#Jn@$<8*V zum$g;9<=WJ@#)8pr>pJj*v$ohEt(kXaB<1=XFDcN`s`C=G>_B;dR;qk;WkA2g&o67+eaqkUIXit?}M2p-XGy|9-gpTYew=E8ck~ zAwM2W-28i27Wwvo-F%`nu^KZJBNho#gl)HLv}2WuD=ZdExF) z^>=+gJYONu{N=y$a%o3}eN*-AviSvlB$_9Coz&SgZR>09?swIhX*nmQrkf|~XDF?W z(VI5)Rbu|V9TUFVC!gFnukiXri!bZ)9-G}+qa0K!GS&P}t@mB;iXTdGk8T=%`qgB< zP-kxU?~;86@29=e-P?Wqtj?}SQFrc$J}bIgbN9-gYRkSg)zh-l^VJR8{M_Qh?*tsl zv&h-CN%C%Ss&V#?O*21EJsZ+;?yQr#%1OJX6E{?!A3Ln~JK^*;cH0*&*+05@Jl-#w z;d4F6#i=yz$Sby#jkWW;m+lZ+o+RjEabK_LlGCy^7d9L0UUF|v$IQ9Q%|B~xJ8?Jm znD`m?-7-sGTLjcEtjEUueW$G?f*D=8@Zc=eon+|$&#UR)I2Gp#zRMKDk4qGn5k zn^5f65A65C=4M8{kLwQhS*~&H`?UhL3A@^C3Qw!My9Z|X((IREtwa+zGHtI#`2^rr>Ufks`0zK9=Bz(TNO7pXi&TFIf z3A~KczW%+)Q&6MOWb;bORU$h(XWiO^C!c2(eEw-`kiN3X();~-_O^;-TaLxAFV@=g zrw5%`@HtOxt-&^q;LKA`L`~fpB!h3v%(%SMIWPR(JnJ2nw_cdV?XYUxQqm;7-CN{d z`r;i=XDHp8QZDx8sENl`&G&B#PA%KB`O=i{nlt>)`5l{oVv2ZH@I9up$4i&(*^+e1 zJIkkXzSgomt+}V7BbM#)@6*hGIO~($)mfjm?O}RglV2QO@cy^W4a0p`?rm8mzj8|d`u&;xpMG7PtFWba z?zy?=FRCjAi#;rvlj&R#R&?HIMskc%Oy&=j#7^x~Q-!C$nX-7-{7;@u!js=9O_+K( z+;H=Erp^cxncz6~1#`|kc=N_dhTZVb-bWuSA7^v4ZvXipD6%&FyQ|4&leIG^tOzQM zUvMW#=g8KEhh3$&Jq|W@6)NYM7v6di+1xGis=a!@hy5RcG=p^_rIVU(F5P@0ZkyZHqnheIL%GLF?goMF{3-@f4*lcvTT?-hTutj;(o?zq|$Tz*Wa z+P+*k{)L>zsbKwS|90K_SO4e7r`V%w59^BGvd!f=aXe1mY8rP*g0sYt0F590SrcsI z?N3cVVE04G$!A~V($}R2>*Av37_=0YEDgG+%IOh1Z{f;Ad%IW1mWNGA%-tr%-;v-L z9cc~N`Knq|TJ z0y*Qh2Jte8?lMjK6VdYI*N@!`&CYFmeM|eq^u}cczdSQP%skLs2otkX;11bwJm z)8TjRsK^nAON)2@*P0V|s9E@0`g@scx63(uKEJ8$xWsR;73CjWh6UL{)4L%q6 ztG6C(vv{zrO*~R+UM5$kPq4?Lw+g+cJT--NPwobv+__GLyC?ZV@wEE8E%iT>q5xZq^Qk9JfxbTP-+lPoYW3|9FH3W(fcgnmMMu90i`3+o zKg{IIQqQ>Or+2$gVfT-%!B2aX?xy|Y;GVpVufzNa&yj}t<(^d{|7UJlvwQaz_pSB0 zOS)V+*$nsUNO(!QZ>pN}UiGuh4Vk`S zX;<{J?xj_K_i5cU<%;^eVb`=Aftw<}H)s97*lkxW*2JVzZFojHCUMV_?#80^PfkmE zFxQJ8(>T$uV7fiX{VwAfi`9O`PaAiN?OK0IDzK&Z`KD9b3lum0+50W9xUnJXDYIgw z<-IF0;+V1Y!hsxHt;=azYxlsm@g(!Kc-N^si}s~^x^)cPrElDw zd#*p>mdUf?pD&dBf^LRhi@vjYXXurNA4*H_`V>u>HY+qMJ8bckE#B(RIa||}bY+aS zuQ=XqGkef8f4Av#neuEst=h-WpEdej@O^XlaKeSS){@L)yUyFfCu8eqgTY+Iw zqQ<`>V~0*7JFUGhQm3C>9`5!el(X)CUW4DezO{AcC6cimXRG|jban_~Bs zyL12Eovr=!#OIrW@wwO5G4&bRig$l9-`BlE!oUCA%(Lgt`kr|q^YfDDb?NCdEkviE z(zcR{&x(I>y6E_BruY}$JC^0W;SJko!QIy@o4=xLPrA%$3rnlVwMq~6M#c1fF)!j| zx^Gig6C9P*6}Ixv@ds}2r<`<9wquolJ@>^r<^|6p`F&31FMO24bL`;edzDP3&k9(W zpIEj&K74A~uU{+Xu2c+SYkFiZmf!8a??=eTwX-`nRCe<$FuAopu!hn2lAERA^+#Sh zEsb3fhr(Md>hz!TY`>bQH6h^Pn|$vHE4}zbvZwkv%`rHc-}kgTx$s?HW7_P;vFmx1 z?;94a@ZT&Joxpc&U(1B*#Z_AbPF+bX;rjM-LG!hud6vd8T365WKKeSR!uI-=Fn2@I z?)9^NxgGd;L_Ac$^s}i;m%z4X_3OU#`DNC6={cD_J#cD{u>0g^jlmD1|AeTeZdvuH zYpa1Duh?dT>t`j`@_5fSKPA6WgU{jH(I$VtZ!asHO>J3=RJc{r-13(m{BZy7OOq6L z524Ko49gZ+`gFDh3!gZvYy4x;nWoKp60rfB)>m~EC38=>E4z5NwZx~JckgBvr@v{s zV`v>(zNs*PZRz#H@{4u+FNHQXTZgTv7khlPy8ZNm8ae3_k-r^Qdju@69p!v)#8N6a z_1mTGH3_E1olPdYf8>?^+%<>0M$P$(3*(+2TUR=)kb9}^b3dH*G-`?=Oh;f`N0`@-sP6BbQavhU%t&9heXIds4Ap0H}cn{dZPZ$zpa ztBcplyguz@@Xou@+d0^>;C-fE`ll((OGFED?@j6ZYQ_5?_TsM16CxxpEVXOzn$vOHOX?h-oolvlm1Q$77zC~Sx|2H zz2wx*<;G|JZ*n(1CiiOkjr*>`n-;6T`gFeep5C8h6CU@;-~1vJzrnVRxBl6_R4zTn zeFg{W0)F3E!SGjb$NNZ8gF?r+hh{P7R!vZ>3)kNCS|jB8r;Yv*fs<3)!kQQOXFd;{ zHSw|Z9Qn1!)53MHZ^)c^{rdQWtMA>r@0?#R%lh45 z%p;+6a*}h|YSS(i2|1ZJ6&C}yNk3$2|7)}9HTSDqZ&ViRF4%SQ)`J6*JjJ}`PqHr> zd{MZ5rty2e?(<^*sJ4WgZw{tEYPi#AnP8pJp0!%#ZUFNk&N~cyYQF#L*Kb|(!|%0b z!u4L8u&<@l`_})ymf?Ln`3~FE(D?F9>(%vfA0M-eU*Gp`LdU&V8#-_9GqB#hyH%R4 zy}gBP#s0GbKVQGPyj^Yg#o3Df_P7-4%1cFYtDsUd#uLc-KSWxz`^HStsv$SQngY%G1MLW9-$wGAek& z+&5aXsq263R}Fl#mG#AR!Py15Eowq@r_SBdaIC=W@UGCQ`wALf2{t*MOMgKQY?1i7>8IF>*tJjgOl|x#IX6Cb zgT`6c%nSN_+loIYSifbl%qotGH@Uad@91oWo3dSx8&3a8lwdjNP{Xln`eXif#y`xZ zFII2d>wR?>>uV)%LwDQvQrvFFW7;_CrLRcTHtY zamB9LJ%1|;l=B2`Pfxg9_2-AG!lG>EnX5j1@OYcL+<4jFz|6n)Z_kwr#mCIhG@tQF zQ=?W){Lvxt_07{=#p`)qIM&Ea>d=*$?k-=ZU%tn@V2^Q-<$BHM`Uhv{MSk6B|IhFO zyVLwKyV8G~K2JaN^rL&jme1$P&z-h;Zz^L~lDPR(rq0!n*>6g}mG6mse#QRcdGqhC zohCYSA079LxRbh@FE3o>PjBH1*&o-uKYmGPiAh)0Ue$le)L&rrGzIOn`YF$}W1QE= zt}CB@de5$yytg0LNjEo|M$2{V*;MlE-KCoaf-CbHkyf1B&~+yAeU znEG43RNsfcV|U&(pX(J9zTRA)S$A`L=9$*Jcbw-X|9YvK>QE~GwKC)Gwu%4d_!-JC zFyB}4nfu$KMUm}4rt0mhyRiI^uX#c+YtSA=->2L68AgBC%Jb!HvYI<9A;4-kPrA|B zGjSrGt#cK2EG=#iyz1m|lEHPox7E)nJU>5clocxqe*VDJKe@egLioiW0be+C&p+W1SsC-_r5YB z^*-cN-HvOK%&WZSe%=?Ea#6-2dqegQVcr`yfyYFCH~co@iVy6H;Q!8(A797Pxjb&g z@6Wfd7yS6d$P<^p;>TZq8}`!9qd~3hCKs>F-lCZ>IU_q?ZdGKQ?x)b)wH}9e^?cnS z5r0~x={f7QhVb=GvnP5E)R-Ty^ygWTqp>w6Am`)%1S;{DuhzRt!e867O!oR|YD z!`L5x{%XDB*h^=wnnR&p8ho7v@u4f~3uXU)eEjk_|9Zcx&(527S?yz*lelw**J0I= zP2L)%&$g5(Gt@4>CTzWR{eh+LL@lg4r}58S=cu`yah|cD_H*Ai%T5<$K2Eh*uJqx< zs{OL=4d*7m?EUcMM5?fAdFLc^0oDE6Kl6$dzgAx}HDJ$tm!E7xfwJGfn*~*#^LiE6 zE^=2Lz$i2sb3m{rOk_WrRq9w%Z#>E%FUX&z=m&r;t7$v$zp-C zqimP%z7*Qe_W4+6rmXm}Sq_d7T#0Hw>h*$}pK%{~H~IXWMB$SEGbesI%yi)Y-?Ov7 zH~oKb?&aOn;rTy;J|_4aGGG7Y)!Xb4ORwJ^5(`ecHBGfjHuj2`*Q46FDdV_fRP=e3 zgPS)gyei@2|9(t0FN^ntqwr~m)aNMf8J98_F3cl+X`d+TMc?Av0!eUF#W=d~}d zh@Gg>t<(#0f0Dm%`I~8)u|;n$GA`R(u~7d<{Z^i+`kyzSo>fbq&34XZn$OxqkLoN{ zvEDrf6D`^-+)B?D&(M2So#uDS>cy`Y+~0jt)#ci@Eb>^eEv8${FT&kEJ$mt{c>7+o@Go$n`u^J*8=*?QWK%orkw{ zc-%;SpVqX#N8tLR>x^>`IZY0}a8SUU*@E@nu~YAv4_y9La`xCB)`orao!C!lUX=W0 zeePJw@tg4hwqZ3Xc83=Q9#uKNo>|(Y@uEU-f5EC1PfdN4XKoZ)FM0UOopWki?tQD9 zWbj`)p~m3Qyq@BseJY`Dja@NMM3}U?&n3hyv@R1loWT_JZ`aIh!NPQ}ju3%KN|$yR zHBMD|{=4$jM&p7N#UfL;Jr0cDaZ`mMtNq)%br0?qH9pF}WzzE__?YR=XI@OJITk0% zO?q}m`cbE+$;q|%7%De6J$WGd>|miWmumc6tLLSQk6n22%g|C#NU>7MA@N`5o5a&0P};uhw_@W3$tz2kIal6W^Zt?U-Pe4@kbvHMgV_lqD;P8DvgSZ z;(x4cmw0}VW%iwuyKX%3)3_3TBQXBv$yp-%J70HC*YXH7zqLrN>H-7r)+4v}rsaE7 zFF!c>latresed9oN>=w~S1Rst``WQK&vZ>d_MG4@*)02v?~T?Q+%;R9C;iLd{=sn0 zbM}ObinC){UafxC$hRa~eeHk#_xCv`i#&?`5AS;l(qHT?4`%%v`#?G3!Qql;y(SY3CFilC7>AuX8_X zRjj^o?`#{3mHFGtW^OHDIMtxBCq0nOWVSK0<+iDHEBLg0c^}7d&Hnq|UT*)Ne?LOr z{&MXqv)jKx$5vSIM&;+iz$THS9uNL64m@kB%yTM4zw|6e$(?L-{D$}B-%Jd2+_cb8smvi=>cj^n?pyz})y^lbh`PVG=Kojzddt7x?!Me#`zQO%%JujE zynMUbeEIwP|DK+;-Vh|e|L?-9?@VT9RabuEtvR!YvEuVT)4cxolHw5;H}&QHW#8~; z&%Y0!&M(j3|NqCov#TG=+x0AD+V^nYw?jvh_?Er?@JQ>-0)c1qf=}AFD}zxkr5a4U3toLj>h{*EcOMywVV?f3Z4B*gA?=h zgl_$f(_LgKK07&R#`6UmL^UVQ*zCOLGRw>pv!r&2Y`lFS)t7ljTk#k5XFVr+iq~!V zs^l&o>k{zf>FUSZ>#Ld%a@p_s`^)`C_hZ|0w^Pw#TLBQ zLxATKKZL} zZ}bbTKQ)PsS4)d#=4!V+2-o!#nA1}I`Q?keC0XE*mCH&WBM%aVh#ISSvgIQ8*1~MWlRmP zHZsg^IL9(+x}(EU_jc`1Q+q5f^DeQyP?R%CTfHse?z|#}PrEdx%M{%D z5Tn7Yq7c6{^-8NOZ&3Wzbt0!9lpKHj$z1l|*G%>m!p?H)Yu0>Uut2@#_sUbYv3g=Z zejVx-Z&p`2R$p5vZ^6RK@IjrOy_&s$`qBG0?iK zOtYMR&DyDt)tioOesQO9sg!SlSEgR$!wEhWf3_|786N$IoAb8s-a}G#-)kSmbDf>G zhwu4mgXyo5UTSVW{_?=#*Y_)5NBMn^=1?-exJX57`tP;3_aD>!VV`mDbacBe$Js-f zum0Z%5WZUx!uW1t_pS@?m_vIwtL{2^O%>%e4>P$S%DZtzU6wE5`T zM6m`hS-T+PBuf+LR&HL#gAdO;uD3Vqj&Yc%Wy0gXYq8fGhsIw;>0f<$-(_l*%#un7 zPVe@OB zsPJrPzw7Ow(8gC+G%sCOF-5Vm7dv0!8mAG}4?V3}H>W|ePtZD7e{=~_3WOb7FC9dG^8r`p#(zHDncWZ=|9CNYUePGv>{E&`}Mar-4I9*^$ zJ!bqx=VH(;BPOi}(|1O>M(<$Q@=Ril_Tg7SD-AfJD}|h6d#jvDzmCx||nb#U@E$rptYKHAa?RA+IyU(5a*sl~`8>lJvc&G6sk)oiESdiu64 z;%U=9?eU=P!fJm`)1z;^uB=+MCQ4%F)VJH({_{$$iEY|?O-d{K!>bw0Q8EWMJFK00 z(qz)A|B-s)Ghd0XVLMr5=iKG+ZEHxGkgxoKSYG2C!P9>QZs_P}K6vqHZCgyx-p$%F{g2<`?G80Ld8KEmRczan|1mOa!@9RFyPofnS9+%|#NjRHtE-88TN(ESh%bDx zy=<*k#;a}DYj_XbWz{iI)DimJhFX>^xu zU4aDq1>cIaSE`RLpLdwvy<+j&-V+%=gwzur8^pSPWHmf#dR$5JHBYS6rqj#!ZTz0B z)32U#Awi`2sZ^jVvxsr%tMv2$vqRVU&$T(7Q^@5%-*R(Rhjqs6E>r${ZHuJY0<*nk zyxaVu5_etZUoR7RKWtrv&C@p`nXIe^0qfiMyO!?Rs3E$oqqHkXb+^}~KSEEJUuUm; z7^1Uk#z(sYs{#WBUvJJ}j^d8Gvw^{TFE&J?g5^_jHGw1YP(Z-e?EUS9zyPn){_c#{+ zU*z=vfQ>x2o*ONDtDX6xrlYyynWxt+wHeZzB%C}Zr7}LqFcRb`btq;!`)A>$2O={R zgwOE(TgefYq!b$vzUi{cdxhgO-`ttH`l(I-gBklB-si9$`pWR#?D*dPp=XiE3Pr10t zYvZJ!+Pq)#!q)m7C@EYUINOVXEA5{8x`Ps5lkXTD`0upIM|Zu*_3de{Gfbq)w{B;U zU}4_>b#|WR?814?U!J}a@t?qUN4Y4tbQNPMpVw_WwqIJo(r1g3SIGT1%NP?rV@utn zqQ;#eqUWBZR2FhBwvM>NaVB8)HiM&&PR$hA6y&-7e~_){$IDz3en#ys)zj;Jy*lhe zZ^q_zv(B#;^fl`W<#1hna>3q!KCvY_T88~yJ0nwdlGzGOqP=rx>FXU1YsleP(3@?% z(uw&`d;P&Ti!O=X4!fPdSHo(>&+Q9YV|U(eIy%|Le#I|`;N)WIzt7CBgviJh1b_do zx!~c?GiK~xbBiW#mGW;+dZhCD=lhh#m_>%S7T6j-p7`MBr=0DPMw5Krym+^zOj6d@ zNmtF(E0!FWw&CTv;IJ=eE$tVcxEq z&MCp2d!^+wRy-B4O0Fq1Zdv{I&#&Ft+t0EkhTXjUhbww&JO7veCcE;}F77+rYp+vW z!d%4=tQPX=i=)e?@0u1N{LAJxpE{iB(YYdh<}>~&6JyU#J+(FIY5(2OyPHy9JQaQI zTrhom?vcRtVWKZzKKh^ctb6nF@OF;J)oh=yr!KfZFIdj*Hp9FZObg;tlQ(3)XN!^z ziYU9#Z&V%eJFj!)Tvnj;wTEmAzG-l;juPLUs9fgEaLqcVX3v=$=hbZV z3-5a!3YqWr_{fi3mXf_(i+wjU2Yv|>D1TjhG=IVUn!bp#$+`Szd4IkODZk4cEAZTA zedhATx66xS41?Y$-^_9Tx3_DG{{A%qg74%T!u_Ybo@4d;nCFYe#%VJ7_u3Q%Tngr; zvD)tEkV@B+N{?Rf@u>K%|IzC<{EzYZ-yh|(J$`kaefAZ5@x^b`@7rIWd;jmQ#o|5Y zHD*usByH|Ji9aiLI@fR6VV^u^_v@Fon`hb1spMGt_Mzm~^V?dlb}KEqYai0_*729j z?;|Thd~QfFL>xJlHmhKtRm|xKjr`&t8`w`8hKQXzE3-;;(}mv2=3%SOu^szu8u7kf z;d7v@(3go?xrNf*<&#wIeAZdV6~TVJaME^#LdNzr0%z8?{#%oo7j{Z+s?D6e(g&xD zY!g2faGLw+?UIm^Ev7*tn_Ns2emS0dx$002XZoqE>u(o6{-onm-&DPFRmzl=&9`%A z&TF5r{zbtPYrn8ltkZRW@11h)3Y+umI7Ss)Ss9+wON^&pskf4mdVRd)u;;=~dz+*? zr=D@0{qRcX5Oe0&);V((H*Sq*s7!e7DR=I3 zRpH|Gg$xVo3ui3bF=N`&i@l3Xk1ttdy>v;kz?)4>$_z7^);}j~!)1ewA3pyyzL@oDU#ah@H$Kx` z#SL%WJ7js$b*p8z>MUvNZ(o!Q5{sAJWMAkOc=(zT!`&76A1ANTkky}lA}nM=w*mV$ zo_#@omCOQpITR|aRd{@B#k@-i~T_~KQG zH#bevC1yXmbH#P*%I@E@cimXDvisMvbE|yk-o1b2rkL;Cz+m2AZ~xytFBdTR(bwnU z!OQBhMPELgHlsc&NkZn3f|wtFFx3Cpy9Z&Ew-%g{_@`y_6J0 zH+))edRF<7ddQkB=S$}4m>lVtb1+v;=)&>2uUbAFFEd^7>)&JE#{KNZ3--Falq|Ww z?;GRoU3;symGa+_KREA^@iv$J-~aY5tI^+UAo3{9bjB@bPVU~M{_gqJb#tB0{JgO( ztn0L7V2eyvNQW+~iTZwSBxywquf@=vo3j3X&v@gPMUuW?F)Z2 z@%P#z>og;?7I(LuuJO9E{+=sPu2zhdj9m+}u>yc-?0)|9M0raLR{RiYECcW-gqmiH^2;99Jocn?NjvEn!C5(@6VM{C@R!6(2d(IZ+A3A{_8RI1yKd+ z0fqtJ&mOXTR{ctP)Z=@TVa2P%5))wh24#C7XCVPD9KD>DuSN|d9 z_TSt8((iC=T0fboVb{FtbNn|Sz3Ux+CcA9U?4!H)%H)Xs{(rzUXZ7zZ;t!Kv@4lj9 z_1{0@jG0KL+M#c{hK4J8Y9F87@oOuSB5&|6sZ#IRTovxVA2vK~vgTZg_o?PW%0eCc(Mxmkro{xmJm4A5PpB_SDd6zv!NfQubFZNe%niRe#*x zu}t^kF2l}ZVoAytcG4FKxnrmWvZyGN9%ct9T)=F1!`WGJ_*_H(kr z`Fv4gfaCG%#TxaeotDR+5Si+)`u&69^f0!>j?Laz-UY{Kq}a9cPgb4Hth=&7*xbVEcTRmm}-brbQ%@;=-C=s?-=1Fwxoj>Od7nG{W#Os4i}(L?`*-TU$)7)$KRj-!X*O58!R%0M zCbIfe<2_#S?OgM7gMX~q_Q7kb54%P{-1?Pi_E`dvp{p&c9Zb_>dgF5a55J8u@VLNq zm!<4r`6|oXm!g|iHOAjy4fVa6ylBOWdznnL#MZX0F+QPGx#Qxw@3Uj~{y9{(x&GGK zfTPcKyrt%!{LCUacjBGXmB$_W|EKKP>aNwm+2FBsmGgCEvU%e>`0O{@#O)f9#Jx`E7sJ>F4k8f^Fu;b<6&K z+J1eGT!LQBjMz`%Ta9kHnp7{Sa#ot_y|rv*MEmWddoK!4-4d+MRmcDBbp0*;`sCM7 z?blBKza{S9<*J|lFizAdmlgYu&Ck92=f^MU>zgX~YhEa5?4ivOPkwC~!lE&0FY(%;Ko>GQqJ;#WIsZhkc9 z*rfDc)$`jn{mI=R_b>0t^!h5Rf0r+RoNsob{+7c3%;uIezjG%1-{SahmD-8=SqlF% zoBk~4{4`(9<5JemLm8{Ytow@Y?-ra@dN;@8O-60};`Jg=)<#+E-rs7xy4Co9@m+_@ z2F<6;_P=ed-g)`YzSURHwq5;KJG1%L@8f@Og|w6!F8Gk zgqB7WtPv7Vn{~wUQn%uq2(_C^UHYQbs(@Gn6$V~B#R@^wF zDY9i{&&$r2YhLkRTfaH^tE=M?-N%f)Tt6C_^IdN@X07B4{M0OZW_`Pu{#n5(u1gMH zV02_;-S6w!X0n){$*JP8U}Vot2FXQEu>z9zzmtq_oHt*cdmzmI{*P-~i*FvhmD*6n z^yQGO+eL9@3+4Y-&X1qQt$ZmOC~Tv5`>4o`iYuSz9BY_)b_wqzzbxaB2SzFj7$VbD zXMOHH7_lm{fNTHEJ6A1LqGkvG*%+$2#N=AX*+kaalmArTf9LFX$mYBYYd z|L5=jz|uF*q<(gjwrTq0oB59)@5?JPJlOr_ywLh}XR3azw$YevbAI!OgDV~Ncm6zc zV)xW_+iIRA$6jSvt)+E$WdPs7T&v5crmbCfZqm=_8Or>;((%5u=^WFOG{jE){H=BQ4pIv1t7E@BFR$KMCWrg|wx^D}b zDs-PYx~P@MY~j3E^!{SDnWnjP`p22>-*pRanbsXke!$0|(AM|valM9n*2$|}YYLl1 zYjYX{ibP+fhkVenSW=$AziHj+Wx5)-9?qO|xN^zYDbJSFCp8ye6${D#_`S`mv^K=$ z`g4aibF(K8j>N3Xd}F!pW64adqy9_JKHWO!b-?;F`Io&#JuSKvSse;%?oQL(BemCM zZJ(0&6xWL?T*>(h7$t&vFMO#fo%-?0LzVu!dXbUGtxilmd|cH$_wOpL?Ps<9azEZX zzoO*t8#}JOKOzS22Kc9Wwp6|E6_UGMl{e`<6|0i6xHDNxoT1cH~uFf3w$GUx)1|7Ql z|85tQ&{ln*|AwVc^zyp$>==b~~>9oApxG1!rj&;Es6Je=a&=dR+PBlQ zwr(k|>M1+;`|IJj7neLYetDj`!dKa4$GIrR+Ff~GyCObIw{F@0UdF#z@$jjKs+gaYQuK4!nqA(_Ewd-J#`Fj^A^!{TJh&Jj}jle|^t?&D-ni^Y%0Nn^x~OxFK%% zj=}8&OR5?d=M?Lyf3D575{OaB%v&Y9YSpc?GfujFIpp`COQAqQV^2=Qlr`56TrxXS zpLp_Pw6gcCD_7^b?s(c%Z+o@pK7(1P4)_0E2^Dd7eg%B_Z7p=7(d+Am83DN*Wm^~U zpLt;Am6tYeeb~0(bL@H>uiD+X$@+iW?>kj-iF!AV7+mwK{CrJT%jx;mH$tnX8UEZp z+1q8&p5m~zDrzZDcvhcZvq;fOQ}f}4T^=cg9BiSk_J_ALE&hA>L2Fd_V$B*CL&GJZ z&QqjSf7h>2nylWcobS;m>MuLNYMpY+O64~%8+1+xv!CdzS-oH3)HlZSq1(-Do<3b! za(|8C>CeR(8o4DuZ8X1fe|yJqH1gvlq2^ho8_XL|JrSz-mr;4@0!M&w;2K+jC`p}& zvf3BShnEWS7X3T7qH9gTX)j09shU&bkKObaia9)cX2X=@XP0w}{fYeiMsYD$U#O>P z{DXv-{`0f8ao9~;}Q#9vOx ztiEz%%8$~svtDoA5!>?fX~vH2c7o@BEk60vD9kTCPU~Q!=2WH_@9D*wPk4n)KIh-o z5H^1C$t1r&(fz`&$+t@P`dlvfdRWqH?SeIj_q!%u4PL)=um9w3lRaFIp4RA<7)|{b zHP`9hbn`W7`xd%iey9DjS;|TIy_L_E>s4CGnLVE;>U0 z!`>GBauhfr$FnN<Rjap7+Y; z4!0%yXRu$Azj}RvM&1&pLYsH{_KSV*5jDSQli=aAk>^v~o;_73*(T@6%r)$KGmFcO)pk!&|0wT+1#JmdV*{>Eo@@? zoI{V(l76>T2ZUs{B&>3 zai2tPt2F8L55E5@oPToXnbgZCZYQ0J7r(SU+~fX%mHbc4x!xUgX89id#X-3_H9+Lk zt-W_SCi@#tz4z^?`ht*8CmCM6)%%>W&-*3A2Q8Mv0d8M2x}N;g{h#L=r{XlRQ{u#x z=Fq%#Ryr0Ft>)?om~lJ(;z>TBJpJI}4ds$)_BCCJVmb@HYp?f>Y`A?l_C&$!kY}e& z@)mORRV`nhwZ_lCS>{+Ye@udJD1Sq5;8um|Qw_8A0*`VjX|tCco@x2%qGj*>kc)~J z_9w0rm{_$rW!I6N?cEIihp*nAnO-vIw8)i!Z)%(MycYUYWuG{;ROOT%Yt!D=E0reI zvauJtCRgq|uM)HLvu+nsqf!3A$&2_%IYMWv;Iv;Ar zcHfs=yxY3Je$yGZc?(rrv=={Zy(zwLM&7*qWcK|}lzi6i(+*7iSB%ePsl&EB&?FxG{IyIjKO6W83_s<}Oj z4{vba_u=shVID41RStE*Cv&RkSA+L`rF`{nOdT7LCl+x92mWoE3 zg#F^;E-|Q3I~Dm^u<~z$fzGPaeTr|d+C=Fz*z|W5WjUpOV!sjoATH?nf~;*EiOOrg z+6nArExq5a+2?vnSb|eP#rBVK#_r}*_R66g%>S-PUP!!Z&T!%H5|t>aLk%nTW`E7} zVbb!fpY)Qym8~K9O0cuR=e$m9cUIA(CHq3Qt4)gg`1;+uiw+`B{shN`817Qter;m< zmxf7wKaO+c?f+%H@WkYuK7~6sG@K4;xGu1F?{fBtwjaqZvO*4x|CzXYd=9N~-NsV7 z)M1lLx8uPh#hr)WP5t|$uSkdQ1)l@U4bG{{J}Q1sHM?}RCV;cNoW1r)@w}KGhnO|4 zNt17wUscUq?Ol{z>S?yZTc~K(RaITx<85k9Z_Jio-Km@R@pVM!M<z(WSmzzkcuX**~eWBcOrj&;AM0rHp%D zZ8l1n-elRa^>vYsS*MkaOI6sjN8Ld>*S*e7T%#Ix?#QJ1-Z~H1p9C)vRZJ?sdu-KA z4yBDt7`uaK&vX^ZQ0l#XpxtA#!hvZIyfRsWD`uW!POk0xBj~w0m&1 zzpYkuoR4G6$Y8vlx!SO9?TSeqoA?td8tjt76kGNlc_?|tRWt8PjK{0$L#JH)R(ZaE zF1}2}BIpvcysT`O(4uUoAB!73m@l<>r5rVy)%!{AkGIr?6&l(bj;vU-B5V%lwCht& z#V=BtJ2~kkV^*Ki!Znu`2W{2XpZGnbEnwN*T{%+~jdsLw`k8;`C|$RHvh>W%2=jc~ zbLKozvpMgHt(05ov1Cj0Yu#j)AHw%;FRgsk?Ov&Gb2xaF%rjLEwK$X3zEy2=zw!2!=AJ(0-EZ&C?L8XFRpED7Cq2YN zl{v+ZnKi5Yw{Ocj(bS_J+%ru>wtVAaJ#}$kWagDu+t-Hm@qKGue5$YQ@4gKp5gtsn z>;1~zZEN2vip~F!|FCy8Uvk!M@s&r^PUTz++&yL8)Q9%V740l@XZ3Jhxa>cLb;I?a zkKV*I$2^by(N+?yed%VJ7K7;3*ynmi*Daq2?^iOu#PsOah8MqV_vZV?9KS7dmv{4u zm98&%dC$Cx(TH5v8#dty_qI=(ngLhDRrWlJ3pjMULe0^Lb$j-;Z2>$>+P1Y`JL{Iq z-C(*o%ftP)*IJostJ!WJr-bU?R1WG;nV|Be@chpeeBV9m4o%VzZSs6zzvTRJM`uox z|+xZe#Pw}+rQ|at8VVt*qGW-raAlNfeY1o&JELN+Q)r+^udem?d2xR z4HwHFdM#t!%-+Sh_qOG-#!qh#^iF%d)&AJyIUCvq&re~M*%I@sYPs19t;uCPZdx-c zoLcYoE4-V(@#-z{({WODK~tVPEqZbNQoJ?uRSTCWkI#~BIj>vXHBY<`+-+e}b!3$v z)5|u)_qlr_p6QC%zKCoM+p}S5j-=03vCxKRyC=GTzT?dzQJnGIomuAL38hsNR9kyz z_4bQfzd3NGOh_dp{S>#%AOFaQnY(S)`Kg;+->vfa4%gKWChVm)@~)DfIBOV2e(K+fBEWKTJqBHRd08Mn><>-e8;qfEkBpOU3=XuvBI^)MN(*M zrH7pTvcnzM{w9<~&yrnZD6qm$L9{}-YKpL;&qcmN>(j#DT(Yw#IF6VPEX+G&$`C$gz-@+=5>N|>N%a#?anK8Sy zsynsprLV~o6i>`B>M2A?Us|m>5iZC=W2$BA22Xof3;`3sA{=n!pl=_ z8H*ebJXw{R7`wdJJY4Kb#Qg~~-~6iz`z>7gXkPYhUeh--R|Vym)F|m>n%)YIUfkTy zaVEZO!h$m&S9r~yEwEKdgH>AL-cj-QhwiLmvf5zyPwc(DyEo}~ zbC>%UQ>&H~uf?T_!K_79%Mwl$a&k>_@8tI7GGMTX;}+AA{qpWwl{2T+(_0mPCUvbS z`V(|2{W*(@=vC+a3Wod76wl(Az5oA|G>a1dOsR7bi@H`jf2v<4DR*{dn!kbLhIhW| zyZp8-)KzO+x$mYIznHOW-95`E=QQ^v2XAG3wTHFgf{oewFB7Uo`x5?D{@^^w%+K*+ z`75)YPi7sr-rl(2*DQAVd2&?J&eDl2mjBjTD@z`D3V3y2tr&V1OL;oK-^lj>?Z<9WGShR9IKfQX!weZsF1CLEshy>Z)jGXY` zcJb9&D_1(5n(;S_J-#b%{fXylEs+m1&m|b-%4&(WJn;*5O|{=rm74JSEC zTG~SO&uta1ee9RNH-|5N_fbKqxphLMY5w2m$KU1e*ZuxG z`}%UwU3tyADXpYoZ&-E zh`IM-b?1$V&kd@siLVoVKV5b=XSKh1RorgXqp~k1>+fN{yJ4#}^HYXnx6bMtF|-`I z;by=1cQdzp_|1d2jwhIOaKy+a-PQjV)^TQwhvehn`Cr|Bth5UMQK+L75vgpLsVuvB zTZVX-)IYBLu6UX2Oj#}Zhj`~`>P<3>dC^_fx_7EyX~H3O*HhM01wt5Frv4SXVlI8} z+S8!iIma(Q{^Ss+l91|ISSAzc&Z8D-JM}#?ryJ|t>gO73ZFl7^=-=+bCA{_Ishob9 zWqhusa~d+|Up3Gzx_7y~;GWuL2VwpTq0+fE_dl*!7VAIl_Cwjjk*aUKz8QU-$&_<*9;+Lv7Os3zOU%}by(z>#2lMSPmvGaPts>KVlVgz;^H}80x zJdefAMojU1jZC^ySyQm^%J-7a3v_pSZ*fR($SRXCTqSuqS6}H}eLY-7rv{daI8AkPR2l!tV;a|CaqwzMQ#3 z_T>A!O`eJIE-Cfr4}Et0R-koSM|{((SDn2d?6M`Ni*eq{SQ%}lwq&#NX~p`Sd+EXE zQ}5r=Nw5)c-{ZOZ%~q{USHC6uG(LDaavV5Q(Hi({@=m|0t7^i2m|vZde(YArqi2_z z4n;qnlBfQ2kxtQ*)@#o!P0SA;TV}Z?XO?sMWtmH0R`8vDSt8EIXML9B$cXOX6~A^f z@X#SKrp)*InIH4~tNZ-1qBwM2Wb5i%+jOKSJKdK0QhBsry33r0apL|;5fj5|$#Z8X zi90=*6tT=e?Y=8_g52t)_#I+av-q>^YALMT(=p-NeU+Ehq4!U}Hkj3(e$nPscxfJQ*lPDnoA<5Wx;pfM z=!(Mhf=LhhUtMfwE$w3eoA&udT)+FS*IB)iIWm3s6|Dt#J>xPD*N$ops;lEvYnk>i zF=FkZ9XETW)Q`1Bo%@{8=(ui?_ROyd#xEx9ug?!>uH{<8r}9FAIbh56UL^BaC7VL?E*RnFPlWI5MEccXtLcCp}*G- zrKa?+yL$ZMoRY=tXMJyX{{Q))JHOpyzH=;J-~1EjOpOvX?|+HB()V#m$JNH*KHhWZ zW|n?%oz}M3Ex2BG$*Btkr{rSU)7h6kh`wvuFeTV&-OYJ{A40Cq+Ne^!R7jNVt=h_4 z4s)jjFuiRoC{w*#$;u_unx#DRZr6{@GiB~&w_e>~xJ#SjEe4@KE5r)WOuRUh`fk%?xGt==|D`htET3ZToZqqkgB#$5TcWw6%L&!}TuiDXjk!@&03I+ur*0_sf#R_B`fZv9DnA!d1V-Zm<=^ zGp{t+_V z{2{HkG10Z{wAZ3~gC3 z#iX$RD&aHJIW(<)Hf|_RH~RYW$(gwGYk%EcyjX3LfZRNO>$#S{g0FR|?S7S&H&<+> zp!;3{=S>$&KOXPzereXa^2{{fh7HmlPt~lgJtG;8L?qN5HhJ20LfLIg@JYAI`?>4O zeqFHHZf$(*_MY5zC+ED0`>1`Qd+Wj+8^K+CNea4eU6nTI-amG-W$Of`-i1B-4?K@g z>6unDn>BZO=9&tX)?YHN*+v`F+BPlPFv&LNM%=j#wObd~^=|6!ITW5zmFsQf_juR* z33GdTt`&WItkgMmu9eH0$b}c)dCGHD#VhXT%v^g@x?h3guacT;qKVEqeVg04x3_If z+-dG*&K&L`YrN5^{8fT+aP;vt6*Eukp1V2wd26u9^TJremESmJJ&#}FNZsM{ChE%L zD_n8U59A&3U9Y$Jr_R({Dk=G%FRoQ3tf_rv`|Cv1??VmyKPt$H2kJM*3&dz%DV9B? z`>FC{B7?2LzW670_m>!%89!B9(IOmpQ=c#N($;NWdHecbXv}!@wZd-2z24fT3!5f8 z_JwOQrrrI;`HR7u`R)|I#|(q5MWWW14LrM1!Og(pi*3NQNwd`hmp zuxZtW-CO$_WD7O8dfZAgxKirPCkwfH-VL<9*edLCo~>ll^?xh&#P2p)KY!Ulq4jeY zolmq-KC8$o_eP&^FVEweO z$Cqg=`SH~E=IR4i!WX_{Ey*sdIC?i~!}^Pv1*Va6dM+>6@?gblo()~|e%(l(X0iN2 zeaMDshPE$FFHhXLN$%L1dSUIe58s{pRU^2d?oxN6;>W-hX2R^n`U@qOPBRJ0yyu{5 zwaX?vr@D{(@tys1<}5xOoK$R~lEf{huvF7ZesZ&R(A(0M<#I;zyn^qGPY;=P!eHU!&m1N_vb&Kz`b&pOEkmbg?z4> zJG{Blw=~BTT&T;tQ5gA1*D0>^cUbk_%a3+jt%~OA5?=qVNj9qDLZZrq`YoxxbG03| z@+9PN2^ZI^e{DM=-l=ycXQSA}_q%Vb+PanFrgYL?ez#kXuJ_LP%r-4IO6lRE*&mlV z-S#P%b+6kFK0&6!3_j&avZ9yGl-8Xv@CscUcO`s@YxBv4H}@Q1W-PrXq4uWi#`l{N zCh7_$O=^!dHs}~Dg%)ZXSy#E9u}?eIIOp9Wzr>9*viLt~>hGJ*V0`rG_B%F9A8pzr zHT&fgo=G2Ht&m;n)O^g!QqSS~w)Dy)z4|*pR!%Tp?fO8ZMrmD)EQ4`C`HU;_vtm0d zkBUkjU0t|XqBJdH&Qa#>cBNyFvUcfQ*?QU8>R#oah}v~M=NX^uv=~!_QdMt$Fjl z$ua)M&TD>pH&(YrUp&zJQSR*`m1+ee`?sB)b@p*Op z9mi+crRKZ!A~=^6f6>~P^r&fWu%4@9aG{A z$8=lQwFSJm%fJ5L-!G5%@BjJvWxM%t`G23k{CHcQU-#pq#f{0o4{bc$ePWN;>1~r! zLt0uRjtO?G++MS1jmU%r@jDwPT;8sl{?lP^)&IDc6PGSZ+`}HGF{8EqwzdJolRE*4 zE$O0Fw#VW!EEmgiIJVaBU24lDERz8Dne z`E?0*I>HbUOJYVCz z<=0tb+zv9DSuf<3Z5zJZ*n>xqu$OtI zVIG#hWP_ZezCWL_x4?73f-~!T?r43mn3Z7ArDt_$(bF}{I3MRMGM-Rvoz{7%MfK;p zIA`8BjSr_bwCS_;WyET3+xha@%ar|czg!=!j%np@`th}(-SW^^(U^}yk-Q=1^6BoS zww_i?IW@EIaQsltY4TVs<=wwWO?1y?!*GLKRyotxZ}^s5nZ-^{mF_tGY0bi^$}*Yx z1r-re*Jmm0X5MK2;qOGw7ZWyLV|R}(+R*myK<^Z;yH~2q_U6mJmG5Ztef6SY)2!{C ziyiCzP2Rp!`0g2R@?Ju*I%50f`x_Rr&ah>)esuA}0=`*Lapm zyvvXL%nfqSe=JI$u;!-ve*06F&+c>8DR0;z*|W$h z;`yU~?f`iK>4_aiNqvbWzAZ1?FGN4&em8wtXt=eN!@C6&c=k$*3bOor@M_Z`ex2$T z$+;`cqu)OJaGvi^aWO|gvtSC(t~|H-@p37%QjU4=QM=BB@I6t*QvoylrcW|~*7%;c7HeA@M6SIj$# zA9pW}U--9BO0(8)a{Q6jpD`(pC)Jde+-G>)E&2D@;*LT#jXfL>?n_;cK7&cTO9UtOaO8I3ZwyYeVY z?0?b!I8Qvq^27>>`CYGB;=WkeO7;AzJMR79xi709OHyAwKBt@T{owp&KfnEXO@1!>!yMH$MJ_Fv+*P73 z(e-7+`cq4-?>d${c+EZ%7o?lKFL9&!osUoY?s!@kwQIc&cw5)5ureuk&eH7_yYgToGNe?el7%pGTtJuM6ajJ+#nT;v)a%H}^Xw0-8-G8_Lv$>uu_OcW-m^ z@(Huec({IkVa+p%J1X6BK(OdTN8SDt{ckqdPvL1=kaooG=VG=5=R-j|?=F0=vQA;5 z_Nt@v`kS+#`N!@S75U9O)lWA3`kb&zC5Hob`jdB=S@E`5XwGr>TA?EGPGo}S|CrwF z?66C{+CqMEA!YvSJQV-m+hq0shysV@sjD23Ync+IvZZHo9Q9dqWt+#`;!}qe!hVOw zeBXT7gY^*?b8^q-yAso#^nW|w>HKSdgh}3&b#fk8z1-Kt-+Q@oYJ@W!y98=)hrN1I z^mM(q;j~2`+KS%1?r56*hof`Zw?DX`EiRbpPxF@4Y9Ny<9i_ zjmm-*h0XO6Ojmz-DeqXq>J#&h%{l#uYRThGVGq>>F8rG9_w-I^^^z$s*!Q-4I2{-J z@2hfFruO+~9Z{V7`L^C|J#(aIuIubcXE$y(b3b+KgU#m8b3Pw-PTx4$H|X;eqnoZf zqhGYCFql8^<&OVeXDync=ukM*rrAR<^4>0<^{Lu9g`RsJ@`-NyTX>lJ@_*w;Rde$= z-nbTS|0j8O^;5e$t2>|9*WFp?;`_wi%J2GG(dO5T54Q=$hxohP+Q7Hu52S+;Io%=}19Y4!iAvvPZ9&tseR-IllK;I(a?*HXmR_TPH4 z+E^@ekG9U)@>XvhDW_d;RnGRGu*&CB-~Vy;p-ncT2WRg;;#0Bh=)~8z+X`o2o|Aam z-PixsEAh^^6T+OfzwUqX?Y)$}f^0f(DsF0FhRCP)3w&6+BHTkcQdL>X_MPuPALYHV zP{8Wc&%L)y7l{4JQ269)j#JX4Y4liooZ8~Kk-J(CY z=T}bC`fhDjnZ_pY;pLtKm3c~cY$PiTKCJCJ>m0a0V`Ao|XFPWw?@2J)V6|k!_2u;| zm1gMwa{kSmcuQ^HjRIfgttapI^jv)MOiX*to|)3I8z<#_>D7o+ms8i_V)7C?S-Z$p zWnG2PiGI${$+-#+ArfzYo=6jVZN$raA&swa?~FUgw@ACGWj>M@3o5y&roY@v;z7P4 zzteHixh4LQ8Z$S!P5pA*V)mw|GOKh{RMZdf2L+$}ZlnE&y(^PTr@MYd=Yot=rb3n} zw`Ak-t^e}pXRZ5Y|NUD&CGGvRB5{@D|0~swv+ppm=b}f;+{g}GA3TE0b|FO09fQo7M7=i$z) z&J*_S|M+mb`_ps3-<``~-BGsfSI6w@hZR$D{`1I8{r|>&dC1CBi-T{9t@o1*I&^nu z;@t1vw(3l(r#7YYPfXRn`lYm0QZ0FoL&~x8s{Y4!t}dv5*{D=>Df6E1%R^`R&%TaU z<#n|*Sswf*Y2KXHV(U#C0(H(lUvBwij$TOE&di((^*26P+w(73_<13hlgVd|o9neY z+)nKCzr(EFlWW^}%3zDBNWtnWyqYGbqh-YI%AA~8BpOx_ay;mt=+z*JlZpw2bvL^X zYv0VOzdCX5`de!Y)-8+bj-I;tUiiNq`@SixJiJ+xZHv?9G=u5_4(s^6EN7Kw)$QRC zS9tR7-Kz%)|CkCltzRt3vv-xroaAlQG7L|nP6)fYyxHYGFHROj4Cy>U(CC*Oj3Tjv#K^s9dfnJTRK%s6W?lidAOfy|8yXY8H(kiGKy-wEfI z?D&h|?!zI%4J`NX_6GrCO$=B@bl^J>se->+6i z4)#iA^?#50#`Vajhq6}f`I>9KuTpw*rOKN_RR%F^MyGf8E?FI|TewI&=C9qVf>)CE zxziikOk5Z1c+Fw?7in(tw(rSZ-Yckh}$+Ao=3eaP(H2X79p;|G4{UU>UT@yes{ ziySo*uWi3?VdwWnGd;F>8AJQ6k}brmTiBg*JZ|gN#Xvz<;A^h1s88#yB84trrWJG z^GlBZl@+eaT9;SMXKdK?%f5btf3eo--H-n~TF`OEoc*^FXUfJ+J;AlfD!T8NJ$Gbs zY0;e%I9)u_Zu6R*mt*C#nl-g8=dJKAwV2$y$vnKfhV@aSZ2p{u7pdfr4d%x*x ze#y+Ar7lLQv3tGJO3$x4=hbjo(<#SFL$Pnonuu?r8NXKRJ9+<^ZZ~ytXGp!)I@L{o zGUM8=eJh)qF=sy8r9X>uPH%AWJk=xW@ypwDovZeQt?J8mt=^`doOW_E$92Zn^Atbp zoiLERbLsuXwZ+2RYeZ@s9NAthFo_M;`sAx%|2oUC)gz>G>csCp(~XX8=(zg&chb8! zfosmM1mt}iDk7VY-g|A7CTIUrW7)yAl{1S?#0773$DM9%IbR`lGKXb?_~)ySHci?g zc3Pn+`$70c8KHf8?{4|>th=z#R_|lgt4S;NYqcJG5)_*f{d0S>0!NswgG}d_9~-T# ze~B#n$S-l>&1!qgdk#DHo?I!q^>pCZ#7C-iXN6{N{V-E3ufl8jW;gfF1T(baL%<m_6Bp}F#LFDwjnqVk)#IX)=u z*12Odmv{o*!p z{nG!E3%&;z7~5I@=`6I?F8pozBeST?=-*AD-&eFcAA~#F{EYgUQx_{?;Q6O|dzaVZ z0Flif+hnX(ta&NNS#WvJtOuXZFzLBG zGIixzlYBC48h=TO>a&#HP09VOKERoGN!SsKC7+W z7k=cor{O9;C$<04uM*6P!lJG|DYb|{b*8&^OX%&U0}37R z&oUf!CKw%NtmRTFZjRazS#I#}3)8bZ%k!qsc&qwh6060}k|Luz&YZk(U*k7R_qXjl zbncBPM^>Znwd3=oS2A#0o(^k%qR;l&^vsm)VGXA<*J~vmoH*l-TH|L9p$3_m+F2Es zqIB1Mcz0msd!KJx&V1zj?dE zbIm+oox%^#>2~tzsFeKtkNu;V{Yf36&OPr|WY?~_a%!VzpZuRi50$??Yn=I6SID%P zndA4QI==L?H(#*VR?qu#LB7djkMr7l@_RqmeB8F|&~}3<5%Dec?)j@t_iW92AbVq4 zprFf@4cyACr-J4xIR+i?Y1(k6>!aBdU%5X{>)H&Dbys+%&e?o;XI=8_@`}>T{q)9!pLRUP-)Vi@L_9PsO@!?_^__F z>9a0=SWtDLehOcseMvln$@K-64Xf%Hvu?~iB&)1Y^uWK-^l1gJ&(YJH^wcyVR{&k@xL`htAv^>$z9Eek_Ywp|nMNyQYHCzooqGi-MN5 zoeXajt@|OeS?Xb`ozQXLqZ^KFskrAidA0V1x$ZN>lWxyUO%qA1n%J9gZ1FUggYRqO zx6k~QnLFEbhRnfda_=^swdK6pA@Z+MLF%mQhb7nB!r#u=(JvQtD}FY!^W*cj)uo(4 zVf~X%xWw59ZCn&}#~{cs$TwKSjq9k#Lalw3jWHTYtV%{M6J9?PEPPe>Woh&kmB=%W zKKti}ZpoUve#z_W+ARVr+cXzVU+#1*VEck}$CD>HgM|KTd1)yz8%>Pp(B8w>VcjtUd01#Z*GP@z|Nn3D?rkG^utQ7Dg)X>$sZ6mQws~swH*h5hX2dW|=AC>iC%cQOF41&_wovWF$8QhDut)O8 z9$Iit^i1J|M+vQ0T^m<@6%=dPd1y0J#2NPopLTz7(5*WlqV-uV*X#AF+B|8kwaaE) zc#6$DUs{k8FNSctm&n&5SK68SK4LUzvAw-xS8)7 z@@IvhM479|fey)~I_=CWw4btzEB#Bo*rng+@+Uia@v7%9=6+?gKHK~HRcUBLd(vd> zTU(A_-Ptf>OXrsr9p!^#q)lA@4LG~MP>TEzM2?E&%N5A5*%p(I-eF>b=lr(>-)b%`DaGmwiT)` zGrc4C8~>2el+qN;TEC}akH;*ZLifJ)2hG3u9Tfk1ux8m&%Y%F6=AB96U0QXpEMej& z{r|<<*GqjZVmHkHge1Jvx3& z>tx>HP_d&6Wf2F1SXRDhy70wM|Tcw?Uk0bT% z7PI`;Wep_{<1eIZO;R?QKgXu-%>FxbEmmAx_)XXTmrkSOLXp3LeytbsR3|Aoia*Mn zQ9W~^Rzl0lOY1cZYh)SByq^WlyOKSoTR%VZF> z{gT6+B?}`iHpcv0xk1s5q2!19a3YTDIniI>b@WHI`*s^01_HvCe%w4*tQ`TVgB(h~pr9-KO0)AjVF z=I_$S;R`08Jmb~-@}zSfv#r;z0YKhdi`!)tNHgR*PCVRPkHWMG!7A)n~|yg)+Y8;nP88*nEJ{; zuZ|@eBy2Eq|!!aXwr?L~}%CY-5h!vM{V=?)mKv ztfIH&KW^N}_Af53C5yq_jAiNK8(P1&xy(&$=lI%j@Q&K7Zb!=-u@O)INu;qVgq_-% zx0Y|q`Nwe^TCcx5GI!hkvL8LHuh~zo-!%2k-GAY8uHIP0lJ{z5f8g)<#gQ{b&MG7t zW|m*rzGwPMh2)DrxmLZ{;(uq`n~!ecmbFO(SZk}g|tY$*FU zEpGSZk_{!R|D3Zvz^8IcNWpjA#L}GyioQ5W$1pzn{%=}>fm`{veZ4#9G+IijHLrMi z=H5H8SH?1et8Ur9w#>ON{<8MS3*24{1}wK`=$f)4wmVEC zYGTIUv-x-HcDZa9(a(})d$qfDN9dqxoy_db=J83Vqm$!Bz+|wvz_bKL_9my#O&82 z;Nu|wSJTh#=!Ru0+9yAFZyh13IcdJvob`GRPc0fv{dDvA`#HG_XSRL*aOQH_n=h{W zmM>nqBx%F$=lz%N*4#Mxd)MZGG>+7_Ma_##*#Ff}ao%xq%k1xew_f$DO5A2_W5KZE z@Pg~_-}8R^b-s`7@V(E9Q{=w|?Ga^0%p zkZVtu%7&g^m*woRwXF5{N$W+dZ&OdHC7k{0no-05z}jqI`-fUF1H--d{w3_F|BzCz z{{G81zIk#swMI8Mt@j?>{O{kr%gu9d-2dzSru&EnL;7<6d3^Je8<#gXA3Rvl!TQU; zow@11f5U!*2fv%2S65ea)iG?}F;Dx$bN0V`|NUcl_+R_kOM6M4d2dwi9uzLT@cw;8 z`rRYq&VQzs=+{hi+OR`7JEDIwzc?Fj$aCvvbqC`WN<12ID;FIIv^!<}BU?O6tZ=63 zk~Mn&ZnZ8u^<&z>`eW8-EG&h-=>M{IY5F()U)w*w8JXXzoMq0}zDOy*V11+7s)1vo zb>;T$|Nq=PcrQWTN=IVb?dpF|ettM9yx{nP?{8jC{007@bK~69mU&<*`|gS?wE5Yk-^_P2gv!<#MtL;j@8@EoZ>$|&&c zrg6dNbH5M%d-q}I3HF1+U&|%lynVv_WB!TnOg|j=bGNMc{r>(truW^8UNio=r+aC& z*B{*nR!-*fH)fo7^NE}2WwPm{;P({W20p1i_GK-}T5GTCDDlhbC@r4Z^I0Rl_VF>F zGuNlaHnk*VkS7Pq1Y?!JUnX+KH%BwYg`*~xY99W>d zy|tn%;@z5}d&O&9S|t0Op1yI(pInh!>Rvi=LHFsN4T)d+Z+WyxSa((XH0^1d|Igx> zY*a#v_Gj15IpKejN~Dv#{jMBY@SSynklZ-|`Ljm@uKLVtKV4ZD@{h~M!S9Rv)}NDv zxqCA;#gh7-Z2iR?d-hMN!o_}pU;o_FKT1sTXDm2B*D1fdWcv}3B7LC*DZP@_-g_@q z#sug{^~Y~yzq~;I+{}3&jy&C2_sB?M!}WKT`wDl?h+&R==ozH&tSaub+$pL0ZVw~j z$9cNN`Wa$e?yFPM*YL(pH7*EcyPwp|H}&R%B}aRj)@z%!C)};rzM8jKNZL3!GkW#@ z&7Ct}-;>TYj^bJ|Rq+bP7l+m740mRmU$Z*r*}W`7M|7$Fchjf)8f zaH!f#bM=ER|J|m=edXeO^0MUUt;doTVd956`drc+L;DoY2ED!1Q5b(zv?@EEK}kH+ zMej!XZ=DC*^m^Ql^wrb`a?mx+?oURE5R_jwM4UJsdSJj$0uHF>Mztzhu z+$*eZ=Odn~nnksT;ui|lzKj=bm_9k&b+agEr=-)b2fI^Q1Q{|{F7~VZ?i2BT+J-$s z>4|N7587upicbzz{THQ@V66R4Vb7rlLWy&dU7UQ}j2BLHQx=h}R8wP<^VUB;D{z}h z*q!yOZ^&1cJ&)LPT-f)0(adXwjfvCc&!w78jbh+h>8hAK#mFtXeCzw*c*hls=eOu) z*T!EtR{Wz!Zu+jcMd5CD#T_Cihw4Wy(3vLx$>UZ36AewflHBheVOb8*VouXKI~Qrb zh*A%cOiFdEzov5XhdyeZJY%&1 z%kPGHVOBgkiT8PaEMn=|%`84;lHiOPpLLwv&-WYoET4W~<*4luCJ`&^bs~NnS9ojL zX3Ay-)}KyXcCy-~-mUqgzIxg%hcjQgg^bs#r)3Ek-6ue{Cp%Y)urU~T z#ZAc7JFMQ?Rr5DXc+2WuiE9d(k;;cA_3^Bj`t{2Sp&cAn!7@t(KDty!HQBvR43;aB zQw=*8bfa>g*mjSUe^paHwK6cf$li~rm5|(7VtM$~w$2MY?sHq#9l7hG)4XT)6d5_5 zDV%vbXZP;8q@;ZG68ok1vos}_b(9>JE>Yeu{LZE9ac`_aUb~N<$l;V*$E}?8ElXzZ zWv@RGmbbMk?A5f_-?MGLywmf|?|b)d%Qsn;qh&p1H=}&F%4`q)l)3EE?R^^yi}Ww8 z+7legppZHJnNy$@gNX6X)`p(oBd1FRwqM=$YGbNwWYaE}8|~p2B^#f5Sx7j1+Mu6h z&0)zLxR77v+e?QpC!5QE{4nY^Q+{=~@oD7!ls*3Hm%hpE^O*ef(QDDU%V$gNbK$*T z`ZxXHf(-{w^Sof_IjBB;L;CXh2U&tW7rO~OnkO;oZF%xidEp6jRAzNQW{(jTP!%zD7vGw&F3Hg)uP)vkW^>28|L9+{r)S(!_M-;`~bcY0~n1isuQJC4to?t8Y8 zrP#o^=b1j6!u@A=8J>KZJoo3r2OectR?Ay|o~yoip_iw7^@s9^XBCIMyY1%Sf_k4ryM-d612TN^3_lg8f_@7m99X1$O`PU6r-!Jge;lhMhAXY#06L6kxf_;9G)vxj|pE z&_%nrg418hJKldS`PlznTf96W_@Y~DuE9Aw*B6snqaSPb=+5dr^o@g^ZL4(N0f(|V zELTrXc-We`C;W`*7I)W1+r>gvLRm@vH+*E@hFoSd&2;wg_FK_;I_F=3%1*Y>gK@#E zThuD5<_WE;Z7QkTWh<4nB5_&*9u_n=<_sYm@lyj)^DN^L@T$Y_}tH-^4F| zH!?1XzxwaE-C481EdJC*7B$r~{-)|j7>XQho724>F0np-hWW&u=FbNiQ=1-(UTfOG z!|xgXB9!ey^TXg%Qaqv8&YzwleS!5{O3A_?Mb`h)-$JvdIIg~-pk^!F{Mqg1BQT+cdr~U|T;dMB***2ueg8gv8G0P893sN4>KC?JGa?9s84pVRHcdM=}TCMWv zowSC^hO>Pe^x3N)F=%c*Z@F?#p|)ztvK!p1ZZa=nkojtSZc^gK9|`hC^KFHHOgApv z(|O9j{n1H=kJ~}-1|KpO#$@9+W&G7xc;a}}KPG`3HO9lOI9K4*) z6v6hd{bg}VC7c^={>%X4Owm|em%r;}=7;YE4VxvGEth)IB&N{x!`>%l-?8^~GdE2tp0WAHZQH9N z6J~9?Bc(SvVqMy&$ztsvrW+O6#&sQ05p=lUaVVltoooAZ=O6OR<5dnMtWvIKsh+z; zd)2`eGtPTo5Fb#&u@x z=g%r;Y||rHYhQR~33amhhcwSQJV_ub(W_9*bE)E%BXb|kDS9yD#|62qmKRJfD?FO= z;J-!t?}ixe*NlHmH^1VZ$^0dUqd0y2nMBWppXN6%4_2j}UiK#Dlx48&rg_d!*`ieM&WLVf%wkSGSc25hRcI|?^&|w=>hA&a9kybmWJU&0KBi&*yyH);1 zAMxTf{L3FQymGl!uuP6eMpa}(v+dl~tmX^4xCIN_&&5Beo3oUm_v*oY=h6**o8(hW z{-mc&Ub1ZJGs`Cr4>_!L-yCs%q9Py1BEQJOKDOoBK~pQzR?g9hU+TGRtLl&bj43{j zOZ$@M8dfah5NW^u@V=04W2a(*SI|ALz**`FJ_dIRlpe_W)ypMq{gicZ+2yp%3bvO! zs+#3oxh8KFYA$&D+GPRrQu|83lQt_fIx-)KycK&GGb>4oEoDVo(EQ>`BYB6J&5aHF z=Opu-U{Fz=T6=8gu?mIB39}EFOxev5t|*XoaF;6I^?9cz738Kf_J@4%YPw>(U`~l= zkW~9uPRHztA7w0?gr0lL_{r2iaQf5Tc~X7KE}Qs5JENmB7dPIisz~UaYH(&w`)2pA zv0D#pd3uvAXH$~z^it73{Ka93imLNgw6@RG;7;GX^NG`idI_~zo>4bMPw;%xw47I{ z>^x<;|2Njm_f?nP9ySm8`X+PYoY*FjN3Lzh*o~DWk1IG&uu{lSbXGmLzHq0L)u;Li zZ@2=IY>KsnojMx+RIK`OETK?g$D>*MR<-V!t;X}&Wt zn$A9VpWj@6?8*erKl01d!cY1?bL(weysPF*X_BSv_pe18!@j%Tbjy?6$@JPg-a}jV z>b%;%lg6iw%2=i-iO=jf8q|^#{Lop$Xzd3{)>*Ozk8|d=KQgaedU2yyl*`4_P2ZO2 zesW+p6BgpR@yS5mdqYh6T!+L4$NSc~7xntv;ulOjVZ6C^;>Dv3D@^$qrq)l_KJjS5 z#0zd`+UqX7$c@%%u25or`e@qz7t-!=FHgc(m?vR5j8;9vUV z!9kN>tC~9!JmW*}y!2Qjk+o5~&E=5v+2DUCcJqfx-&mOb+U#cOfkQp+azA9|IYymQ z{%w}7aO>sYjQUX1x+NkP*Vi=vFT4Br{vwH84u5ZJ?|b*oM1N{}sBlutv?dG3Y>jXy z@f`+y<%SMv9u}+hk}N+nDCKuto%Fllhu3nUN>9U`Vpkp~lz+OOD*tbNcRkzlxBLHn zO}W0r`GMK2Zx{YGGxqeTe_hr4o{PzTH*o3jfL}76wA+E!VEU zoaA@=a%Sf46#?o`T`w8WExER?Z%z&4x5yKXe%q`sRZXjRIqCQ7)=t}uNlx+{uQTuD z3D34ZuOKRyU-Cgt;OT3}8Lz4sBJ^zk%j^_MJ!0{G(flRP_PF<7l4`#eBG2A(Vxs(H zZH;6r)|P}~vz7}xE^`+CV&-HJXr9-il=^0p%ggUPO zbAQ^*osbltTrYZ3Nq(W6s?6^1Z$2hRbBUS=yuEzcKXV6zkDveTeHMJrzD~H*7IL-O z!1mcU=ls$slm0J$-XBz0qjFk5vhTjsM62&J<&PU~l9>DS(0bK>T1TJXKlL^L&-T1< z!*ZLSw>vkw>0ezgBksOOb3VuC?y~L!v*k1oX=tS@f1Ulq^mFdDOX-J8v=~D#-fw;8 zyLeUAzK}Re8_lbq3vS)ksupoENcgcL>5I~5Q{D~x4H}oX-< zUNBu|Zm*t8QHi0IaPa)O-+U&ThYJ*Vm3Zj?Y0L^mqsi;l+C9Bc~8|m=j55{WqjCmdy%Ln``yfsvCOQwF|z}%fB&>SP9#$O@z$E0HDBh%y-HLy zmDas8KO(iXIeEoOZl+n&d)YR~7)y#-o^Cwoazgvs3WwMG-b9sO65CV47J4?~fyq{* zeQhj~$0oE+zILjLmvh3o;IQ;P2SrXS)XYqs$Sn2b;`XWTB5gLa7KO>J$bS&WU1<`( z)+TDfX{)Q%%NRqKJvQa2KF7kAbN-yru~qqv8&^ez2Jud13pxI3Lf-|ZmwXCOWjL~L zC_Lp{HLp3B>C`N{WlvACbG+x-H)uT9eN% z5}N$uVAyq)#P2Z~ibpT$E}XRUN?om{;aYum$(TaH#1t+yluk)>B zcz37&b5iW0s>?TJrX)EVO4w95Pkhbm8dvUo?!(c^Kffo+#X3t)+^|OJsh$0zg>p|P zFWJ*1n9922%TJ{y)o*jG8>Ec4UMvlHa)+Nuhd+3WTg@{Wrba{g*L5==8E-tAzNlP4 zD!Es%HRhm{PD_8#&ut9vo*JFr`*}y#YWqzud2A0k)%$GvBdTK@qVwIeN||fglZV@; zoVm2L>F)o3+Rb0A+}D5E^!57W`n!AMeKJLu*Tp`cru2f_%Xnd@$b>0hZ~edfF2pnS z`YQP&%-P4{|NoA!ww|kee*T}YPs(cBukqY?@c;GWZH%en`?c?S{k?Z?V!22|=b_K< z4Sw+o^$7XZta%a7&Tx?}`u6^7KVps6e`b-cyT_tE-Q}#;9w%k<488St4WBORtzVkM z-0(dkFy)XJ!)v*thUEDUw*t|czezCcXa5^xsSMH z|82jWJBd{#qNlPpm`Mctqqs;TS`WKw&!VDz+cbb z{66mA(=U%t=ii&N@9)1KXSe6unQ+VQ^n9_y>NfLI!);+lwJYwuw{J~8`0(Jr;17#x z>~_Sv?)JYX@U-OG_8&?`9FJNP_pQ)liTutz!Rp+0h1U$Lif_*7wVD0B?(tKj+!(#f zyr-Xvr#+0X|Lbe++j?al*UR@we{=6``%|3y@A$eiN?{rMbhmA<3R{_fu}_1U!Mxk` zp7Lw0x5;y#Ej=A8JX?*UcvA6$0F!e{8UH`K2;98wY$z@m^?C7vWA6lHBY&GRh*am~ zXx^LO-KVssC3x=bOE&{|K7I1+&&9>=GiRx|O-q)xIO-$YaoOca>(M)z6JNiIo4EPm zRxSC1A3Im9&tkb9?RuyAypkS&?hTEohYH3ai%fM~vUdbpCp_c)+9Y^QM`EE~+RU#z zX9Uka*tIatRbW$$*i8M|S62Egtp8;2_u+Q)k2wN+3Tn@s`lT21C(2DRQ~a04XWnIt z{Ehy++|5;2zsyAK-t`B}A&y^``l)BN)^|Nw&UI8n@Y7Y3kyT83{Qz7%%V8iA@o3 zNKQV_Tf?!^DB8rBn?WNY$RWx&46c-Ky%QH7nj-irC;# zxj3F7b>-iqpYJ%CYcQt^w%MAjT5GY@v$DN6$h~ihHS^=}*jsKpCuBXGcJz=ge{p&6 z(url#tx9FA-`D=RnOd^6W+P8~w@m-b1?>~k+>$${u5T{8T=hlc+LTAnr~l~q|L&ZL zrl)8O+ppg8&ks5DEPc9__ogo3*$~$jDi}CjsqN9%<5k}G*&VEY#7$F_Rtlf|@b;2Q z&uK-)>TA!&=H~a9LtWkgYAVgII>&*(dutF7)$x$S;2HW7O&2B;i+fI&E4>qm5C!BKs39 z_8Hy>Y?=4ZSaz{dh_nCP4W8EZz1-`Hcq2ES%KCjs!R_urh3AYq*PT6E4yB^SGY?KCqw8y3AgXba1}qW5S-8U5J*4~i z<@3G25)@Ndop#h+J8XXSww=-n`-LmhSFOyoDPH|h=l|9UnY1rHf3jz({CqJ@IImkP zO<6+U)A8mlp_Iz#3)RO9F27IFy>KzPWOdQa#uD8hhKlEIG@4Ygv;}u~gLU8CE{uwl0No% z*!pS+pS~om%V+vxuBdwC{{BOeR;-&|1`2HVoLg7rKx!Clx4;4la)H>1&SUO zx4*Goc-`WeK3~#X$~(V2H|be_culQRN$Q=CXM2jh&!2oe`$y)Cr$Y6NO{YuV330wU zn>Ewzu!w)CDW8!;i}`m)p7tvjj=xC1$x>_}VYFFik+kLUk7g(KEY>`;q7>B@v z^US3S+jr`pyP~#8FzE-6cIUcj;WxNd#Q(YNdU7&`>AbIW_1)%z3kIdnPoJ5wJ3XcG zLV%V~73Vj_Ij*PIOzf*=X4Lx>Tk$#GPk!d2Gu^i@Pd+enx!F0z?wQLxC!JH8@blBZ zqAeVK-@3W-UK_QC{$%5rc{%g9oS?<`75k3l-(?kIy#2lL;li$XNmoIpX2-j|Jl^~P zYgiYj2nIy_Si|kflWeeCK0rY6)vh|Zv(GOSmU;{Szcl&Uk8G)>mv?$)D+h$%bBL8( z$1tr#B%^z80AtgHhOgQ=TIaPTK1Eob{AN9K%HF_5uR5boO@3&{xngbO!pUta3-vQ5 z%+q|5@~bK3>pF$ykJ!~N_22W`Jt^>-k*1b~Yu7f`dc}`l#RcQ)Z(q6o(j?^9>^7JB z*Nu%wFL*jfPH_dFBd~Ri*WKK5BBb_mM%_oRPO~ z6Yg9vv5WqY8Wp~F<+c3=<{Ja@F88mqDmr#tp|>=Z=NuBM`@27$DtjS zI=rq~A1bG8y&BPdA@92AThX1C#z)T9grCz(xmFf-gI!?xBG+xo4e#43O1I8FkX9n6 zx39+7ZTU*uTlW(5Uw&5d3tIW|!|mh=IvY|f{-2E!dn@Bo`rT&I=b3KGzMl;GuQV|D z?t7Ed;LJ9M`+C8Q#%mmZWc5BDnI}Hu(mj_oJZ5=k7rC!i;-BiUwO8!PuO=4FB~yNg zoc-ker%>~x6yvXWCQY$KfgOJ%lTUJ#i$BacwrS}_iN&S)c|q)2n^jLRue{Z>amU&K ziG+y^46REJ?st)VG5girb;rX}a{~f4x16HR5L)_m$^@i_e}byUKH0Z)+jb zhYqv#fB0uJU-QU!d#tW0e)p-;(TzXfvRu#IydtZ)r_r_a@F6#*?|*D2|12v`$~fCO zS>O2C*&|DLF4UR1U*0muTjJLf#UHiFp7Z&qiOhBndVG1?63*@OkNDPnD@ZYM-&P-S zV#im*9^;aok>?JJc#Rou=R)sA z`voWO>+an1>rlpuT91uiOx~BY?T`Cy)UIXrmbcE8=}+#=rx$;|I(_!lPMhN^&n$QT z;H@k7ZOyVXy`QC;C#b!ge%SZ%kqDzagVo}#Vbj#Zf2`)!jAhB59?vzyj??dXF;k<> zip>_vhkhj8voZh9pQHPzIPziqE5jRGW+=T#*Ypva6h9;0{I%=;&L6+Feo^|BA*24M zYDbjI(W^66>@xDsuGZfbWA%IfQ>FvU5|`N>;5#6H?pr$Z-R+lO%IRpoo_dhi;_tL+ zy|bRlo<5e}&lqi1w|UxH-bd57OMg;4JAGA{{KOqLyDvZcb2-Iv`-xZ5+3bvKP5Qg` z>v!27eV+KS-EQ%WgvAlHOx>&OKb~?ByW7vfRi_}aph|JF_RQt0FF#wn{(H`+EBY>v z!#}!gS>@JmZ96Ocekq%k>x^%+?p?i|^C|MRI!kVA{N;b~6E`k6_RQ~tXwi{76+49O zf7<%}$=$OhvwvM6+pUZ1UtQVG=J;&t1MaKyPiHPQI+6F<-|qkAAT6_^;ZXHo zp{09QnOwg*so}@b=whcnwqC}riO`*x%qZU4l1 zCUn8x#jbUNoBOr5tP#AjWP5-TU(S=``+n`$Z(VropzW;cD{_Kv-2&g28LsN{*_PV3 zC!qbcJ)7~vBA#iNBv!u?m>7Sb=f#4&e0!OmeQ(}vi&M*HYx42lxh|lc^VpKVLdQ(P zk6k&>ayO{wHt>%es(5u?)Trbxuv$>zqn?_@)_Re;tQAU$eq~w zDLign)|<8ALaWZ+nl0#Z_iuUgJzM2d%X`**h>&yNufLWd@K^0gsUs(*8O-?fdy;m? z#rH0=LRKDTxn1&Z;m^m{7o2t7k>Pe=W=8zHjk64uZ^sEo?Kd<^|D5`3_hNxKkD%i0 z!#>pv&9C`P7c_Bf5qX^QHdpoV`c*!&ZU;_y@MZDrRlB)*mCHZe?w3*g#y|B*&r!E+ z|E5OgM`&Qs9RqiZx@K`Gdq+}MHA2uSJ4C0q5rsXIq?rPRQ$NgiL(7!*&x75jncKR+M+JBu%=U-O;56k(RrZ=B|t18rg@9EK(J{7M{BwW@Bz8vGY zB=>&Zh4RD7bMHjUF6n>#DqQ+YP}R{1$~=89&%5~jQs4dI#fQE*Z{~7XN=C#xf9C$D z$$nQY{+0YvnFaDEQpz(~*3ZyB#9Oae?Q`pbr|i*HxyKzF&ntc4{Ku95LY!SwP-fbb zmiEH;=84yK@0Le6nRT=nE*d+~Ys%(C0{9J~K&&T%(ZJrVLDLzyo&KRoHwyHd`= zRYJGy+<1eM2PJD^CSnaERj$Xt{jE zV6v9Ytj|4HSdNAIJ_w90?7Izuug{=k&p7##QG+y-Oll zYgrHRoKP2A*SbKb<)LZ;bLG{Lm8?OQ4310W?pkx1yw6J1;Er~x-7e z#`WXT;J$rQr~R*LKGAj6xb<|yR=va7H?1Zc<(++^G&T5&MO5OoL)UrdZ~gm7^rXP` zGnMOgp5^S~- z-QqXVODwz$=cU~_yps2zh5DD*PgeYCy}9$bS?3bHQ?jZ&JW8j(2WH(>PEOF2=vs9~ zqH&pWOr$YWt<#Rl5|j8{?(S*rQ9m@dW5S=1E9Y%QqtDOGpTPBEM{!Qe`+wKZX`PVd zDA#iQG_T;N+$8=M?O=nu$L6>3T%ONW-sbqLE`CQb+hz8whZYql4sARubwKx;XV!_j z6Sp>3-b~P(5FMoO%{DJCjbC*@x3P4lVc4Xmiq{k8$-dlcT&fr3 zm>Sh!*fVKP=QVkwS*vmvYAaeEP+Vu&VDz_XnnmI1GL9Wz+h^tlE-ySBv;09>*EjVQ zQl*+JYZqO#So5StPA`#f{~?|GEmQ8cbxPa%dsr`>(^hKR=iONIL*$U7`cet*PoI|S zXQ@O5HutwO{nOa4|3hKh4A#FN-%K!+IG?b3GtV>)2gio$iRIBR1f2ecHm-8td`M=d zUz)np>HRJmWzwx*rl%}oSSEee`mN_~dB%qI&%RHNPpK9(A_&0mw1tUA=ptIQ(9mRfzDqn57KEHJ_Hkf=bzH{l)WK|2kt!eXB z9aH}a{(t4VBc+M8`QwMA`|T(D-?yrqeLS@*V#`eNC{LY&U1*8iVfD7sqWM?uDgocT!n5bvtB zwYEWWVJ|K#f00ON_{Vm%U;K}_&wGDsh#uM@#H+5bv%j>&uNj4P?~Ydk$GN_V#o-GD(>9p1J6z zmR&x{?{>nLBWWhuc}J$@m~DD_(B0z8(y#x{9=UWwG0w-};vz0rZnw|>-Zt9Xd8hsm z?#+-`-=)a=y!e;v#!R=Rj|6#+O;jskX)$}D?z_lU?Bb%yYdw-57fYs{NqUt&b#)ut zVfk9K{mQemmtFs3SMsCw%jymK(Q2F9wWDTFJ5yCXFUo^`zdUdKX2ITit=QzlGdY%j zs17~*Tz-y2da&bX&g0Xs7@odrb6h`Wk);CnsbxoNUu$SCTQjZh=+mgwso@8179P^h zUcFZ7!j|Ya>%N6{M!tDf;Q|KeTriF z*ROaxf92K+d)htgdB6Pm_$jv<-Kw3x@~B^_30@JjRdTDao|utO;c>aNV9E0Zo*tKG z`fR*8>sdk!gK)mwl_#AV3;uD}EW0LtZb_=7=Vr5wB~Pwgo0z}R?aPKcS&xJ`R~wsa zXKi%VJl$zJukmE1n(srQyyjbB7Lw0W+PQX3Y`l2lKu*feROzUomZ%_u!>5~=U01bt zU!Jf$$@FQF#N~?Wi+r;i&G+*S+sgjxW1V$aPzT( zyGqXAAZ_EmZ9gS7X8EpGar(d`E_cmtrD8C*>$Gw~qom%%OHCazY^)J;k7%A3R9k0m zHt*$>pd`j%%{MIZe@*ME??tKp_@p*(bCa#Ie?d3v3#qfyvo#g?bKRb=zV<(F@~*3! zF8sN_cYV!9*11j-f4@m^=In)nt2XWHE(5YSsu=C z;EuC~#6iw$i6vhe9B+HM^zPB{Xl=Eg7$|BBc%u?$9M4vv!N8l27%cQ#7U} z#r^7SvYnW^f2ln)W4MF!H6im?7s3OlDQ+&_b1*18Z)y^2?xRClEYH@uuG+m@|I&h0 z-BHHLIzj7S*>sssj+k<9-~Tk{s4uBm{1bJ>cT`R^zA~-X@DjV`L1Tfnn~(R)OL|=K zdc64U$A_1`D;P(G&ffBOmcQNd{}Es2ZL0}1c9!=|JmC3b*XA$96^@%{JZsX>j%2oc z_-p${-h@N{(!MWRyQg?cY2uIBvtMpiE?oTk&a+~d+8?to2RW(XmB`UH)I`Z2yQuX?-VHKQY>_x}B$c*>Y`npv_$U^cAxsM7LdG<~bpr)}1L4 ze?tF?RQR%JuI-Odl-Ryo%`ZCjTj18i>Bq9WFFX~W_uK7a z`HQ)=^*1e>UL1-)B3W6qNcNOVgjMgyS+?eLPaWGCl=|-7r#P+i@84ZY+s5sxw{KEl z9p@@3&C6?9>Kr$gx!zm3Fg|N(=dBN}IckoU^Z%S!G;_T_gGAFMSFtb0Z!Ub3d3|Z& zv2e>Y$197~SE|q4$T~mKafU1Bi*4V(u{}5vzWHgA+{0HFf1%yQthO{^7r* zWpDfgbq?x%78N~OR<(TjjEX9*-`+2}mD;Q>@4x%v`uiUrzBh2>J6Y%(yN7Jsu*=tW zrpE^khb@H)4b$}&Z|0b0mnzRbWkq%Z`}792-g8-Jwye&*cA>m;hM@-MY6qvnjaE?) zAIRSA7i!{I!Y(0}Hs3N9utJN>1NlB<~6cCYD(b&EFn5E|M3I7(*oMW*Af_m3UA zTK`ge-(p6^xLIt0ALlk+H~2rt;6i5v%jM(!-XhCe9#vFbS=N3ya{uD$${$PqyhZYl9iA2& zdh^k=xeNB6n_$e)|A+0%tgRJp=S!9}K7Ax7EgOB=eP`*a6}!H7fAi@zcmBcFx_24p zB(+^FyOYz_h~_oqUv~R&Ix+Y0gLOS`di^yXs+Dbt(N1Lj?Yt}ISM~deVZvtR8Glc| z7ct3aH?#h^+l!syP5!q_<)*SH>X(%qW{-XTDC+(7wOwbbuhymOR7hMZDphT=77bQ^ zq4D*>{{@S$_fAW_le_<6nWJCR zxr(Pg->BaV$KM9@gzTYt`=gRmBTe{mPR3FQPs_X|Kyf@r!rt zFP1Ofx54<|z5j*her&mzcy0fxJF61;`YU|R&wNYV%V;AyamVu?Oz+qC-a2}>Jmk-M zhf140uS7M!U*QaGSYtlEv;+3%~tJSKmC%3<-kTDsN&|E z%6)s@JLun4h?u^w%woP|QK{gWD#`)1k(F;niZ!7gp*?QF8*7jTBRU zTxR&+QyDB8ILq^vk^T`agXwiEN^Bf!MFNlI*392sWH-~)dyk}*o?4;YQSY7GX2(l= zU!3w}<8-;DFU;+|{+{be-CX-zQ=6qYiQ}2&eTj43^8fit&j#ct2gNCCD%;PBng6BY ze}c^K6<;3BIP7sw@n@X+|1FjAi#!W>Reo$u`M3H0dad?b&%jm^RllDOht?{B|c2{uOGjX;QwzQ z+uv7TsWdoQA-U_3SWD!q(}qWj=Xl69cgxwEE#5Y9ttrzZ7h9{T4BnERJDx2(c|})b zvD9g~r8^e5rpruwy;y(R*Dmw3g40imeVy~PK5^&H`~T%jY&JbycSbE#bIZG}k2fqi z`%y=(HN|Uh`ne~sl31NW`K0_-vGcmdDsibjeLGq8?!ScSXB_r73ap$=)jHm7e*M(+ z-lojNbQ{)1=FwA6NSDn#7Z}ffTDfn{QoElu42%!r*Su7=%dQKO<4pUPD8KBg?em6L zP6=vhpT){N$ zZSicgE5}SZRy}#ByW-LJtNw-s@-h3h>f-+v>?o8?h-La4jTo{ z7w+@nKcl4dyya%R!Rzj#3RgppMGDg%_|0AO`eRhSqP2Y4(ua2GEq@QbzazErAgAIb zzNmlucZ6SDyqN8#`un{NLbZ*1fBj3}U1?Bqa+3T+`+eO3*}Q*m8*n)KH$Tz&f1)Qi zE;3`!iUZn}vv)>D?RvC-ndhY0-4@*U(k9!kBu zR~kDUp00NMC7LdNWBP+Tyo=e~b}s7vp~S4Tn(_ReJ0C*KCM|WFY&fBgpV5X*{gL>S zskUDmd{_Ki(`#kF^x-2>tB+yYd6ps@Z@q8rK3eni>GVLgQy;okxIa8#b!0`b{43_x z!bf{m8P*;0SF5Ppvd7zj;cd^)zZ`TpQ+^(JwQ@~pz3YPT+0LA= zi=^hAjC4;qyRYIl%j;G4yKW!Z$Y4^^I4ijlHjjPh)V)29 zp$C=TPf8J#DB@lktk3t$>FU9wj=tQx*lr2kaoa5TH9SE}qnS5X zIAHnZJC8(~%g(KJ+y1&fBuV`1BFVV=hNa7_rmhL==2-BX-^!@2n76xcO>y619)Uj( z?;nyjmk(C_tmA8!YE=5Un}?xu@)xZ+hy8f2@rb|EikYJt5WJq{_YRN6GL5W%tK#=a zyf1jlTl}=Ee#LZ&AIAQo=tc(3q_S(Fet9@%SpLX8W`+^2H zIKKT<@OFB^$aE;Yr1YbdkevN9qZz!eAI=*d{pM!aH}Q0VlR;6}w9*^8kGR<_OC*zT zKl}TmS5nb8G>=DkuZMie=>`24S4qaXujc!9^G9@=UrM^atDf9!&%cxBDu||?I^Zdp zbjnIcLT}N22E*HZX;#0|__PXG?E1Zm=FDT;sjsB#)}+*SCPdb(ieb)cAMQyek4ieD zFDYy)`ot2s%u_-6@jBffl|tuUvHVc(chM_*{?6}jTGx*<-j!z(KAe@xSl#4$!Re}v zu^g+~=g-IZTMM2{eeo;#rgxIsdQH)e&ZWPUKTS$k`QKzBW$0P&dTw&4n0-RZn|%!P zO*Uj3^%=wN@v3_UYcIi#$T3b0G-T&D;lLd8CZ=F@xnRmT$?e1>2 zf6Oyyi|a=p&)vboXvwfrA@1}`n zejon6T)zI#v)SA0Id8=>JM1~UbyeZdkNI~+mtWvfzH(@?qa7S!XOBeavj5rPY;;iBZ}zguKU_GUzMAt#Llv#WgW@o)O^zw(UOXu+5ns|Zb zq}cSJSS}mCxK>S%j~YFJn|0Z~q)l0ne1_{EkKd8=AJQu}rQN%6qvP(x9;;8RN8Bv6 zdGhDA%ro71-0NCzXozt@fQg62vdlx@l|FvI=yNVrFS^RBuyNw-EtS&@mw2q2Gvm~x z5?_%`zhX1*_VaLdtZ*@V&Y-Jt#C6}gp3^HgWovmbXLnz25$WvMYTouRHtINwveJAG zX7?+C41K0T(r5pru{7+q)?c+eQNu~B$4){xXirsQNqp||4QyYV1)I~eB2{GaqH>N3#*F*Y$qSRecf@*w49@> zGnT(tbd|~M>U^6mZOdOMxtek6>w1O!Ox<~4=E4ov&ZbRG)PC01Vaj~5*nhc^da6|<_k#I`j$s#@*z>W;IoI;Lw}QRViCSiGD?`M1FocIp0KO2NB~|3pcr zbEVx7{vY=@x>Uj>KYVNH**UYf$S+91d!EgRKQnoALESIU#yNTnY^Tns zY`Gh<{glgs7kebxJ~61AeSTbF<-POM#RFs9g%~W(GCnF<=&-;;a^6GJkdKF*#2!t( zw#L=u@5#fvsy$~aC)~D}y;ocB{IXA4JE#3&_3kYF+coKntnu7$yz#qQcV$SNKGo%~ zr*-*1Q|UuziTDDkbD6(ZipvzFid}S_vt<5N!4;20Jrs}0N-v6!KOOLsIbiyQT25&N zv-}Rb8Qmc+YnWGs`dQ7+pRvx-%ig(q(!rxi)-T`jg%@XQ1v%P=GPhjVd~37C`OmEv z3zn%$Wpe(y%{;%Qw(wspU$Zw`YEPFjsj^(l_Z(3%KpIL{*t5 zxop!rmgL2*@^t#UB7@LL1#ev?JsG!nJ>Svwo44)96eAvOy+=G(uSpf3+~zvRX-CxN z@1h&{;->Mf3Au1iU#Ud;mzt;M)2F2pXAf`A;M?u>`q_??ntL~k7|d*oe799_IsftZ zC3ABXt5x{+vE5|Z+mfH^lrHk+o4xzovvMZ){~cKyuC`IqsnA)|+KCh56UsDG<(_=-?0T)8aFeIPx!fppx8=Ud zcj|kCTq;*SDCt?tI>+E#_sd1|CM}$wWhL>e>$ri^$J&hVPOp`?LSCyecR29zCb}BVyk_o9vksw?a)e^VE*) zrh_^b_e@t88-y(qtJGC?dAOxU^|OGzW^+TF_|2Se{yE2zHf-N4?6O}$;uA+C-^ulU zx)S;6GxK}X4kdML-#Dk?uti_jEJpD?fB6*ueARQh+OF2J)vo5?!E?N;m$7J>M42*1 zyz*%)Svzaz)a32)#j8b5#`(){UHOzhRA$BD=x2A7<{n?yZo!i&Sg*1+Kqy?zx>Yv$ zZJ0(}pTF4BTavwJ{LYoc3v$UAJX+ls8vI=Qux9){7p*Hf-3$U2t&UDJ46;S7t1PqU zu6?oKz>3KS_IiHD+s(SC#0S5DJjOxgD0 z$g(BMc0YYQt_S{EAQpMg#%N!O{P>m4gqJU!X~C&9r@?c<_6D1Lp(&Z~BDZTKaW6RU+NA4zdDEOT zGnm-6m?~V}@@Hev%&k8|oR>|UR6FI3 z?CEnSC&xvq>#f^mn`^uH>Y9I_go?Kxy|dk@!Lt9B1lyTCSFbT_NqMo^ef4gs6+3(~ z&$0xZI%Vrnma^&SiKfdA$)}a=6Q_4hIlVBvmS=vR=ZS-IOTYFubKPYYJ;q->rQ32@ zFIT6sQefa7*Q{6b?d~qw^6v2QeVtLYPw&O#1pkiu9Nw&W_ORC-S?ACtbFI>%r(d13 zvD{QnclMj}o?L&=O!;MN=KgViN&EuCzw;(psh#T1H0k>y7#MQyua3tD(Pn{zB_CE? z*kbQIm1*5lmz(m7Z~7#aU+`@DaLDwA+r(mt%llkoci(!%sbO%iuXo3WEk6%5T(k-_ zeRU~5(lQzFjNQ3?|`@O|s)#;t*^&KzfX8v8W z_S)hw7p)UK%y&PBty3z?oMV1E+JRM9!Z^%9T9h+Nw`Ss%h6%MTj>qKIuP86~{CWDC z*OY^w*ypr3%E!mzQT`sTFFN{_{bX{q)3D zn*wLsgwCJiyZK7o{s}$2))hW?wn!JLEx!Ep7^86D1($=$&c+x1O|J^F{%#Un{L;BtD2d5@EMqfJy1b)L$=%-IWriPHx9!C}k2Wn%+`Eu% zZp!p1KVOr3yLxudDh~Ub#V2~pw&`8X8FT&eX(9}4yZ*DBIMvF*n)`?Y9rDUTqMjsFdY9%P!LG%52_qb-Rcs=V?=$8?#@cbLgX$hoH{`9!z z{SgkHfXc=j-CftDJU*_-Hx{^En)6XNXxhc^MS}B1ujd@`kBO2!Y!d$3)51U1B6{l^ z??n-wuiw5li`=8(m7c4rd*))fr{xRlIUeqY_uQ?cpJ}b~5jr3K>UgEmeD(PsF3l>t znOW>OVSF~inX<@ z@m+bodxCdyS>=VyEDi0ZYx3#=Mn;mAqo@4Wz03do_h4o z+NgQN@RmnUfYU7*?XP)mQ?D(1=20+D|IJkQuIN(-T=sTa|UD z*W%O7N2}Ku+*)L`DE?JQGQ;T$v!46QzE?=!6(iKixIS+F!J<-A)dTsLq*j-7ZxqV3 zTr7X}6W{as1-88mjK&k+?|$8EeeLWg_4Tqh{>U3_SZUI>Ez>q3?M~I1V8ac^H18+P zxnmii?Vcb~w0B*ml9_J#d#U2LYxx{3R!`Hqy(1&=aGv9F&qv17RHq)+tqy9J4g9`u z4~MhdqS~%Sz6aAQf@_-YD_i;{wK2~4-83oK;~HyF{EjArPqp=5qz&iSeO|)Hu z1mN3KbviH&t?LL$LWwF=0MXRUYl4)P8Z?32{ zrC;Dm9(U&4LlzEk&z^PG|FN-{JSEJU?|aZX8NqakS1TU$aGu(?Oi?iK^8%H33m&`* zWwZU)F3?x7VuLf2$E~{|^NugATD$G2B+~@-nuo7WOtdn%mGLN`>&~eg6Q50FFWUNQ zGRM?U=dWk5cXWL)|53H8>Ur?qwo_)zVs2rJ?AZ?Myg8e_H8lKZ$eRsiGoJ5L+&8^? zj@<5^m1`YL&4bK;Uk_jFsL&?OZ~FGw+j+a!`SeKzwyn&ydh3(O%g)(Ye`WUKAIVJZ z>t9X$AiSdKo=?WMmay%6ZhgD(;8Mb*&J?xwqgsz%_pG|2amiIC&Qo1jn6>(Y#m+g3 zS9Z>xyf)})NM)?m%qcn(vgg|Ph@?N6{xU`EWm4n1S$^xhQu+U8si|^*+Fewn87cAn z(b*nluEke91f`yMIHn%oqwp$c$+w655>D?AE8lo*SA+Pizl!BHELl>Q{MRZrRQp}p zu(2Q{=4n>rpM8mkmCbW2mTZ1_Gv$$`?fiDjGvD}69gjPABlC{au97{9$@7aWdzs4L zUzhDsPM!CrtX6OF`E^&Fe>27@PI~NPe`UU;xoqf_{gndZ4+Ea3>Kbco=Xv({=EF&+ z&z>rpeo$zUe1G@!K)t`8%%Zcthg$Bve>w2sFWJQ<+RuJYdzF@}9Q9JCZlmt=vRJFT zf{!nDuBy5#Bc}ZIy7uR7(JO9u3)J!yYXpj1d4K(A^@T@(K9o@&^< z9ru#%JlwrIr>OGKd!q<*^{Pz6zIm~74_rMt4%Qg!Jv!{ScJ{Vj<1^8}Oy77K&rFzO z`l<1bM`_-Jqg$?dtlgeymbmFs=k@l0THbWWib;2t>=tnGZ|Ar1vOT==qw4I-8;^cGv%$DU5t!r?-im zF0m_mlS{#bV#P+>%7(c|Ms5S-1m4*Y1fk<5dw!q%eKY@=1e_4RXdDX&$d7+FIv#C`s*+8 z&`U22epUKahb&c>tvPFL{PpmUnOC-FeTiB4No?=k_m-LBolh5q?rjUXv-Ckp{0#wx z{h`c1qE!DKwS971z`&eAVmIy3f7vaI^%bEo)r!IwSxX_w_aWINiT zXHPH}*?L{ko%zPy-P099k2#p!J=b!EdE-~n*RxI^obdCBgUKD%wlm9XKmOb}Il?RO z*k<4ByYEUb;V@X!yDOwz^UmHA)=e+^7gf!c68g>>zwp?4=EVD_j%`W*epkHy!fEG{ zcYD6p-sYXYO4Qigb@Bt=IZvN27IV5>buRtfty5wdGPB?2$MDQeZ8{~)ze|zn(ekBD zbLs;>Rn|7URZh%)lT)0OaP`5nVnZAAEUo0!F88mzANSpFd)BJ&FE-;3Uqt1+nbvby z>{x!Or#t4@{j;CeK2zF1Lvn@lR)Yv935irLspDl&e}x6DIP|sJ&+c8ZLa@r0Y$2|1 zvsk|t=9d0l`;+NJ;nY9dcgXde+5Ydg(?dHi7PeW^uC5g}OizxVy`Wzjlj^bez>5u< zzCNoyE}Y2(ykX~cSjoqD#*NP^ zrU%!stys_Xp`>fVZI&yyWls22%bB`uzAfNoI*V2CkF$JEOPk6+PstNkCUn%F;ePSw z#g?faFI=u(pT^nZzeo9>>&co&vMb}~oN3<___0|ibVXWO)iRA+zdnaNt;^xqX`Z<{ zry^+88`0ldfwpH^HScSl)RnWo`0maed9l);XO3EVFD{OkI~{r^K&wGyqX$#1rM%4k zx3T^^clw{czDb1b-o+Q|ZEMU=+iT4`ed>l#$9k=Ug5J@gDxs!F;7QDOYIG0*1_utRizC2u)|7*mpgByPifhYbg}sSJk5@4 zf6P{B@1FhpJOlr0EAjuO)v@%M%`ChWzYJ&X;^ zRl97TKgyGverL*B)=uw+vqei9mlQtuma$o2p~4ywm6jSS?~O%EN<-KCY&qhm{7?R^ z?@H+>Maru#2Bx^yZYiHtup{Jt)n~b`skhJiwuc?&y=|=i?4@m;JO7LS$`6XW8Pc^e@{KD?OO&yOMZZ_W+_LNW?jwO=MP$alv4 z_9&^@T%k2-*CNXu{&Oy5K8Sg__tc`fzdQ?7f7C8*F&EdA+ANtKt5)cKVfm?d?`CBO zdrMs3#``pjLtV&s*Oo1h%`bDQK9X5sdfhSb*<8NayDmjtZ`D6V+pJ*>#JC?J-eoOcrrR%*G-*5W$ zwyOIow|!vp{7=`v89X(ebNF=e>~+t@`91ny=&!i`(8B3b_{J4iSNgr0nDIrw=hgkG zhIb#zSGKw`UF?2vdtcwF@3U7weqU7c`O1^;(Q^te&RTwV#>L3JcAp;{xTqj#XI}87 zX7+)LDH|XC+^$*h;AzxltN|{Ux`}1O{tbNtb4?ixx+xOGhlu4rDghjJu zQI7YWgYJJP9*>^PCUIG$-F3#cZ|mxkPh_60yS1G8k8jfP<&PO3u9zzCuJVGjAbQtT%yw5e9-kkYRvevryl4eM>{GrO}MgDJBoKw(w=F4iZ zp6TAPEqZ6#OJ**-`s3ar)rh4+HfQp*Ix0mAte)p;IqWQ(`1Qt4x9GzcXB7$WTF)k( z*SzCcwS(ZTiTf%tKJ=E=uE@8zA>+8GvPSUD&Kq?Z5AN)UXOCl*>hN96=HR@satTAu zd&kBL^X;D`>^3`9X?o_Tw(HUL(=X3Y$!k3LKj7gF+u%r_++SL!U#iV&68XLT>-ppV zrft++Y4G*pq00{{C-coyX&1d~?XDHNn}2hv@22ho|MBom^Yf;p0LEj^$?f;J(l(Tzga{z zR8mqsUrb|DesI?EOQzjTYfd(Wuh*UOo*caM=-{l0OdKno$AxY2x+$~s?Tfx|^G%DN zJ-6HUPk;XLS@?P1x-TOZ6C5}>%8-+uO%@4L(nmY6;}EOO!S+PiK~C+qBcmFBWX zby*FZuiBM;;xNE$4n6 zXP@9`cI{!xW2-%9KdlzOyZmhTyAR>P>>qFToXytb6IPCT{4wk8yA|i|{|rkwym3(& z=VFJvjb#Chq8kMA_G&Mi*LrhlSMkz5&oz%tZ-@Clcolnp+X|WTB`I}gi*E+~NvnUm znyvbIX3_kjQv>t@3s6)yKC;9u~WV?*?C{KV8)Ywd*ge5 zYpR`h`}h2;b?wxrb})Ie`%~Kb(Y&?gB`kSoH}>jSS-mhn zzx=Ph+59!X%wt+L^j-!mnR~2Sl%>RLxkbP$CEsb?>%&bPe3yz`czJV`!HQ`AUn>oo zr!AS>`rlJalzm~3bohg>4MtOnrS(kX{EV37XNU6?ef`oR^ZeHoQ~i9A7RQ!$cDEZF zHWV0op8eGo&0NrN!hLPmjRhCyxQo9z^=eqJ~Cd@rTu%(>6dv6j!(5eH|w5fLtJEeEc=FEQ|-=* z#aGUGvwo{Kqno40@y@=c2@)5Dr%hhcb1>qqbB&Ug<&14^3*YuspIdnF@ahb?lW$%> zV%u36{?2B@jmV!|m+qN=zH{(v?M8+>=?8yS6j~(T5qD#0znM~~wCrGN@SWt|tuCvW zudZu;xy0X)V_kQ$+P7y6nRRb>6$Jz@pWwRu;;Dmglse|r`T6-D6E85hK7l<&LB6{@ zMwHk7N_kYvm)7pJe?q>qR<4jn2AL0gTz-zqOrxq@p}ql{@a?4Pogc z90zPx+V5I1eKkA(zF&e5--WzAX?pwgOsk{Dxpq?%@&Y&hxVK2i;*{f0;iXn9?5^rh zRA0>TxhwzAgE@hl?$s<*(b|6QQmdg+;IVf5$b7#$VfXwbzPg^x=5p0y6uGqOHx0aI8$#f0VGU=927*PtWhh&i{1f zV7bD}{F%RsQ(rWFQ<@a~Q}a|owfAm+F5Z)S9b^4Yo2+W>ki2rOBILZXax%jYh4ZyX z1m*;4J3AXZ>)hpPFnfkVb6xd`ZN6h* zf9$1ME1wB1`BwPPeXGvdz1!3_U%qa{Gha)8$>$v3uZ?1YY$v%ZO=Q0EHRyd0@vF{m z@!i!Ncu8`_cGJtcT^a{^?se_#N;-ep`S#tGc~SG`p-xe1vskps9A^*oZ7AaOo$JZAvj`YQBZ!6=Qwe!lX%H#g#M+&CAm|Lg1S!d6L zy2_WLd&0WpnM)?$=&{z|aaqS68&E(0Kt_g_?uX6XT34o?xjePXwz_Jj$-EX-i>09g zL8saDYWrl14W~Qmn1oN=wQkRjNjE;^SERX_KPU}f6Iq^;PXx)AJfDu)kP4{_owAKjeAh*#DKdipEEu2evDUTMd-38!P`BCpO`Eqb-gj^R z*Z&WAPv4LIr}%8i)B8&MUhFit5?{6NdeOZ0#oi`0Wli2M-pZ_hWPGK&gnOs; z78gg|BbqsK7F9g@dAKr3PWM90tD}$H)?8V0 zIqtRvhsva+V3o|ej*GShk^-MQBpc50Da$$+9Q$|seKQBs?@s?8?Cfu9-#`2C?Biqq zAM96bzE*yb+pFt2rNaDCZT{7dc3;C{e>{9&anDzL!Jk-b6;wDHjX22s^J-dZn9LZTuPSv#&eul~Rq!&q^Dvcx}~ z&(kKSo@`V%ZN4gW=PBUIp{!ww|jCRvy`~vSs4Ovo@Tc_bR3zbY)(en$;k`_{Ir+9)nXh z$%kLO;yrv}Z$Zk_YYKXc(ghk<)cfCiFmKO8+sf+Rzxw^kTv~G)nj&5}e6b0u{Pp%j z+rp0m^$OW9ToU<=RxI6cUh3*=7p|r+N|Q@nOrP2xYze!%fSFzQMW*fV=6(0YeJ2-u znBW<)&9{#0npn^yvzWUoT~}ipW=3pcG+_(AmZbjn+)>^?cHW;c%Hf65x>mHcwb7`cw5E268)o*1y^m43oZY^Ap1|zmo4J1^q2CW z!dJ$6*B8jUMnzk{Y^>j!t}?fQBlcL}yMy;vKehROuEvnpK>oqHTERpX%O8b7F&b_9 zB4y8JESMPK(%(zr`2>-eF|MDF#mS|hyC^WdW(0qG`>sQ?fmvr zS=xa^`b%x%o8Ohz?vROJeClY!Wd`oDb>(S~FQ2>laLSY~m;DOV);Zj7nWWEjFDEM| zYgKsmV^@Q>^SWA3iLPflB^1xTUSz+{sxu`IwO=K%>0fzdeRlQIU$$@Ke%+M}Sj*29 z!0_W;o%y!o|Fb3juTT6laoZRE|JxTi8vaN)d$+)cQ&cbE?$47SuHX2u@8{`{v)}id zGRXH_a@J<}kSlezEsd7s6w%qif#1fs&HpSv~!cR=xCHC&QywJ6^weZ2+>DRt! zuYasDfypW)CrtHE(DTbGO9gG0&QZJ;w`yPQDJ{9jf3CF|Os@3WEh;$iNP@;ZlWS>> zA5GYsTca*C-E)*o>=0^Oc2Z$E|J8{NXJ>T1-^7tCptNv(=A?t+nk_$P$bP!?LT!f1 zfnp_*lbs84Dtov5f8fx{aXdgf!bEkO^$p$I6LvSJ|1BzyYz#ihz2REq$)pRnwH224 zeG}spjasxt$@SVA&HJC_>}o%i=>MOSvRtO{)S1LxhFgl_LBM0RLAr4xZM96-~F#8XWzS1Ki6!#&ifN*H{4i# z@JCf;onEl$(womx#8Yx^tSY+Il5BzJ;l-1JgsVm;?P+6WB|1yqa5QU23!Tx_qk2OOQXT zsgAcP@?*9{jOhMvO-n0OyuFVrDJ*nfcz5sA8J*f2k9_61cgj9yL*WzacLypjHXeOq zz13{K`PasCi9t{6(qF!cQ_6EuTX%G))eKK>!Q-z>l3c$0i-<_ru+6Du^Ig@o)59N~ zxsjv2OY!U4D+rXTm#9&VGU=Lt$T>h8bhx9||-)Hnavq^wu? zowlIg@!Wy~hJU_u{`)Q0!#QE^rcL2fa~y)RHA|PC%~`%BuItMx7w!kg9gg$=koxiL zwX^Q38IAkW*nXLLXr_Pqda~9g>1%9_$o;7M_su??t2%2xyS42r1Dj>d%~^)ki|?(w z>aFzWpPBZ(nja@8O$vJX=kmmf+k|FKo028wwAD#{9fxeH`!UxY`bJ;h`(F6^K%ayE zUm;_1;X>t-7zws>p%eV|{J3^M>r(Vu{Va3?)9SR7XFKipUFl(s7ES5!S)MXs6I181 zo6p-4mRY5)O1N>aW~pu4v{@5O3@$jZDJ8w?ZuR!%UKHjtk++9s$~V?aQ6~Z>+)`R> zx$@QLCrr~cgVOHR+TW4<@;CNJzqwq@cT?f#$%;(VCua*ZzHjc|yGqe@j^m=tM#=B zKXlVm-fJG5-ED3s$gtb@{EA021YOr|FO*8#plm23?55>Zr|RCc(UjFt?C^TgKT!wo zd~{L>FlX}mvAc6e$bIKOau3Se?rWc6pSdsj?C!e}cUHtSunDM_zj3|!{o(g}GH*72 zd41{lxpT}jR`1g&+HCaQ?P=OU-Y1h9L;P14y*tDDg8QlXhJF2$t#x)fH5`kn+aP3C zTgYhY-^@LuO+W0_bFTWPBC}e?)?BmZKQ;}VQ_U~ibQ#ZlHh+D#tNYbR8?E#`92$7{MUrW1U**#17jtV*oM!oEv?PyV!;Hz>LjK5#)VCkKZ+pMAdb5V} zH>>Q=)>b#fzrRg+Xz<@*Ms!k#{{4)bw|}cH?0vb$RGB|muv=hpRfk8+CuOIPf$vYA zt5KIc_-SElNlnO&ce_$9G~fB4p)=`_66apkfId$f!4_w|U)-EK^ooA1@`z9TW$`x6 z`efp+-TXPz*gouL-rsp&pD7^D@sfW3rMnOPzOs5{msq7b4nts3AQe3sJ*ZuQd#bfIa_4Q0|51Rj4w{f|V&7s(7X^T?R6LeHI zEMwY~X)bQQf#I^@#>j(~(JOEGRMsi2`@nxiDUR)W$ZJulmUX8l-_Dko@%?lPo-3?loO?+Q&Mfdhvt_SC*|U=w(Y-i;+lnDta-PXF?FfH@{dfzMW`MchH`Te>d56>U3xB2_w(+}Sb`f>YzK6~2#zR%xKTY_hP=li&St#%8f z&$mYmjju-Y-~^4yOlzG;c`?WXkT%zd*sGVGt* z!qr)anpdS~9W+>V%W!p6f2sVt`unYF&0XeNdX`G_9{SHqJhRsO$l>$NKDO@js^9*< z8a7RELaEcC`HcGlL@##F7qkp|%x~7#vo-5-%Qf~0qq^8N3oH^_Cmzu2JoBJ*6Q{XB z&{g-~R->^Y!|s?ugwKtlwc-m9kn;Cgk7Je7C^gp!?fCikyAw@j$F}@zjP& z=Dq~GgAuFNMcDF9JG8*7VSDr!?REj$k_4U(-vp<$@+^#T3y*EaKATw+-< zUy(H>!6(jiRooY)goP|#t^Yo7J5D(*9pZAc^c@pZqlkUg6Tw;^hIyQCxj$<={0a(k z>|3Cut^4rW6mMtWxw%5Qzb?8*m2UmJ#j~kXgiXyq2t z*Rtox99j0SC*<3;)gIx9k9SYMKd>VH4`+$C==Qs13#%^QC^_4kDDpYHy) z-zV~QPbSlsx|WQl`*r`HeSLZTKc~$hfA?K72d>|$Xov|raIuMhp)0Fj=#fv4KdoU5 z{PCYnMLJL?@_G*E<9C*~E$(s#y`3ZNzAlYb(yP4s$5Lh0oAo}=vu4Y@3Xt1SJ@;|; zgY?VWI8H}TdV4$PuGnWz>G%H(^yT%963$Jw2w#7kF()r=$&X1!DqdFi`zC+kI$!<4 zF(BM>$+>NR<2c=B2{LfkTs@=PxbnxP9-q${tGxCc&(oW__Y$l513z&ofvg2>cZ9^X z<}wznFq!ZsUj?^Z~kHw$aYv6HxPN$T9Xi#ttE{1i77dRL{$ z`@iJyyE#IiQy4QpDi=<0=6{xwGp zy7V7Z+nU|lu+{zDnx(gl&PO)(Z;9WM*WJV$&ACK3E1_4z`L<@(!wZMg+Kij}RHj~Y z30oU@VCT9WE;m^7F3g>Mp!l+>>pMRFc^3kOS$v+od-(p5X8DDJg?($T#O@8S)evx& zG;wvm0lPsG!Ir|#EZ=%>+GUvPha!_tTc?AqV54O>I2R^?mxRBntr_^!Td zT2uckR|`?+M^{rhzWb%Wl6xogFLQ>Mg!9+sPm_xHeD(MG8tlyseC=(c_w9Otdv;vJ z+>2sP&!%Ntt1$iuo_J_ouJS~=xt>f}YW0W0l2~J7WaFHSz85V$&uUn?$?Bl@dY_sN zwP#ix+3)r!Ui;Df-ADF|8N2>*-LAdr$NH^JtH0UQEm?MieM)H@AM5%=ku3GLwqh2B zFLDtX?)xf=3O1An91GVl`MBomqNPSxtRLJgYE+Vo-?1s3-{03(v7~EXxApo1mwtad z&}8@TF#olS+LAMb9=PT|%4khmemA$==9i_7g~Q$p5g|$kKOL1{T;rCQpf!D^!7jO3 z)6dB-w0Yz?yYk0m*OlUzx=vYXEIR7ke@mmz|I*|`UrvkfHZ1M^m9%)urB4e#`pW1E z-uW6G&dptMxXOUZ`E>32VxbM2PQJTpziemWU#8T=_ybbLQgRwkA56b@Jd5KlbIVSR zBRm0z#RaVIZ7Bb=c}vayIQx#c9yYbkrIXG)V$!?v{l=x9XE$9peW+2lEO@ZY(}uTL zzxDpUj?&K?@79={TzxiqQis~6b(Q<<9w|+b>W!Ki$|5A)_(g-ggY)0w*r)DVYvYsH zj5DviJF<87qxW6slztv5@BAObA}qQkK8EpeeCEcw)UL1Edp2y=DinVHp>a3=oEy(& zDwIB+`?$ntv3$atFNV>q1?H6FIY+x$*1+ z{`p?XYPW0kyE+6)8HG}Ans~661=ajY=$*y)?til6Ij+BIVSHWuR8N+rM|YAapsif7ytRL zy?EgCx!_}r**BHq-A->9{t9{<9^KqBuWCp5%Gn1B|14lCIO%YQWzv@`l5@Q8m#nLr zUnW^2c=yClc99sS2yxSJhF^LSj2BXQ1wLg+u6$JEq}UR&X5MFw{KH1!8k4&p)P85X z_UHXB?T?&{qC8R#x72qZuKj2@V{-Nn^+GoLk1Cw?`&;ifF#WM=jep|BC;wk?PU*p` z$`)_;iP~G9J>-|u=AACBzWK-R+Mg9SisJu$aH-j$U;p0akIWWLpNIhWhQ;>|_I=O& zeoOxA(cKGtt1nkO{9nA=;e!3$Xw5gw=O-N#`=7i;p#JePxuApF7r!n{`=ML=X3y(7 zfqZNG@_Hu0ob-}^_kIee>%QK6AnJ#Cyw6-N%kCEEw7W6UH+lCSZ&^C^!`#@Xyed5> zH=d}}JJOM@dOK^?25zlgi&w=m8ot!tb1wWI?}45eS)YBc)_z#@ruSDRv;EhpO`qZv zu70?+hVlK++Pj+TBA+GN9C@{CeYG}Y>B0Nb`-2}isuU!~i*C5Es{dYIe6V)DmwcRu z;Qb8wxF5fg4Su?n-0v`dG+S8W=$bD-e<)A-a_G+-w&2gjk~&}2xwA^X8K|yUX7NCk z!Cl@}gJaIp4J>?8X%S~QzZh9vEb0-pcAt=$TO4;vdy~_y_6jI_uyRZ!`*_4MSrwDh9J)n6waG5d62O6}ZbtFmX59Gxx6-}@kV z8}pkcaSx5O8tE@;30yssmGjx&Itjho+iA;XTcze;n~fYntklr^XT7E(=8h%pX3;yxZSI8tEZ4lrfe0n%Uq-OzwQjrmDM+t)izCit-QuB zeFM|p&}bW`9}CpK-x0TeeUdl+ebdSFOfJvaKYl*>)BUbt<3kN=7v?~kc( z`506`Y3qCcTk{{=Z_)nT%irBTJ$S#>|BK3DFL|=xw|B2+*4QojVn;>R-D&Cpw~DTd zya@Xc6w|rCbN$izN9r@Kt7c}oZuoqiZ_dnVI_Fe2ws3P!b3bVj;(t*6LvZV2@YHwqI=Y-@lBX#O&S`WOgUEOFMYWa)V+$$1Tm< zCI9SIJS^gN^%aYc-nX{xX`fX6@B9p8G&f3n9diEBni)3&lK*C`VO)Rs!6AF^)E~iu zdz6`* zW8JU++GC9NnVR08_)~Gs)|8Z5&a-LCe<#aLHhXvePI2+io6a@{K{Hi9XIIYoqw-j4 za%tboJaOLa=ymeTCw)ycIInCuf2*j%rgMMwHKS5%o<^iDe38iDEB~E;0^_4OXZnvm zowR%j-Jb1VnOwiG;5g(oug!SnjVaq3%=c)=uuj~#kz3(`Xx@ag z+2JdvdC2P@W}Ofm-v52Y3Ql*^htnn;xFeyn{*KJsx~7QvW*`0qzO;6HktZkI+cE29 z#YN-KOJseDnznthi+cCr5O>6Tr`%oKY;R1`+;JZ<$R_Ny_B<$jHY|JLljmHb%x!zH5?=8cPW zl=>}=ZtG0h^IY&y?Pt{-j-T`G{xbVcpSDWj?DLLCzkhyG3S!*8%;@yKzO(~ntHc+c zvb)81Cb~;<-km0$Nm@IM`vTZjN=juqPQ2{AjWa~!mEa4e6Xx0{%QcrVn0!CF*j@bT z1|5@|r?cXj&K}|pJwCti`N_iv7OlwNucr?$6Id1(_#Fw4&txRolw@FNlTkzFVfsm5G1v@wsjf1aAcDS@|DXRD# z6mf!i$@|A`6OZ4Nv|62XZ10M_{m~)u{1d0yedm7v?tx~UD$~o|Aq6LuM9eh_|VQoJL^$gWv%rF64> z+s*zIpC7>+7yOyvW^^vow37dD!Os(Mtq!66b$$#igTI1R?=Cb zHN1BoNY5opFeID+Z(=P@xR+frx$+~?VDMy zTXZ8QcKVyn^#v;eU$GcUF1w;HS|r;bY`Ts6PKe<_d z;ZQ3RSgpBs(fYe3zM`E~5f2m2CQfghUaq`i#bUml&l|7zK5TP(&(LEx!Nj7l|J%ly zn%m@KxV~nyCM`6|FVJu96;ppBU^mq#qpv*c;c{v5x?PS}boYcBinvTD>(YNwdMEXK zXlcFT%Ma@7v&^yu*=|I>*)s1sU&mUd$vgEYv@Pyly27n(k<{!iE!J79d@RbByD%&_ zZu_A$&t+Oxn&^_#mAe@VW-%Xm$>g}9!*G9dwCzFnW+B;vUq##2EVZ-Ns_!h?{XCo4H45R!78{ql*k4b*avq^Ug(!H) z7d~uyZGTW^{oe%iQanIde<*eD-_u zU(rrdyRfVErJLYYjwYK+S1*Mw%o6>O{@3!m^|_!6aw)I;cu(E~5yM69~QSZT81 z?~dPxDvIXr|FSa8Kw#S8U6L`To0?aJ_pihRrPS^l$bZ0w1ypD@!atX^9K;Y|K?X zy=Us2?NjEw5}hva!!V~-{m5H^`}4yu3q6lv(UNE7Ykk#mxvJjg-@Cb5ztYyN%a*Hj zFiaA7!(aW|&GF!kjCDaD)+gTC+p#M{@Pxdh=%zJI*WDPVuwA(uyLE=aoh4O)-Uy28{H=We|6&#gle|3V9U0v9yo z?!W%)L|?kA*EO!-o2!BXws`&GSdp4`PxpY|L4kF>Cth-NzYCq;{MP#b@9BdI&!(?( z;XeGav5hr2d0W=W*&3&fvpRH`Ig&ryZB%&Wa`U-KZH?x_^MT83KBmmk(bwxVj;_4K zWEL`2plsJ)l^w2Av!`$#6Daj|- zGS+kce!efF_tzbV$iGtMiHBZDp3;6H@h^~n=k}K~UzVo2E&Zgmvup{=ZGE37GU3|R z!7lD`t{gg#Lk{Jrm`{nP^M*YdpoQvdwkZ}LMs?%w1BX>}W4xVYCWEtvBC!};0$#~+KFm;WNh zF7fPhzSc7Sol-M@UAv~W_TKZ&>KiAxf4}ei=fm6U`tN7&`M$w$dii>WYpyIaB)O;A z->P~0VWEeufa>>6Nn5^k+3tAkGdKHR)%JZN#$Iw{$<1YkvRo+~q3Q4s%8) zG3T?FJ~*}VPAP4e5pB^Vy5ard9fAdd#~8j&j+v{PXtkR8vCSHt$R^SES8ZnfyVCOP zO^)5snq#K^(=L0n0@@u0G=*De?cTb9Oo& zkX#{lO-ba`hRw0tK4v64wl5F(zaXb{=K-_Q;)UTeZYTCGFKpg*YQCFwd3p50$FINY zhh4YrUi@EH9}dUM>7CvBR@rv3hDMKbIYx@;9g3d5IAxOziR_f^yW zy;AO9Yb2bSj@=8^G;03#BYoqieG&&0zucT?KKHc2QTKI|mUb1@xrH=^&FsJRq*x%u zD1FDy8?U3;YXyrKl^bT<$}uqAoNBYVI6dv1$Xmr?=>)!2IuDm#HrjW7X8266CaF{Z zvfkIYI=pHReQr8!dsU>(#WhFnWmlQqFy@M>)l+xc(D~y9uTE~a!gu%3wjT|>V-m?5v z4`j04wpQpV?QYwzyI$;gXSw%NcgrgdBAZq>&HPk)^-^*;i$H+CZkW?t_mvg1jNfl7 z=niM@uRZRZDzSOqCx_#|mv=O-ac7#fL!7f_ujqyiw>DR)#a5fHdN})K_vh;i^+fM_ zMC;u4h&)r{u)bt2!`o{=%<_(P&swrEiK(KFJ}Rj6z1fp|bKCXp&pGU~t)))b1}yqhb!M|g zi`>1-Y}S`QoiMm+bKkyX$(@N_7c*ARa@)H2yIg$f4VyAqLVHzytG^?GVyBP z^dFz*)GcHaSh6glQeXJk)AbIC6Ai>X8(p0uR9>6rm5Tl{))db#IR8X6n{$Qy%;mRV zq#F3d*(&lcUi>a$%KnZ%whPAbKDVyKMQ_ziC#1lFn?U7Y7M{Tz?r^K0Q(euOXjD!Q$&eq-fV=3D<)@!mds z;EME@T?gJD@;Oy^Ikn>N$}FK@(pn}(E1wEaeD!hKDo^DM&u zSmWyFO8gT{J;WgNVE*JsCa2@ROLWD`n=I$tGd(PCX_ffVHGejr`H)(&amBN`7Tr@% zXHO_ve$XlQP1GaXr1z72=Er{6(Ek6+T8kRpV)41>)(f=dEMS;$(?Oec%cHeQHY{c3 z<%KuwS0zt zxVAD0#z@^hmD+#rWl(kWm!rK`el2F_eYfS|S(Q1<{!}kNvqvC2qUE{apC_tnFAl%2 z6ghl-qUL91#h)8$_G#_Y-Zal8%yrpHr4;r@o3pDMgs<2o|50zP{}DFrma~i3-X%-L zc>?Fg{9RN%q1N%`9Im2{6(LhTsRZ|?O_}HIx{F`6%WgWa=>1i?{~A^$U6oOns0?VG zbUu~!mAB~f`2iN8tuHtGY`>#k@H#RlMftwRVgEgERyvACnym0!UDLEDyft~Xf$nB4 z<*i05_?3z_EUMBv?89@hVvDVrTg;PhLMghsPhZtBgw?DNxvtjK#&%8SDz~isWv%lm zqCY22|D?>5^R=6`EADIQkEpmqQ#)OY?*twUTr9xSaa74f(eE@zc}((2{zpP*G8MA9 zx{7kQwCNvLYnQ9^R8Bus;?aHoivOHfGvD{$TG$nHFNX1HFl$9Z>lfX5JZ+ESYWFHN zK4Decquo`p(f`W+RV&+F6-4?MYv1u>Hz>SXD9fLDAiqjcw(yirf?tc1cJ++5&na1Z zzO`jqe4QpC|3J%gicGlh2L6@1imnQM^mbr&y0BnQFe9_z{q|Fjo>)If{d$KfV%pl; z{QZS;w`4QswHz`E7Pj-`={R9-Auy#uCif=i+g*D@{%%vc*PhgPEq8Vr$EiJOj`3ZZ z&c>#kv+Q(kEZq^XL37nYn@9S^b&GxGP zw}_?9DC?=0S$FS9iq+}9C61+^Z5S?j#yMKGW>38lw{?%b5uho?jI@Kn(2!j^EH;8{t|U){olmTN>f6`7i=hG+_gr} z;q)xljE6c7mk&hANQJRoID>UZu9dd(LM6XP71(iW{+^RKMQwj%B>i)D&H%hFl9IF6XlXP#y8rRtXJcOiYl zv@LO+*|T#ZcS_Fq<<-#YWjpWSt@d=aN`KyMKO*CGlikf^C)J4l*<&rd{NUDA3GbM1 zu-<);efY^={bi>6^%u=Zwc=kd7Pm6?`Cg`=2BQbvYyOiLfe^#e`dARGQY&oYyXXo$R6H0$<7SewF z-7#{Th{Ec-^J_EC9@*xyZU4IW8Jc|mwk_VZ>saB#tMk~71vp#%GG~twx0L-4d=M^#|T+C+3>i+uYb{l^$_2 zr$+AEqjT-sZFaUFS#7X>V)&7Br><_??R|LOUQP3_*IlW2e7hl_Ph z5`UKGsNb)Qdm{Sjm6cyrrP{*zC8z6Rm+bsBVSC$B(+`E-^KR`d?_64<%szu-PrE`p z!)2AuTUu{BwT^GznHO$)_iVYwvrBpFKSZ;rl^kq4b7xj7^U0N`g7maS*o(tECrxV0 zOzvq>uju6dAKl9Jdb_&i=FB-9>6$4v7cH7fHff!^TVDKKbNjay!k~dqO7XJI?(XpiHox`Vl)+KE_`kY&-C}K1+o}b8(fv$zy)U;aX64P> zs=V>!mnM~Ni^R9Cxi^o=ROMbcHZd>brP}@7y7TO9f*!6;Jh5weUMjEV<1$a{llxA8 zubzKM?vi<@NciWuw}0wqJA8e{wc6$Kbl;tm7}=zFYoerc+-Ch2x^~&~%dA5sHCxYQ zS5)vX6E$O%YOWNpHb><7~ASwxDm*Y?}{WdEbv zfwqnF1$!p;ABl=6QkGp<@$j&pzPXgj?bEyB!ap}Rm%qPf8v5XuRm1s{JFlHKPY|g4 zaGw2QUG9-99s4#(?f1B_bj8G&#mOcUa*ltI=v{o{MpO2xchMn>wLTS8iXQq=z4&mdUd4zS+#9^Y(_MU!z&)Qro}YpGx9` zbC@NR5>C!=DcPNN_)(>#fKq?#rb@}%H7_1ruWCCvyI=Ph&zV-{?@?3NNtW!a=U7;g zD=FM6zW(CG624pPhHlaex9?rcw7Fnoy94JBad{)>z5g|eZ_F&Sd*^bu(r4RY@*b#UU8)=JKU6%%+F*?o_;eq5MTDIhwP zRe8}L4gEFhjj5GosWu!1Q}t4$IyV(N{K)=kUw%-tTliM_ue179+9YRF>x*`EMKf3I-nk{{9@qPVH&!em3N~qzL%+E(KfLJw^ypEq_Xct*8ChqH zZd)CG@>R-Ac+Z@>eC!wB*`%C%C$*`(E%=&{++8;F^>WG!i=NK!bT*FOn!!AEZ>({f z^hc}p7Q4f(4{zm3E`Ie@ZExW*Z~nRmccw3vxb<$AX7__rkzdZ}PSejac1)i0=IT>6 z)$J~Sr#ZblbC1tF-Y?S7e9ynW$&cT8y#8K!mf`TtfVz9E4YglqR@yfN*n6o6EfWv^ zI(3OF15dDXb>VWOgd@ieGCEm?E~{Ab>Xd2@Pk@B@mm~Z|pG<%0FpeU_xTe z6=OMr(uWl{B8)=kR7%h53VQlF{BZVNyF<%4fBZ|2jS8M{ESvw7u!{bnUN_fF(Pqc* z#~QDs+?$rE7CmwAS^Z7BT6`t<&J7dw(mn1xQ^ok$^%rfaaB?~&G{=gJmZgviOpAC&-?i!&)-mYu6l{(wm&?(%Kxl-a3tpcpF>4=-`$>iseX4* zU)}DYZ+l`jLoHW)+1;wwzq`tw>Dh&!SB+-v)fNf7{f%8D_UZd`rWcdGXFpQ>yla{6 zmD>K|rey+8(>fK^y1V!6i^@9c8JQd8H+5qzL;K!uo`-xU{ymiQI(F~P)UHzo|An;u zSmvgg{S4vi4?G-^v+2#XG|RmaO^huYlpf!4DHUp}&0@c~ymWfb=UvPtmlq$t&@wf@ zNjEXK{TsKrO>5+d!pTu0LDx9Lm7Yp)8mq``{T=w^yB{~kIeslkel#w- zZRB@Dk+VPln(ST9X$Rdi!sJEv)@?q;Wi!8R{RM`E7b|L070Nkw3(YxE#p@noT$Z$@ z>R9KTKm9Ly?gr!s$Zwsj^G>#G{T%B@pTv5rDxTbpxVuw&_21owizhGsXDXud)^zgT zid$TJ8BHHd+iuYR?#YHfp`4Lv-^+A^zFM!|SN@sz_Of-IxwGXpf2}xkU3!9rcF9e@ zJTs#oo%^RrwUwK$U;bs`y=T8<{~WUKGEuE>oqslb@+WhzgZivCVj;Z-XTv8q8JwMd zDDy)$^VPcGEasba+A&)HSK23J{t8mNX0CeEf9l#o#Gi%SjKktJ6HO%>^ zJNKJGpR%7^gvd9(O{)$(jsDr^ufRSr#(C3%lrUwcuEn)+_J3~OXwkUceelWK18&TB z`ltO;>b$ku$Ib6`pZD^wVP;=8d%sxqE~ZW8)%MO59p!*W+8!y43tipg_@yj+CUy9E zb>#~j-ta@^_-U^#IX5Z;6&|*1UfGkaRL@bqn(KyRwD^NfQxB?Nf7bg!_f@8sld1iK z#s6eK*GXhQGXJ;9XrAA_fbbVu?yMX9jW#R%`6OG?%s08Bg7b%^%BhD>Yice|W4pAY zN8{6HD^X3MITqI2<}C}^**5u}%*m&ntUq>E?A_R#V0+bI<-bp#&3ISJNxD7d-`bv) z##8Vjh2<)*-+|P)hlM|CCdc;dbpQJ2(@9SwDdwD*A~Dsh8~0c`V;BGNbl>+tV8I?k zi~n`O>x^H`vyi+Q?eae$|8L_K$NM~iV*4!jJw9MKX<~BwW>0aOng2QtK6!h)d}7?K z4^oMuNq4i^E?#Bh%lvoBg*W5T99xd3Obw!Q%*@|TzJI}XpQ*gxCP7=()ll1dW zk9RC>Hx_ljxbJnDz2_~58qTP8xs2|uKHe|R-!ydj*3{2_od3i5y^pJZJU>yHyL`Dn%P;HGMvvq9LLxSc zr0;sOxW47$&8Pn+`6!vc`uwqdlGjPWuD|n7>{+|&X}ABHD7hk2$-1B~nK~)|UGAOO zulRl5JiTD88Kyaoj^CVo+?bLZ9!zR|SDDwc?A!9lV}CwBH~q_C%FXnN>HErW^3hVu zGH(9A6(oEhj8{QX{PbT7qsjISheDK=SxpvK|1&Si)N9d`e~)H+-WIDVv2oz>lx@Bu zaNPHbfxguw1;?`w8BF6m^Y=|%dyO~dsKWDuHs5nqRObaQJDlgnc<$~Twoh9oA9eSL zvT5}#)chkTvd`zp~)KzgwGx>OTMzVZOLD*|7tG!2P@B{+8H)XJdtBzTOyx?>1l|OQO zSJoQLm+$+1?CP$^da}QL$~q;*U(J%anfN2Ts6VayQum+i`-0V(&N%^rM;5S^cERlU}@F zOtD!m;gEFo>bq5|BSlt6ibzk}5^*Bw=c%qR`$QY|56#a#V|6kNeaj=)v^@FNB)0g6 zOw%;=OKaMkr=4(0nyqlkesYM~iseb$a}PXpV9r^1z~!udSJCBrx&b!X`ddQpuytF> zDc+X6FrhC!CGhx8CjTEQGw%njX^AhN$Ub@72A$7orCTSmhP0c$Io0>2_^!6=H8JPS zUzez>zuD}*b*aC9zC>DEg#8RPWxK?rrP(@74HRYi+ekBWM-J%-WB-j zZF5uaF0s~9Jx|X7|F}I1?ky~MQn>v5iSowV`M*R0Hr0Ba;9foZt@X29YuOJf56ixr z-+c06!RvrI>mN@1l4oJN{=C7Gxf_KidCrK5N@14GYAySob#6XGyI1$NP2pFrNb{>) zsj8?bdSdxUf7Yr~CiW+9Yx9=On!i~4w~p??#=Rd~w>R=%;Xk69;$!x~zlhMhUU@XOaL9*afK-+TH9 zn@pVC5yoeU>!ULl-AkGpQC3u0Fh!?g<;(--AETePKDn`b%ewV8eD0S2rUia_cgpH( zS;4fA|4bh>EU-*hQ~R@T?+fnz?=&{tdbH@ufqynTazAx`e)&7`&&v}_kIPTk6nVI* z=&ruT^`HQ`1Mj|iS1eX~l9G5kquSweiv8WYr*GX6dQ%YL8rbwxWcRz&Dc(%kIUYL= za?9E`968%;$vQ{;rQp1AVEMM2J1 z6W66NE577U=E>(^UH-3=;Y{-B{ZGECUgdU}EAm;QaL=5VoReD~zWb!|aOY|d&j`Eq zA)2f%%N~C|-4S$6c*~vGJHPidiJjSbQ7O!0m(;YW8Cxss9{Bs`>rOO1H_Q3jC%=Y% zhGu>C*ZtG4oiHfhv*()a*{#wE8qfVgTtgJAvh%Ki8hur-Od{W4JFrY46D| zjatEPd9S7{UNvR$K1Zizde-ibZ-4ppWYW{NqYWJuk^ z@39d#^tPPzUA<)eZTIf(qhWq?KR!x4FT<4dpJQ3A&i->3=B~7J+qLwctmge^HuDp2 zJ*(T(;hVlJ_1&?1zlzxMJ8$);&e+|^vp#>?>1Q7+PFmfRiaxhNWA4^PCS1o?HQ7tM zFWOg9FF*Itsgul`_XkXOJ6AV1>_d5z($-yG@%A%kMzc)lf6R6C{U+_Y{r`Rl{?}<1 zSsUD!vqAl7p2)20jD^*6%Pw);){5<)y0-D??dbPMwMEw4f45xxO|$itZ`-rPy8Jk& zwEWImc5hZgp4pUT6Rw7rPr7<^)&DO{vY{V#rdkO&Fm9BVfx=H7qUYXA z{<*j1J>!}T_U#E$>%LqRoX9)>=c0zid0T&R?t1CuykML1dr3w`lWl&N94~3DK07ad zy8Zg=RiDr7*q>iJ-EIB88nK1{gM_E%O5*$nyY>>bJ~k96I_n7>CC-<@2~asO7WZB8}G!XN#(aFJyl!wB-q>c@D-1ZnH?f} z8hcFN9otnI{O9B1WoH}gW|tp*8~uN#)`R~%|IR(&RZTKh7D=Sk2G> z{Mq}5ZvsDmJh9BC&Sd@N!$)WLo~w&A@r;ki`2F#P9D}dTit7Gnv-JORpJ2V_bV5n1 zz2}Jb_tyAz>m!z5N!}iEEja7)+Bg5s=(oA#U2;}EeMxDpjM!SAyAtuIr|{pd-q7;* zK~Y}A=``s8ksW_-eAJFp`~5ZU49mmM9Vv0!&aL?)ko5cLyv_b5b?feQB>lb_x4U?Y z;#~Egahor%IC-pY-l}7#r-?`8?9O;>sq37+?MCU|ooC9V>KmG$tNFMIEIBFtdyC!V zys~u*eoPnF$hz|M^ryMDsiK?ApC?$CP5sz-dx`7GJg&{&p*JmgX0khavM|)`y0d2U zXOCsmHs0fv!eO z`gQI_XTGp~oK(mgzd`ca&HHbDG3fOL#T{gvvQ5u{*K3n#^U?pmeunGU|N8XxyZ*ml zSH0i#F-!Avb?rNQ{>%5D)q8(2e!uO~>;C=I(e3ey+xC93;|MQ)C)}QL#$UZEYtnq- zr(4`Q`>H!db97y&Me3^e-M5?IF!`wODVw)dC%wE=YnC&%|6l)o`R1E%Ui_;y_+3@; zg&||Mtgyn~BGpOHc`e$Dyyo5c{@@jF%a(}r(;4&ZS(!IIo?(1)y6NAz)X=~2H(z-z z-}-*5_m4M^c%5d-rPS=OleF~SR_$;_Fy!rpOB3FQv(CN!p3(4QqV%orm-&8jo@1@! z47%KKcl*-JlAGnOHjaj&a^DVLzWx4x~dWq9PmBpjA3!mHCaSz^ZW<~v#XUd6}cFUwn8c&3`or)jrfRnWw=9rLcr zC1|b{&3L*(xUm^29rAra}CJV{+#b zH*XD}a-&d4Fh_3s+td|vvVYHZ37qrb?z~50wHESb*Sxu=#jr{)c;|HE^dy(i^6mWR zdZtee`&}gYDC1VbweT}J@_w71WWIm6Y8ubZM2pHZdee?CY|Z$cRp(m0jbXt$zmSRr zR=YhFw@=JE^DXdXuJTPU<@Sl)Te72n{yeMJ*&(gpUiy6Ak~cBct@??lGec7zxb5Hh zk9WhdZ?7WfXY8AM^zWjL<#Oili#NZ|Io2fJ`?19A=8DrM=RWdn-%!5e6<5#Ne!sV& zdKEgS9-My`_BLwS)pCJyd z{Og(?Ui!t;y7>ps`^R3ppRMn$`q9(O)1IH7uj&`8x{z-&_p|bym$m;|?^XWpw_aw~ z<;hoSZ*}jDuKXkR>H35Zsw(UAjsDASpW-Ia)O52@AlWB5lcoNnz{8#YgDWThpC8A) z-P@t;T8KMqj8H^^1mC4@)f|Z*e3e_2*_>v22G6-2R9a`}A;zAzoXOGZuhf#wx7u!9 zv$YH2*mC&oZ^@p|_J<=}Pi~1?|H-P4Z_%}*Vb-sMzvy3+f1R?wjW^)n{`Td*9+PWh zl-{~tsEe6@$J&)wIrjIAmfvcLvlGrR+?0FAly^3PC3dOh-JQ=*{RuG(*!6^GU-PFu zS!bsFw7L9K%PfBNC#7q=_kVo4y_n@^$O{|uD|#!|e`8?zS6~tMpmaam+xJH2gl9*@ zSafz<{QmJ#i1l=mJu8F!{kXOl4fhiMsoHOBzINs5vu4?A@+Ykg`POPZdDmj=T|Mze z@h`JEw|C!J7TVOu(__^jE4`p<^Yycio2FV{>!{xR(A#+D%1SQn_~@_7R)!yqw0#!V zEB-&N^#7{Pis`94`3|I-{r}3vu;9S=0-39_RSQ3Q@3o8w7Gu~N7b&sk0OwdK|mE!!k?DT>5f+yqP3}`^3Mo9mbO{Sv`NGbHDL$!}oO?Uh5@aJDpI+@IOJO zwqMK3>V(8A)1`$RUH6={Pn0eA+?C{0*?4Bwg}V`>_G{|;C{=@hOq<@S?|-*2 z{+J1meSPM-9lo31&t;gLHQ)W9%JGu?e;yCl95Tq7DWTG0d;Zha?$6;j?N6QkUezpY ztZh(qAbRfA2(H72UYw0Car?wqAjIA#`7G}#yYM~Pj~9e~c<+qVoj>(;O!$ZI)(G}j-Vc%$UaT~i6e!`+%Cd*AX%-COqH>Y2P%7t@7iKD@~yA>@_u zdET~8&st9Do=%B`L&uKFZulX*mKJ%@-rA2 z#63a-Lz8c6Y!&OQI@Pz+;*0C-X=SSM4;c1EW&Zhdxn2D94c&ER)~!z;Y?t~qx4!?| z+)ckP?td?my0^Hm`k@KeaR$%1OiK=(*^|ur`XiszEVV6v&8|03T^E0I$&HhIxBO-- zs}EnZ;E+cl7ccKJ6Td(4(?Z|=Y5B9OMK1lA-2RMNLUKI655?=B&go1}dfaAR__rli zUiI?J4B^&bzg1Is|4x{g77+C8OVc@-fVAzh*EW6GExX%fpSiJ;p2?(HnRm3?c@i?M zKAvXKTsh^+eV1l?E)~Hq)9zf@QQ#@38+^(Bvu|-_@`1n7Y7+k#UlnLcu53D@cfQ-M z@xylgpd;Vb2Dg8`9{g(ov%mDyzF?-US8Q}LH&s;G zFK*d!)=A@Vs$oy!^+#%wpP#ODJ#gcX+QBcKDUL#-O~p5Omj=pYG+(xy%$$$I*CaDEIs9}A|A^e0@Wzo`` zCu2;trzTeXRExgSnq~iFg`8|r$oCeRtG%A5Of?GbKa|V+wmPRd-CpMMj9)wvbN4i{ zHHI7d{e8Fgp3cKHjFUfabqkrX@nT!`G5-_mJ{vRd-o25VF_>cMPaxbi6o2~Fy zJz0OrLY^-wXIgn9LZ-hy$rdZ`cJ13THUHyVo~&tSKRr7tZ0h)R-Z24iMS*C zd_rJmh{62n#|)$U-ixfd<>7nM=KG=GsbT9Ewgxrtc6=3QaY1C-G>aATh3{JD2h0e5 z9=lC*pLW2(1hHp+#^L1-cWy^!CCC^!-78`@)4O3GuKi?I$0pTdvraLbmU=YdfK1Di zscxUcZ)DCs5mR5c^Rv9Y-{NzAm&zi0^V#g`dd`^k?39`Do4f6uLDu>`PoJ2oetPz3 zz0Gdnp9dc$*(5sMm3g)F{1sc9pH)^XORN5+?ARP&%+fOL)raqI4DLPqzvG|M)D1Uh zZaX&L@!t`xgJM7b)d|gu4qK?%5rQ3Yw1FHorES{;k=L-=D)bZb91Jwu#IS zR05R+eOY|D!g4?x8zPtH5dYATz{>=}!{r2d~-j(sa?y9?+Cf0iJ=;bTe zyj+{ycyK-2-G>fgT#~YP4*iV^*!rh=C$ohi^B?gUY8K|b4YMD9U-@dCcaxobb!|HjH)c}q@lqDbjAj<*)q=C~c#`_Gcx`!jKYz?t?Nx>IC+dsJ~9UCREH z^YOvHjC`;9i~spQ|GyJccEl<$HGQ#iujh-9*Cjh$u0P+=bbVH(RMDgUr90<)gs2;q zylXpO^yRH%QtPS97dqUIUR|I6rLA=12{B3eHnUA(MgbyiXN6f;BQ~qjJ4BNH}|&sBGCG*4m^bufKZ zd@cQ&MO-S=WS<}}lYqmFneGOPp$8+|w!hpu;ZB`d*m3L9otu|cx5+jav3t%t+$fg3 z=HaSSdJ~q<&bl-2A@jPk%dM^LUzmsgafv$S0KWS5>d z%yyrmcwu6#;%%kZ2|E(vfmW z_#FMKZo|HLX(w(mt##0=EO3y_c{58eqWXpM58I;nO$v4Qs$TkLO3dvC zn+5lnX@rL#DL0BZVcb?%yfMqiFDy0mHdD@&L;Q~Ji*81o7S+09nlbUkpMX21-;Twk zxnx~qS9dCNUw`YPPJ14&SR;4Sr5DBy4og4H-TkOgxGCYUb2uD6j35thhg0>5E@OXXwrev-j3L(I{$o#WFn`Q@@x)9m&VcjMpWKt`>#uwDP3zgwCb*?zZ@~;XA>C#@#uZANRpvdP zEhRJE#8YKun3>_S6y_fvmH#KKyt@9Pko_5J+2ePAUCv`V6Qrt{l+KuQ?)nOSmE&J$ zDeSrCeRa|sPR~2<9`+uKzGR@lxnyHfYp7uYPfgiYr5>l%b5u^LhxG;O2-h~fo$<#* zU~ZOBVRY`Usokq5)QYEef06sFx5!||@)sA&3mqN4O+R#O`^vNZYqu+PT*Wo< z6fc9jhwab)NfenOp*lCV>G+ClUoQ7ovuff`Xg2xOC#bwhyB)Fp=KL4|4l&^C zYmYzJe6^i5Un=&CnjC;>aZ-I#^bDp$4)%$n%T;j9- z^w*MS{^Wh)Sa@UcUpcX_8)X}GjxE;e{`i{V)~Yq(P2XyY4W~E0WoF-UzrMHS{lTEj z`T8%k{f_Y##&6p(M{QMWK3jG4R({)jc~|_^^S%?LKNe^=xmFeOZgD-( z^^BwAgN2FpD}$T76PWcqJ~Oz6MqHYu%pab*aF5U;BmR&pYS*Nt3cXpx=AF56(q2d< zWyQ~Ob1A>O+u5Eh;=1k^b4}&qhLx6y*>99zUdWh|wV^C&-BFFtU(A+W?>f2YbBAb4 zPSxR8wgGeOZGr;puVj9lAr$m}^#SiQKNq{N`mX!@&xe1u=a$wReq7jfNbly8?*E1U z`BN+QShA-d?~>0s;xv_y%4g<1E12GT`?Kw( z3zub8#BB+jBIEohy`+`TO1kuXzWWwmh|6HGSa*Bfyz5&GKQ{Ty zIFy(gP=*I&!E^RMK8qUo!?TiSBv0gVdY}0F=-R&pTMR4q8QWeg(fq4@_S>3s zcMHvv>{kD8i%s~IaQ;uk^!JaVWH+|{GwsMNKF?zpShM}XlPRlweylopde#h^UD+QB zd<7(zvVZXPIycoqQ{LNhrRlww5)tAe!P}!vBG>qwI{io7_dK=Ny@7>qrG>nOiQxnJ4Kz|RB$(TgYY@4)PiMxhl=II6^vLpr<}=nSuU?Q z=k$uB2fj`b5>XU${zb zHdpH>6xU^H7ljf&TZfB{(Jqb=*#P8o1T{zpR`PlowN16?VBz4jf1yO zZd{@GZsu*dXNPT~Uha8!J;XsaAi?H!ZJ60RlfCozF>B0Jp6giY&^akgZtfIE8=hnD zuI_pnR3xD<$iv(C;rX-7^0OP7d^h=QfHIlZhmB;-!=1o1BR0q z->Q9hBW8SR=b6Vp8U9>L-5HpwbwpZxmEgZCy+Vsc88sOUa;=U|;9Yo%{Vcn9X_r&t z&4QDc`Taj7AC7fjUVNhB)RU6=QN98bycl(CT39VVdlnXy#7zF(bz;MXlQNT3#eR2X zGqEPPnW#!FS6StEmf7(4taI0xHvP0eB~#Ji>C*G+*se7DmA&jK%8eGA-ak3`CjP2U zXUxgNC+8K)U41jvc8+Q5%Cg4m3@SOLY8SaD6zKMF1(q1t7)UN#pyR$X`qGgW{oLsJ zf|9@FR!j<8d1dY&6aRx>biKv0-(0Qh*yaEK0E~nc`$6WjTthULA&VG9M zfBw$=_u10vV*mcvbX|F#COpwvKqy4+lymv++qaqSp61S}&r>?!-#j=ZYA?leoA-Fs#kw}FX7`F!40lNX^Yr_Xr5dWMa{qg%ReEpPv{C{2^%h+AmC?fs!SqB5Bk z$xoO6>QxDyDpcBJ7@5$pD~8K*hU7G6<5TBVxWpTk`A%);Sa>S^V)-?PG7TY-S}$Fr zo5ICc%W}(hwN7IF*PA1n^6ZCNg^lg(#TPT<7pM8?Slx2EQfa`v{vS^^f6dHaFFd0} ze2ELm)!*NnCUf*9uUOZu5Y_$rEB_|XJKw)hW#ZFayoK5a zSF^ltUmV=e+2&PjxNZX18+Sp!jp=-9!iMglUkmt{y_IhMbDwrZ?vT2n?~F~){j3%z zN@b~se7h0gD)+4Wjph5&1FswZ-Fbal-*%?xa;eANnFlvcwD@E6Fk0bN=$6W87tzz^ zCwyK^d@X%8Eml%)60?(_q@7&0{0!HiNjhG>@BbT}lG^f;bESBa?EDpc?{}YEvFf1g za?R~uGiP>RKXt@ueRJooy}!)__hdWlP!yJ8xISTNr{>-cU$IK(`JT2*P5#}myB)q{ zzp_~Fqnj-AKV%snH=Oh%LiMF%S%<)Et|QzV%#}{OW3!vo`6X%lzUtF|y?=||y5*_& z&2HbX3FmgWuWz{r`fgG6(GQ{q17pYj+%aAo#Dc zu;K&zzqoyK=KN`CJbdoWi|O(8KObMe7u`_BYADagcj(LYr`}EW7C%3{-u-y~cE0}= zU%RTmy;-}bQ}j%S?j2?!2b~u)mQCSU^U4rxukGDU*{{6caPuH9Ii)E6I ztxTS=@|_R!r5nE{)rhI=b*+f8zT~NJQtH;$y)#tj|1s|QA#n6(fY;09ogpzBtam;W zXZbG2wBnYWyv;WILf)|C#^Y8;Rut)RZ*BWqx5#3fqcM-0_S}C0Q__B~zZjx&u5w?R z<&P%GM#%dhw^!(1>a z)o5BZd!dm2Mb{bZvhGuy9K^17+<3%pRTZ*V_|3O{<(aXY)22=@EMW_N&zcgq=VD{* z%`BO;d*$w@lMiM^88F?o;%3_4#Qrq8b4y7n|B^}5#l;qR#_pbBXnr#O_*RBAuUhG6 zYQ@XMdm29&UNPjBQT^d`)_SGix{uT1zh=l^TPnSVw?jB{@|y!UUu>IhIQ^r5(PX~4 zKm6WGif{fT8^*%hRw(=N(~OIC)8>EPAo-rV^z_kP2T$nR{mC%qxm9?;Ys(km82%3x z!r5_|o4hA~?aE)2S(m=GDtG;~({CJm)+zZ~o7U@V_jS2%5?{&Tzi8=>F9vJOO@CjA z*t=2q)AXZ9XIqITRCa$U7vx`1(mpR{nt^itI;;KX#02t9eNW20e(spQgYUBDjFpaN zdcC#2(^l7gk#+b`cVp$TU0*^^o>{#w^vey|E$JbreO7(o=Xcy1E4e3cw)1^&Ikt!4 z=HbhgqN|lU^42ZTU>EdL>pg=JBnY6TEL%3;JB1J&}KYy1h(1f5H8azdyFmulreA zW?)h4DBZ2kzW;*Vlj&vE%l|LETO+u4cb+rL_ppkpwR~EJzyAf#u-(FPe)7eqmwLDy z{%9ZFnZNJsQgf$Hk!u;*@jE*zq3|dzCisX@4G6#AV;&H z%Zr|7YPan0b+j+J)RLq=e__~yT`zUCg)*XTdaOIwB^e$KT3Z)7OH7wNB-dZStLS&c zoAw6h_Ub*WD@>%`>&2Yf$U1w$Tdz!K3mNyS*CvnqqG}n1wkPzY89lt<8-FF{F+*{h zq+~q9iKg@48qD=9jvugFrRLKUm|fTA8gn2o=-5N?wHm2AzEqlDkT~9uvB&(PZ#U!p zlaVzG_kFimS0L6~>yx7S+K4-A^XWHvJQ}^i4sK#gtaVJkS*sV_iBd{f{U!ilc~R0xdh6|nHd&tgE-|^-meqVY-5!42U7nwhzu(W#Zr;A% zKVRs++Aw9G=k8rrdMTn+H{RQL{b4{HcfxU=lg}Br=n_FOwZ@6nHrycBjR+05-M4?eK~z&TCAtP!m$PU z%hqw1ZuxTj75D6}TZd%cE|^!e(}T0cS5UcoVf(v{t!?O(APfoOyh~By=}nX znGt_ACBOVunfcP1UF*<~Ljh{;slKw3;=W7Wt|;{-So7s&_3ZuB5#H7MNu^9H-N7yB zNZgX+%@-akJ{By{Gg}yJc=dU@PAX@blz)`ry9u^CpDn1<_7+(+soRH1LVDTFF#kHQ z$pu!NoACZrgf^Tj(Dt#1n7HdAox?=E=NwbqidE52#9aV%$^ z=zAEd?th!H{mH3$%**OBmYzITYJ8680Bf;pk-lHj!^q>6g6r3wh@7x8_M|bFYqwTq zS4)%Ba@RAhFKd67?N_=WJn2vRGA<`Y^R*hip1T$E?1R2GNAia_sqYe02>kx`(L5vD zh~pP_fB5%)LZsTA3dM%2GF%Ox`U}f5-OSHNUt+G@w%$2qwdMAnUx%J7ShGK0ZOQMw znjuHBeQ>6W0#@K5yPFbq_;N{9AH6dFX zQxAMM+H8Ni;r-DfUsGQ1^P9T!x1D9Mn4Qj|zii>v*0zYHYhS9r+VZ=_D$~x%nOQGx z-X4#dHGQ#fIQLi|5EeUb|NXl|0ndxcXPQsy2$nr-Ph~Y>Gn{{qGx^51cHxQLs+^1W z-g8;Q{dV15Ua8vJYIozXiPxCsANh76D)4aVjV#rK|It z*M4$U^hM>VB4O7eyKmi6(EA(RnC;_sr+iW+kbR9TQuw z^SIfbiP^5%FX6P#;_czR%oerpHx#Jv?2f(PeodyxbZ^$_J7-m8o)#Ux07w%`h zYF^i$&TDJm)rU24u5&oWvG{zyZ)5#gqf(7D?*j7>_S(TnMLo!FuCOwn_<=9xR?aQ;bKtJ)E^lfTe6>#eEx%i^0X0)NiT z-m|~(Z$jr^&b2${ZWj6X-axT`{sXR*#GlK~FRu70FR}Gs>-@f+b)*F{eE;4)6;Ua~aqf>@fPcH3#D;j>fDE_^Pu%_RBdth3Bzr>DP_n|;Yg zg~@v=hwEQ&#)+K+m9>j!_P*S zasI#Ww11Z9pSJaU-ewPjeOD_fXntc2dX}M^{iZ(CcmDk?%M$Vh|0SKy{~<0myESWC z%ul(Wi}Pxl=H>o*y+tt2sXUn>!thAtnW_(WMVomwj53@Xd@o$qEHu`r?w6^$`$>Oo zwo2sA$cAGw&pzuOzW;Pt);#G|JH<}vt=_p$M>^}$6XwNMOiwnvYzT6=no(kB#2KME z^@VZoljb-Uhb}fAnF9|DPuTi9?5sUqs*-f{kIYx=E$6<>D{0LeCdy}?XX$pSu!%+mZC|nSue$z9`!mx%zdpl1Q{&9diSKG} zc)42CN_O5f`K&qP$WEW+AAZLky?+{_)8#q+!;?3j_qQwwSrGPL?`h-fsv}J{TU zY*=+7{;!zb=;oBdUn?GKl zY4#}VX_#7CYxJjc3(bCZ&-ilYiO$usutUt({TS;N=1vvfHRHn3mhSeTo0C(fE%~q7 zYAsYX<3h2@7sG|`9on~aW?#sBA}Sx_Cc5C3>=LyOwRxrP_OZVc^vn;hH*r6I<=u_` zw{th{aq51nZ8Br7*7_>pnVE-`RMNSweE#Vdx%5)b%FDluHoV(>MbDXa-omH8&9Ab5 zDA}A%+28oP??vra-yqd+pZfu;)-hFPOYXekc8D)Xsv%o8eVe&7pB$0(X+9tp0zwxf$`m*B2)y~(hPBng^5gxlG z(fsVG6vw`U7Ri=x9?ZXBzf`cxbtikqJGliG(KEUg+9Z-)BD(b|_MgznoFXB0_53MG z?^90-Uh38EvOMtk#@SgrT|;`jEvAQf@#Iea+IrL=Yb7t+ zW>Xe}-h*XjYj#%F=kJf?E3r&AFTeLD>{+bOXTJJbv4@YFY>?Av>wU=Y@akQtdOWwk z@XO^o2aDg%%8Lu;DBZUAR%-i6CdG$q-#z(!og-dYkRc|>;*y5(oF8*;DqNh~d+E{w zCD~u!3Z{G!k!H%g9Q$^%ThApX0ih+Ail4`2X{wg4W?H)2Y1S6bzea}{1n+9z>I`gP zV6E%E@UF+~Rb}IR4ZbfcnJeEOIQl)=qVbuRm8!FEN3>IhXQ7eEmSElcz7Cq_^)jc} zypIx8l8BTqnEm^tdvxgu(Z4RzYd7=yUETcp6QApFgAj z@`k{WIfs?Ax2(+<+~(@_V9m<8Q869M(?l-Hu}0YTD)zoz)AE*QLoZj3@}aV2PG>td zv|70~u60;BG1-t`ipZ&VA(*6)!nsGiHd zrEt@nM*Wo;ldg(xyZW|t#fG(W*WNuYcFkhZYGcE-+NHboy;~3HP5Z@s@4Ex%d%-Hf zq_$ma4!>KMb9cl2m(JI&E4ACrbDht6rT(+#%+#%x?9B_$?7Zr{%ft8LvC}GhSDs~F zV0AuE{L`M!O`Q#4$CM&ddV>vjww>cm-+Hrrd#ZJLb?h74pLP7VBz+lNu7q(vxUF@c z?-IN21xM4~!>xMF*+s_efn#g8rKD2Z-9?qe0;DRY9!VN=K3|B`C=azmyB&K5jSt+ja0#`VjT zc6uHDX*%KEd!^Y+F3N14x$lo#8ZJ- zOxhKVJbuojKQ1e+YrUt(vB6o#IeEu4-^8}YbGPnal4S_~QT&(1;X>}*PPdKA5+468 z73!8b=J-(fS@cq#?p5XGZ(nv>c&t-rKPa7`b^R+Vqxg#xO~2;q-fa`wn7!GlEqChF z2#(aN+75>6j4#hQ=2#m!YkotT{?|kD7ws>c{?-4;tR*S$+D5iBW*1m<-d|Dr-23Nt zkpz#`?&#eu4N)7@w$A0;Fsqrr>Vn{mY+HVZ3k%Ps@E1y4NxP6McSZj}ZKP(~n?J8F z%4WRVywz2^Z}&6t(w~Ocx1HPH{qz3vi_;Cnd--Q(JSd)hYmRlT>DukTt(*5{&sh6j z<;-etNso6wS9@f>{Qb>n@7}AD0!Iy=$UVvCp0GyDDOPHpy7@z&Yqt(?HyE6IZR|X) z@!Xy1A@gG|U1jyXFuh>6cl_&u7rdp)+ji~d*IwTkWc1S3b z@9xEv4CUjmf>t>e7|1UCbo0ZTnGEMx)MvG&PI{q`$57T=U?doM?L^}F&P%u27BTHy zbhK^%!s*L;<>R(HR6dD1^DJcY^vXGt*{)R#uqpzAWZi z$7C6!lq9CJt5QxFG_Q=@I$I~X-F)UIcCF1dOLXpJcQxE>+4%PEX|I*%y~O68nGmM` z%{|WZcTykU6ThQp|1_+!Iy&pmma65mZk4BotXVrV-p%;`olhRBJPs9GS@$jGcND(9 zId$bx5AUx%UeV?$v$H3j>s#t^58mhUM zIP+D{%jWp1&#-vg@f3fDBM*|~|7QeO{C~D^+t!PBH?Xfh81YO`XUDs0Us?6s9YKck z(yihaU;FYv)x=5shNDDab{G5Ss#{|DrzF;Y;K^FPQp4j&;jz8Kic-IJe!adve(m#X zKYmpO+Z#_VyZJBj+dZ|facMrjk%xPu6PI1)_TK-+hkGH9c9K)k_fHdeO(c(r=1raz z%PZJeeQ9R&wSSks&NAwg>~oEt-X7|*V-V`Qas;}TI?(|gb&F_Va&!@x)KU%@|AnWX%W9ltZO%vB2 z*rCpNMuwaD>w*59*&^yMk`LbgS9zMxag8#=iNN9tov)U%MuUly8G9bqw(Xv-21^{w4g2hmiG%i1q3(&g0!z8ZGf zuR47DxPL`e^wvMD?Y;+2OcLGaAkMJ#ZC1v#%^hEk9xhCowq?c1-BGM+p;jE{OI~&y zag62N=i_e8#=i4DXVZcmZ*|_;&lHZWwfN7Q#vt;A&Fjbc1=-2JlV{Y2@{AqyTMH=_^rLJ{Q7B|!usB?*jbbL zfMta^@A?F{1AJ$`@T`;$s9%$iuv~JblB(6e%7p%TGy6KP+>o4b?d{*c=Mvo63i2N6 zKCLgx`q@7xTJhxfvhsg#?>nj9|GnSl;h*<23Kj3Zf0LJdT7l(LRoCGQ0mn-}J9~N5}gV9j~)^&n(-ebvbN#|4D`U+b1PDubRAj zcj}qBP1W7}C8c2;yrnVg*FUbhoqEa6uafChz0eYp5oL{>x1hjAa?V1tL()FoKW9uD%x89}u^mSWB zj~4|lpS`I1F8@|LuO01;vNC@JZoFJM7Ogp%d(FCEYF%yYm}@>hncO?u)IN2)UCZk<%L{GR(YIYsNY(6izRACWbBV`Q##yU&UpD5vzZjjKb)!lwd%@PZbD|WPZG=@b-M+sJD_UZ?LAc1$E9~{f zz~-IGO5!4yJ}J#wbk=jl+^Gv+TCumhi24^Yd5w>+_%rw735G7=hI;%THr@M`G_lG+ z{*!V4nU~e#I*dQ08{Zge+rME7aW0ls`}^RH;%TM8MSX$O3ne+O@<@nC6|TD0|6;4r zz2b>8j1wfUw7=gvS;F8{!b>e5g^x@|YR)yjdS*st?dy#fivCy}BNnK7M#SjUjFJ~- zO37z#W?eP(UieB%eLGWL_Q}-8IiBWaIzHm3&x>11yDC4Io?PF#!M92+ z;qaU4dl`Z~ceicUU2t@q>t zbx!{ovf9NHg{SSD>rkh%>AOXbQ5md4LAGmLy(Og?|!#$nddcy;o2hQC6c>qDgP%-~ox2B(1&(Ob(cdgQezFV)KtoGo)xF$8>)0%DD{xtOT7(Jdpqgq1H z)Z%XWYsEUb>{zJ-x3&jKopm#BNa=6=BBdzb{_J2x2B+`j%>wIwnVdc)B5(YCNpVu~ zz7WSoeKB)YtXNSXS1u)x6AqG;_DTm%Kowri(%F6lsHdie5zJKA5#TDI<3C}|N4+-Y*r^IdE6Bp6jxUW6p z>II{a%{&sHLju);E{BFDoaGmHE$UV>3^-!Ut7&Lh{cg&O1)NVzubax8c(eAx%aquU z+vTF;4Zb|q6^jdGDtu>E&}&va>;B%Rsr4=O98DMf5?botb{vkZFc!Z&@vq`!#q{!O zmwH~CBPZrFExRv$F`l`mS~cHx;JuntS)QP5M!R*N2`p z+7P)&I-C zeB@QxQ}zGX)r*GrlfuL!GPIX0_K^}3)r|U9c`bC==Zod8SM673B#fIvm2PDtDzFT|v%I=TMZM*ry z`O9V)J&9MX71&^X(_MM>;~A`mtI`S=yu2oAa>iLHv%@uGgUt%<&RNOjlUt?voOa(Y z?LPZr)2)q0VXFmO;~BNDw`KFNopX%1%_P;LE!Dhq=fO|URgbKk`t0%?vm&>Hrz0mV zdAcoc&6zg|t;{T|T@;+(KHD9$Z1>k~evg?f-`#NKE78hwNVqe}fB&txZN}0;H@{uZ zn8UFv`P^FHw8)3u<-N&F7P-&TwY{@MVgeSQ-DkM#gLe-1#y{%jvnrhoMW4lOo4T^R z<)_6x;m0>3l)OFDjrfjbX$wd7M|3V*ch+eCWiiiP{@c|!rue4CvuH-9?8{Y9)hjW* zRldNVQPi}#{hO%quGibXi(JtW`<wJRQ|DZH!ivz{?^VdaC?8(eO(86tCLlz0oYE z_wdz#B_3CwTK|bw(S5}^|JbIxW^wB-<$v84vHJ9f<Rjo|b;#xiT>| zSE@m^?cz^YJ+Yz|`Q@wi1cSZ^C_Y%e=Et-{T+G6j2^mu-aGM;FJw3 zKB&&ob=mf)%k@TIs7Itd?-bPyUv$j*m0L79zkdBMcX9KJNk@|xf6SRKdD`eDyU39% zS^3Aj^SGuR%a>(7eL#3_!~Ik(Cm7-gYswJ1O@-S zb7S`PwVE8w=N*^GD<=LHytM7!LH-LC3)>zo>hDVp`jPCS@AW#5%i{H|EvqMAwUs|$ zI-5=R%cP99ImgbJdNo<6v^6mPEBNC)GmwA%qpZsYt9Wt^r={)A+^XQc((-Tb&t?4k z4X%|aJdu6Ta7As8ftxz3cjKRodD(@+>^kO}JAE2Yw>R9Jbh@bR$PyK`W)U zp_Ag)f8|lw^ou;ZzGaG9zHV6P%8}5r`p`;&&&md=2GLh9Os$@-5$vNsL1(j!_5&j& z)7hC1x3nkAtX?8|TH8+oc5jDo@*5YyE8BdGCf>THa%0w!n^Lwsg%_(fTsx;y_G`|nZ^!Gr$|aW8 z96aGVzob4@Bw2sDvD7xL@0%hMMHf#yylYp;3r|(?#n1OV-mp!j*0nA358t%K@{4u+ zFRAur^fvfuOc%#p*HK{Ug1zynSl9oI)?h)v4m$DGZ+S{la}A{FalXf}Uh#7ujpQ32$Gk z+7aD5A%04f_x8J|o}D}u7g~K=dP;ilgCB9-Pd@}3oPF2&E_#1~(288)g@I+ln!Un~ zDg|o7(f+DWtj|Zwb_=F|&YtMTP&G@YEmLokhR)+Sw@GVU4*B~pzHwr9jrfW^iq{u@ zUw`YaqQIU%m1<@$iYGm2wvjxiRMUC7V)T+_Rr=$34Ge&;M=S|F?5`&$~Z=E|;->{@nOE@8^I1y!&(e=i76q z7rZ%iM&@5lzTK*;pC7)zIse|zpGW`xtkk~2ac-{y$G3+X(;uH%!nm-%s%h#n*PJ-d zBj3M!I;QVgUfK5j&C}O{ZSMBd=2vFyvD_ncuQl#gN5Fxy8taLrj<59pET@%i$ zU2wiVH&0(mRBk=fmJ%zLqT~0j-#HpAZL($6ZI=(T%nrR^XqCDm_~EX=jgqk0Th{ph z($*;8kC2pf<_vc>-o0?clc}E{WvzX^!PWW(%jC0l3a5*@PYEQhGTLpSDZ{yEk(7U4 z=ANt5R*KkPZ)f|R@od-8w!nw$6W%Ov2&he8ZIl^#=7FZLGJWH@xx zrSIj&yhx-()oW>f(3E9XYXz4E%L=6i%oY5((yW__ankcc3Ma(^JMJt!D0=N;?MWAt z;)SnIMV9NV5;&UmW!(yua-~&^^1Vu|m+zSscB;?y@RYz+2#c29j;rx&7xI&f6SW)xGrDVoIA_AHOMBAdzj8EPnB``-$kERlWWT z6DQ0$!?RyJ+~{-9u}`x#$~+QV|8RFbTqihL!%W{PZSt*0m8G{=RNTw%ea!k(dNNPr z%oOeqD-yQyJn~w9eD%u3XHNu834gYHHPi0dJ=OA(aUXZ8}S@7(*Fv##TkF2~cW=F6X0ofn_CsG7O>NP4xn=J&*kQ`tK|pER6o_&Y%2 zg|zjFjPfrB7FVQqXh%mZdzia>qT`H7Jm;2L1T*b=^!eMlvnm0 w*)M&0p?FwYCE@R1rp","?","@","G","J","K","Y","[","\\","]","^","`","{","|","}","~","../data/buffer","../data/pos_array","./vertex_array_object","70","drawFill","drawFillTiles","drawFillTile","getPaintProperty","drawStrokeTile","setFillProgram","u_world","drawingBufferWidth","drawingBufferHeight","currentProgram","71","draw","DEPTH_TEST","ExtrusionTexture","bindFramebuffer","clearColor","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","drawExtrusion","unbindFramebuffer","renderToMap","painter","texture","fbo","fbos","preFbos","u_height_factor","setLight","light","calculated","uniform3fv","u_lightpos","u_lightintensity","intensity","u_lightcolor","color","getViewportTexture","activeTexture","TEXTURE1","bindTexture","TEXTURE_2D","createTexture","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","FRAMEBUFFER","framebufferTexture2D","COLOR_ATTACHMENT0","createFramebuffer","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","renderbufferStorage","RGBA4","DEPTH_COMPONENT16","framebufferRenderbuffer","DEPTH_ATTACHMENT","bindDefaultFramebuffer","saveViewportTexture","TEXTURE0","u_texture","u_xdim","u_ydim","72","drawLineTile","pixelsToTileUnits","lineAtlas","getDash","to","fromScale","toScale","u_patternscale_a","u_patternscale_b","u_sdfgamma","spriteAtlas","getPosition","u_pattern_size_a","u_pattern_size_b","u_gl_units_to_pixels","u_image","u_tex_y_a","u_tex_y_b","u_mix","u_pattern_tl_a","u_pattern_br_a","u_pattern_tl_b","u_pattern_br_b","u_fade","u_width","u_ratio","../source/pixels_to_tile_units","73","drawRaster","depthFunc","LESS","drawRasterTile","LEQUAL","getSource","registerFadeDuration","animationLoop","u_brightness_low","u_brightness_high","u_saturation_factor","saturationFactor","u_contrast_factor","contrastFactor","u_spin_weights","spinWeights","sourceCache","findLoadedParent","getFadeValues","u_tl_parent","u_scale_parent","u_buffer_scale","u_fade_t","mix","opacity","u_image0","u_image1","boundsBuffer","rasterBoundsBuffer","boundsVAO","rasterBoundsVAO","timeAdded","refreshedUponExpiration","74","drawSymbols","drawLayerSymbols","showCollisionBoxes","sprite","loaded","setSymbolDrawState","drawTileSymbols","u_rotate_with_map","u_pitch_with_map","glyphSource","getGlyphAtlas","updateTexture","u_texsize","rotating","zooming","frameHistory","u_fadetexture","u_pitch","u_bearing","u_aspect_ratio","u_font_scale","u_gamma_scale","u_is_halo","drawSymbolElements","./draw_collision_debug","75","FrameHistory","changeTimes","changeOpacities","opacities","Uint8ClampedArray","previousZoom","firstFrame","record","changed","texSubImage2D","ALPHA","NEAREST","76","LineAtlas","nextRow","positions","setSprite","addDash","dirty","REPEAT","77","SourceCache","shaders","symbol","circle","line","fill-extrusion","raster","background","Painter","reusableTextures","viewport","setup","numSublayers","maxUnderzooming","maxOverzooming","depthEpsilon","lineWidthRange","getParameter","ALIASED_LINE_WIDTH_RANGE","emptyProgramConfiguration","verbose","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","_depthMask","clearStencil","stencilMask","STENCIL_BUFFER_BIT","clearDepth","_renderTileClippingMasks","colorMask","stencilOp","KEEP","REPLACE","_tileClippingMaskIDs","stencilFunc","ALWAYS","EQUAL","prepareBuffers","render","getTransition","duration","showOverdrawInspector","depthRange","_order","renderPass","showTileBoundaries","sourceCaches","getVisibleCoordinates","currentLayer","_showOverdrawInspector","_layers","isTileClipped","renderLayer","isHidden","saveTileTexture","getTileTexture","deleteTexture","CONSTANT_COLOR","blendColor","createProgram","toFixed","prelude","fragmentSource","vertexSource","createShader","FRAGMENT_SHADER","shaderSource","compileShader","attachShader","VERTEX_SHADER","linkProgram","getProgramParameter","ACTIVE_ATTRIBUTES","program","numAttributes","getActiveAttrib","getAttribLocation","ACTIVE_UNIFORMS","getActiveUniform","getUniformLocation","_createProgramCached","../data/program_configuration","../data/raster_bounds_array","../source/source_cache","./draw_background","./draw_circle","./draw_debug","./draw_fill","./draw_fill_extrusion","./draw_line","./draw_raster","./draw_symbol","./frame_history","./shaders","78","u_scale_a","u_scale_b","u_tile_units_to_pixels","u_pixel_coord_upper","u_pixel_coord_lower","79","path","fillOutline","fillOutlinePattern","fillPattern","fillExtrusion","fillExtrusionPattern","extrusionTexture","linePattern","lineSDF","symbolIcon","symbolSDF","80","boundProgram","boundVertexBuffer","boundVertexBuffer2","boundElementBuffer","boundVertexOffset","vao","extVertexArrayObject","getExtension","freshBind","bindVertexArrayOES","createVertexArrayOES","currentNumAttributes","disableVertexAttribArray","enableVertexAttribArray","deleteVertexArrayOES","81","ImageSource","CanvasSource","animate","canvas","getElementById","_hasInvalidDimensions","fire","play","_rerender","pause","cancel","_finishLoading","getCanvas","onAdd","_prepareImage","../util/window","./image_source","82","resolveURL","href","GeoJSONSource","dispatcher","setEventedParent","_data","workerOptions","geojsonVtOptions","superclusterOptions","clusterMaxZoom","clusterRadius","dataType","_updateWorkerData","sourceDataType","setData","url","workerID","send","_loaded","loadTile","unloadVectorData","aborted","loadVectorData","redoWhenDone","redoPlacement","abortTile","unloadTile","onRemove","broadcast","../util/evented","83","ajax","vtpbf","VectorTileWorkerSource","GeoJSONWorkerSource","loadGeoJSON","_geoJSONIndexes","_geojsonTileLayer","rawData","loadData","_indexData","getJSON","parse","removeSource","../util/ajax","./geojson_wrapper","./vector_tile_worker_source","geojson-rewind","geojson-vt","vt-pbf","84","85","getImage","image","setCoordinates","centerCoord","getCoordinatesCenter","_tileCoords","_setTile","buckets","state","HTMLVideoElement","ImageData","HTMLCanvasElement","urls","../geo/lng_lat","./tile_coord","86","normalizeURL","normalizeSourceURL","pick","vector_layers","vectorLayers","vectorLayerIds","frame","../util/mapbox","87","88","sortTilesIn","mergeRenderedFeatureLayers","rendered","tilesIn","getRenderableIds","getTileByID","sourceMaxZoom","querySourceFeatures","89","loadTileJSON","normalizeTileURL","RasterTileSource","scheme","_refreshExpiredTiles","setExpiryData","cacheControl","expires","LINEAR_MIPMAP_NEAREST","generateMipmap","abort","./load_tilejson","90","pluginRequested","pluginBlobURL","evented","registerForPluginAvailability","errorCallback","getArrayBuffer","91","sourceTypes","vector","geojson","video","bindAll","getType","setType","../source/canvas_source","../source/geojson_source","../source/image_source","../source/raster_tile_source","../source/vector_tile_source","../source/video_source","92","coordinateToTilePoint","compareKeyZoom","isRasterType","Source","Tile","Cache","_sourceLoaded","reload","update","_sourceErrored","_source","_tiles","_cache","_timers","_cacheTimers","_isIdRenderable","getIds","hasData","_coveredTiles","reset","reloadTile","_tileLoaded","getTime","_setTileReloadTimer","getZoom","findLoadedChildren","parent","has","getWithoutRemoving","updateCacheSize","setMaxSize","used","addTile","fromID","fadeEndTime","keysDifference","removeTile","wrapped","uses","getExpiryTimeout","_setCacheInvalidationTimer","remove","clearTiles","../geo/coordinate","../util/lru_cache","./source","93","CollisionTile","CollisionBoxArray","CLOCK_SKEW_RETRY_TIMEOUT","uniqueId","expirationTime","expiredRequestCount","reloadSymbolData","sourceLayer","parseCacheControl","../data/bucket","../data/feature_index","../symbol/collision_box","../symbol/collision_tile","94","edge","x0","y0","dx","dy","scanSpans","scanTriangle","getQuadkey","children","@mapbox/whoots-js","95","VectorTileSource","_options","reloadCallback","96","WorkerTile","actor","layerIndex","loading","vectorTile","status","result","transferables","./worker_tile","97","VideoSource","getVideo","loop","readyState","98","Actor","StyleLayerIndex","globalRTLTextPlugin","layerIndexes","workerSourceTypes","workerSources","registerWorkerSource","registerRTLTextPlugin","processBidirectionalText","setLayers","getLayerIndex","updateLayers","removedIds","symbolOrder","getWorkerSource","loadWorkerSource","importScripts","loadRTLTextPlugin","../style/style_layer_index","../util/actor","./geojson_worker_source","./rtl_text_plugin","99","recalculateLayers","recalculate","serializeBuckets","familiesBySource","encode","visibility","symbolBuckets","stacks","icons","100","deref","refProperties","derefLayers","./util/ref_properties","101","diffSources","operations","args","isEqual","diffLayerPropertyChanges","pluckId","indexById","diffLayers","removeLayer","setLayoutProperty","setPaintProperty","setFilter","setLayerZoomRange","setLayerProperty","diffStyles","setCenter","setZoom","setBearing","setPitch","glyphs","setGlyphs","transition","setTransition","warn","lodash.isequal","102","ValidationError","message","__line__","103","createFilter","compile","compileComparisonOp","compileLogicalOp","compileNegation","compileInOp","compileHasOp","compilePropertyReference","104","xyz2lab","t3","t2","t0","lab2xyz","t1","xyz2rgb","rgb2xyz","rgbToLab","Xn","Yn","Zn","labToRgb","rgbToHcl","rad2deg","hclToRgb","deg2rad","lab","forward","hcl","105","identityFunction","createFunction","isFunctionDefinition","stops","function","parseColor","evaluateExponentialFunction","evaluateIntervalFunction","evaluateCategoricalFunction","evaluateIdentityFunction","colorSpace","colorSpaces","base","isFeatureConstant","isZoomConstant","coalesce","binarySearchForIndex","interpolate","interpolateArray","interpolateNumber","../util/extend","../util/get_type","../util/parse_color","./color_spaces","106","groupByLayout","fast-stable-stringify","107","clamp_css_byte","clamp_css_float","parse_css_int","parseFloat","parse_css_float","css_hue_to_rgb","parseCSSColor","kCSSColorTable","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","108","sss","objKeys","strReg","strReplace","stringSearch","stringReplace","109","isObjectLike","arraySome","baseIsEqual","baseIsEqualDeep","arrayTag","objToString","argsTag","objectTag","isTypedArray","equalByTag","equalArrays","equalObjects","boolTag","dateTag","errorTag","numberTag","regexpTag","stringTag","objectProto","lodash.isarray","lodash.istypedarray","lodash.keys","110","bindCallback","111","getNative","isNative","funcTag","reIsNative","fnToString","reIsHostCtor","112","isArguments","isArrayLikeObject","propertyIsEnumerable","isArrayLike","isLength","genTag","MAX_SAFE_INTEGER","113","nativeIsArray","114","lodash._baseisequal","lodash._bindcallback","115","typedArrayTags","mapTag","setTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","116","baseProperty","getLength","isIndex","reIsUint","shimKeys","keysIn","nativeKeys","lodash._getnative","lodash.isarguments","117","./v8.json","118","$version","$root","required","metadata","period","source_tile","source_geojson","maximum","minimum","source_video","source_image","source_canvas","source-layer","paint.*","layout_background","visible","none","layout_fill","layout_circle","layout_fill-extrusion","layout_line","line-cap","zoom-function","butt","square","line-join","bevel","miter","line-miter-limit","requires","line-round-limit","layout_symbol","symbol-placement","symbol-spacing","symbol-avoid-edges","icon-allow-overlap","icon-ignore-placement","icon-optional","icon-rotation-alignment","auto","icon-size","icon-text-fit","both","icon-text-fit-padding","tokens","icon-rotate","property-function","icon-padding","icon-keep-upright","icon-offset","text-pitch-alignment","text-rotation-alignment","text-font","text-size","text-max-width","text-line-height","text-letter-spacing","text-justify","left","right","text-anchor","top","bottom","top-left","top-right","bottom-left","bottom-right","text-max-angle","text-rotate","text-padding","text-keep-upright","text-transform","uppercase","lowercase","text-allow-overlap","text-ignore-placement","text-optional","layout_raster","filter_operator","==","!=",">=","<=","in","!in","all","any","!has","geometry_type","exponential","interval","categorical","rgb","function_stop","paint_fill","fill-antialias","fill-opacity","fill-color","fill-outline-color","fill-translate","fill-translate-anchor","fill-pattern","paint_fill-extrusion","fill-extrusion-opacity","fill-extrusion-color","fill-extrusion-translate","fill-extrusion-translate-anchor","fill-extrusion-pattern","fill-extrusion-height","fill-extrusion-base","paint_line","line-opacity","line-color","line-translate","line-translate-anchor","line-width","line-gap-width","line-offset","line-blur","line-dasharray","line-pattern","paint_circle","circle-radius","circle-color","circle-blur","circle-opacity","circle-translate","circle-translate-anchor","circle-pitch-scale","circle-stroke-width","circle-stroke-color","circle-stroke-opacity","paint_symbol","icon-opacity","icon-color","icon-halo-color","icon-halo-width","icon-halo-blur","icon-translate","icon-translate-anchor","text-opacity","text-color","text-halo-color","text-halo-width","text-halo-blur","text-translate","text-translate-anchor","paint_raster","raster-opacity","raster-hue-rotate","raster-brightness-min","raster-brightness-max","raster-saturation","raster-contrast","raster-fade-duration","paint_background","background-color","background-pattern","background-opacity","delay","119","120","121","parseColorString","csscolorparser","122","123","valueOf","124","constants","enum","valueSpec","styleSpec","../error/validation_error","./validate_array","./validate_boolean","./validate_color","./validate_constants","./validate_enum","./validate_filter","./validate_function","./validate_layer","./validate_light","./validate_number","./validate_object","./validate_source","./validate_string","125","validate","arrayElementValidator","arrayIndex","./validate","126","127","128","129","unbundle","../util/unbundle_jsonlint","130","validateEnum","131","validateObject","validateArray","validateNumber","objectElementValidators","132","validateString","133","validateFilter","validatePaintProperty","validateLayoutProperty","layerType","./validate_layout_property","./validate_paint_property","134","validateProperty","./validate_property","135","136","137","validateSpec","objectKey","138","139","140","141","142","validateStyleMin","latestStyleSpec","validateGlyphsURL","validateConstants","sortErrors","wrapCleanErrors","paintProperty","layoutProperty","./reference/latest","./validate/validate","./validate/validate_constants","./validate/validate_filter","./validate/validate_glyphs_url","./validate/validate_layer","./validate/validate_layout_property","./validate/validate_light","./validate/validate_paint_property","./validate/validate_source","143","AnimationLoop","times","stopped","144","normalizeSpriteURL","SpritePosition","ImageSprite","retina","imgData","getImageData","getSpritePosition","145","validateStyle","StyleDeclaration","StyleTransition","TRANSITION_SUFFIX","Light","_specifications","_validate","_declarations","_transitions","_transitionOptions","getLight","getLightProperty","endsWith","getLightValue","calculate","sphericalToCartesian","_applyLightDeclaration","declaration","json","instant","loopID","endTime","updateLightTransitions","emitErrors","../style-spec/reference/latest","./style_declaration","./style_transition","./validate_style","146","StyleLayer","GlyphSource","SpriteAtlas","mapbox","Dispatcher","QueryFeatures","MapboxGLFunction","getWorkerPool","diff","supportedDiffOperations","ignoredDiffOperations","zoomHistory","_resetUpdates","isMapboxURL","_rtlTextPluginCallback","stylesheet","updateClasses","_resolve","normalizeStyleURL","sourceId","_validateLayer","_updatedSources","_serializeLayers","_applyClasses","_updatedAllPaintProps","_updatedPaintProps","updatePaintTransitions","updatePaintTransition","_recalculate","_updateZoomHistory","lastIntegerZoom","lastIntegerZoomTime","lastZoom","_checkLoaded","_changed","_updatedLayers","_removedLayers","_updatedSymbolOrder","_updateWorkerLayers","_reloadSource","_clearSource","setState","isSourceLoaded","_updateLayer","moveLayer","deepEqual","getFilter","getLayoutProperty","filterObject","_flattenRenderedFeatures","addSourceType","workerSourceURL","_remove","_updateSources","_redoPlacement","getIcons","addIcons","getGlyphs","getSimpleGlyphs","../render/line_atlas","../source/query_features","../source/rtl_text_plugin","../source/source","../style-spec/deref","../style-spec/diff","../style-spec/function","../symbol/glyph_source","../symbol/sprite_atlas","../util/dispatcher","../util/global_worker_pool","./animation_loop","./image_sprite","./light","./style_layer","147","stopZoomLevels","functionInterpolationT","calculateInterpolationT","148","getDeclarationValue","_layoutSpecifications","_paintTransitions","_paintTransitionOptions","_paintDeclarations","_layoutDeclarations","_layoutFunctions","_updateLayoutValue","_applyPaintDeclaration","subclasses","./../style-spec/util/parse_color","./style_layer/circle_style_layer","./style_layer/fill_extrusion_style_layer","./style_layer/fill_style_layer","./style_layer/line_style_layer","./style_layer/symbol_style_layer","149","CircleStyleLayer","../../data/bucket/circle_bucket","../style_layer","150","FillExtrusionStyleLayer","../../data/bucket/fill_extrusion_bucket","151","FillStyleLayer","oldTransition","../../data/bucket/fill_bucket","152","LineStyleLayer","../../data/bucket/line_bucket","153","SymbolStyleLayer","../../data/bucket/symbol_bucket","154","_layerConfigs","../style-spec/group_by_layout","155","interpZoomTransitioned","fakeZoomHistory","startTime","zoomTransitioned","_calculateTargetValue","easeCubicInOut","156","../style-spec/validate_style.min","157","segment","158","checkMaxAngle","angleDelta","shift","159","160","StructType","anchorPointX","anchorPointY","161","_addLineCollisionBoxes","boxes","162","intersectionTests","ignoredGrid","reverseRotationMatrix","tempCollisionBox","edges","bbox0","bbox1","bbox2","bbox3","getPlacementScale","polygonIntersectsPolygon","163","resample","../symbol/anchor","./check_max_angle","164","SIZE_GROWTH_RATE","DEFAULT_SIZE","MAX_SIZE","GlyphAtlas","atlas","getRects","addGlyph","bitmap","@mapbox/shelf-pack","165","glyphUrl","normalizeGlyphsURL","verticalizePunctuation","Glyphs","SimpleGlyph","advance","rect","atlases","loadRange","../symbol/glyph_atlas","../util/glyphs","../util/verticalize_punctuation","166","167","SymbolQuad","positionedGlyphs","getSegmentGlyphs","168","toLocaleUpperCase","toLocaleLowerCase","../util/token","169","PositionedGlyph","breakLines","substring","determineLineBreaks","shapeLines","determineAverageLineWidth","calculateBadness","calculatePenalty","evaluateBreak","badness","priorBreak","leastBadBreaks","whitespace","breakable","charAllowsIdeographicBreaking","charHasUprightVerticalOrientation","justifyLine","align","PositionedIcon","173","183","8203","8208","8211","8231","../util/script_detection","170","copyBitmap","shelfPack","images","allocateImage","addImage","HTMLImageElement","Uint32Array","removeImage","allocate","171","DOM","handlers","boxZoom","dragRotate","dragPan","keyboard","doubleClickZoom","touchZoomRotate","stop","mousePos","isActive","toElement","parentNode","touches","preventDefault","lngLat","originalEvent","touchPos","lngLats","getCanvasContainer","../util/dom","./handler/box_zoom","./handler/dblclick_zoom","./handler/drag_pan","./handler/drag_rotate","./handler/keyboard","./handler/scroll_zoom","./handler/touch_zoom_rotate","172","Camera","moving","_bearingSnap","bearingSnap","jumpTo","panBy","panTo","easeTo","zoomIn","zoomOut","getBearing","rotateTo","resetNorth","snapToNorth","getPitch","linear","easing","ease","_normalizeBearing","around","pitching","smoothEasing","_smoothOutEasing","noMoveStart","_onEaseEnd","_ease","delayEndEvents","_easeToEnd","speed","curve","screenSpeed","isEasing","_abortFn","isMoving","_finishEase","_finishFn","timed","_prevEase","bezier","../geo/lng_lat_bounds","getDefaultPosition","compact","_map","_container","_updateAttributions","_updateEditLink","_updateData","_updateCompact","removeChild","_editLink","attribution","innerHTML","offsetWidth","../../util/dom","174","_fullscreen","_fullscreenchange","_fullscreenButton","_onClickFullscreen","_mapContainer","getContainer","_changeIcon","removeEventListener","_isFullscreen","toggle","exitFullscreen","mozCancelFullScreen","msExitFullscreen","webkitCancelFullScreen","requestFullscreen","mozRequestFullScreen","msRequestFullscreen","webkitRequestFullscreen","../../util/window","175","checkGeolocationSupport","supportsGeolocation","navigator","permissions","then","geolocation","defaultGeoPositionOptions","enableHighAccuracy","timeout","className","_setupUI","_onSuccess","_finish","_onError","_timeoutId","_geolocateButton","watchPosition","_onClickGeolocate","positionOptions","_geolocationWatchID","clearWatch","getCurrentPosition","../../util/evented","176","LogoControl","_updateLogo","childNodes","_logoRequired","mapbox_logo","177","copyMouseEvent","MouseEvent","button","buttons","bubbles","cancelable","detail","view","screenX","screenY","clientX","clientY","movementX","movementY","ctrlKey","shiftKey","altKey","metaKey","_rotateCompassArrow","_compassArrow","_onContextMenu","_zoomInButton","_createButton","_zoomOutButton","_compass","_onCompassDown","_onCompassMove","_onCompassUp","disableDrag","dispatchEvent","stopPropagation","enableDrag","178","updateScale","maxWidth","clientHeight","getDistance","setScale","getRoundNum","acos","_onMove","179","BoxZoomHandler","_el","isEnabled","_enabled","_active","_onMouseDown","_onMouseMove","_onKeyDown","_onMouseUp","_startPos","_box","_fireEvent","setTransform","boxZoomBounds","keyCode","../../geo/lng_lat_bounds","180","DoubleClickZoomHandler","_onDblClick","181","inertiaLinearity","inertiaEasing","inertiaMaxSpeed","inertiaDeceleration","DragPanHandler","_onDown","_ignoreEvent","_onTouchEnd","_pos","_inertia","_drainInertiaBuffer","_onUp","182","DragRotateHandler","_pitchWithRotate","pitchWithRotate","InstallTrigger","platform","easeOut","panStep","bearingStep","pitchStep","KeyboardHandler","184","ua","userAgent","firefox","safari","ScrollZoomHandler","_onWheel","_aroundCenter","deltaY","deltaMode","WheelEvent","DOM_DELTA_PIXEL","DOM_DELTA_LINE","wheelDeltaY","_time","_type","_lastValue","_timeout","_onTimeout","../../util/browser","185","significantScaleThreshold","significantRotateThreshold","TouchZoomRotateHandler","_onStart","disableRotation","_rotationDisabled","enableRotation","_startVec","_startScale","_startBearing","_gestureIntent","_onEnd","186","Hash","addTo","_onHashChange","_updateHash","hash","history","replaceState","187","bindHandlers","defaultMinZoom","defaultMaxZoom","defaultOptions","attributionControl","preserveDrawingBuffer","trackResize","renderWorldCopies","refreshExpiredTiles","_interactive","_failIfMajorPerformanceCaveat","_preserveDrawingBuffer","_trackResize","maxBounds","setMaxBounds","_setupContainer","_setupPainter","_update","_onWindowOnline","_onWindowResize","_hash","_classes","classes","setClasses","logoPosition","_onData","_onDataLoading","repaint","_controlPositions","insertBefore","firstChild","removeControl","addClass","_classOptions","removeClass","hasClass","getClasses","_containerDimensions","_resizeCanvas","getBounds","setMinZoom","getMinZoom","setMaxZoom","getMaxZoom","_makeQueryGeometry","getStyle","_canvasContainer","_canvas","offsetHeight","_contextLost","_contextRestored","_controlContainer","_frameId","cancelFrame","_styleDirty","_sourcesDirty","_render","_repaint","loseContext","_showTileBoundaries","_showCollisionBoxes","_vertices","../geo/transform","../render/painter","../style/animation_loop","../style/style","./bind_handlers","./camera","./control/attribution_control","./control/logo_control","./hash","mapbox-gl-supported","188","_offset","_onMapClick","_element","_popup","getLngLat","_lngLat","setLngLat","getElement","setPopup","contains","togglePopup","getPopup","isOpen","189","normalizeOffset","isPointLike","closeButton","closeOnClick","_onClickClose","_content","setText","setDOMContent","setHTML","createDocumentFragment","_createContent","_closeButton","_tip","190","mapId","callbacks","callbackID","receive","postMessage","targetMapId","sourceMapId","191","sameOrigin","protocol","host","XMLHttpRequest","open","setRequestHeader","onerror","onload","response","statusText","responseType","getResponseHeader","transparentPngUrl","Image","revokeObjectURL","onloadstart","crossOrigin","./window","192","performance","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","msCancelAnimationFrame","drawImage","supportsWebp","webpImgTest","193","WebWorkify","workerURL","../../source/worker","../window","webworkify","194","195","compareAreas","quickselect","calculateSignedArea","./util","196","API_URL","REQUIRE_ACCESS_TOKEN","197","_stringToNumber","_numberToString","198","workerPool","actors","currentActor","acquire","asyncAll","release","./actor","199","testProp","docStyle","suppressClick","documentElement","selectProp","userSelect","transformProp","getBoundingClientRect","clientLeft","clientTop","changedTouches","200","_addEventListener","_removeEventListener","_listeners","_oneTimeListeners","listens","_eventedParent","_eventedParentData","201","compareMax","Cell","pointToPolygonDist","SQRT2","distToSegmentSquared","getCentroidCell","Queue","./intersection_tests","tinyqueue","202","WorkerPool","globalWorkerPool","./worker_pool","203","readFontstacks","readFontstack","readGlyph","204","vec2","205","polygonContainsPoint","lineIntersectsLine","pointIntersectsBufferedLine","multiPolygonContainsPoint","lineIntersectsBufferedLine","lineSegmentIntersectsLineSegment","isCounterClockwise","206","unicodeBlockLookup","Latin-1 Supplement","Hangul Jamo","Unified Canadian Aboriginal Syllabics","Unified Canadian Aboriginal Syllabics Extended","General Punctuation","Letterlike Symbols","Number Forms","Miscellaneous Technical","Control Pictures","Optical Character Recognition","Enclosed Alphanumerics","Geometric Shapes","Miscellaneous Symbols","Miscellaneous Symbols and Arrows","CJK Radicals Supplement","Kangxi Radicals","Ideographic Description Characters","CJK Symbols and Punctuation","Hiragana","Katakana","Bopomofo","Hangul Compatibility Jamo","Kanbun","Bopomofo Extended","CJK Strokes","Katakana Phonetic Extensions","Enclosed CJK Letters and Months","CJK Compatibility","CJK Unified Ideographs Extension A","Yijing Hexagram Symbols","CJK Unified Ideographs","Yi Syllables","Yi Radicals","Hangul Jamo Extended-A","Hangul Syllables","Hangul Jamo Extended-B","Private Use Area","CJK Compatibility Ideographs","Vertical Forms","CJK Compatibility Forms","Small Form Variants","Halfwidth and Fullwidth Forms","207","LRUCache","order","208","makeAPIURL","parseUrl","authority","formatUrl","help","replaceTempAccessToken","urlRe","imageExtensionRe","./browser","./config","209","isChar","allowsIdeographicBreaking","charHasNeutralVerticalOrientation","charHasRotatedVerticalOrientation","./is_char_in_unicode_block","210","structArrayTypeCache","sizeOf","Struct","createGetter","createSetter","StructArray","createEmplaceBack","_usedTypes","viewTypes","BYTES_PER_ELEMENT","getArrayViewName","createMemberComponentString","Int8Array","Uint8Clamped","Int16Array","Uint16Array","Int32","Uint32","Float32","Float64","_structArray","_pos1","_pos2","_pos4","_pos8","DEFAULT_CAPACITY","RESIZE_MULTIPLIER","isTransferred","capacity","_refreshViews","_trim","211","212","warnOnceHistory","isClosedPolygon","@mapbox/unitbezier","213","Feature","_vectorTileFeature","_z","_x","_y","214","¢","£","¥","¦","¬","¯","–","—","‘","’","“","”","…","‧","₩","、","。","〈","〉","《","》","「","」","『","』","【","】","〔","〕","〖","〗","!","(",")",",","-",".",":",";","<",">","?","[","]","_","{","|","}","⦅","⦆","。","「","」","./script_detection","215","WebWorker","active","workers","terminate","../","./web_worker","_mapboxUtils","mapDivs","querySelectorAll","_mapboxUtils2"],"mappings":"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GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,IAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAAC,GAAA,IAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,IAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAC,KAAA,IAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,KAAAC,KAAA,IAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,GAAA,GAAA,EAAA,KAAAC,KAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAC,KAAA,IAAA,GAAA,GAAA,GAAA,IAAAC,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,KAAAppC,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,IAAAoC,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,EAAA,GAAA,IAAA4B,GAAA,IAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAiB,GAAA,IAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,IAAAW,GAAA,IAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAwC,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAAO,GAAA,IAAA,GAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,KAAAU,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,KAAAW,GAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAq/B,KAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAAC,KAAu8D,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,IAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,GAAA,GAAA,EAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,GAAA,IAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,GAAA,EAAA,EAAA,IAAAC,KAAA,IAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAAC,KAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,IAAAlpC,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAAmvB,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,IAAA,GAAA,EAAA,EAAA,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","file":"./public/assets/js/maps.js","sourceRoot":"","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap c9239bfae896ced9ce98","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 0\n// module chunks = 0 1","//parse-location.js\n\n//text = `POINT(lon lat)`\nexport default function parseLocation(text) {\n let coords = /POINT\\((.*)\\)/.exec(text);\n let parsedLongitude = coords[1].split(' ')[0];\n let parsedLatitude = coords[1].split(' ')[1];\n\n return {'latitude': parsedLatitude, 'longitude': parsedLongitude};\n}\n\n\n\n// WEBPACK FOOTER //\n// ./parse-location.js","//mapbox-utils.js\nimport mapboxgl from 'mapbox-gl/dist/mapbox-gl.js';\nimport parseLocation from './parse-location';\nimport selectPlaceInForm from './select-place';\n\nmapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';\n\n//define some functions to be used in the default function.\nconst titlecase = (string) => {\n return string.split('-').map(([first,...rest]) => first.toUpperCase() + rest.join('').toLowerCase()).join(' ');\n};\n\nconst addMapTypeOption = (map, menu, option, checked = false) => {\n let input = document.createElement('input');\n input.setAttribute('id', option);\n input.setAttribute('type', 'radio');\n input.setAttribute('name', 'toggle');\n input.setAttribute('value', option);\n if (checked == true) {\n input.setAttribute('checked', 'checked');\n }\n input.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/' + option + '-v9');\n });\n let label = document.createElement('label');\n label.setAttribute('for', option);\n label.appendChild(document.createTextNode(titlecase(option)));\n menu.appendChild(input);\n menu.appendChild(label);\n};\n\nconst makeMapMenu = (map) => {\n let mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n addMapTypeOption(map, mapMenu, 'streets', true);\n addMapTypeOption(map, mapMenu, 'satellite-streets');\n return mapMenu;\n};\n\n//the main function\nexport default function addMap(div, position = null, places = null) {\n let dataLatitude = div.dataset.latitude;\n let dataLongitude = div.dataset.longitude;\n let dataId = div.dataset.id;\n let data = window['geojson'+dataId];\n if (data == null) {\n data = {\n 'type': 'FeatureCollection',\n 'features': [{\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [dataLongitude, dataLatitude]\n },\n 'properties': {\n 'title': 'Current Location',\n 'icon': 'circle-stroked',\n 'uri': 'current-location'\n }\n }]\n };\n }\n if (places != null) {\n for (let place of places) {\n let placeLongitude = parseLocation(place.location).longitude;\n let placeLatitude = parseLocation(place.location).latitude;\n data.features.push({\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [placeLongitude, placeLatitude]\n },\n 'properties': {\n 'title': place.name,\n 'icon': 'circle',\n 'uri': place.slug\n }\n });\n }\n }\n if (position != null) {\n dataLongitude = position.coords.longitude;\n dataLatitude = position.coords.latitude;\n }\n let map = new mapboxgl.Map({\n container: div,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [dataLongitude, dataLatitude],\n zoom: 15\n });\n if (position == null) {\n map.scrollZoom.disable();\n }\n map.addControl(new mapboxgl.NavigationControl());\n div.appendChild(makeMapMenu(map));\n map.on('load', function () {\n map.addSource('points', {\n 'type': 'geojson',\n 'data': data\n });\n map.addLayer({\n 'id': 'points',\n 'interactive': true,\n 'type': 'symbol',\n 'source': 'points',\n 'layout': {\n 'icon-image': '{icon}-15',\n 'text-field': '{title}',\n 'text-offset': [0, 1]\n }\n });\n });\n if (position != null) {\n map.on('click', function (e) {\n let features = map.queryRenderedFeatures(e.point, {\n layer: ['points']\n });\n // if there are features within the given radius of the click event,\n // fly to the location of the click event\n if (features.length) {\n // Get coordinates from the symbol and center the map on those coordinates\n map.flyTo({center: features[0].geometry.coordinates});\n selectPlaceInForm(features[0].properties.uri);\n }\n });\n }\n if (data.features && data.features.length > 1) {\n let bounds = new mapboxgl.LngLatBounds();\n for (let feature of data.features) {\n bounds.extend(feature.geometry.coordinates);\n }\n map.fitBounds(bounds, { padding: 65});\n }\n\n return map;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./mapbox-utils.js","//select-place.js\n\nexport default function selectPlaceInForm(uri) {\n if (document.querySelector('select')) {\n if (uri == 'current-location') {\n document.querySelector('select [id=\"option-coords\"]').selected = true;\n } else {\n document.querySelector('select [value=\"' + uri + '\"]').selected = true;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./select-place.js","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return b64.length * 3 / 4 - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr(len * 3 / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonny/Development/git/jonnybarnes.uk/~/base64-js/index.js\n// module id = 5\n// module chunks = 0 1","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonny/Development/git/jonnybarnes.uk/~/buffer/index.js\n// module id = 6\n// module chunks = 0 1","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonny/Development/git/jonnybarnes.uk/~/buffer/~/isarray/index.js\n// module id = 7\n// module chunks = 0 1","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonny/Development/git/jonnybarnes.uk/~/ieee754/index.js\n// module id = 8\n// module chunks = 0 1","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.mapboxgl = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i,rn.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var h=this.shelves[t],n=h.alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1===++t.refcount){var e=t.h;this.stats[e]=(0|this.stats[e])+1}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0===--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t});\n},{}],3:[function(require,module,exports){\nfunction UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){\"undefined\"==typeof i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))};\n},{}],4:[function(require,module,exports){\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t(e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){s=s||{};var f=e+\"?\"+[\"bbox=\"+o(r,n,i),\"format=\"+(s.format||\"image/png\"),\"service=\"+(s.service||\"WMS\"),\"version=\"+(s.version||\"1.1.1\"),\"request=\"+(s.request||\"GetMap\"),\"srs=\"+(s.srs||\"EPSG:3857\"),\"width=\"+(s.width||256),\"height=\"+(s.height||256),\"layers=\"+t].join(\"&\");return f}function o(e,t,o){t=Math.pow(2,o)-t-1;var n=r(256*e,256*t,o),i=r(256*(e+1),256*(t+1),o);return n[0]+\",\"+n[1]+\",\"+i[0]+\",\"+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o),n=e*r-2*Math.PI*6378137/2,i=t*r-2*Math.PI*6378137/2;return[n,i]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,\"__esModule\",{value:!0})});\n},{}],5:[function(require,module,exports){\n\"use strict\";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),t=n=t.prev,t===t.next)return null;r=!0}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if(e=l,e===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l)),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next;while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r};\n},{}],6:[function(require,module,exports){\nfunction geometry(r){if(\"Polygon\"===r.type)return polygonArea(r.coordinates);if(\"MultiPolygon\"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=require(\"geojson-area\");module.exports=rewind;\n},{\"geojson-area\":6}],8:[function(require,module,exports){\n\"use strict\";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));h=g[S-1],c=h[n],c>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=require(\"./feature\");\n},{\"./feature\":10}],9:[function(require,module,exports){\n\"use strict\";function convert(e,t){var r=[];if(\"FeatureCollection\"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time(\"creation\"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd(\"creation\"));var h=\"z\"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time(\"clipping\");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd(\"clipping\"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log(\"found parent tile z%d-%d-%d\",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time(\"drilling down\");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd(\"drilling down\"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify;\n},{}],13:[function(require,module,exports){\n\"use strict\";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){var r=signedArea(e);r<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};\n},{}],18:[function(require,module,exports){\n\"use strict\";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range;\n},{}],20:[function(require,module,exports){\n\"use strict\";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1),c=Math.max(s,Math.floor(o-p*m/f+n)),h=Math.min(r,Math.floor(o+(f-p)*m/f+n));select(t,a,o,c,h,e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD;\n},{}],21:[function(require,module,exports){\n\"use strict\";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within;\n},{}],22:[function(require,module,exports){\n\"use strict\";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return\"undefined\"!=typeof window&&\"undefined\"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function isWorkerSupported(){return\"Worker\"in window}function isUint8ClampedArraySupported(){return\"Uint8ClampedArray\"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement(\"canvas\"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext(\"webgl\",r)||t.probablySupportsContext(\"experimental-webgl\",r):t.supportsContext?t.supportsContext(\"webgl\",r)||t.supportsContext(\"experimental-webgl\",r):t.getContext(\"webgl\",r)||t.getContext(\"experimental-webgl\",r)}\"undefined\"!=typeof module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};\n},{}],23:[function(require,module,exports){\n(function (process){\nfunction normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];\".\"===s?r.splice(n,1):\"..\"===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift(\"..\");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if(\"string\"!=typeof n)throw new TypeError(\"Arguments to path.resolve must be strings\");n&&(r=n+\"/\"+r,t=\"/\"===n.charAt(0))}return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),(t?\"/\":\"\")+r||\".\"},exports.normalize=function(r){var t=exports.isAbsolute(r),e=\"/\"===substr(r,-1);return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),r||t||(r=\".\"),r&&e&&(r+=\"/\"),(t?\"/\":\"\")+r},exports.isAbsolute=function(r){return\"/\"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if(\"string\"!=typeof r)throw new TypeError(\"Arguments to path.join must be strings\");return r}).join(\"/\"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&\"\"===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split(\"/\")),s=e(t.split(\"/\")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var ieee754=require(\"ieee754\"),BufferMethods,lastStr,lastStrEncoded;BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=\"\",i=\"\";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error(\"Given varint doesn't fit into 10 bytes\");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.Fixed64)throw new Error(\"Unimplemented type: \"+i);this.pos+=8}},writeTag:function(t,i){this.writeVarint(t<<3|i)},realloc:function(t){for(var i=this.length||16;i268435455?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127)))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}};\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"./buffer\":24}],26:[function(require,module,exports){\n\"use strict\";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var n=t.x-this.x,i=t.y-this.y;return n*n+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,this.y=i,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t};\n},{}],27:[function(require,module,exports){\nfunction defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1),n=Math.max(r,Math.floor(t-e*s/f+i)),h=Math.min(o,Math.floor(t+(f-e)*s/f+i));partialSort(a,t,n,h,p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort;\n},{}],29:[function(require,module,exports){\n\"use strict\";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:\"Feature\",properties:getClusterProperties(t),geometry:{type:\"Point\",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return{cluster:!0,point_count:e,point_count_abbreviated:o}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=require(\"kdbush\");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time(\"total time\");var o=\"prepare \"+t.length+\" points\";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log(\"z%d: %d clusters in %dms\",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd(\"total time\"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?\"\u001b[\"+inspect.colors[t][0]+\"m\"+e+\"\u001b[\"+inspect.colors[t][1]+\"m\":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?\": \"+r.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),\"regexp\");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),\"date\");if(isError(r))return formatError(r)}var c=\"\",a=!1,l=[\"{\",\"}\"];if(isArray(r)&&(a=!0,l=[\"[\",\"]\"]),isFunction(r)){var p=r.name?\": \"+r.name:\"\";c=\" [Function\"+p+\"]\"}if(isRegExp(r)&&(c=\" \"+RegExp.prototype.toString.call(r)),isDate(r)&&(c=\" \"+Date.prototype.toUTCString.call(r)),isError(r)&&(c=\" \"+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize(\"undefined\",\"undefined\");if(isString(r)){var t=\"'\"+JSON.stringify(r).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(t,\"string\")}return isNumber(r)?e.stylize(\"\"+r,\"number\"):isBoolean(r)?e.stylize(\"\"+r,\"boolean\"):isNull(r)?e.stylize(\"null\",\"null\"):void 0}function formatError(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\").substr(2):\"\\n\"+u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\"))):u=e.stylize(\"[Circular]\",\"special\")),isUndefined(s)){if(o&&i.match(/^\\d+$/))return u;s=JSON.stringify(\"\"+i),s.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf(\"\\n\")>=0&&n++,e+r.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?t[0]+(\"\"===r?\"\":r+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+t[1]:t[0]+r+\" \"+e.join(\", \")+\" \"+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return\"boolean\"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return\"number\"==typeof e}function isString(e){return\"string\"==typeof e}function isSymbol(e){return\"symbol\"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&\"[object RegExp]\"===objectToString(e)}function isObject(e){return\"object\"==typeof e&&null!==e}function isDate(e){return isObject(e)&&\"[object Date]\"===objectToString(e)}function isError(e){return isObject(e)&&(\"[object Error]\"===objectToString(e)||e instanceof Error)}function isFunction(e){return\"function\"==typeof e}function isPrimitive(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||\"undefined\"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?\"0\"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(\":\");return[e.getDate(),months[e.getMonth()],r].join(\" \")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case\"%s\":return String(n[t++]);case\"%d\":return Number(n[t++]);case\"%j\":try{return JSON.stringify(n[t++])}catch(e){return\"[Circular]\"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error(\"unknown command \"+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-(1/0),p=1/0,h=-(1/0);e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error(\"unknown command \"+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=require(\"./vectortilefeature.js\");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)};\n},{\"./vectortilefeature.js\":36}],38:[function(require,module,exports){\nfunction fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||\"\",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup;\n},{\"./program_configuration\":58}],45:[function(require,module,exports){\n\"use strict\";var ArrayGroup=require(\"./array_group\"),BufferGroup=require(\"./buffer_group\"),util=require(\"../util/util\"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||o<0||o>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,y,o,-1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,1),addCircleVertex(r.layoutVertexArray,y,o,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60}],47:[function(require,module,exports){\n\"use strict\";var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),earcut=require(\"earcut\"),classifyRings=require(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"}]),elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:\"fill-color\",type:\"Uint8\"},{property:\"fill-outline-color\",type:\"Uint8\"},{property:\"fill-opacity\",type:\"Uint8\",multiplier:255}]},FillBucket=function(e){function r(r){e.call(this,r,fillInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);tEXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),EXTENT=require(\"../extent\"),earcut=require(\"earcut\"),classifyRings=require(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal\",components:3,type:\"Int16\"},{name:\"a_edgedistance\",components:1,type:\"Int16\"}]),elementArrayType:createElementArrayType(3),paintAttributes:[{property:\"fill-extrusion-base\",type:\"Uint16\"},{property:\"fill-extrusion-height\",type:\"Uint16\"},{property:\"fill-extrusion-color\",type:\"Uint8\"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function r(r){e.call(this,r,fillExtrusionInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);t=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var _=g.sub(A)._perp()._unit();addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,1,m),m+=A.dist(g),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,1,m);var v=p.vertexLength;r.elementArray.emplaceBack(v,v+1,v+2),r.elementArray.emplaceBack(v+1,v+2,v+3),p.vertexLength+=4,p.primitiveLength+=2}}u.push(g.x),u.push(g.y)}}}for(var E=earcut(u,c),T=0;T>6)}var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),EXTENT=require(\"../extent\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(37.5*(Math.PI/180)),SHARP_CORNER_OFFSET=15,LINE_DISTANCE_BUFFER_BITS=15,LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE,lineInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),paintAttributes:[{property:\"line-color\",type:\"Uint8\"},{property:\"line-blur\",multiplier:10,type:\"Uint8\"},{property:\"line-opacity\",multiplier:10,type:\"Uint8\"},{property:\"line-gap-width\",multiplier:10,type:\"Uint8\",name:\"a_gapwidth\"},{property:\"line-offset\",multiplier:1,type:\"Int8\"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r[\"line-join\"],a=r[\"line-cap\"],n=r[\"line-miter-limit\"],d=r[\"line-round-limit\"],s=0,u=loadGeometry(e,LINE_DISTANCE_BUFFER_BITS);s=2&&e[l-1].equals(e[l-2]);)l--;if(!(l<(u?3:2))){\"bevel\"===r&&(a=1.05);var o=SHARP_CORNER_OFFSET*(EXTENT/(512*this.overscaling)),p=e[0],c=this.arrays,_=c.prepareSegment(10*l);this.distance=0;var y,h,m,E,x,C,v,A=i,f=u?\"butt\":i,L=!0;this.e1=this.e2=this.e3=-1,u&&(y=e[l-2],x=p.sub(y)._unit()._perp());for(var V=0;V0){var b=y.dist(h);if(b>2*o){var R=y.sub(y.sub(h)._mult(o/b)._round());d.distance+=R.dist(h),d.addCurrentVertex(R,d.distance,E.mult(1),0,0,!1,_),h=R}}var g=h&&m,F=g?r:m?A:f;if(g&&\"round\"===F&&(Ia&&(F=\"bevel\"),\"bevel\"===F&&(I>2&&(F=\"flipbevel\"),I100)S=x.clone().mult(-1);else{var B=E.x*x.y-E.y*x.x>0?-1:1,k=I*E.add(x).mag()/E.sub(x).mag();S._perp()._mult(k*B)}d.addCurrentVertex(y,d.distance,S,0,0,!1,_),d.addCurrentVertex(y,d.distance,S.mult(-1),0,0,!1,_)}else if(\"bevel\"===F||\"fakeround\"===F){var D=E.x*x.y-E.y*x.x>0,P=-Math.sqrt(I*I-1);if(D?(v=0,C=P):(C=0,v=P),L||d.addCurrentVertex(y,d.distance,E,C,v,!1,_),\"fakeround\"===F){for(var U=Math.floor(8*(.5-(T-.5))),q=void 0,M=0;M=0;O--)q=E.mult((O+1)/(U+1))._add(x)._unit(),d.addPieSliceVertex(y,d.distance,q,D,_)}m&&d.addCurrentVertex(y,d.distance,x,-C,-v,!1,_)}else\"butt\"===F?(L||d.addCurrentVertex(y,d.distance,E,0,0,!1,_),m&&d.addCurrentVertex(y,d.distance,x,0,0,!1,_)):\"square\"===F?(L||(d.addCurrentVertex(y,d.distance,E,1,1,!1,_),d.e1=d.e2=-1),m&&d.addCurrentVertex(y,d.distance,x,-1,-1,!1,_)):\"round\"===F&&(L||(d.addCurrentVertex(y,d.distance,E,0,0,!1,_),d.addCurrentVertex(y,d.distance,E,1,1,!0,_),d.e1=d.e2=-1),m&&(d.addCurrentVertex(y,d.distance,x,-1,-1,!0,_),d.addCurrentVertex(y,d.distance,x,0,0,!1,_)));if(N&&V2*o){var H=y.add(m.sub(y)._mult(o/X)._round());d.distance+=H.dist(y),d.addCurrentVertex(H,d.distance,x.mult(1),0,0,!1,_),y=H}}L=!1}c.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60,\"vector-tile\":34}],50:[function(require,module,exports){\n\"use strict\";function addVertex(e,t,o,r,a,i,n,l,s,c,y){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i/4,n/4,10*(c||0),y,10*(l||0),10*Math.min(s||25,25))}function addCollisionBoxVertex(e,t,o,r,a){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*r,10*a)}var Point=require(\"point-geometry\"),ArrayGroup=require(\"../array_group\"),BufferGroup=require(\"../buffer_group\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),EXTENT=require(\"../extent\"),Anchor=require(\"../../symbol/anchor\"),getAnchors=require(\"../../symbol/get_anchors\"),resolveTokens=require(\"../../util/token\"),Quads=require(\"../../symbol/quads\"),Shaping=require(\"../../symbol/shaping\"),resolveText=require(\"../../symbol/resolve_text\"),mergeLines=require(\"../../symbol/mergelines\"),clipLine=require(\"../../symbol/clip_line\"),util=require(\"../../util/util\"),scriptDetection=require(\"../../util/script_detection\"),loadGeometry=require(\"../load_geometry\"),CollisionFeature=require(\"../../symbol/collision_feature\"),findPoleOfInaccessibility=require(\"../../util/find_pole_of_inaccessibility\"),classifyRings=require(\"../../util/classify_rings\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,rtlTextPlugin=require(\"../../source/rtl_text_plugin\"),shapeText=Shaping.shapeText,shapeIcon=Shaping.shapeIcon,WritingMode=Shaping.WritingMode,getGlyphQuads=Quads.getGlyphQuads,getIconQuads=Quads.getIconQuads,elementArrayType=createElementArrayType(),layoutVertexArrayType=createVertexArrayType([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_texture_pos\",components:2,type:\"Uint16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),symbolInterfaces={glyph:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:\"a_fill_color\",property:\"text-color\",type:\"Uint8\"},{name:\"a_halo_color\",property:\"text-halo-color\",type:\"Uint8\"},{name:\"a_halo_width\",property:\"text-halo-width\",type:\"Uint16\",multiplier:10},{name:\"a_halo_blur\",property:\"text-halo-blur\",type:\"Uint16\",multiplier:10},{name:\"a_opacity\",property:\"text-opacity\",type:\"Uint8\",multiplier:255}]},icon:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:\"a_fill_color\",property:\"icon-color\",type:\"Uint8\"},{name:\"a_halo_color\",property:\"icon-halo-color\",type:\"Uint8\"},{name:\"a_halo_width\",property:\"icon-halo-width\",type:\"Uint16\",multiplier:10},{name:\"a_halo_blur\",property:\"icon-halo-blur\",type:\"Uint16\",multiplier:10},{name:\"a_opacity\",property:\"icon-opacity\",type:\"Uint8\",multiplier:255}]},collisionBox:{layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"},{name:\"a_data\",components:2,type:\"Uint8\"}]),elementArrayType:createElementArrayType(2)}},SymbolBucket=function(e){var t=this;if(this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.sdfIcons=e.sdfIcons,this.iconsNeedLinear=e.iconsNeedLinear,this.adjustedTextSize=e.adjustedTextSize,this.adjustedIconSize=e.adjustedIconSize,this.fontstack=e.fontstack,e.arrays){this.buffers={};for(var o in e.arrays)e.arrays[o]&&(t.buffers[o]=new BufferGroup(symbolInterfaces[o],e.layers,e.zoom,e.arrays[o]))}};SymbolBucket.prototype.populate=function(e,t){var o=this,r=this.layers[0],a=r.layout,i=a[\"text-font\"],n=a[\"icon-image\"],l=i&&(!r.isLayoutValueFeatureConstant(\"text-field\")||a[\"text-field\"]),s=n;if(this.features=[],l||s){for(var c=t.iconDependencies,y=t.glyphDependencies,p=y[i]=y[i]||{},x=0;xEXTENT||i.y<0||i.y>EXTENT);if(!x||n){var l=n||f;r.addSymbolInstance(i,a,t,o,r.layers[0],l,r.collisionBoxArray,e.index,e.sourceLayerIndex,r.index,s,h,m,y,u,g,{zoom:r.zoom},e.properties)}};if(\"line\"===b)for(var S=0,T=clipLine(e.geometry,0,0,EXTENT,EXTENT);S=0;i--)if(o.dist(a[i])7*Math.PI/4)continue}else if(r&&a&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(r&&a&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var m=u.tl,g=u.tr,f=u.bl,b=u.br,v=u.tex,I=u.anchorPoint,S=Math.max(y+Math.log(u.minScale)/Math.LN2,p),T=Math.min(y+Math.log(u.maxScale)/Math.LN2,25);if(!(T<=S)){S===p&&(S=0);var M=Math.round(u.glyphAngle/(2*Math.PI)*256),B=e.prepareSegment(4),A=B.vertexLength;addVertex(c,I.x,I.y,m.x,m.y,v.x,v.y,S,T,p,M),addVertex(c,I.x,I.y,g.x,g.y,v.x+v.w,v.y,S,T,p,M),addVertex(c,I.x,I.y,f.x,f.y,v.x,v.y+v.h,S,T,p,M),addVertex(c,I.x,I.y,b.x,b.y,v.x+v.w,v.y+v.h,S,T,p,M),s.emplaceBack(A,A+1,A+2),s.emplaceBack(A+1,A+2,A+3),B.vertexLength+=4,B.primitiveLength+=2}}e.populatePaintArrays(n)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,r=o.layoutVertexArray,a=o.elementArray,i=-e.angle,n=e.yStretch,l=0,s=t.symbolInstances;lSymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),z>SymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\");var _=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:M,textBoxEndIndex:B,iconBoxStartIndex:A,iconBoxEndIndex:z,glyphQuads:I,iconQuads:v,anchor:e,featureIndex:l,featureProperties:g,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket;\n},{\"../../source/rtl_text_plugin\":90,\"../../symbol/anchor\":157,\"../../symbol/clip_line\":159,\"../../symbol/collision_feature\":161,\"../../symbol/get_anchors\":163,\"../../symbol/mergelines\":166,\"../../symbol/quads\":167,\"../../symbol/resolve_text\":168,\"../../symbol/shaping\":169,\"../../util/classify_rings\":195,\"../../util/find_pole_of_inaccessibility\":201,\"../../util/script_detection\":209,\"../../util/token\":211,\"../../util/util\":212,\"../array_group\":44,\"../buffer_group\":52,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60,\"point-geometry\":26,\"vector-tile\":34}],51:[function(require,module,exports){\n\"use strict\";var AttributeType={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\"},Buffer=function(e,t,r){this.arrayBuffer=e.arrayBuffer,this.length=e.length,this.attributes=t.members,this.itemSize=t.bytesPerElement,this.type=r,this.arrayType=t};Buffer.fromStructArray=function(e,t){return new Buffer(e.serialize(),e.constructor.serialize(),t)},Buffer.prototype.bind=function(e){var t=e[this.type];this.buffer?e.bindBuffer(t,this.buffer):(this.gl=e,this.buffer=e.createBuffer(),e.bindBuffer(t,this.buffer),e.bufferData(t,this.arrayBuffer,e.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.setVertexAttribPointers=function(e,t,r){for(var f=this,i=0;i0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),\"viewport\"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return u};\n},{\"../util/util\":212,\"./extent\":54}],57:[function(require,module,exports){\n\"use strict\";var createStructArrayType=require(\"../util/struct_array\"),PosArray=createStructArrayType({members:[{name:\"a_pos\",type:\"Int16\",components:2}]});module.exports=PosArray;\n},{\"../util/struct_array\":210}],58:[function(require,module,exports){\n\"use strict\";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+\"-\",\"\").replace(/-/g,\"_\"));var i=\"color\"===r._paintSpecifications[t.property].type;return util.extend({name:\"a_\"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=require(\"./vertex_array_type\"),util=require(\"../util/util\"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=\"\"};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(t&&t.hasOwnProperty(\"lng\")&&t.hasOwnProperty(\"lat\"))return new LngLat(t.lng,t.lat);if(Array.isArray(t)&&2===t.length)return new LngLat(t[0],t[1]);throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]\")},module.exports=LngLat;\n},{\"../util/util\":212}],63:[function(require,module,exports){\n\"use strict\";var LngLat=require(\"./lng_lat\"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds;\n},{\"./lng_lat\":62}],64:[function(require,module,exports){\n\"use strict\";var LngLat=require(\"./lng_lat\"),Point=require(\"point-geometry\"),Coordinate=require(\"./coordinate\"),util=require(\"../util/util\"),interp=require(\"../util/interpolate\"),TileCoord=require(\"../source/tile_coord\"),EXTENT=require(\"../data/extent\"),glmatrix=require(\"@mapbox/gl-matrix\"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){var i=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-i)*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o))},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var o=0,e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(o-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r,n,s,a,h=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),i=this.latY(this.latRange[0]),r=i-ti&&(a=i-l)}if(this.lngRange){var u=this.x,f=h.x/2;u-fe&&(s=e-f)}void 0===s&&void 0===a||(this.center=this.unproject(new Point(void 0!==s?s:this.x,void 0!==a?a:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),e=Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance,r=1.01*e,n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),n=mat4.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform;\n},{\"../data/extent\":54,\"../source/tile_coord\":94,\"../util/interpolate\":204,\"../util/util\":212,\"./coordinate\":61,\"./lng_lat\":62,\"@mapbox/gl-matrix\":1,\"point-geometry\":26}],65:[function(require,module,exports){\n\"use strict\";var browser=require(\"./util/browser\"),mapboxgl=module.exports={};mapboxgl.version=require(\"../package.json\").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=require(\"./ui/map\"),mapboxgl.NavigationControl=require(\"./ui/control/navigation_control\"),mapboxgl.GeolocateControl=require(\"./ui/control/geolocate_control\"),mapboxgl.AttributionControl=require(\"./ui/control/attribution_control\"),mapboxgl.ScaleControl=require(\"./ui/control/scale_control\"),mapboxgl.FullscreenControl=require(\"./ui/control/fullscreen_control\"),mapboxgl.Popup=require(\"./ui/popup\"),mapboxgl.Marker=require(\"./ui/marker\"),mapboxgl.Style=require(\"./style/style\"),mapboxgl.LngLat=require(\"./geo/lng_lat\"),mapboxgl.LngLatBounds=require(\"./geo/lng_lat_bounds\"),mapboxgl.Point=require(\"point-geometry\"),mapboxgl.Evented=require(\"./util/evented\"),mapboxgl.supported=require(\"./util/browser\").supported;var config=require(\"./util/config\");mapboxgl.config=config;var rtlTextPlugin=require(\"./source/rtl_text_plugin\");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,\"accessToken\",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}});\n},{\"../package.json\":43,\"./geo/lng_lat\":62,\"./geo/lng_lat_bounds\":63,\"./source/rtl_text_plugin\":90,\"./style/style\":146,\"./ui/control/attribution_control\":173,\"./ui/control/fullscreen_control\":174,\"./ui/control/geolocate_control\":175,\"./ui/control/navigation_control\":177,\"./ui/control/scale_control\":178,\"./ui/map\":187,\"./ui/marker\":188,\"./ui/popup\":189,\"./util/browser\":192,\"./util/config\":196,\"./util/evented\":200,\"point-geometry\":26}],66:[function(require,module,exports){\n\"use strict\";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint[\"background-color\"],l=e.paint[\"background-pattern\"],u=e.paint[\"background-opacity\"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram(\"fillPattern\",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram(\"fill\",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var c=i.coveringTiles({tileSize:n}),g=0,p=c;g\":[24,[4,18,20,9,4,0]],\"?\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\"@\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\"[\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\"\\\\\":[14,[0,21,14,-3]],\"]\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\"^\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\"`\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\"{\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\"|\":[8,[4,25,4,-7]],\"}\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\"~\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};\n},{\"../data/buffer\":51,\"../data/extent\":54,\"../data/pos_array\":57,\"../util/browser\":192,\"./vertex_array_object\":80,\"@mapbox/gl-matrix\":1}],70:[function(require,module,exports){\n\"use strict\";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint[\"fill-pattern\"]&&r.isPaintValueFeatureConstant(\"fill-color\")&&r.isPaintValueFeatureConstant(\"fill-opacity\")&&1===r.paint[\"fill-color\"][3]&&1===r.paint[\"fill-opacity\"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint[\"fill-antialias\"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty(\"fill-outline-color\")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint[\"raster-fade-duration\"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=require(\"../util/util\");module.exports=drawRaster;\n},{\"../util/util\":212}],74:[function(require,module,exports){\n\"use strict\";function drawSymbols(e,t,a,i){if(!e.isOpaquePass){var o=!(a.layout[\"text-allow-overlap\"]||a.layout[\"icon-allow-overlap\"]||a.layout[\"text-ignore-placement\"]||a.layout[\"icon-ignore-placement\"]),r=e.gl;o?r.disable(r.STENCIL_TEST):r.enable(r.STENCIL_TEST),e.setDepthSublayer(0),e.depthMask(!1),drawLayerSymbols(e,t,a,i,!1,a.paint[\"icon-translate\"],a.paint[\"icon-translate-anchor\"],a.layout[\"icon-rotation-alignment\"],a.layout[\"icon-rotation-alignment\"],a.layout[\"icon-size\"]),drawLayerSymbols(e,t,a,i,!0,a.paint[\"text-translate\"],a.paint[\"text-translate-anchor\"],a.layout[\"text-rotation-alignment\"],a.layout[\"text-pitch-alignment\"],a.layout[\"text-size\"]),t.map.showCollisionBoxes&&drawCollisionDebug(e,t,a,i)}}function drawLayerSymbols(e,t,a,i,o,r,n,l,s,u){if(o||!e.style.sprite||e.style.sprite.loaded()){var f=e.gl,m=\"map\"===l,p=\"map\"===s,c=p;c?f.enable(f.DEPTH_TEST):f.disable(f.DEPTH_TEST);for(var d,_,h=0,g=i;hthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);a<=t?r.opacities[a]=r.changeOpacities[a]+o:r.opacities[a]=r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory;\n},{}],76:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(\",\")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1,a=128;if(this.nextRow+s>this.height)return util.warnOnce(\"LineAtlas out of space\"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);var t=8,i=1/t;r.blendColor(i,i,i,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s=\"#define MAPBOX_GL_JS\\n#define DEVICE_PIXEL_RATIO \"+browser.devicePixelRatio.toFixed(1)+\"\\n\";this._showOverdrawInspector&&(s+=\"#define OVERDRAW_INSPECTOR;\\n\");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,\"fragment\"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,\"vertex\"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)};\n},{\"../source/pixels_to_tile_units\":87}],79:[function(require,module,exports){\n\"use strict\";var path=require(\"path\");module.exports={prelude:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\\n if (t < 1.0) {\\n return mix(values[0], values[1], t);\\n } else if (t < 2.0) {\\n return mix(values[1], values[2], t - 1.0);\\n } else {\\n return mix(values[2], values[3], t - 2.0);\\n }\\n}\\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\\n if (t < 1.0) {\\n return mix(value0, value1, t);\\n } else if (t < 2.0) {\\n return mix(value1, value2, t - 1.0);\\n } else {\\n return mix(value2, value3, t - 2.0);\\n }\\n}\\n\\n\\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\n// floor(color.b * 255) * 256 + color.g * 255 ]\\nvec4 decode_color(const vec2 encodedColor) {\\n float r = floor(encodedColor[0]/256.0)/255.0;\\n float g = (encodedColor[0] - r*256.0*255.0)/255.0;\\n float b = floor(encodedColor[1]/256.0)/255.0;\\n float a = (encodedColor[1] - b*256.0*255.0)/255.0;\\n return vec4(r, g, b, a);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\n return mix(packedValue[0], packedValue[1], t);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\n return mix(minColor, maxColor, t);\\n}\\n\\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\\n// vec2 offset = mod(pixel_coord, size)\\n//\\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\\n//\\n// The pixel_coord is passed in as two 16 bit values:\\n// pixel_coord_upper = floor(pixel_coord / 2^16)\\n// pixel_coord_lower = mod(pixel_coord, 2^16)\\n//\\n// The offset is calculated in a series of steps that should preserve this precision:\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\n\\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\n return (tile_units_to_pixels * pos + offset) / pattern_size;\\n}\\n\"},circle:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n float extrude_length = length(v_extrude);\\n float antialiased_blur = -max(blur, v_antialiasblur);\\n\\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\n\\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\n antialiased_blur,\\n 0.0,\\n extrude_length - radius / (radius + stroke_width)\\n );\\n\\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform bool u_scale_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nattribute vec2 a_pos;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main(void) {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n // unencode the extrusion vector that we snuck into the a_pos vector\\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n // in extrusion data\\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\\n\\n if (u_scale_with_map) {\\n gl_Position.xy += extrude;\\n } else {\\n gl_Position.xy += extrude * gl_Position.w;\\n }\\n\\n // This is a minimum blur distance that serves as a faux-antialiasing for\\n // the circle. since blur is a ratio of the circle's size and the intent is\\n // to keep the blur at roughly 1px, the two are inversely related.\\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\n}\\n\"},collisionBox:{fragmentSource:\"uniform float u_zoom;\\nuniform float u_maxzoom;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n\\n float alpha = 0.5;\\n\\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\\n\\n if (v_placement_zoom > u_zoom) {\\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n }\\n\\n if (u_zoom >= v_max_zoom) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\\n }\\n\\n if (v_placement_zoom >= u_maxzoom) {\\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\\n }\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform float u_scale;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\\n\\n v_max_zoom = a_data.x;\\n v_placement_zoom = a_data.y;\\n}\\n\"},debug:{fragmentSource:\"uniform lowp vec4 u_color;\\n\\nvoid main() {\\n gl_FragColor = u_color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\\n}\\n\"},fill:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_FragColor = color * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fillOutline:{fragmentSource:\"#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = smoothstep(1.0, 0.0, dist);\\n gl_FragColor = outline_color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillOutlinePattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n // find distance to outline for alpha interpolation\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = smoothstep(1.0, 0.0, dist);\\n\\n\\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n}\\n\"},fillExtrusion:{fragmentSource:\"varying vec4 v_color;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize lowp vec4 color\\n\\n gl_FragColor = v_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec4 v_color;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\n#pragma mapbox: define lowp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize lowp vec4 color\\n\\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\\n float t = mod(a_normal.x, 2.0);\\n\\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\n\\n // Relative luminance (how dark/bright is the surface color?)\\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\n\\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\\n\\n // Add slight ambient lighting so no extrusions are totally black\\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\n color += ambientlight;\\n\\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\\n\\n // Adjust directional so that\\n // the range of values for highlight/shading is narrower\\n // with lower light intensity\\n // and with lighter/brighter surface colors\\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\n\\n // Add gradient along z axis of side surfaces\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\n // with lower bounds adjusted to hue of light\\n // so that shading is tinted with the complementary (opposite) color to the light color\\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\n}\\n\"},fillExtrusionPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n vec4 mixedColor = mix(color1, color2, u_mix);\\n\\n gl_FragColor = mixedColor * v_lighting;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\nuniform float u_height_factor;\\n\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\nvarying float v_directional;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n float t = mod(a_normal.x, 2.0);\\n float z = t > 0.0 ? height : base;\\n\\n gl_Position = u_matrix * vec4(a_pos, z, 1);\\n\\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\\n ? a_pos // extrusion top\\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\\n\\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\\n\\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\n\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\n}\\n\"},extrusionTexture:{fragmentSource:\"uniform sampler2D u_texture;\\nuniform float u_opacity;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_FragColor = texture2D(u_texture, v_pos) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform int u_xdim;\\nuniform int u_ydim;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos.x = a_pos.x / float(u_xdim);\\n v_pos.y = 1.0 - a_pos.y / float(u_ydim);\\n}\\n\"},line:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_width2;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"},linePattern:{fragmentSource:\"uniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_fade;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\\n\\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\n\\n gl_FragColor = color * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float offset\\n #pragma mapbox: initialize mediump float gapwidth\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_linesofar = a_linesofar;\\n v_width2 = vec2(outset, inset);\\n}\\n\"},lineSDF:{fragmentSource:\"\\nuniform sampler2D u_image;\\nuniform float u_sdfgamma;\\nuniform float u_mix;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_patternscale_a;\\nuniform float u_tex_y_a;\\nuniform vec2 u_patternscale_b;\\nuniform float u_tex_y_b;\\nuniform vec2 u_gl_units_to_pixels;\\nuniform mediump float u_width;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset;\\n \\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist =outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"\n},raster:{fragmentSource:\"uniform float u_fade_t;\\nuniform float u_opacity;\\nuniform sampler2D u_image0;\\nuniform sampler2D u_image1;\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nuniform float u_brightness_low;\\nuniform float u_brightness_high;\\n\\nuniform float u_saturation_factor;\\nuniform float u_contrast_factor;\\nuniform vec3 u_spin_weights;\\n\\nvoid main() {\\n\\n // read and cross-fade colors from the main and parent tiles\\n vec4 color0 = texture2D(u_image0, v_pos0);\\n vec4 color1 = texture2D(u_image1, v_pos1);\\n vec4 color = mix(color0, color1, u_fade_t);\\n color.a *= u_opacity;\\n vec3 rgb = color.rgb;\\n\\n // spin\\n rgb = vec3(\\n dot(rgb, u_spin_weights.xyz),\\n dot(rgb, u_spin_weights.zxy),\\n dot(rgb, u_spin_weights.yzx));\\n\\n // saturation\\n float average = (color.r + color.g + color.b) / 3.0;\\n rgb += (average - rgb) * u_saturation_factor;\\n\\n // contrast\\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\n\\n // brightness\\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\n\\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_tl_parent;\\nuniform float u_scale_parent;\\nuniform float u_buffer_scale;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\n}\\n\"},symbolIcon:{fragmentSource:\"uniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\nattribute vec4 a_pos_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n#pragma mapbox: define lowp float opacity\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_texture_pos.xy;\\n mediump float a_labelminzoom = a_data[0];\\n mediump vec2 a_zoom = a_data.pq;\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n // u_zoom is the current zoom level adjusted for the change in font size\\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n if (u_rotate_with_map) {\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n } else {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"},symbolSDF:{fragmentSource:\"#define SDF_PX 8.0\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\n\\nuniform bool u_is_halo;\\n#pragma mapbox: define lowp vec4 fill_color\\n#pragma mapbox: define lowp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\nuniform lowp float u_font_scale;\\nuniform highp float u_gamma_scale;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 fill_color\\n #pragma mapbox: initialize lowp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n lowp vec4 color = fill_color;\\n highp float gamma = EDGE_GAMMA / u_gamma_scale;\\n lowp float buff = (256.0 - 64.0) / 256.0;\\n if (u_is_halo) {\\n color = halo_color;\\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / u_gamma_scale;\\n buff = (6.0 - halo_width / u_font_scale) / SDF_PX;\\n }\\n\\n lowp float dist = texture2D(u_texture, v_tex).a;\\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\\n highp float gamma_scaled = gamma * v_gamma_scale;\\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n#pragma mapbox: define lowp vec4 fill_color\\n#pragma mapbox: define lowp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform bool u_pitch_with_map;\\nuniform mediump float u_pitch;\\nuniform mediump float u_bearing;\\nuniform mediump float u_aspect_ratio;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 fill_color\\n #pragma mapbox: initialize lowp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_texture_pos.xy;\\n mediump float a_labelminzoom = a_data[0];\\n mediump vec2 a_zoom = a_data.pq;\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n // u_zoom is the current zoom level adjusted for the change in font size\\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n // pitch-alignment: map\\n // rotation-alignment: map | viewport\\n if (u_pitch_with_map) {\\n lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\\n vec2 offset = RotationMatrix * a_offset;\\n vec2 extrude = u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: map\\n } else if (u_rotate_with_map) {\\n // foreshortening factor to apply on pitched maps\\n // as a label goes from horizontal <=> vertical in angle\\n // it goes from 0% foreshortening to up to around 70% foreshortening\\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\\n\\n lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\\n\\n // use the lineangle to position points a,b along the line\\n // project the points and calculate the label angle in projected space\\n // this calculation allows labels to be rendered unskewed on pitched maps\\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\\n\\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\\n vec2 extrude = u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: viewport\\n } else {\\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_gamma_scale = gl_Position.w;\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"}};\n},{\"path\":23}],80:[function(require,module,exports){\n\"use strict\";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,o){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension(\"OES_vertex_array_object\"));var s=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==o;!e.extVertexArrayObject||s?(this.freshBind(e,t,r,i,n,o),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,o){var s,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),s=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=o;else{s=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(\"loadTile\",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast(\"removeSource\",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource;\n},{\"../data/extent\":54,\"../util/evented\":200,\"../util/util\":212,\"../util/window\":194}],83:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),rewind=require(\"geojson-rewind\"),GeoJSONWrapper=require(\"./geojson_wrapper\"),vtpbf=require(\"vt-pbf\"),supercluster=require(\"supercluster\"),geojsonvt=require(\"geojson-vt\"),VectorTileWorkerSource=require(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name=\"_geojsonTileLayer\";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):\"object\"!=typeof o?r(new Error(\"Input data is not a valid GeoJSON object.\")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if(\"string\"!=typeof e.data)return r(new Error(\"Input data is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error(\"Input data is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource;\n},{\"../util/ajax\":191,\"./geojson_wrapper\":84,\"./vector_tile_worker_source\":96,\"geojson-rewind\":7,\"geojson-vt\":11,\"supercluster\":29,\"vt-pbf\":38}],84:[function(require,module,exports){\n\"use strict\";var Point=require(\"point-geometry\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,EXTENT=require(\"../data/extent\"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;a=i._tiles[d],a&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var t=Math.ceil(e.width/e.tileSize)+1,o=Math.ceil(e.height/e.tileSize)+1,i=t*o,r=5;this._cache.setMaxSize(Math.floor(i*r))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(u=this.used?this._source.coord?[this._source.coord]:e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}):[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),a=o.findLoadedParent(r,d,l),a&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire(\"dataloading\",{tile:t,coord:t.coord,dataType:\"source\"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,\"expired\"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-(1/0),n=-(1/0),d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTimei.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e=\"\",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=t:this.dispatcher.send(\"reloadTile\",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send(\"loadTile\",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send(\"abortTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource;\n},{\"../util/evented\":200,\"../util/mapbox\":208,\"../util/util\":212,\"./load_tilejson\":86}],96:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),vt=require(\"vector-tile\"),Protobuf=require(\"pbf\"),WorkerTile=require(\"./worker_tile\"),util=require(\"../util/util\"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];\"parsing\"===l.status?l.reloadCallback=r:\"done\"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var a=t[i],l=a.redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource;\n},{\"../util/ajax\":191,\"../util/util\":212,\"./worker_tile\":99,\"pbf\":25,\"vector-tile\":34}],97:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),ImageSource=require(\"./image_source\"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type=\"video\",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire(\"error\",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener(\"playing\",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener(\"pause\",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},e}(ImageSource);module.exports=VideoSource;\n},{\"../util/ajax\":191,\"./image_source\":85}],98:[function(require,module,exports){\n\"use strict\";var Actor=require(\"../util/actor\"),StyleLayerIndex=require(\"../style/style_layer_index\"),VectorTileWorkerSource=require(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=require(\"./geojson_worker_source\"),globalRTLTextPlugin=require(\"./rtl_text_plugin\"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name \"'+e+'\" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error(\"RTL text plugin already registered.\");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)};\n},{\"../style/style_layer_index\":154,\"../util/actor\":190,\"./geojson_worker_source\":83,\"./rtl_text_plugin\":90,\"./vector_tile_worker_source\":96}],99:[function(require,module,exports){\n\"use strict\";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&\"none\"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(D++,2===D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r\"===i||\"<=\"===i||\">=\"===i?compileComparisonOp(e[1],e[2],i,!0):\"any\"===i?compileLogicalOp(e.slice(1),\"||\"):\"all\"===i?compileLogicalOp(e.slice(1),\"&&\"):\"none\"===i?compileNegation(compileLogicalOp(e.slice(1),\"||\")):\"in\"===i?compileInOp(e[1],e.slice(2)):\"!in\"===i?compileNegation(compileInOp(e[1],e.slice(2))):\"has\"===i?compileHasOp(e[1]):\"!has\"===i?compileNegation(compileHasOp(e[1])):\"true\";return\"(\"+n+\")\"}function compilePropertyReference(e){return\"$type\"===e?\"f.type\":\"$id\"===e?\"f.id\":\"p[\"+JSON.stringify(e)+\"]\"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t=\"$type\"===e?types.indexOf(i):JSON.stringify(i);return(r?\"typeof \"+o+\"=== typeof \"+t+\"&&\":\"\")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){\"$type\"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+\".indexOf(\"+r+\") !== -1\":\"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }(\"+r+\", \"+n+\",0,\"+(i.length-1)+\")\"}function compileHasOp(e){return\"$id\"===e?'\"id\" in f':JSON.stringify(e)+\" in p\"}function compileNegation(e){return\"!(\"+e+\")\"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];\n},{}],104:[function(require,module,exports){\n\"use strict\";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn),g=xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn);return[116*o-16,500*(b-o),200*(o-g),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1],n=r[2];return labToRgb([n,Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}};\n},{}],105:[function(require,module,exports){\n\"use strict\";function identityFunction(t){return t}function createFunction(t,e){var o,n=\"color\"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&\"object\"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||(\"interpolated\"===e.function?\"exponential\":\"interval\");n&&(t=extend({},t),t.stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if(\"exponential\"===s)u=evaluateExponentialFunction;else if(\"interval\"===s)u=evaluateIntervalFunction;else if(\"categorical\"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=binarySearchForIndex(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if(\"number\"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=binarySearchForIndex(t.stops,o);return interpolate(o,n,t.stops[a][0],t.stops[a+1][0],t.stops[a][1],t.stops[a+1][1])}function evaluateIdentityFunction(t,e,o){return\"color\"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function binarySearchForIndex(t,e){for(var o,n,r=t.length,a=0,i=r-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e>=o&&ee&&(i=s-1)}return Math.max(s-1,0)}function interpolate(t,e,o,n,r,a){return\"function\"==typeof r?function(){var i=r.apply(void 0,arguments),s=a.apply(void 0,arguments);if(void 0!==i&&void 0!==s)return interpolate(t,e,o,n,i,s)}:r.length?interpolateArray(t,e,o,n,r,a):interpolateNumber(t,e,o,n,r,a)}function interpolateNumber(t,e,o,n,r,a){var i,s=n-o,u=t-o;return i=1===e?u/s:(Math.pow(e,u)-1)/(Math.pow(e,s)-1),r*(1-i)+a*i}function interpolateArray(t,e,o,n,r,a){for(var i=[],s=0;s255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte(\"%\"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float(\"%\"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,\"\").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if(\"#\"===r[0]){if(4===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null}if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf(\"(\"),t=r.indexOf(\")\");if(a!==-1&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(\",\"),o=1;switch(n){case\"rgba\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"rgb\":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case\"hsla\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"hsl\":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){}\n},{}],108:[function(require,module,exports){\nfunction sss(r){var e,t,s,n,u,a;switch(typeof r){case\"object\":if(null===r)return null;if(isArray(r)){for(s=\"[\",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+\"]\"}for(n=objKeys(r).sort(),t=n.length,s=\"{\",u=n[e=0],a=t>0&&void 0!==r[u];e15?\"\\\\u00\"+e.toString(16):\"\\\\u000\"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return\"\"+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace;\n},{}],109:[function(require,module,exports){\nfunction isObjectLike(r){return!!r&&\"object\"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&(\"object\"==e||\"function\"==e)}function isObjectLike(t){return!!t&&\"object\"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",funcTag=\"[object Function]\",genTag=\"[object GeneratorFunction]\",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments;\n},{}],113:[function(require,module,exports){\nfunction isObjectLike(t){return!!t&&\"object\"==typeof t}function getNative(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}function isLength(t){return\"number\"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&(\"object\"==r||\"function\"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var arrayTag=\"[object Array]\",funcTag=\"[object Function]\",reIsHostCtor=/^\\[object .+?Constructor\\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp(\"^\"+fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),nativeIsArray=getNative(Array,\"isArray\"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(t){return isObjectLike(t)&&isLength(t.length)&&objToString.call(t)==arrayTag};module.exports=isArray;\n},{}],114:[function(require,module,exports){\nfunction isEqual(a,l,i,e){i=\"function\"==typeof i?bindCallback(i,e,3):void 0;var s=i?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=require(\"lodash._baseisequal\"),bindCallback=require(\"lodash._bindcallback\");module.exports=isEqual;\n},{\"lodash._baseisequal\":109,\"lodash._bindcallback\":110}],115:[function(require,module,exports){\nfunction isLength(a){return\"number\"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&\"object\"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",arrayTag=\"[object Array]\",boolTag=\"[object Boolean]\",dateTag=\"[object Date]\",errorTag=\"[object Error]\",funcTag=\"[object Function]\",mapTag=\"[object Map]\",numberTag=\"[object Number]\",objectTag=\"[object Object]\",regexpTag=\"[object RegExp]\",setTag=\"[object Set]\",stringTag=\"[object String]\",weakMapTag=\"[object WeakMap]\",arrayBufferTag=\"[object ArrayBuffer]\",dataViewTag=\"[object DataView]\",float32Tag=\"[object Float32Array]\",float64Tag=\"[object Float64Array]\",int8Tag=\"[object Int8Array]\",int16Tag=\"[object Int16Array]\",int32Tag=\"[object Int32Array]\",uint8Tag=\"[object Uint8Array]\",uint8ClampedTag=\"[object Uint8ClampedArray]\",uint16Tag=\"[object Uint16Array]\",uint32Tag=\"[object Uint32Array]\",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objectToString=objectProto.toString;module.exports=isTypedArray;\n},{}],116:[function(require,module,exports){\nfunction baseProperty(e){return function(t){return null==t?void 0:t[e]}}function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e=\"number\"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n\":{},\">=\":{},\"<\":{},\"<=\":{},\"in\":{},\"!in\":{},\"all\":{},\"any\":{},\"none\":{},\"has\":{},\"!has\":{}}},\"geometry_type\":{\"type\":\"enum\",\"values\":{\"Point\":{},\"LineString\":{},\"Polygon\":{}}},\"function\":{\"stops\":{\"type\":\"array\",\"value\":\"function_stop\"},\"base\":{\"type\":\"number\",\"default\":1,\"minimum\":0},\"property\":{\"type\":\"string\",\"default\":\"$zoom\"},\"type\":{\"type\":\"enum\",\"values\":{\"identity\":{},\"exponential\":{},\"interval\":{},\"categorical\":{}},\"default\":\"exponential\"},\"colorSpace\":{\"type\":\"enum\",\"values\":{\"rgb\":{},\"lab\":{},\"hcl\":{}},\"default\":\"rgb\"},\"default\":{\"type\":\"*\",\"required\":false}},\"function_stop\":{\"type\":\"array\",\"minimum\":0,\"maximum\":22,\"value\":[\"number\",\"color\"],\"length\":2},\"light\":{\"anchor\":{\"type\":\"enum\",\"default\":\"viewport\",\"values\":{\"map\":{},\"viewport\":{}},\"transition\":false},\"position\":{\"type\":\"array\",\"default\":[1.15,210,30],\"length\":3,\"value\":\"number\",\"transition\":true,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false},\"color\":{\"type\":\"color\",\"default\":\"#ffffff\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true},\"intensity\":{\"type\":\"number\",\"default\":0.5,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true}},\"paint\":[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_background\"],\"paint_fill\":{\"fill-antialias\":{\"type\":\"boolean\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"default\":true},\"fill-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"}]},\"fill-outline-color\":{\"type\":\"color\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"},{\"fill-antialias\":true}]},\"fill-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-translate\"]},\"fill-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-extrusion-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-extrusion-pattern\"}]},\"fill-extrusion-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-extrusion-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-extrusion-translate\"]},\"fill-extrusion-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"fill-extrusion-height\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true},\"fill-extrusion-base\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true,\"requires\":[\"fill-extrusion-height\"]}},\"paint_line\":{\"line-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"line-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"line-pattern\"}]},\"line-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"line-translate\"]},\"line-width\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-gap-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-offset\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-dasharray\":{\"type\":\"array\",\"value\":\"number\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"minimum\":0,\"transition\":true,\"units\":\"line widths\",\"requires\":[{\"!\":\"line-pattern\"}]},\"line-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_circle\":{\"circle-radius\":{\"type\":\"number\",\"default\":5,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-blur\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"circle-translate\"]},\"circle-pitch-scale\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\"},\"circle-stroke-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-stroke-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-stroke-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true}},\"paint_symbol\":{\"icon-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"icon-image\",\"icon-translate\"]},\"text-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"text-field\",\"text-translate\"]}},\"paint_raster\":{\"raster-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-hue-rotate\":{\"type\":\"number\",\"default\":0,\"period\":360,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"degrees\"},\"raster-brightness-min\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":0,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-brightness-max\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-saturation\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-contrast\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-fade-duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"milliseconds\"}},\"paint_background\":{\"background-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"requires\":[{\"!\":\"background-pattern\"}]},\"background-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"background-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true}},\"transition\":{\"duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"units\":\"milliseconds\"},\"delay\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"units\":\"milliseconds\"}}}\n},{}],119:[function(require,module,exports){\n\"use strict\";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,\"constants have been deprecated as of v8\")];if(!(a in l.constants))return[new ValidationError(u,a,'constant \"%s\" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&\"object\"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))};\n},{\"../error/validation_error\":102,\"../util/extend\":119,\"../util/get_type\":120,\"./validate_array\":125,\"./validate_boolean\":126,\"./validate_color\":127,\"./validate_constants\":128,\"./validate_enum\":129,\"./validate_filter\":130,\"./validate_function\":131,\"./validate_layer\":133,\"./validate_light\":135,\"./validate_number\":136,\"./validate_object\":137,\"./validate_source\":140,\"./validate_string\":141}],125:[function(require,module,exports){\n\"use strict\";var getType=require(\"../util/get_type\"),validate=require(\"./validate\"),ValidationError=require(\"../error/validation_error\");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if(\"array\"!==getType(r))return[new ValidationError(l,r,\"array expected, %s found\",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,\"array length %d expected, length %d found\",t.length,r.length)];if(t[\"min-length\"]&&r.length7)return t?[new ValidationError(e,t,\"constants have been deprecated as of v8\")]:[];var o=getType(t);if(\"object\"!==o)return[new ValidationError(e,t,\"object expected, %s found\",o)];var n=[];for(var i in t)\"@\"!==i[0]&&n.push(new ValidationError(e+\".\"+i,t[i],'constants must start with \"@\"'));return n};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],129:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?u.values.indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",u.values.join(\", \"),n)):Object.keys(u.values).indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",Object.keys(u.values).join(\", \"),n)),o};\n},{\"../error/validation_error\":102,\"../util/unbundle_jsonlint\":123}],130:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),validateEnum=require(\"./validate_enum\"),getType=require(\"../util/get_type\"),unbundle=require(\"../util/unbundle_jsonlint\");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if(\"array\"!==getType(a))return[new ValidationError(n,a,\"array expected, %s found\",getType(a))];if(a.length<1)return[new ValidationError(n,a,\"filter array must have at least 1 element\")];switch(s=s.concat(validateEnum({key:n+\"[0]\",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case\"<\":case\"<=\":case\">\":case\">=\":a.length>=2&&\"$type\"===unbundle(a[1])&&s.push(new ValidationError(n,a,'\"$type\" cannot be use with operator \"%s\"',a[0]));case\"==\":case\"!=\":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator \"%s\" must have 3 elements',a[0]));case\"in\":case\"!in\":a.length>=2&&(t=getType(a[1]),\"string\"!==t&&s.push(new ValidationError(n+\"[1]\",a[1],\"string expected, %s found\",t)));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,\"stop zoom values must appear in ascending order\")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+\"[0]\",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+\"[0]\",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+\"[1]\",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,\"%s stop domain type must match previous stop domain type %s\",t,n)]}else n=t;if(\"number\"!==t&&\"string\"!==t&&\"boolean\"!==t)return[new ValidationError(e.key,e.value,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==t&&\"categorical\"!==p){var a=\"number expected, %s found\";return u[\"property-function\"]&&void 0===p&&(a+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ValidationError(e.key,e.value,a,t)]}return\"categorical\"!==p||\"number\"!==t||isFinite(r)&&Math.floor(r)===r?\"number\"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec[\"property-function\"]?v.push(new ValidationError(e.key,e.value,\"property functions not supported\")):y&&!e.valueSpec[\"zoom-function\"]&&v.push(new ValidationError(e.key,e.value,\"zoom functions not supported\"))),\"categorical\"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'\"property\" property is required')),v};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"../util/unbundle_jsonlint\":123,\"./validate\":124,\"./validate_array\":125,\"./validate_number\":136,\"./validate_object\":137}],132:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),validateString=require(\"./validate_string\");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(e.indexOf(\"{fontstack}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{fontstack}\" token')),e.indexOf(\"{range}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{range}\" token')),a)};\n},{\"../error/validation_error\":102,\"./validate_string\":141}],133:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\"),validateObject=require(\"./validate_object\"),validateFilter=require(\"./validate_filter\"),validatePaintProperty=require(\"./validate_paint_property\"),validateLayoutProperty=require(\"./validate_layout_property\"),extend=require(\"../util/extend\");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either \"type\" or \"ref\" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,\"%s is greater than the maximum value %s\",i,m.maximum)]:[]};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],137:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),getType=require(\"../util/get_type\"),validateSpec=require(\"./validate\");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if(\"object\"!==u)return[new ValidationError(r,t,\"object expected, %s found\",u)];for(var d in t){var p=d.split(\".\")[0],s=i[p]||i[\"*\"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a[\"*\"])c=a[\"*\"];else{if(!i[\"*\"]){n.push(new ValidationError(r,t[d],'unknown property \"%s\"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+\".\":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property \"%s\"',v));return n};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"./validate\":124}],138:[function(require,module,exports){\n\"use strict\";var validateProperty=require(\"./validate_property\");module.exports=function(r){return validateProperty(r,\"paint\")};\n},{\"./validate_property\":139}],139:[function(require,module,exports){\n\"use strict\";var validate=require(\"./validate\"),ValidationError=require(\"../error/validation_error\"),getType=require(\"../util/get_type\");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+\"_\"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if(\"paint\"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property \"%s\"',o)];var s;if(\"string\"===getType(n)&&p[\"property-function\"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'\"%s\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return\"symbol\"===e.layerType&&\"text-field\"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of \"text-field\" requires a style \"glyphs\" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"./validate\":124}],140:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\"),validateObject=require(\"./validate_object\"),validateEnum=require(\"./validate_enum\");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'\"type\" is required')];var u=unbundle(a.type),i=[];switch(u){case\"vector\":case\"raster\":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),\"url\"in a)for(var s in a)[\"type\",\"url\",\"tileSize\"].indexOf(s)<0&&i.push(new ValidationError(t+\".\"+s,a[s],'a source with a \"url\" property may not include a \"%s\" property',s));return i;case\"geojson\":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case\"video\":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case\"image\":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case\"canvas\":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+\".type\",value:a.type,valueSpec:{values:[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"]},style:l,styleSpec:r})}};\n},{\"../error/validation_error\":102,\"../util/unbundle_jsonlint\":123,\"./validate_enum\":129,\"./validate_object\":137}],141:[function(require,module,exports){\n\"use strict\";var getType=require(\"../util/get_type\"),ValidationError=require(\"../error/validation_error\");module.exports=function(r){var e=r.value,t=r.key,i=getType(e);return\"string\"!==i?[new ValidationError(t,e,\"string expected, %s found\",i)]:[]};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],142:[function(require,module,exports){\n\"use strict\";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:\"\",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,\"*\":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:\"constants\",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=require(\"./validate/validate_constants\"),validate=require(\"./validate/validate\"),latestStyleSpec=require(\"./reference/latest\"),validateGlyphsURL=require(\"./validate/validate_glyphs_url\");validateStyleMin.source=wrapCleanErrors(require(\"./validate/validate_source\")),validateStyleMin.light=wrapCleanErrors(require(\"./validate/validate_light\")),validateStyleMin.layer=wrapCleanErrors(require(\"./validate/validate_layer\")),validateStyleMin.filter=wrapCleanErrors(require(\"./validate/validate_filter\")),validateStyleMin.paintProperty=wrapCleanErrors(require(\"./validate/validate_paint_property\")),validateStyleMin.layoutProperty=wrapCleanErrors(require(\"./validate/validate_layout_property\")),module.exports=validateStyleMin;\n},{\"./reference/latest\":117,\"./validate/validate\":124,\"./validate/validate_constants\":128,\"./validate/validate_filter\":130,\"./validate/validate_glyphs_url\":132,\"./validate/validate_layer\":133,\"./validate/validate_layout_property\":134,\"./validate/validate_light\":135,\"./validate/validate_paint_property\":138,\"./validate/validate_source\":140}],143:[function(require,module,exports){\n\"use strict\";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop;\n},{}],144:[function(require,module,exports){\n\"use strict\";var Evented=require(\"../util/evented\"),ajax=require(\"../util/ajax\"),browser=require(\"../util/browser\"),normalizeURL=require(\"../util/mapbox\").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function i(i,e){var a=this;t.call(this),this.base=i,this.retina=browser.devicePixelRatio>1,this.setEventedParent(e);var r=this.retina?\"@2x\":\"\";ajax.getJSON(normalizeURL(i,r,\".json\"),function(t,i){return t?void a.fire(\"error\",{error:t}):(a.data=i,void(a.imgData&&a.fire(\"data\",{dataType:\"style\"})))}),ajax.getImage(normalizeURL(i,r,\".png\"),function(t,i){if(t)return void a.fire(\"error\",{error:t});a.imgData=browser.getImageData(i);for(var e=0;e1!==this.retina){var e=new i(this.base);e.on(\"data\",function(){t.data=e.data,t.imgData=e.imgData,t.width=e.width,t.retina=e.retina})}},i.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var i=this.data&&this.data[t];return i&&this.imgData?i:new SpritePosition},i}(Evented);module.exports=ImageSprite;\n},{\"../util/ajax\":191,\"../util/browser\":192,\"../util/evented\":200,\"../util/mapbox\":208}],145:[function(require,module,exports){\n\"use strict\";var styleSpec=require(\"../style-spec/reference/latest\"),util=require(\"../util/util\"),Evented=require(\"../util/evented\"),validateStyle=require(\"./validate_style\"),StyleDeclaration=require(\"./style_declaration\"),StyleTransition=require(\"./style_transition\"),TRANSITION_SUFFIX=\"-transition\",Light=function(t){function i(i){t.call(this),this.properties=[\"anchor\",\"color\",\"position\",\"intensity\"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];\"reload\"===a?r._reloadSource(s):\"clear\"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire(\"data\",{dataType:\"style\"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return\"symbol\"===r._layers[e].type}):null;this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;e=util.extend({},e),e.layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error(\"Unimplemented: \"+i.map(function(e){return e.command}).join(\", \")+\".\");return r.forEach(function(e){\"setTransition\"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!t.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(t)+\".\");var o=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"],s=o.indexOf(t.type)>=0;if(!s||!this._validate(validateStyle.source,\"sources.\"+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if(\"object\"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,\"layers.\"+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?\"clear\":\"reload\"}this._updateLayer(o),\"symbol\"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(!r)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")});var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),\"symbol\"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]=\"reload\"))},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(!t)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")});t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),\"symbol\"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,\"layers.\"+r.id+\".filter\",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(!o)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")});if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i);var a=!(r&&MapboxGLFunction.isFunctionDefinition(r)&&\"$zoom\"!==r.property&&void 0!==r.property);a&&s||this._updateLayer(o),this.updateClasses(e,t)}},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||\"all\"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]=\"reload\"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||\"none\"===this.layout.visibility)},i.prototype.updatePaintTransitions=function(t,i,a,e,n){for(var o=this,r=util.extend({},this._paintDeclarations[\"\"]),s=0;s=this.endTime)return e;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((o-this.startTime-this.delay)/this.duration);return this.interp(a,e,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var o=t.zoom,e=this.zoomHistory.lastIntegerZoom,a=o>e?2:.5,n=this.declaration.calculate({zoom:o>e?o-1:o+1},i),r=this.declaration.calculate({zoom:o},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(o-e),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition;\n},{\"../util/interpolate\":204,\"../util/util\":212}],156:[function(require,module,exports){\n\"use strict\";module.exports=require(\"../style-spec/validate_style.min\"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(s--,s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;fr;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle;\n},{}],159:[function(require,module,exports){\n\"use strict\";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=require(\"point-geometry\");module.exports=clipLine;\n},{\"point-geometry\":26}],160:[function(require,module,exports){\n\"use strict\";var createStructArrayType=require(\"../util/struct_array\"),Point=require(\"point-geometry\"),CollisionBoxArray=createStructArrayType({members:[{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Float32\",name:\"maxScale\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"},{type:\"Int16\",name:\"bbox0\"},{type:\"Int16\",name:\"bbox1\"},{type:\"Int16\",name:\"bbox2\"},{type:\"Int16\",name:\"bbox3\"},{type:\"Float32\",name:\"placementScale\"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,\"anchorPoint\",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray;\n},{\"../util/struct_array\":210,\"point-geometry\":26}],161:[function(require,module,exports){\n\"use strict\";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(m--,m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],C=e[m+1],B=C.sub(p)._unit()._mult(g)._add(p)._round(),M=Math.max(Math.abs(c-h)-d/2,0),y=s/2/M;t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature;\n},{}],162:[function(require,module,exports){\n\"use strict\";var Point=require(\"point-geometry\"),EXTENT=require(\"../data/extent\"),Grid=require(\"grid-index\"),intersectionTests=require(\"../util/intersection_tests\"),CollisionTile=function(t,e,i){if(\"object\"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);S=r.tempCollisionBox,S.anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-(1/0),c=-(1/0),g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+c<=s){var M=new Anchor(k,q,y,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=A}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,h)),x}var interpolate=require(\"../util/interpolate\"),Anchor=require(\"../symbol/anchor\"),checkMaxAngle=require(\"./check_max_angle\");module.exports=getAnchors;\n},{\"../symbol/anchor\":157,\"../util/interpolate\":204,\"./check_max_angle\":158}],164:[function(require,module,exports){\n\"use strict\";var ShelfPack=require(\"@mapbox/shelf-pack\"),util=require(\"../util/util\"),SIZE_GROWTH_RATE=4,DEFAULT_SIZE=128,MAX_SIZE=2048,GlyphAtlas=function(){this.width=DEFAULT_SIZE,this.height=DEFAULT_SIZE,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+\"#\"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,n=1,l=a+2*n,T=E+2*n;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce(\"glyph bitmap overflow\"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=MAX_SIZE||e>=MAX_SIZE)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=SIZE_GROWTH_RATE,this.height*=SIZE_GROWTH_RATE,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a(\"glyphs > 65535 not supported\");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var i=256*e+\"-\"+(256*e+255),r=glyphUrl(t,i,this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},i.prototype.addIcons=function(t,i){for(var e=this,r=0;r1||(b?(clearTimeout(b),b=null,h(\"dblclick\",t)):b=setTimeout(l,300))}function i(e){f(\"touchmove\",e)}function c(e){f(\"touchend\",e)}function d(e){f(\"touchcancel\",e)}function l(){b=null}function s(e){var t=DOM.mousePos(g,e);t.equals(L)&&h(\"click\",e)}function v(e){h(\"dblclick\",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h(\"contextmenu\",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener(\"mouseout\",n,!1),g.addEventListener(\"mousedown\",o,!1),g.addEventListener(\"mouseup\",r,!1),g.addEventListener(\"mousemove\",a,!1),g.addEventListener(\"touchstart\",u,!1),g.addEventListener(\"touchend\",c,!1),g.addEventListener(\"touchmove\",i,!1),g.addEventListener(\"touchcancel\",d,!1),g.addEventListener(\"click\",s,!1),g.addEventListener(\"dblclick\",v,!1),g.addEventListener(\"contextmenu\",m,!1)};\n},{\"../util/dom\":199,\"./handler/box_zoom\":179,\"./handler/dblclick_zoom\":180,\"./handler/drag_pan\":181,\"./handler/drag_rotate\":182,\"./handler/keyboard\":183,\"./handler/scroll_zoom\":184,\"./handler/touch_zoom_rotate\":185,\"point-geometry\":26}],172:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),interpolate=require(\"../util/interpolate\"),browser=require(\"../util/browser\"),LngLat=require(\"../geo/lng_lat\"),LngLatBounds=require(\"../geo/lng_lat_bounds\"),Point=require(\"point-geometry\"),Evented=require(\"../util/evented\"),Camera=function(t){function i(i,e){t.call(this),this.moving=!1,this.transform=i,this._bearingSnap=e.bearingSnap}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i),this},i.prototype.panBy=function(t,i,e){return this.panTo(this.transform.center,util.extend({offset:Point.convert(t).mult(-1)},i),e),this},i.prototype.panTo=function(t,i,e){return this.easeTo(util.extend({center:t},i),e)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,i){return this.jumpTo({zoom:t},i),this},i.prototype.zoomTo=function(t,i,e){return this.easeTo(util.extend({zoom:t},i),e)},i.prototype.zoomIn=function(t,i){return this.zoomTo(this.getZoom()+1,t,i),this},i.prototype.zoomOut=function(t,i){return this.zoomTo(this.getZoom()-1,t,i),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,i){return this.jumpTo({bearing:t},i),this},i.prototype.rotateTo=function(t,i,e){return this.easeTo(util.extend({bearing:t},i),e)},i.prototype.resetNorth=function(t,i){return this.rotateTo(0,util.extend({duration:1e3},t),i),this},i.prototype.snapToNorth=function(t,i){return Math.abs(this.getBearing())i?1:0}),[\"bottom\",\"left\",\"right\",\"top\"]))return void util.warnOnce(\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\");t=LngLatBounds.convert(t);var n=[i.padding.left-i.padding.right,i.padding.top-i.padding.bottom],r=Math.min(i.padding.right,i.padding.left),s=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var a=Point.convert(i.offset),h=this.transform,u=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),c=p.sub(u),g=(h.width-2*r-2*Math.abs(a.x))/c.x,m=(h.height-2*s-2*Math.abs(a.y))/c.y;return m<0||g<0?void util.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\"):(i.center=h.unproject(u.add(p).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,m)),i.maxZoom),i.bearing=0,i.linear?this.easeTo(i,e):this.flyTo(i,e))},i.prototype.jumpTo=function(t,i){this.stop();var e=this.transform,o=!1,n=!1,r=!1;return\"zoom\"in t&&e.zoom!==+t.zoom&&(o=!0,e.zoom=+t.zoom),\"center\"in t&&(e.center=LngLat.convert(t.center)),\"bearing\"in t&&e.bearing!==+t.bearing&&(n=!0,e.bearing=+t.bearing),\"pitch\"in t&&e.pitch!==+t.pitch&&(r=!0,e.pitch=+t.pitch),this.fire(\"movestart\",i).fire(\"move\",i),o&&this.fire(\"zoomstart\",i).fire(\"zoom\",i).fire(\"zoomend\",i),n&&this.fire(\"rotate\",i),r&&this.fire(\"pitch\",i),this.fire(\"moveend\",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),t=util.extend({offset:[0,0],duration:500,easing:util.ease},t);var o,n,r=this.transform,s=Point.convert(t.offset),a=this.getZoom(),h=this.getBearing(),u=this.getPitch(),p=\"zoom\"in t?+t.zoom:a,c=\"bearing\"in t?this._normalizeBearing(t.bearing,h):h,g=\"pitch\"in t?+t.pitch:u;\"center\"in t?(o=LngLat.convert(t.center),n=r.centerPoint.add(s)):\"around\"in t?(o=LngLat.convert(t.around),n=r.locationPoint(o)):(n=r.centerPoint.add(s),o=r.pointLocation(n));var m=r.locationPoint(o);return t.animate===!1&&(t.duration=0),this.zooming=p!==a,this.rotating=h!==c,this.pitching=g!==u,t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration)),t.noMoveStart||(this.moving=!0,this.fire(\"movestart\",i)),this.zooming&&this.fire(\"zoomstart\",i),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(r.zoom=interpolate(a,p,t)),this.rotating&&(r.bearing=interpolate(h,c,t)),this.pitching&&(r.pitch=interpolate(u,g,t)),r.setLocationAtPoint(o,m.add(n.sub(m)._mult(t))),this.fire(\"move\",i),this.zooming&&this.fire(\"zoom\",i),this.rotating&&this.fire(\"rotate\",i),this.pitching&&this.fire(\"pitch\",i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(e._easeToEnd.bind(e,i),t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._easeToEnd=function(t){var i=this.zooming;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire(\"zoomend\",t),this.fire(\"moveend\",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(y*y-z*z+(t?-1:1)*E*E*_*_)/(2*(t?y:z)*E*_);return Math.log(Math.sqrt(i*i+1)-i)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,a=Point.convert(t.offset),h=this.getZoom(),u=this.getBearing(),p=this.getPitch(),c=\"center\"in t?LngLat.convert(t.center):this.getCenter(),g=\"zoom\"in t?+t.zoom:h,m=\"bearing\"in t?this._normalizeBearing(t.bearing,u):u,f=\"pitch\"in t?+t.pitch:p;Math.abs(s.center.lng)+Math.abs(c.lng)>180&&(s.center.lng>0&&c.lng<0?c.lng+=360:s.center.lng<0&&c.lng>0&&(c.lng-=360));var d=s.zoomScale(g-h),l=s.point,v=\"center\"in t?s.project(c).sub(a.div(d)):l,b=t.curve,z=Math.max(s.width,s.height),y=z/d,_=v.sub(l).mag();if(\"minZoom\"in t){var M=util.clamp(Math.min(t.minZoom,h,g),s.minZoom,s.maxZoom),T=z/s.zoomScale(M-h);b=Math.sqrt(T/_*2)}var E=b*b,x=e(0),L=function(t){return n(x)/n(x+b*t)},Z=function(t){return z*((n(x)*r(x+b*t)-o(x))/E)/_},P=(e(1)-x)/b;if(Math.abs(_)<1e-6){if(Math.abs(z-y)<1e-6)return this.easeTo(t,i);var j=y=0)return!1;return!0}),this._container.innerHTML=i.join(\" | \"),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?\"add\":\"remove\"](\"compact\")},module.exports=AttributionControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],174:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};FullscreenControl.prototype.onAdd=function(e){var n=\"mapboxgl-ctrl\",t=this._container=DOM.create(\"div\",n+\" mapboxgl-ctrl-group\"),l=this._fullscreenButton=DOM.create(\"button\",n+\"-icon \"+n+\"-fullscreen\",this._container);return l.setAttribute(\"aria-label\",\"Toggle fullscreen\"),l.type=\"button\",this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),t},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(e){if(e.target===this._mapContainer){this._fullscreen=!this._fullscreen;var n=\"mapboxgl-ctrl\";this._fullscreenButton.classList.toggle(n+\"-shrink\"),this._fullscreenButton.classList.toggle(n+\"-fullscreen\")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&window.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],175:[function(require,module,exports){\n\"use strict\";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:\"geolocation\"}).then(function(o){supportsGeolocation=\"denied\"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var Evented=require(\"../../util/evented\"),DOM=require(\"../../util/dom\"),window=require(\"../../util/window\"),util=require(\"../../util/util\"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},className=\"mapboxgl-ctrl\",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll([\"_onSuccess\",\"_onError\",\"_finish\",\"_setupUI\"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(\"geolocate\",t),this._finish()},o.prototype._onError=function(t){this.fire(\"error\",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){t!==!1&&(this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create(\"button\",className+\"-icon \"+className+\"-geolocate\",this._container),this._geolocateButton.type=\"button\",this._geolocateButton.setAttribute(\"aria-label\",\"Geolocate\"),this.options.watchPosition&&this._geolocateButton.setAttribute(\"aria-pressed\",!1),this._geolocateButton.addEventListener(\"click\",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove(\"watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add(\"watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl;\n},{\"../../util/dom\":199,\"../../util/evented\":200,\"../../util/util\":212,\"../../util/window\":194}],176:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),LogoControl=function(){util.bindAll([\"_updateLogo\"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create(\"div\",\"mapboxgl-ctrl\"),this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"sourcedata\",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},LogoControl.prototype._updateLogo=function(o){if(o&&\"metadata\"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create(\"a\",\"mapboxgl-ctrl-logo\");t.target=\"_blank\",t.href=\"https://www.mapbox.com/\",t.setAttribute(\"aria-label\",\"Mapbox logo\"),this._container.appendChild(t),this._map.off(\"data\",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){var e=o[t].getSource();if(e.mapbox_logo)return!0}return!1}},module.exports=LogoControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],177:[function(require,module,exports){\n\"use strict\";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=require(\"../../util/dom\"),window=require(\"../../util/window\"),util=require(\"../../util/util\"),className=\"mapboxgl-ctrl\",NavigationControl=function(){util.bindAll([\"_rotateCompassArrow\"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t=\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\",t.getContainer()),this._container.addEventListener(\"contextmenu\",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+\"-icon \"+className+\"-zoom-in\",\"Zoom In\",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+\"-icon \"+className+\"-zoom-out\",\"Zoom Out\",t.zoomOut.bind(t)),this._compass=this._createButton(className+\"-icon \"+className+\"-compass\",\"Reset North\",t.resetNorth.bind(t)),this._compassArrow=DOM.create(\"span\",className+\"-compass-arrow\",this._compass),this._compass.addEventListener(\"mousedown\",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"rotate\",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener(\"mousemove\",this._onCompassMove),window.document.addEventListener(\"mouseup\",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener(\"mousemove\",this._onCompassMove),window.document.removeEventListener(\"mouseup\",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create(\"button\",t,this._container);return n.type=\"button\",n.setAttribute(\"aria-label\",o),n.addEventListener(\"click\",function(){e()}),n},module.exports=NavigationControl;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],178:[function(require,module,exports){\n\"use strict\";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&\"imperial\"===o.unit){var r=3.2808*a;if(r>5280){var l=r/5280;setScale(e,n,l,\"mi\")}else setScale(e,n,r,\"ft\")}else setScale(e,n,a,\"m\")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;\"m\"===n&&i>=1e3&&(i/=1e3,n=\"km\"),t.style.width=e*a+\"px\",t.innerHTML=i+n}function getDistance(t,e){var o=6371e3,n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n),l=o*Math.acos(Math.min(r,1));return l}function getRoundNum(t){var e=Math.pow(10,(\"\"+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),ScaleControl=function(t){this.options=t,util.bindAll([\"_onMove\"],this)};ScaleControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},module.exports=ScaleControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],179:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),LngLatBounds=require(\"../../geo/lng_lat_bounds\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll([\"_onMouseDown\",\"_onMouseMove\",\"_onMouseUp\",\"_onKeyDown\"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onMouseDown,!1),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener(\"mousemove\",this._onMouseMove,!1),window.document.addEventListener(\"keydown\",this._onKeyDown,!1),window.document.addEventListener(\"mouseup\",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),r=Math.max(e.y,t.y);DOM.setTransform(this._box,\"translate(\"+n+\"px,\"+s+\"px)\"),this._box.style.width=i-n+\"px\",this._box.style.height=r-s+\"px\"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent(\"boxzoomcancel\",o):this._map.fitBounds(n,{linear:!0}).fire(\"boxzoomend\",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent(\"boxzoomcancel\",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener(\"mousemove\",this._onMouseMove,!1),window.document.removeEventListener(\"keydown\",this._onKeyDown,!1),window.document.removeEventListener(\"mouseup\",this._onMouseUp,!1),this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler;\n},{\"../../geo/lng_lat_bounds\":63,\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],180:[function(require,module,exports){\n\"use strict\";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on(\"dblclick\",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off(\"dblclick\",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler;\n},{}],181:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.3,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=1400,inertiaDeceleration=2500,DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\",\"_onTouchEnd\",\"_onMouseUp\"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._el.addEventListener(\"touchstart\",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._el.removeEventListener(\"touchstart\",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener(\"touchmove\",this._onMove),window.document.addEventListener(\"touchend\",this._onTouchEnd)):(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onMouseUp)),window.addEventListener(\"blur\",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"dragstart\",t),this._fireEvent(\"movestart\",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent(\"drag\",t),this._fireEvent(\"move\",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent(\"dragend\",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent(\"moveend\",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(inertiaLinearity/s),d=u.mag();d>inertiaMaxSpeed&&(d=inertiaMaxSpeed,u._unit()._mult(d));var h=d/(inertiaDeceleration*inertiaLinearity),v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onMouseUp),window.removeEventListener(\"blur\",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var n=1,i=0;return\"mousemove\"===t.type?t.buttons&0===n:t.button&&t.button!==i},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),n=160;t.length>0&&e-t[0][0]>n;)t.shift()},module.exports=DragPanHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],182:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,this._pitchWithRotate=e.pitchWithRotate!==!1,util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onUp),window.addEventListener(\"blur\",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=(i.y-n.y)*-.5,o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,v=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,v[1])]),e.transform.bearing=o,this._pitchWithRotate&&(e.transform.pitch=s),this._fireEvent(\"rotate\",t),this._fireEvent(\"move\",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onUp),window.removeEventListener(\"blur\",this._onUp),this.isActive())){this._active=!1,this._fireEvent(\"rotateend\",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)inertiaMaxSpeed&&(p=inertiaMaxSpeed);var l=p/(inertiaDeceleration*inertiaLinearity),g=u*p*(l/2);v+=g,Math.abs(i._normalizeBearing(v,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return\"undefined\"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0&&(r=0),\"mousemove\"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),i=160;t.length>0&&e-t[0][0]>i;)t.shift()},module.exports=DragRotateHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],183:[function(require,module,exports){\n\"use strict\";function easeOut(e){return e*(2-e)}var panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"keydown\",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"keydown\",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,n=0,a=0,i=0,r=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?a=1:(e.preventDefault(),r=-1);break;case 40:e.shiftKey?a=-1:(r=1,e.preventDefault())}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+n*bearingStep,pitch:s.getPitch()+a*pitchStep,offset:[-i*panStep,-r*panStep],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler;\n},{}],184:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),browser=require(\"../../util/browser\"),window=require(\"../../util/window\"),ua=window.navigator.userAgent.toLowerCase(),firefox=ua.indexOf(\"firefox\")!==-1,safari=ua.indexOf(\"safari\")!==-1&&ua.indexOf(\"chrom\")===-1,ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll([\"_onWheel\",\"_onTimeout\"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener(\"wheel\",this._onWheel,!1),this._el.addEventListener(\"mousewheel\",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&\"center\"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"wheel\",this._onWheel),this._el.removeEventListener(\"mousewheel\",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;\"wheel\"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):\"mousewheel\"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625===0?this._type=\"wheel\":0!==t&&Math.abs(t)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type=\"wheel\",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:\"wheel\"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler;\n},{\"../../util/browser\":192,\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],185:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=4,TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onStart\",\"_onMove\",\"_onEnd\"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener(\"touchstart\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"touchstart\",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener(\"touchmove\",this._onMove,!1),window.document.addEventListener(\"touchend\",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};\"rotate\"===this._gestureIntent&&(h.bearing=this._startBearing+r),\"zoom\"!==this._gestureIntent&&\"rotate\"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>significantScaleThreshold,d=Math.abs(r)>significantRotateThreshold;d?this._gestureIntent=\"rotate\":u&&(this._gestureIntent=\"zoom\"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)return void o.snapToNorth({},{originalEvent:t});var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0===h||a===r)return void o.snapToNorth({},{originalEvent:t});var d=s*inertiaLinearity/h;Math.abs(d)>inertiaMaxSpeed&&(d=d>0?inertiaMaxSpeed:-inertiaMaxSpeed);var l=1e3*Math.abs(d/(inertiaDeceleration*inertiaLinearity)),c=a+d*l/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:l,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),o=160;t.length>2&&e-t[0][0]>o;)t.shift()},module.exports=TouchZoomRotateHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],186:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),window=require(\"../util/window\"),Hash=function(){util.bindAll([\"_onHashChange\",\"_updateHash\"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace(\"#\",\"\").split(\"/\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n=\"#\"+Math.round(100*e)/100+\"/\"+t.lat.toFixed(i)+\"/\"+t.lng.toFixed(i);(a||h)&&(n+=\"/\"+Math.round(10*a)/10),h&&(n+=\"/\"+Math.round(h)),window.history.replaceState(\"\",\"\",n)},module.exports=Hash;\n},{\"../util/util\":212,\"../util/window\":194}],187:[function(require,module,exports){\n\"use strict\";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=require(\"../util/util\"),browser=require(\"../util/browser\"),window=require(\"../util/window\"),DOM=require(\"../util/dom\"),Style=require(\"../style/style\"),AnimationLoop=require(\"../style/animation_loop\"),Painter=require(\"../render/painter\"),Transform=require(\"../geo/transform\"),Hash=require(\"./hash\"),bindHandlers=require(\"./bind_handlers\"),Camera=require(\"./camera\"),LngLat=require(\"../geo/lng_lat\"),LngLatBounds=require(\"../geo/lng_lat_bounds\"),Point=require(\"point-geometry\"),AttributionControl=require(\"./control/attribution_control\"),LogoControl=require(\"./control/logo_control\"),isSupported=require(\"mapbox-gl-supported\"),defaultMinZoom=0,defaultMaxZoom=22,defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(e=util.extend({},defaultOptions,e),null!=e.minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than minZoom\");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,\"string\"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\",\"_update\",\"_render\",\"_onData\",\"_onDataLoading\"],this),this._setupContainer(),this._setupPainter(),this.on(\"move\",this._update.bind(this,!1)),this.on(\"zoom\",this._update.bind(this,!0)),this.on(\"moveend\",function(){o.animationLoop.set(300),o._rerender()}),\"undefined\"!=typeof window&&(window.addEventListener(\"online\",this._onWindowOnline,!1),window.addEventListener(\"resize\",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on(\"style.load\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on(\"data\",this._onData),this.on(\"dataloading\",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\"top-right\");var o=t.onAdd(this),i=this._controlPositions[e];return e.indexOf(\"bottom\")!==-1?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes.indexOf(t)>=0||\"\"===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");var o=this._classes.indexOf(t);return o<0||\"\"===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire(\"movestart\").fire(\"move\").fire(\"resize\").fire(\"moveend\")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if(t=null===t||void 0===t?defaultMinZoom:t,t>=defaultMinZoom&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.queryRenderedFeatures=function(){function t(t){return t instanceof Point||Array.isArray(t)}var e,o={};return 2===arguments.length?(e=arguments[0],o=arguments[1]):1===arguments.length&&t(arguments[0])?e=arguments[0]:1===arguments.length&&(o=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(e),o,this.transform.zoom,this.transform.angle)},e.prototype._makeQueryGeometry=function(t){var e=this;void 0===t&&(t=[Point.convert([0,0]),Point.convert([this.transform.width,this.transform.height])]);var o,i=t instanceof Point||\"number\"==typeof t[0];if(i){var r=Point.convert(t);o=[r]}else{var s=[Point.convert(t[0]),Point.convert(t[1])];o=[s[0],new Point(s[1].x,s[0].y),s[1],new Point(s[0].x,s[1].y),s[0]]}return o=o.map(function(t){return e.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){var o=(!e||e.diff!==!1)&&this.style&&t&&!(t instanceof Style)&&\"string\"!=typeof t;if(o)try{return this.style.setState(t)&&this._update(!0),this}catch(t){util.warnOnce(\"Unable to perform style diff: \"+(t.message||t.error||t)+\". Rebuilding the style from scratch.\")}return this.style&&(this.style.setEventedParent(null),this.style._remove(),this.off(\"rotate\",this.style._redoPlacement),this.off(\"pitch\",this.style._redoPlacement)),t?(t instanceof Style?this.style=t:this.style=new Style(t,this),this.style.setEventedParent(this,{style:this.style}),this.on(\"rotate\",this.style._redoPlacement),this.on(\"pitch\",this.style._redoPlacement),this):(this.style=null,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire(\"error\",{error:new Error(\"There is no source with ID '\"+t+\"'\")}):e.loaded()},e.prototype.addSourceType=function(t,e,o){return this.style.addSourceType(t,e,o)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,o){this.style.spriteAtlas.addImage(t,e,o)},e.prototype.removeImage=function(t){this.style.spriteAtlas.removeImage(t)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,o){return this.style.setLayerZoomRange(t,e,o),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,o,i){return this.style.setPaintProperty(t,e,o,i),this._update(!0),this},e.prototype.getPaintProperty=function(t,e,o){return this.style.getPaintProperty(t,e,o)},e.prototype.setLayoutProperty=function(t,e,o){return this.style.setLayoutProperty(t,e,o),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\");var e=this._canvasContainer=DOM.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=DOM.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.style.position=\"absolute\",this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",0),this._canvas.setAttribute(\"aria-label\",\"Map\");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var i=this._controlContainer=DOM.create(\"div\",\"mapboxgl-control-container\",t),r=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(t){r[t]=DOM.create(\"div\",\"mapboxgl-ctrl-\"+t,i)})},e.prototype._resizeCanvas=function(t,e){var o=window.devicePixelRatio||1;this._canvas.width=o*t,this._canvas.height=o*e,this._canvas.style.width=t+\"px\",this._canvas.style.height=e+\"px\"},e.prototype._setupPainter=function(){var t=util.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},isSupported.webGLContextAttributes),e=this._canvas.getContext(\"webgl\",t)||this._canvas.getContext(\"experimental-webgl\",t);return e?void(this.painter=new Painter(e,this.transform)):void this.fire(\"error\",{error:new Error(\"Failed to initialize WebGL\")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&browser.cancelFrame(this._frameId),this.fire(\"webglcontextlost\",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\"webglcontextrestored\",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},e.prototype._render=function(){return this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming}),this.fire(\"render\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\"load\")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),browser.cancelFrame(this._frameId),this.setStyle(null),\"undefined\"!=typeof window&&(window.removeEventListener(\"resize\",this._onWindowResize,!1),window.removeEventListener(\"online\",this._onWindowOnline,!1));var t=this.painter.gl.getExtension(\"WEBGL_lose_context\");t&&t.loseContext(),removeNode(this._canvasContainer),removeNode(this._controlContainer),this._container.classList.remove(\"mapboxgl-map\"),this.fire(\"remove\")},e.prototype._rerender=function(){this.style&&!this._frameId&&(this._frameId=browser.frame(this._render))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},o.showTileBoundaries.get=function(){return!!this._showTileBoundaries},o.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},o.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},o.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},o.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},o.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},o.repaint.get=function(){return!!this._repaint},o.repaint.set=function(t){this._repaint=t,this._update()},o.vertices.get=function(){return!!this._vertices},o.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update(\"style\"===t.dataType),this.fire(t.dataType+\"data\",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+\"dataloading\",t)},Object.defineProperties(e.prototype,o),e}(Camera);module.exports=Map;\n},{\"../geo/lng_lat\":62,\"../geo/lng_lat_bounds\":63,\"../geo/transform\":64,\"../render/painter\":77,\"../style/animation_loop\":143,\"../style/style\":146,\"../util/browser\":192,\"../util/dom\":199,\"../util/util\":212,\"../util/window\":194,\"./bind_handlers\":171,\"./camera\":172,\"./control/attribution_control\":173,\"./control/logo_control\":176,\"./hash\":186,\"mapbox-gl-supported\":22,\"point-geometry\":26}],188:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../util/dom\"),LngLat=require(\"../geo/lng_lat\"),Point=require(\"point-geometry\"),Marker=function(t,e){this._offset=Point.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this),this._onMapClick=this._onMapClick.bind(this),t||(t=DOM.create(\"div\")),t.classList.add(\"mapboxgl-marker\"),this._element=t,this._popup=null};Marker.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this._update(),this._map.on(\"click\",this._onMapClick),this},Marker.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map=null),DOM.remove(this._element),this._popup&&this._popup.remove(),this},Marker.prototype.getLngLat=function(){return this._lngLat},Marker.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},Marker.prototype.getElement=function(){return this._element},Marker.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(this._popup=t,this._popup.setLngLat(this._lngLat)),this},Marker.prototype._onMapClick=function(t){var e=t.originalEvent.target,p=this._element;this._popup&&(e===p||p.contains(e))&&this.togglePopup()},Marker.prototype.getPopup=function(){return this._popup},Marker.prototype.togglePopup=function(){var t=this._popup;t&&(t.isOpen()?t.remove():t.addTo(this._map))},Marker.prototype._update=function(t){if(this._map){var e=this._map.project(this._lngLat)._add(this._offset);t&&\"moveend\"!==t.type||(e=e.round()),DOM.setTransform(this._element,\"translate(\"+e.x+\"px, \"+e.y+\"px)\")}},module.exports=Marker;\n},{\"../geo/lng_lat\":62,\"../util/dom\":199,\"point-geometry\":26}],189:[function(require,module,exports){\n\"use strict\";function normalizeOffset(t){if(t){if(\"number\"==typeof t){var o=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{top:new Point(0,t),\"top-left\":new Point(o,o),\"top-right\":new Point(-o,o),bottom:new Point(0,-t),\"bottom-left\":new Point(o,-o),\"bottom-right\":new Point(-o,-o),left:new Point(t,0),right:new Point(-t,0)}}if(isPointLike(t)){var e=Point.convert(t);return{top:e,\"top-left\":e,\"top-right\":e,bottom:e,\"bottom-left\":e,\"bottom-right\":e,left:e,right:e}}return{top:Point.convert(t.top||[0,0]),\"top-left\":Point.convert(t[\"top-left\"]||[0,0]),\"top-right\":Point.convert(t[\"top-right\"]||[0,0]),bottom:Point.convert(t.bottom||[0,0]),\"bottom-left\":Point.convert(t[\"bottom-left\"]||[0,0]),\"bottom-right\":Point.convert(t[\"bottom-right\"]||[0,0]),left:Point.convert(t.left||[0,0]),right:Point.convert(t.right||[0,0])}}return normalizeOffset(new Point(0,0))}function isPointLike(t){return t instanceof Point||Array.isArray(t)}var util=require(\"../util/util\"),Evented=require(\"../util/evented\"),DOM=require(\"../util/dom\"),LngLat=require(\"../geo/lng_lat\"),Point=require(\"point-geometry\"),window=require(\"../util/window\"),defaultOptions={closeButton:!0,closeOnClick:!0},Popup=function(t){function o(o){t.call(this),this.options=util.extend(Object.create(defaultOptions),o),util.bindAll([\"_update\",\"_onClickClose\"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.addTo=function(t){return this._map=t,this._map.on(\"move\",this._update),this.options.closeOnClick&&this._map.on(\"click\",this._onClickClose),this._update(),this},o.prototype.isOpen=function(){return!!this._map},o.prototype.remove=function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"click\",this._onClickClose),delete this._map),this.fire(\"close\"),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._update(),this},o.prototype.setText=function(t){return this.setDOMContent(window.document.createTextNode(t))},o.prototype.setHTML=function(t){var o,e=window.document.createDocumentFragment(),n=window.document.createElement(\"body\");for(n.innerHTML=t;;){if(o=n.firstChild,!o)break;e.appendChild(o)}return this.setDOMContent(e)},o.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},o.prototype._createContent=function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=DOM.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=DOM.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClickClose))},o.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=DOM.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=DOM.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content));var t=this.options.anchor,o=normalizeOffset(this.options.offset),e=this._map.project(this._lngLat).round();if(!t){var n=this._container.offsetWidth,i=this._container.offsetHeight;t=e.y+o.bottom.ythis._map.transform.height-i?[\"bottom\"]:[],e.xthis._map.transform.width-n/2&&t.push(\"right\"),t=0===t.length?\"bottom\":t.join(\"-\")}var r=e.add(o[t]),s={top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"},p=this._container.classList;for(var a in s)p.remove(\"mapboxgl-popup-anchor-\"+a);p.add(\"mapboxgl-popup-anchor-\"+t),DOM.setTransform(this._container,s[t]+\" translate(\"+r.x+\"px,\"+r.y+\"px)\")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup;\n},{\"../geo/lng_lat\":62,\"../util/dom\":199,\"../util/evented\":200,\"../util/util\":212,\"../util/window\":194,\"point-geometry\":26}],190:[function(require,module,exports){\n\"use strict\";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(\"message\",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+\":\"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:\"\",id:String(s),error:t?String(t):null,data:e},r)};if(\"\"===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if(\"undefined\"!=typeof r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if(\"undefined\"!=typeof r.id&&this.parent.getWorkerSource){var p=r.type.split(\".\"),d=this.parent.getWorkerSource(r.sourceMapId,p[0]);d[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener(\"message\",this.receive,!1)},module.exports=Actor;\n},{}],191:[function(require,module,exports){\n\"use strict\";function sameOrigin(e){var t=window.document.createElement(\"a\");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=require(\"./window\");exports.getJSON=function(e,t){var n=new window.XMLHttpRequest;return n.open(\"GET\",e,!0),n.setRequestHeader(\"Accept\",\"application/json\"),n.onerror=function(e){t(e)},n.onload=function(){if(n.status>=200&&n.status<300&&n.response){var e;try{e=JSON.parse(n.response)}catch(e){return t(e)}t(null,e)}else t(new Error(n.statusText))},n.send(),n},exports.getArrayBuffer=function(e,t){var n=new window.XMLHttpRequest;return n.open(\"GET\",e,!0),n.responseType=\"arraybuffer\",n.onerror=function(e){t(e)},n.onload=function(){return 0===n.response.byteLength&&200===n.status?t(new Error(\"http status 200 returned without content.\")):void(n.status>=200&&n.status<300&&n.response?t(null,{data:n.response,cacheControl:n.getResponseHeader(\"Cache-Control\"),expires:n.getResponseHeader(\"Expires\")}):t(new Error(n.statusText)))},n.send(),n};var transparentPngUrl=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,n){if(e)return t(e);var r=new window.Image,o=window.URL||window.webkitURL;r.onload=function(){t(null,r),o.revokeObjectURL(r.src)};var a=new window.Blob([new Uint8Array(n.data)],{type:\"image/png\"});r.cacheControl=n.cacheControl,r.expires=n.expires,r.src=n.data.byteLength?o.createObjectURL(a):transparentPngUrl})},exports.getVideo=function(e,t){var n=window.document.createElement(\"video\");n.onloadstart=function(){t(null,n)};for(var r=0;r=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement(\"canvas\"),t=n.getContext(\"2d\");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height).data},exports.supported=require(\"mapbox-gl-supported\"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,\"devicePixelRatio\",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement(\"img\");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\";\n},{\"./window\":194,\"mapbox-gl-supported\":22}],193:[function(require,module,exports){\n\"use strict\";var WebWorkify=require(\"webworkify\"),window=require(\"../window\"),workerURL=window.URL.createObjectURL(new WebWorkify(require(\"../../source/worker\"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)};\n},{\"../../source/worker\":98,\"../window\":194,\"webworkify\":41}],194:[function(require,module,exports){\n\"use strict\";module.exports=self;\n},{}],195:[function(require,module,exports){\n\"use strict\";function compareAreas(e,r){return r.area-e.area}var quickselect=require(\"quickselect\"),calculateSignedArea=require(\"./util\").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented;\n},{\"./util\":212}],201:[function(require,module,exports){\n\"use strict\";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log(\"found best %d after %d probes\",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log(\"num probes: \"+c),console.log(\"best distance: \"+m.d)),m.p};\n},{\"./intersection_tests\":205,\"point-geometry\":26,\"tinyqueue\":30}],202:[function(require,module,exports){\n\"use strict\";var WorkerPool=require(\"./worker_pool\"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool};\n},{\"./worker_pool\":215}],203:[function(require,module,exports){\n\"use strict\";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs;\n},{}],204:[function(require,module,exports){\n\"use strict\";function interpolate(t,e,n){return t*(1-n)+e*n}module.exports=interpolate,interpolate.number=interpolate,interpolate.vec2=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n)]},interpolate.color=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n),interpolate(t[2],e[2],n),interpolate(t[3],e[3],n)]},interpolate.array=function(t,e,n){return t.map(function(t,r){return interpolate(t,e[r],n)})};\n},{}],205:[function(require,module,exports){\n\"use strict\";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i)}return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=require(\"./util\").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared};\n},{\"./util\":212}],206:[function(require,module,exports){\n\"use strict\";var unicodeBlockLookup={\"Latin-1 Supplement\":function(n){return n>=128&&n<=255},\"Hangul Jamo\":function(n){return n>=4352&&n<=4607},\"Unified Canadian Aboriginal Syllabics\":function(n){return n>=5120&&n<=5759},\"Unified Canadian Aboriginal Syllabics Extended\":function(n){return n>=6320&&n<=6399},\"General Punctuation\":function(n){return n>=8192&&n<=8303},\"Letterlike Symbols\":function(n){return n>=8448&&n<=8527},\"Number Forms\":function(n){return n>=8528&&n<=8591},\"Miscellaneous Technical\":function(n){return n>=8960&&n<=9215},\"Control Pictures\":function(n){return n>=9216&&n<=9279},\"Optical Character Recognition\":function(n){return n>=9280&&n<=9311},\"Enclosed Alphanumerics\":function(n){return n>=9312&&n<=9471},\"Geometric Shapes\":function(n){return n>=9632&&n<=9727},\"Miscellaneous Symbols\":function(n){return n>=9728&&n<=9983},\"Miscellaneous Symbols and Arrows\":function(n){return n>=11008&&n<=11263},\"CJK Radicals Supplement\":function(n){return n>=11904&&n<=12031},\"Kangxi Radicals\":function(n){return n>=12032&&n<=12255},\"Ideographic Description Characters\":function(n){return n>=12272&&n<=12287},\"CJK Symbols and Punctuation\":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},\"Hangul Compatibility Jamo\":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},\"Bopomofo Extended\":function(n){return n>=12704&&n<=12735},\"CJK Strokes\":function(n){return n>=12736&&n<=12783},\"Katakana Phonetic Extensions\":function(n){return n>=12784&&n<=12799},\"Enclosed CJK Letters and Months\":function(n){return n>=12800&&n<=13055},\"CJK Compatibility\":function(n){return n>=13056&&n<=13311},\"CJK Unified Ideographs Extension A\":function(n){return n>=13312&&n<=19903},\"Yijing Hexagram Symbols\":function(n){return n>=19904&&n<=19967},\"CJK Unified Ideographs\":function(n){return n>=19968&&n<=40959},\"Yi Syllables\":function(n){return n>=40960&&n<=42127},\"Yi Radicals\":function(n){return n>=42128&&n<=42191},\"Hangul Jamo Extended-A\":function(n){return n>=43360&&n<=43391},\"Hangul Syllables\":function(n){return n>=44032&&n<=55215},\"Hangul Jamo Extended-B\":function(n){return n>=55216&&n<=55295},\"Private Use Area\":function(n){return n>=57344&&n<=63743},\"CJK Compatibility Ideographs\":function(n){return n>=63744&&n<=64255},\"Vertical Forms\":function(n){return n>=65040&&n<=65055},\"CJK Compatibility Forms\":function(n){return n>=65072&&n<=65103},\"Small Form Variants\":function(n){return n>=65104&&n<=65135},\"Halfwidth and Fullwidth Forms\":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup;\n},{}],207:[function(require,module,exports){\n\"use strict\";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){if(!this.has(t))return null;var e=this.data[t];return e},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache;\n},{}],208:[function(require,module,exports){\n\"use strict\";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(e=e||config.ACCESS_TOKEN,!e)throw new Error(\"An API access token is required to use Mapbox GL. \"+help);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+help);return r.params.push(\"access_token=\"+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf(\"mapbox:\")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?\"@2x\":\"\",s=browser.supportsWebp?\".webp\":\"$1\";return o.path=o.path.replace(imageExtensionRe,\"\"+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\\w+):\\/\\/([^\\/?]+)(\\/[^?]+)?\\??(.+)?/;\n},{\"./browser\":192,\"./config\":196}],209:[function(require,module,exports){\n\"use strict\";var isChar=require(\"./is_char_in_unicode_block\");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||(!!isChar[\"CJK Compatibility Ideographs\"](a)||(!!isChar[\"CJK Compatibility\"](a)||(!!isChar[\"CJK Radicals Supplement\"](a)||(!!isChar[\"CJK Strokes\"](a)||(!(!isChar[\"CJK Symbols and Punctuation\"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||(!!isChar[\"CJK Unified Ideographs Extension A\"](a)||(!!isChar[\"CJK Unified Ideographs\"](a)||(!!isChar[\"Enclosed CJK Letters and Months\"](a)||(!!isChar[\"Hangul Compatibility Jamo\"](a)||(!!isChar[\"Hangul Jamo Extended-A\"](a)||(!!isChar[\"Hangul Jamo Extended-B\"](a)||(!!isChar[\"Hangul Jamo\"](a)||(!!isChar[\"Hangul Syllables\"](a)||(!!isChar.Hiragana(a)||(!!isChar[\"Ideographic Description Characters\"](a)||(!!isChar.Kanbun(a)||(!!isChar[\"Kangxi Radicals\"](a)||(!!isChar[\"Katakana Phonetic Extensions\"](a)||(!(!isChar.Katakana(a)||12540===a)||(!(!isChar[\"Halfwidth and Fullwidth Forms\"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||(!(!isChar[\"Small Form Variants\"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||(!!isChar[\"Unified Canadian Aboriginal Syllabics\"](a)||(!!isChar[\"Unified Canadian Aboriginal Syllabics Extended\"](a)||(!!isChar[\"Vertical Forms\"](a)||(!!isChar[\"Yijing Hexagram Symbols\"](a)||(!!isChar[\"Yi Syllables\"](a)||!!isChar[\"Yi Radicals\"](a))))))))))))))))))))))))))))))},exports.charHasNeutralVerticalOrientation=function(a){return!(!isChar[\"Latin-1 Supplement\"](a)||167!==a&&169!==a&&174!==a&&177!==a&&188!==a&&189!==a&&190!==a&&215!==a&&247!==a)||(!(!isChar[\"General Punctuation\"](a)||8214!==a&&8224!==a&&8225!==a&&8240!==a&&8241!==a&&8251!==a&&8252!==a&&8258!==a&&8263!==a&&8264!==a&&8265!==a&&8273!==a)||(!!isChar[\"Letterlike Symbols\"](a)||(!!isChar[\"Number Forms\"](a)||(!(!isChar[\"Miscellaneous Technical\"](a)||!(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215))||(!(!isChar[\"Control Pictures\"](a)||9251===a)||(!!isChar[\"Optical Character Recognition\"](a)||(!!isChar[\"Enclosed Alphanumerics\"](a)||(!!isChar[\"Geometric Shapes\"](a)||(!(!isChar[\"Miscellaneous Symbols\"](a)||a>=9754&&a<=9759)||(!(!isChar[\"Miscellaneous Symbols and Arrows\"](a)||!(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243))||(!!isChar[\"CJK Symbols and Punctuation\"](a)||(!!isChar.Katakana(a)||(!!isChar[\"Private Use Area\"](a)||(!!isChar[\"CJK Compatibility Forms\"](a)||(!!isChar[\"Small Form Variants\"](a)||(!!isChar[\"Halfwidth and Fullwidth Forms\"](a)||(8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)))))))))))))))))},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))};\n},{\"./is_char_in_unicode_block\":206}],210:[function(require,module,exports){\n\"use strict\";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=[\"Uint8\"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0===--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||(\"undefined\"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),\"\"}),t[\"max-age\"]){var n=parseInt(t[\"max-age\"],10);isNaN(n)?delete t[\"max-age\"]:t[\"max-age\"]=n}return t};\n},{\"../geo/coordinate\":61,\"@mapbox/unitbezier\":3,\"point-geometry\":26}],213:[function(require,module,exports){\n\"use strict\";var Feature=function(e,t,r,o){this.type=\"Feature\",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)\"_geometry\"!==r&&\"_vectorTileFeature\"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature;\n},{}],214:[function(require,module,exports){\n\"use strict\";var scriptDetection=require(\"./script_detection\");module.exports=function(t){for(var o=\"\",e=0;e\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};\n},{\"./script_detection\":209}],215:[function(require,module,exports){\n\"use strict\";var WebWorker=require(\"./web_worker\"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=require(\"../\").workerCount;for(this.workers=[];this.workers.length {\n return string.split('-').map(([first,...rest]) => first.toUpperCase() + rest.join('').toLowerCase()).join(' ');\n};\n\nconst addMapTypeOption = (map, menu, option, checked = false) => {\n let input = document.createElement('input');\n input.setAttribute('id', option);\n input.setAttribute('type', 'radio');\n input.setAttribute('name', 'toggle');\n input.setAttribute('value', option);\n if (checked == true) {\n input.setAttribute('checked', 'checked');\n }\n input.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/' + option + '-v9');\n });\n let label = document.createElement('label');\n label.setAttribute('for', option);\n label.appendChild(document.createTextNode(titlecase(option)));\n menu.appendChild(input);\n menu.appendChild(label);\n};\n\nconst makeMapMenu = (map) => {\n let mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n addMapTypeOption(map, mapMenu, 'streets', true);\n addMapTypeOption(map, mapMenu, 'satellite-streets');\n return mapMenu;\n};\n\n//the main function\nexport default function addMap(div, position = null, places = null) {\n let dataLatitude = div.dataset.latitude;\n let dataLongitude = div.dataset.longitude;\n let dataId = div.dataset.id;\n let data = window['geojson'+dataId];\n if (data == null) {\n data = {\n 'type': 'FeatureCollection',\n 'features': [{\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [dataLongitude, dataLatitude]\n },\n 'properties': {\n 'title': 'Current Location',\n 'icon': 'circle-stroked',\n 'uri': 'current-location'\n }\n }]\n };\n }\n if (places != null) {\n for (let place of places) {\n let placeLongitude = parseLocation(place.location).longitude;\n let placeLatitude = parseLocation(place.location).latitude;\n data.features.push({\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [placeLongitude, placeLatitude]\n },\n 'properties': {\n 'title': place.name,\n 'icon': 'circle',\n 'uri': place.slug\n }\n });\n }\n }\n if (position != null) {\n dataLongitude = position.coords.longitude;\n dataLatitude = position.coords.latitude;\n }\n let map = new mapboxgl.Map({\n container: div,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [dataLongitude, dataLatitude],\n zoom: 15\n });\n if (position == null) {\n map.scrollZoom.disable();\n }\n map.addControl(new mapboxgl.NavigationControl());\n div.appendChild(makeMapMenu(map));\n map.on('load', function () {\n map.addSource('points', {\n 'type': 'geojson',\n 'data': data\n });\n map.addLayer({\n 'id': 'points',\n 'interactive': true,\n 'type': 'symbol',\n 'source': 'points',\n 'layout': {\n 'icon-image': '{icon}-15',\n 'text-field': '{title}',\n 'text-offset': [0, 1]\n }\n });\n });\n if (position != null) {\n map.on('click', function (e) {\n let features = map.queryRenderedFeatures(e.point, {\n layer: ['points']\n });\n // if there are features within the given radius of the click event,\n // fly to the location of the click event\n if (features.length) {\n // Get coordinates from the symbol and center the map on those coordinates\n map.flyTo({center: features[0].geometry.coordinates});\n selectPlaceInForm(features[0].properties.uri);\n }\n });\n }\n if (data.features && data.features.length > 1) {\n let bounds = new mapboxgl.LngLatBounds();\n for (let feature of data.features) {\n bounds.extend(feature.geometry.coordinates);\n }\n map.fitBounds(bounds, { padding: 65});\n }\n\n return map;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./mapbox-utils.js","//select-place.js\n\nexport default function selectPlaceInForm(uri) {\n if (document.querySelector('select')) {\n if (uri == 'current-location') {\n document.querySelector('select [id=\"option-coords\"]').selected = true;\n } else {\n document.querySelector('select [value=\"' + uri + '\"]').selected = true;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./select-place.js","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return b64.length * 3 / 4 - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr(len * 3 / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/base64-js/index.js\n// module id = 5\n// module chunks = 0 1","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/buffer/index.js\n// module id = 6\n// module chunks = 0 1","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/buffer/~/isarray/index.js\n// module id = 7\n// module chunks = 0 1","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/ieee754/index.js\n// module id = 8\n// module chunks = 0 1","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.mapboxgl = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i,rn.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var h=this.shelves[t],n=h.alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1===++t.refcount){var e=t.h;this.stats[e]=(0|this.stats[e])+1}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0===--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t});\n},{}],3:[function(require,module,exports){\nfunction UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){\"undefined\"==typeof i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))};\n},{}],4:[function(require,module,exports){\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t(e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){s=s||{};var f=e+\"?\"+[\"bbox=\"+o(r,n,i),\"format=\"+(s.format||\"image/png\"),\"service=\"+(s.service||\"WMS\"),\"version=\"+(s.version||\"1.1.1\"),\"request=\"+(s.request||\"GetMap\"),\"srs=\"+(s.srs||\"EPSG:3857\"),\"width=\"+(s.width||256),\"height=\"+(s.height||256),\"layers=\"+t].join(\"&\");return f}function o(e,t,o){t=Math.pow(2,o)-t-1;var n=r(256*e,256*t,o),i=r(256*(e+1),256*(t+1),o);return n[0]+\",\"+n[1]+\",\"+i[0]+\",\"+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o),n=e*r-2*Math.PI*6378137/2,i=t*r-2*Math.PI*6378137/2;return[n,i]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,\"__esModule\",{value:!0})});\n},{}],5:[function(require,module,exports){\n\"use strict\";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),t=n=t.prev,t===t.next)return null;r=!0}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if(e=l,e===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l)),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next;while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r};\n},{}],6:[function(require,module,exports){\nfunction geometry(r){if(\"Polygon\"===r.type)return polygonArea(r.coordinates);if(\"MultiPolygon\"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=require(\"geojson-area\");module.exports=rewind;\n},{\"geojson-area\":6}],8:[function(require,module,exports){\n\"use strict\";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));h=g[S-1],c=h[n],c>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=require(\"./feature\");\n},{\"./feature\":10}],9:[function(require,module,exports){\n\"use strict\";function convert(e,t){var r=[];if(\"FeatureCollection\"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time(\"creation\"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd(\"creation\"));var h=\"z\"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time(\"clipping\");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd(\"clipping\"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log(\"found parent tile z%d-%d-%d\",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time(\"drilling down\");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd(\"drilling down\"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify;\n},{}],13:[function(require,module,exports){\n\"use strict\";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){var r=signedArea(e);r<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};\n},{}],18:[function(require,module,exports){\n\"use strict\";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range;\n},{}],20:[function(require,module,exports){\n\"use strict\";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1),c=Math.max(s,Math.floor(o-p*m/f+n)),h=Math.min(r,Math.floor(o+(f-p)*m/f+n));select(t,a,o,c,h,e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD;\n},{}],21:[function(require,module,exports){\n\"use strict\";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within;\n},{}],22:[function(require,module,exports){\n\"use strict\";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return\"undefined\"!=typeof window&&\"undefined\"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function isWorkerSupported(){return\"Worker\"in window}function isUint8ClampedArraySupported(){return\"Uint8ClampedArray\"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement(\"canvas\"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext(\"webgl\",r)||t.probablySupportsContext(\"experimental-webgl\",r):t.supportsContext?t.supportsContext(\"webgl\",r)||t.supportsContext(\"experimental-webgl\",r):t.getContext(\"webgl\",r)||t.getContext(\"experimental-webgl\",r)}\"undefined\"!=typeof module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};\n},{}],23:[function(require,module,exports){\n(function (process){\nfunction normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];\".\"===s?r.splice(n,1):\"..\"===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift(\"..\");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if(\"string\"!=typeof n)throw new TypeError(\"Arguments to path.resolve must be strings\");n&&(r=n+\"/\"+r,t=\"/\"===n.charAt(0))}return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),(t?\"/\":\"\")+r||\".\"},exports.normalize=function(r){var t=exports.isAbsolute(r),e=\"/\"===substr(r,-1);return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),r||t||(r=\".\"),r&&e&&(r+=\"/\"),(t?\"/\":\"\")+r},exports.isAbsolute=function(r){return\"/\"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if(\"string\"!=typeof r)throw new TypeError(\"Arguments to path.join must be strings\");return r}).join(\"/\"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&\"\"===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split(\"/\")),s=e(t.split(\"/\")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var ieee754=require(\"ieee754\"),BufferMethods,lastStr,lastStrEncoded;BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=\"\",i=\"\";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error(\"Given varint doesn't fit into 10 bytes\");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.Fixed64)throw new Error(\"Unimplemented type: \"+i);this.pos+=8}},writeTag:function(t,i){this.writeVarint(t<<3|i)},realloc:function(t){for(var i=this.length||16;i268435455?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127)))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}};\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"./buffer\":24}],26:[function(require,module,exports){\n\"use strict\";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var n=t.x-this.x,i=t.y-this.y;return n*n+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,this.y=i,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t};\n},{}],27:[function(require,module,exports){\nfunction defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1),n=Math.max(r,Math.floor(t-e*s/f+i)),h=Math.min(o,Math.floor(t+(f-e)*s/f+i));partialSort(a,t,n,h,p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort;\n},{}],29:[function(require,module,exports){\n\"use strict\";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:\"Feature\",properties:getClusterProperties(t),geometry:{type:\"Point\",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return{cluster:!0,point_count:e,point_count_abbreviated:o}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=require(\"kdbush\");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time(\"total time\");var o=\"prepare \"+t.length+\" points\";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log(\"z%d: %d clusters in %dms\",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd(\"total time\"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?\"\u001b[\"+inspect.colors[t][0]+\"m\"+e+\"\u001b[\"+inspect.colors[t][1]+\"m\":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?\": \"+r.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),\"regexp\");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),\"date\");if(isError(r))return formatError(r)}var c=\"\",a=!1,l=[\"{\",\"}\"];if(isArray(r)&&(a=!0,l=[\"[\",\"]\"]),isFunction(r)){var p=r.name?\": \"+r.name:\"\";c=\" [Function\"+p+\"]\"}if(isRegExp(r)&&(c=\" \"+RegExp.prototype.toString.call(r)),isDate(r)&&(c=\" \"+Date.prototype.toUTCString.call(r)),isError(r)&&(c=\" \"+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize(\"undefined\",\"undefined\");if(isString(r)){var t=\"'\"+JSON.stringify(r).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(t,\"string\")}return isNumber(r)?e.stylize(\"\"+r,\"number\"):isBoolean(r)?e.stylize(\"\"+r,\"boolean\"):isNull(r)?e.stylize(\"null\",\"null\"):void 0}function formatError(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\").substr(2):\"\\n\"+u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\"))):u=e.stylize(\"[Circular]\",\"special\")),isUndefined(s)){if(o&&i.match(/^\\d+$/))return u;s=JSON.stringify(\"\"+i),s.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf(\"\\n\")>=0&&n++,e+r.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?t[0]+(\"\"===r?\"\":r+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+t[1]:t[0]+r+\" \"+e.join(\", \")+\" \"+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return\"boolean\"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return\"number\"==typeof e}function isString(e){return\"string\"==typeof e}function isSymbol(e){return\"symbol\"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&\"[object RegExp]\"===objectToString(e)}function isObject(e){return\"object\"==typeof e&&null!==e}function isDate(e){return isObject(e)&&\"[object Date]\"===objectToString(e)}function isError(e){return isObject(e)&&(\"[object Error]\"===objectToString(e)||e instanceof Error)}function isFunction(e){return\"function\"==typeof e}function isPrimitive(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||\"undefined\"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?\"0\"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(\":\");return[e.getDate(),months[e.getMonth()],r].join(\" \")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case\"%s\":return String(n[t++]);case\"%d\":return Number(n[t++]);case\"%j\":try{return JSON.stringify(n[t++])}catch(e){return\"[Circular]\"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error(\"unknown command \"+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-(1/0),p=1/0,h=-(1/0);e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error(\"unknown command \"+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=require(\"./vectortilefeature.js\");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)};\n},{\"./vectortilefeature.js\":36}],38:[function(require,module,exports){\nfunction fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||\"\",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup;\n},{\"./program_configuration\":58}],45:[function(require,module,exports){\n\"use strict\";var ArrayGroup=require(\"./array_group\"),BufferGroup=require(\"./buffer_group\"),util=require(\"../util/util\"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||o<0||o>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,y,o,-1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,1),addCircleVertex(r.layoutVertexArray,y,o,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60}],47:[function(require,module,exports){\n\"use strict\";var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),earcut=require(\"earcut\"),classifyRings=require(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"}]),elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:\"fill-color\",type:\"Uint8\"},{property:\"fill-outline-color\",type:\"Uint8\"},{property:\"fill-opacity\",type:\"Uint8\",multiplier:255}]},FillBucket=function(e){function r(r){e.call(this,r,fillInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);tEXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),EXTENT=require(\"../extent\"),earcut=require(\"earcut\"),classifyRings=require(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal\",components:3,type:\"Int16\"},{name:\"a_edgedistance\",components:1,type:\"Int16\"}]),elementArrayType:createElementArrayType(3),paintAttributes:[{property:\"fill-extrusion-base\",type:\"Uint16\"},{property:\"fill-extrusion-height\",type:\"Uint16\"},{property:\"fill-extrusion-color\",type:\"Uint8\"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function r(r){e.call(this,r,fillExtrusionInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);t=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var _=g.sub(A)._perp()._unit();addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,1,m),m+=A.dist(g),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,1,m);var v=p.vertexLength;r.elementArray.emplaceBack(v,v+1,v+2),r.elementArray.emplaceBack(v+1,v+2,v+3),p.vertexLength+=4,p.primitiveLength+=2}}u.push(g.x),u.push(g.y)}}}for(var E=earcut(u,c),T=0;T>6)}var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),EXTENT=require(\"../extent\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(37.5*(Math.PI/180)),SHARP_CORNER_OFFSET=15,LINE_DISTANCE_BUFFER_BITS=15,LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE,lineInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),paintAttributes:[{property:\"line-color\",type:\"Uint8\"},{property:\"line-blur\",multiplier:10,type:\"Uint8\"},{property:\"line-opacity\",multiplier:10,type:\"Uint8\"},{property:\"line-gap-width\",multiplier:10,type:\"Uint8\",name:\"a_gapwidth\"},{property:\"line-offset\",multiplier:1,type:\"Int8\"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r[\"line-join\"],a=r[\"line-cap\"],n=r[\"line-miter-limit\"],d=r[\"line-round-limit\"],s=0,u=loadGeometry(e,LINE_DISTANCE_BUFFER_BITS);s=2&&e[l-1].equals(e[l-2]);)l--;if(!(l<(u?3:2))){\"bevel\"===r&&(a=1.05);var o=SHARP_CORNER_OFFSET*(EXTENT/(512*this.overscaling)),p=e[0],c=this.arrays,_=c.prepareSegment(10*l);this.distance=0;var y,h,m,E,x,C,v,A=i,f=u?\"butt\":i,L=!0;this.e1=this.e2=this.e3=-1,u&&(y=e[l-2],x=p.sub(y)._unit()._perp());for(var V=0;V0){var b=y.dist(h);if(b>2*o){var R=y.sub(y.sub(h)._mult(o/b)._round());d.distance+=R.dist(h),d.addCurrentVertex(R,d.distance,E.mult(1),0,0,!1,_),h=R}}var g=h&&m,F=g?r:m?A:f;if(g&&\"round\"===F&&(Ia&&(F=\"bevel\"),\"bevel\"===F&&(I>2&&(F=\"flipbevel\"),I100)S=x.clone().mult(-1);else{var B=E.x*x.y-E.y*x.x>0?-1:1,k=I*E.add(x).mag()/E.sub(x).mag();S._perp()._mult(k*B)}d.addCurrentVertex(y,d.distance,S,0,0,!1,_),d.addCurrentVertex(y,d.distance,S.mult(-1),0,0,!1,_)}else if(\"bevel\"===F||\"fakeround\"===F){var D=E.x*x.y-E.y*x.x>0,P=-Math.sqrt(I*I-1);if(D?(v=0,C=P):(C=0,v=P),L||d.addCurrentVertex(y,d.distance,E,C,v,!1,_),\"fakeround\"===F){for(var U=Math.floor(8*(.5-(T-.5))),q=void 0,M=0;M=0;O--)q=E.mult((O+1)/(U+1))._add(x)._unit(),d.addPieSliceVertex(y,d.distance,q,D,_)}m&&d.addCurrentVertex(y,d.distance,x,-C,-v,!1,_)}else\"butt\"===F?(L||d.addCurrentVertex(y,d.distance,E,0,0,!1,_),m&&d.addCurrentVertex(y,d.distance,x,0,0,!1,_)):\"square\"===F?(L||(d.addCurrentVertex(y,d.distance,E,1,1,!1,_),d.e1=d.e2=-1),m&&d.addCurrentVertex(y,d.distance,x,-1,-1,!1,_)):\"round\"===F&&(L||(d.addCurrentVertex(y,d.distance,E,0,0,!1,_),d.addCurrentVertex(y,d.distance,E,1,1,!0,_),d.e1=d.e2=-1),m&&(d.addCurrentVertex(y,d.distance,x,-1,-1,!0,_),d.addCurrentVertex(y,d.distance,x,0,0,!1,_)));if(N&&V2*o){var H=y.add(m.sub(y)._mult(o/X)._round());d.distance+=H.dist(y),d.addCurrentVertex(H,d.distance,x.mult(1),0,0,!1,_),y=H}}L=!1}c.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60,\"vector-tile\":34}],50:[function(require,module,exports){\n\"use strict\";function addVertex(e,t,o,r,a,i,n,l,s,c,y){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i/4,n/4,10*(c||0),y,10*(l||0),10*Math.min(s||25,25))}function addCollisionBoxVertex(e,t,o,r,a){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*r,10*a)}var Point=require(\"point-geometry\"),ArrayGroup=require(\"../array_group\"),BufferGroup=require(\"../buffer_group\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),EXTENT=require(\"../extent\"),Anchor=require(\"../../symbol/anchor\"),getAnchors=require(\"../../symbol/get_anchors\"),resolveTokens=require(\"../../util/token\"),Quads=require(\"../../symbol/quads\"),Shaping=require(\"../../symbol/shaping\"),resolveText=require(\"../../symbol/resolve_text\"),mergeLines=require(\"../../symbol/mergelines\"),clipLine=require(\"../../symbol/clip_line\"),util=require(\"../../util/util\"),scriptDetection=require(\"../../util/script_detection\"),loadGeometry=require(\"../load_geometry\"),CollisionFeature=require(\"../../symbol/collision_feature\"),findPoleOfInaccessibility=require(\"../../util/find_pole_of_inaccessibility\"),classifyRings=require(\"../../util/classify_rings\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,rtlTextPlugin=require(\"../../source/rtl_text_plugin\"),shapeText=Shaping.shapeText,shapeIcon=Shaping.shapeIcon,WritingMode=Shaping.WritingMode,getGlyphQuads=Quads.getGlyphQuads,getIconQuads=Quads.getIconQuads,elementArrayType=createElementArrayType(),layoutVertexArrayType=createVertexArrayType([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_texture_pos\",components:2,type:\"Uint16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),symbolInterfaces={glyph:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:\"a_fill_color\",property:\"text-color\",type:\"Uint8\"},{name:\"a_halo_color\",property:\"text-halo-color\",type:\"Uint8\"},{name:\"a_halo_width\",property:\"text-halo-width\",type:\"Uint16\",multiplier:10},{name:\"a_halo_blur\",property:\"text-halo-blur\",type:\"Uint16\",multiplier:10},{name:\"a_opacity\",property:\"text-opacity\",type:\"Uint8\",multiplier:255}]},icon:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:\"a_fill_color\",property:\"icon-color\",type:\"Uint8\"},{name:\"a_halo_color\",property:\"icon-halo-color\",type:\"Uint8\"},{name:\"a_halo_width\",property:\"icon-halo-width\",type:\"Uint16\",multiplier:10},{name:\"a_halo_blur\",property:\"icon-halo-blur\",type:\"Uint16\",multiplier:10},{name:\"a_opacity\",property:\"icon-opacity\",type:\"Uint8\",multiplier:255}]},collisionBox:{layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"},{name:\"a_data\",components:2,type:\"Uint8\"}]),elementArrayType:createElementArrayType(2)}},SymbolBucket=function(e){var t=this;if(this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.sdfIcons=e.sdfIcons,this.iconsNeedLinear=e.iconsNeedLinear,this.adjustedTextSize=e.adjustedTextSize,this.adjustedIconSize=e.adjustedIconSize,this.fontstack=e.fontstack,e.arrays){this.buffers={};for(var o in e.arrays)e.arrays[o]&&(t.buffers[o]=new BufferGroup(symbolInterfaces[o],e.layers,e.zoom,e.arrays[o]))}};SymbolBucket.prototype.populate=function(e,t){var o=this,r=this.layers[0],a=r.layout,i=a[\"text-font\"],n=a[\"icon-image\"],l=i&&(!r.isLayoutValueFeatureConstant(\"text-field\")||a[\"text-field\"]),s=n;if(this.features=[],l||s){for(var c=t.iconDependencies,y=t.glyphDependencies,p=y[i]=y[i]||{},x=0;xEXTENT||i.y<0||i.y>EXTENT);if(!x||n){var l=n||f;r.addSymbolInstance(i,a,t,o,r.layers[0],l,r.collisionBoxArray,e.index,e.sourceLayerIndex,r.index,s,h,m,y,u,g,{zoom:r.zoom},e.properties)}};if(\"line\"===b)for(var S=0,T=clipLine(e.geometry,0,0,EXTENT,EXTENT);S=0;i--)if(o.dist(a[i])7*Math.PI/4)continue}else if(r&&a&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(r&&a&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var m=u.tl,g=u.tr,f=u.bl,b=u.br,v=u.tex,I=u.anchorPoint,S=Math.max(y+Math.log(u.minScale)/Math.LN2,p),T=Math.min(y+Math.log(u.maxScale)/Math.LN2,25);if(!(T<=S)){S===p&&(S=0);var M=Math.round(u.glyphAngle/(2*Math.PI)*256),B=e.prepareSegment(4),A=B.vertexLength;addVertex(c,I.x,I.y,m.x,m.y,v.x,v.y,S,T,p,M),addVertex(c,I.x,I.y,g.x,g.y,v.x+v.w,v.y,S,T,p,M),addVertex(c,I.x,I.y,f.x,f.y,v.x,v.y+v.h,S,T,p,M),addVertex(c,I.x,I.y,b.x,b.y,v.x+v.w,v.y+v.h,S,T,p,M),s.emplaceBack(A,A+1,A+2),s.emplaceBack(A+1,A+2,A+3),B.vertexLength+=4,B.primitiveLength+=2}}e.populatePaintArrays(n)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,r=o.layoutVertexArray,a=o.elementArray,i=-e.angle,n=e.yStretch,l=0,s=t.symbolInstances;lSymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),z>SymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\");var _=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:M,textBoxEndIndex:B,iconBoxStartIndex:A,iconBoxEndIndex:z,glyphQuads:I,iconQuads:v,anchor:e,featureIndex:l,featureProperties:g,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket;\n},{\"../../source/rtl_text_plugin\":90,\"../../symbol/anchor\":157,\"../../symbol/clip_line\":159,\"../../symbol/collision_feature\":161,\"../../symbol/get_anchors\":163,\"../../symbol/mergelines\":166,\"../../symbol/quads\":167,\"../../symbol/resolve_text\":168,\"../../symbol/shaping\":169,\"../../util/classify_rings\":195,\"../../util/find_pole_of_inaccessibility\":201,\"../../util/script_detection\":209,\"../../util/token\":211,\"../../util/util\":212,\"../array_group\":44,\"../buffer_group\":52,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60,\"point-geometry\":26,\"vector-tile\":34}],51:[function(require,module,exports){\n\"use strict\";var AttributeType={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\"},Buffer=function(e,t,r){this.arrayBuffer=e.arrayBuffer,this.length=e.length,this.attributes=t.members,this.itemSize=t.bytesPerElement,this.type=r,this.arrayType=t};Buffer.fromStructArray=function(e,t){return new Buffer(e.serialize(),e.constructor.serialize(),t)},Buffer.prototype.bind=function(e){var t=e[this.type];this.buffer?e.bindBuffer(t,this.buffer):(this.gl=e,this.buffer=e.createBuffer(),e.bindBuffer(t,this.buffer),e.bufferData(t,this.arrayBuffer,e.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.setVertexAttribPointers=function(e,t,r){for(var f=this,i=0;i0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),\"viewport\"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return u};\n},{\"../util/util\":212,\"./extent\":54}],57:[function(require,module,exports){\n\"use strict\";var createStructArrayType=require(\"../util/struct_array\"),PosArray=createStructArrayType({members:[{name:\"a_pos\",type:\"Int16\",components:2}]});module.exports=PosArray;\n},{\"../util/struct_array\":210}],58:[function(require,module,exports){\n\"use strict\";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+\"-\",\"\").replace(/-/g,\"_\"));var i=\"color\"===r._paintSpecifications[t.property].type;return util.extend({name:\"a_\"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=require(\"./vertex_array_type\"),util=require(\"../util/util\"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=\"\"};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(t&&t.hasOwnProperty(\"lng\")&&t.hasOwnProperty(\"lat\"))return new LngLat(t.lng,t.lat);if(Array.isArray(t)&&2===t.length)return new LngLat(t[0],t[1]);throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]\")},module.exports=LngLat;\n},{\"../util/util\":212}],63:[function(require,module,exports){\n\"use strict\";var LngLat=require(\"./lng_lat\"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds;\n},{\"./lng_lat\":62}],64:[function(require,module,exports){\n\"use strict\";var LngLat=require(\"./lng_lat\"),Point=require(\"point-geometry\"),Coordinate=require(\"./coordinate\"),util=require(\"../util/util\"),interp=require(\"../util/interpolate\"),TileCoord=require(\"../source/tile_coord\"),EXTENT=require(\"../data/extent\"),glmatrix=require(\"@mapbox/gl-matrix\"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){var i=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-i)*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o))},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var o=0,e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(o-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r,n,s,a,h=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),i=this.latY(this.latRange[0]),r=i-ti&&(a=i-l)}if(this.lngRange){var u=this.x,f=h.x/2;u-fe&&(s=e-f)}void 0===s&&void 0===a||(this.center=this.unproject(new Point(void 0!==s?s:this.x,void 0!==a?a:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),e=Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance,r=1.01*e,n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),n=mat4.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform;\n},{\"../data/extent\":54,\"../source/tile_coord\":94,\"../util/interpolate\":204,\"../util/util\":212,\"./coordinate\":61,\"./lng_lat\":62,\"@mapbox/gl-matrix\":1,\"point-geometry\":26}],65:[function(require,module,exports){\n\"use strict\";var browser=require(\"./util/browser\"),mapboxgl=module.exports={};mapboxgl.version=require(\"../package.json\").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=require(\"./ui/map\"),mapboxgl.NavigationControl=require(\"./ui/control/navigation_control\"),mapboxgl.GeolocateControl=require(\"./ui/control/geolocate_control\"),mapboxgl.AttributionControl=require(\"./ui/control/attribution_control\"),mapboxgl.ScaleControl=require(\"./ui/control/scale_control\"),mapboxgl.FullscreenControl=require(\"./ui/control/fullscreen_control\"),mapboxgl.Popup=require(\"./ui/popup\"),mapboxgl.Marker=require(\"./ui/marker\"),mapboxgl.Style=require(\"./style/style\"),mapboxgl.LngLat=require(\"./geo/lng_lat\"),mapboxgl.LngLatBounds=require(\"./geo/lng_lat_bounds\"),mapboxgl.Point=require(\"point-geometry\"),mapboxgl.Evented=require(\"./util/evented\"),mapboxgl.supported=require(\"./util/browser\").supported;var config=require(\"./util/config\");mapboxgl.config=config;var rtlTextPlugin=require(\"./source/rtl_text_plugin\");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,\"accessToken\",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}});\n},{\"../package.json\":43,\"./geo/lng_lat\":62,\"./geo/lng_lat_bounds\":63,\"./source/rtl_text_plugin\":90,\"./style/style\":146,\"./ui/control/attribution_control\":173,\"./ui/control/fullscreen_control\":174,\"./ui/control/geolocate_control\":175,\"./ui/control/navigation_control\":177,\"./ui/control/scale_control\":178,\"./ui/map\":187,\"./ui/marker\":188,\"./ui/popup\":189,\"./util/browser\":192,\"./util/config\":196,\"./util/evented\":200,\"point-geometry\":26}],66:[function(require,module,exports){\n\"use strict\";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint[\"background-color\"],l=e.paint[\"background-pattern\"],u=e.paint[\"background-opacity\"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram(\"fillPattern\",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram(\"fill\",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var c=i.coveringTiles({tileSize:n}),g=0,p=c;g\":[24,[4,18,20,9,4,0]],\"?\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\"@\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\"[\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\"\\\\\":[14,[0,21,14,-3]],\"]\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\"^\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\"`\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\"{\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\"|\":[8,[4,25,4,-7]],\"}\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\"~\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};\n},{\"../data/buffer\":51,\"../data/extent\":54,\"../data/pos_array\":57,\"../util/browser\":192,\"./vertex_array_object\":80,\"@mapbox/gl-matrix\":1}],70:[function(require,module,exports){\n\"use strict\";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint[\"fill-pattern\"]&&r.isPaintValueFeatureConstant(\"fill-color\")&&r.isPaintValueFeatureConstant(\"fill-opacity\")&&1===r.paint[\"fill-color\"][3]&&1===r.paint[\"fill-opacity\"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint[\"fill-antialias\"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty(\"fill-outline-color\")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint[\"raster-fade-duration\"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=require(\"../util/util\");module.exports=drawRaster;\n},{\"../util/util\":212}],74:[function(require,module,exports){\n\"use strict\";function drawSymbols(e,t,a,i){if(!e.isOpaquePass){var o=!(a.layout[\"text-allow-overlap\"]||a.layout[\"icon-allow-overlap\"]||a.layout[\"text-ignore-placement\"]||a.layout[\"icon-ignore-placement\"]),r=e.gl;o?r.disable(r.STENCIL_TEST):r.enable(r.STENCIL_TEST),e.setDepthSublayer(0),e.depthMask(!1),drawLayerSymbols(e,t,a,i,!1,a.paint[\"icon-translate\"],a.paint[\"icon-translate-anchor\"],a.layout[\"icon-rotation-alignment\"],a.layout[\"icon-rotation-alignment\"],a.layout[\"icon-size\"]),drawLayerSymbols(e,t,a,i,!0,a.paint[\"text-translate\"],a.paint[\"text-translate-anchor\"],a.layout[\"text-rotation-alignment\"],a.layout[\"text-pitch-alignment\"],a.layout[\"text-size\"]),t.map.showCollisionBoxes&&drawCollisionDebug(e,t,a,i)}}function drawLayerSymbols(e,t,a,i,o,r,n,l,s,u){if(o||!e.style.sprite||e.style.sprite.loaded()){var f=e.gl,m=\"map\"===l,p=\"map\"===s,c=p;c?f.enable(f.DEPTH_TEST):f.disable(f.DEPTH_TEST);for(var d,_,h=0,g=i;hthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);a<=t?r.opacities[a]=r.changeOpacities[a]+o:r.opacities[a]=r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory;\n},{}],76:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(\",\")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1,a=128;if(this.nextRow+s>this.height)return util.warnOnce(\"LineAtlas out of space\"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);var t=8,i=1/t;r.blendColor(i,i,i,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s=\"#define MAPBOX_GL_JS\\n#define DEVICE_PIXEL_RATIO \"+browser.devicePixelRatio.toFixed(1)+\"\\n\";this._showOverdrawInspector&&(s+=\"#define OVERDRAW_INSPECTOR;\\n\");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,\"fragment\"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,\"vertex\"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)};\n},{\"../source/pixels_to_tile_units\":87}],79:[function(require,module,exports){\n\"use strict\";var path=require(\"path\");module.exports={prelude:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\\n if (t < 1.0) {\\n return mix(values[0], values[1], t);\\n } else if (t < 2.0) {\\n return mix(values[1], values[2], t - 1.0);\\n } else {\\n return mix(values[2], values[3], t - 2.0);\\n }\\n}\\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\\n if (t < 1.0) {\\n return mix(value0, value1, t);\\n } else if (t < 2.0) {\\n return mix(value1, value2, t - 1.0);\\n } else {\\n return mix(value2, value3, t - 2.0);\\n }\\n}\\n\\n\\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\n// floor(color.b * 255) * 256 + color.g * 255 ]\\nvec4 decode_color(const vec2 encodedColor) {\\n float r = floor(encodedColor[0]/256.0)/255.0;\\n float g = (encodedColor[0] - r*256.0*255.0)/255.0;\\n float b = floor(encodedColor[1]/256.0)/255.0;\\n float a = (encodedColor[1] - b*256.0*255.0)/255.0;\\n return vec4(r, g, b, a);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\n return mix(packedValue[0], packedValue[1], t);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\n return mix(minColor, maxColor, t);\\n}\\n\\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\\n// vec2 offset = mod(pixel_coord, size)\\n//\\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\\n//\\n// The pixel_coord is passed in as two 16 bit values:\\n// pixel_coord_upper = floor(pixel_coord / 2^16)\\n// pixel_coord_lower = mod(pixel_coord, 2^16)\\n//\\n// The offset is calculated in a series of steps that should preserve this precision:\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\n\\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\n return (tile_units_to_pixels * pos + offset) / pattern_size;\\n}\\n\"},circle:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n float extrude_length = length(v_extrude);\\n float antialiased_blur = -max(blur, v_antialiasblur);\\n\\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\n\\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\n antialiased_blur,\\n 0.0,\\n extrude_length - radius / (radius + stroke_width)\\n );\\n\\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform bool u_scale_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nattribute vec2 a_pos;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main(void) {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n // unencode the extrusion vector that we snuck into the a_pos vector\\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n // in extrusion data\\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\\n\\n if (u_scale_with_map) {\\n gl_Position.xy += extrude;\\n } else {\\n gl_Position.xy += extrude * gl_Position.w;\\n }\\n\\n // This is a minimum blur distance that serves as a faux-antialiasing for\\n // the circle. since blur is a ratio of the circle's size and the intent is\\n // to keep the blur at roughly 1px, the two are inversely related.\\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\n}\\n\"},collisionBox:{fragmentSource:\"uniform float u_zoom;\\nuniform float u_maxzoom;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n\\n float alpha = 0.5;\\n\\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\\n\\n if (v_placement_zoom > u_zoom) {\\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n }\\n\\n if (u_zoom >= v_max_zoom) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\\n }\\n\\n if (v_placement_zoom >= u_maxzoom) {\\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\\n }\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform float u_scale;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\\n\\n v_max_zoom = a_data.x;\\n v_placement_zoom = a_data.y;\\n}\\n\"},debug:{fragmentSource:\"uniform lowp vec4 u_color;\\n\\nvoid main() {\\n gl_FragColor = u_color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\\n}\\n\"},fill:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_FragColor = color * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fillOutline:{fragmentSource:\"#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = smoothstep(1.0, 0.0, dist);\\n gl_FragColor = outline_color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillOutlinePattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n // find distance to outline for alpha interpolation\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = smoothstep(1.0, 0.0, dist);\\n\\n\\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n}\\n\"},fillExtrusion:{fragmentSource:\"varying vec4 v_color;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize lowp vec4 color\\n\\n gl_FragColor = v_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec4 v_color;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\n#pragma mapbox: define lowp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize lowp vec4 color\\n\\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\\n float t = mod(a_normal.x, 2.0);\\n\\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\n\\n // Relative luminance (how dark/bright is the surface color?)\\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\n\\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\\n\\n // Add slight ambient lighting so no extrusions are totally black\\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\n color += ambientlight;\\n\\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\\n\\n // Adjust directional so that\\n // the range of values for highlight/shading is narrower\\n // with lower light intensity\\n // and with lighter/brighter surface colors\\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\n\\n // Add gradient along z axis of side surfaces\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\n // with lower bounds adjusted to hue of light\\n // so that shading is tinted with the complementary (opposite) color to the light color\\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\n}\\n\"},fillExtrusionPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n vec4 mixedColor = mix(color1, color2, u_mix);\\n\\n gl_FragColor = mixedColor * v_lighting;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\nuniform float u_height_factor;\\n\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\nvarying float v_directional;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n float t = mod(a_normal.x, 2.0);\\n float z = t > 0.0 ? height : base;\\n\\n gl_Position = u_matrix * vec4(a_pos, z, 1);\\n\\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\\n ? a_pos // extrusion top\\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\\n\\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\\n\\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\n\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\n}\\n\"},extrusionTexture:{fragmentSource:\"uniform sampler2D u_texture;\\nuniform float u_opacity;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_FragColor = texture2D(u_texture, v_pos) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform int u_xdim;\\nuniform int u_ydim;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos.x = a_pos.x / float(u_xdim);\\n v_pos.y = 1.0 - a_pos.y / float(u_ydim);\\n}\\n\"},line:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_width2;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"},linePattern:{fragmentSource:\"uniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_fade;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\\n\\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\n\\n gl_FragColor = color * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float offset\\n #pragma mapbox: initialize mediump float gapwidth\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_linesofar = a_linesofar;\\n v_width2 = vec2(outset, inset);\\n}\\n\"},lineSDF:{fragmentSource:\"\\nuniform sampler2D u_image;\\nuniform float u_sdfgamma;\\nuniform float u_mix;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_patternscale_a;\\nuniform float u_tex_y_a;\\nuniform vec2 u_patternscale_b;\\nuniform float u_tex_y_b;\\nuniform vec2 u_gl_units_to_pixels;\\nuniform mediump float u_width;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset;\\n \\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist =outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"\n},raster:{fragmentSource:\"uniform float u_fade_t;\\nuniform float u_opacity;\\nuniform sampler2D u_image0;\\nuniform sampler2D u_image1;\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nuniform float u_brightness_low;\\nuniform float u_brightness_high;\\n\\nuniform float u_saturation_factor;\\nuniform float u_contrast_factor;\\nuniform vec3 u_spin_weights;\\n\\nvoid main() {\\n\\n // read and cross-fade colors from the main and parent tiles\\n vec4 color0 = texture2D(u_image0, v_pos0);\\n vec4 color1 = texture2D(u_image1, v_pos1);\\n vec4 color = mix(color0, color1, u_fade_t);\\n color.a *= u_opacity;\\n vec3 rgb = color.rgb;\\n\\n // spin\\n rgb = vec3(\\n dot(rgb, u_spin_weights.xyz),\\n dot(rgb, u_spin_weights.zxy),\\n dot(rgb, u_spin_weights.yzx));\\n\\n // saturation\\n float average = (color.r + color.g + color.b) / 3.0;\\n rgb += (average - rgb) * u_saturation_factor;\\n\\n // contrast\\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\n\\n // brightness\\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\n\\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_tl_parent;\\nuniform float u_scale_parent;\\nuniform float u_buffer_scale;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\n}\\n\"},symbolIcon:{fragmentSource:\"uniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\nattribute vec4 a_pos_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n#pragma mapbox: define lowp float opacity\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_texture_pos.xy;\\n mediump float a_labelminzoom = a_data[0];\\n mediump vec2 a_zoom = a_data.pq;\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n // u_zoom is the current zoom level adjusted for the change in font size\\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n if (u_rotate_with_map) {\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n } else {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"},symbolSDF:{fragmentSource:\"#define SDF_PX 8.0\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\n\\nuniform bool u_is_halo;\\n#pragma mapbox: define lowp vec4 fill_color\\n#pragma mapbox: define lowp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\nuniform lowp float u_font_scale;\\nuniform highp float u_gamma_scale;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 fill_color\\n #pragma mapbox: initialize lowp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n lowp vec4 color = fill_color;\\n highp float gamma = EDGE_GAMMA / u_gamma_scale;\\n lowp float buff = (256.0 - 64.0) / 256.0;\\n if (u_is_halo) {\\n color = halo_color;\\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / u_gamma_scale;\\n buff = (6.0 - halo_width / u_font_scale) / SDF_PX;\\n }\\n\\n lowp float dist = texture2D(u_texture, v_tex).a;\\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\\n highp float gamma_scaled = gamma * v_gamma_scale;\\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n#pragma mapbox: define lowp vec4 fill_color\\n#pragma mapbox: define lowp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform bool u_pitch_with_map;\\nuniform mediump float u_pitch;\\nuniform mediump float u_bearing;\\nuniform mediump float u_aspect_ratio;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 fill_color\\n #pragma mapbox: initialize lowp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_texture_pos.xy;\\n mediump float a_labelminzoom = a_data[0];\\n mediump vec2 a_zoom = a_data.pq;\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n // u_zoom is the current zoom level adjusted for the change in font size\\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n // pitch-alignment: map\\n // rotation-alignment: map | viewport\\n if (u_pitch_with_map) {\\n lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\\n vec2 offset = RotationMatrix * a_offset;\\n vec2 extrude = u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: map\\n } else if (u_rotate_with_map) {\\n // foreshortening factor to apply on pitched maps\\n // as a label goes from horizontal <=> vertical in angle\\n // it goes from 0% foreshortening to up to around 70% foreshortening\\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\\n\\n lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\\n\\n // use the lineangle to position points a,b along the line\\n // project the points and calculate the label angle in projected space\\n // this calculation allows labels to be rendered unskewed on pitched maps\\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\\n\\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\\n vec2 extrude = u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: viewport\\n } else {\\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_gamma_scale = gl_Position.w;\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"}};\n},{\"path\":23}],80:[function(require,module,exports){\n\"use strict\";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,o){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension(\"OES_vertex_array_object\"));var s=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==o;!e.extVertexArrayObject||s?(this.freshBind(e,t,r,i,n,o),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,o){var s,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),s=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=o;else{s=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(\"loadTile\",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast(\"removeSource\",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource;\n},{\"../data/extent\":54,\"../util/evented\":200,\"../util/util\":212,\"../util/window\":194}],83:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),rewind=require(\"geojson-rewind\"),GeoJSONWrapper=require(\"./geojson_wrapper\"),vtpbf=require(\"vt-pbf\"),supercluster=require(\"supercluster\"),geojsonvt=require(\"geojson-vt\"),VectorTileWorkerSource=require(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name=\"_geojsonTileLayer\";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):\"object\"!=typeof o?r(new Error(\"Input data is not a valid GeoJSON object.\")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if(\"string\"!=typeof e.data)return r(new Error(\"Input data is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error(\"Input data is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource;\n},{\"../util/ajax\":191,\"./geojson_wrapper\":84,\"./vector_tile_worker_source\":96,\"geojson-rewind\":7,\"geojson-vt\":11,\"supercluster\":29,\"vt-pbf\":38}],84:[function(require,module,exports){\n\"use strict\";var Point=require(\"point-geometry\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,EXTENT=require(\"../data/extent\"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;a=i._tiles[d],a&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var t=Math.ceil(e.width/e.tileSize)+1,o=Math.ceil(e.height/e.tileSize)+1,i=t*o,r=5;this._cache.setMaxSize(Math.floor(i*r))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(u=this.used?this._source.coord?[this._source.coord]:e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}):[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),a=o.findLoadedParent(r,d,l),a&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire(\"dataloading\",{tile:t,coord:t.coord,dataType:\"source\"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,\"expired\"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-(1/0),n=-(1/0),d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTimei.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e=\"\",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=t:this.dispatcher.send(\"reloadTile\",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send(\"loadTile\",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send(\"abortTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource;\n},{\"../util/evented\":200,\"../util/mapbox\":208,\"../util/util\":212,\"./load_tilejson\":86}],96:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),vt=require(\"vector-tile\"),Protobuf=require(\"pbf\"),WorkerTile=require(\"./worker_tile\"),util=require(\"../util/util\"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];\"parsing\"===l.status?l.reloadCallback=r:\"done\"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var a=t[i],l=a.redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource;\n},{\"../util/ajax\":191,\"../util/util\":212,\"./worker_tile\":99,\"pbf\":25,\"vector-tile\":34}],97:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),ImageSource=require(\"./image_source\"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type=\"video\",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire(\"error\",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener(\"playing\",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener(\"pause\",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},e}(ImageSource);module.exports=VideoSource;\n},{\"../util/ajax\":191,\"./image_source\":85}],98:[function(require,module,exports){\n\"use strict\";var Actor=require(\"../util/actor\"),StyleLayerIndex=require(\"../style/style_layer_index\"),VectorTileWorkerSource=require(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=require(\"./geojson_worker_source\"),globalRTLTextPlugin=require(\"./rtl_text_plugin\"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name \"'+e+'\" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error(\"RTL text plugin already registered.\");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)};\n},{\"../style/style_layer_index\":154,\"../util/actor\":190,\"./geojson_worker_source\":83,\"./rtl_text_plugin\":90,\"./vector_tile_worker_source\":96}],99:[function(require,module,exports){\n\"use strict\";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&\"none\"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(D++,2===D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r\"===i||\"<=\"===i||\">=\"===i?compileComparisonOp(e[1],e[2],i,!0):\"any\"===i?compileLogicalOp(e.slice(1),\"||\"):\"all\"===i?compileLogicalOp(e.slice(1),\"&&\"):\"none\"===i?compileNegation(compileLogicalOp(e.slice(1),\"||\")):\"in\"===i?compileInOp(e[1],e.slice(2)):\"!in\"===i?compileNegation(compileInOp(e[1],e.slice(2))):\"has\"===i?compileHasOp(e[1]):\"!has\"===i?compileNegation(compileHasOp(e[1])):\"true\";return\"(\"+n+\")\"}function compilePropertyReference(e){return\"$type\"===e?\"f.type\":\"$id\"===e?\"f.id\":\"p[\"+JSON.stringify(e)+\"]\"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t=\"$type\"===e?types.indexOf(i):JSON.stringify(i);return(r?\"typeof \"+o+\"=== typeof \"+t+\"&&\":\"\")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){\"$type\"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+\".indexOf(\"+r+\") !== -1\":\"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }(\"+r+\", \"+n+\",0,\"+(i.length-1)+\")\"}function compileHasOp(e){return\"$id\"===e?'\"id\" in f':JSON.stringify(e)+\" in p\"}function compileNegation(e){return\"!(\"+e+\")\"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];\n},{}],104:[function(require,module,exports){\n\"use strict\";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn),g=xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn);return[116*o-16,500*(b-o),200*(o-g),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1],n=r[2];return labToRgb([n,Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}};\n},{}],105:[function(require,module,exports){\n\"use strict\";function identityFunction(t){return t}function createFunction(t,e){var o,n=\"color\"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&\"object\"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||(\"interpolated\"===e.function?\"exponential\":\"interval\");n&&(t=extend({},t),t.stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if(\"exponential\"===s)u=evaluateExponentialFunction;else if(\"interval\"===s)u=evaluateIntervalFunction;else if(\"categorical\"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=binarySearchForIndex(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if(\"number\"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=binarySearchForIndex(t.stops,o);return interpolate(o,n,t.stops[a][0],t.stops[a+1][0],t.stops[a][1],t.stops[a+1][1])}function evaluateIdentityFunction(t,e,o){return\"color\"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function binarySearchForIndex(t,e){for(var o,n,r=t.length,a=0,i=r-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e>=o&&ee&&(i=s-1)}return Math.max(s-1,0)}function interpolate(t,e,o,n,r,a){return\"function\"==typeof r?function(){var i=r.apply(void 0,arguments),s=a.apply(void 0,arguments);if(void 0!==i&&void 0!==s)return interpolate(t,e,o,n,i,s)}:r.length?interpolateArray(t,e,o,n,r,a):interpolateNumber(t,e,o,n,r,a)}function interpolateNumber(t,e,o,n,r,a){var i,s=n-o,u=t-o;return i=1===e?u/s:(Math.pow(e,u)-1)/(Math.pow(e,s)-1),r*(1-i)+a*i}function interpolateArray(t,e,o,n,r,a){for(var i=[],s=0;s255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte(\"%\"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float(\"%\"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,\"\").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if(\"#\"===r[0]){if(4===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null}if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf(\"(\"),t=r.indexOf(\")\");if(a!==-1&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(\",\"),o=1;switch(n){case\"rgba\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"rgb\":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case\"hsla\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"hsl\":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){}\n},{}],108:[function(require,module,exports){\nfunction sss(r){var e,t,s,n,u,a;switch(typeof r){case\"object\":if(null===r)return null;if(isArray(r)){for(s=\"[\",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+\"]\"}for(n=objKeys(r).sort(),t=n.length,s=\"{\",u=n[e=0],a=t>0&&void 0!==r[u];e15?\"\\\\u00\"+e.toString(16):\"\\\\u000\"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return\"\"+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace;\n},{}],109:[function(require,module,exports){\nfunction isObjectLike(r){return!!r&&\"object\"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&(\"object\"==e||\"function\"==e)}function isObjectLike(t){return!!t&&\"object\"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",funcTag=\"[object Function]\",genTag=\"[object GeneratorFunction]\",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments;\n},{}],113:[function(require,module,exports){\nfunction isObjectLike(t){return!!t&&\"object\"==typeof t}function getNative(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}function isLength(t){return\"number\"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&(\"object\"==r||\"function\"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var arrayTag=\"[object Array]\",funcTag=\"[object Function]\",reIsHostCtor=/^\\[object .+?Constructor\\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp(\"^\"+fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),nativeIsArray=getNative(Array,\"isArray\"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(t){return isObjectLike(t)&&isLength(t.length)&&objToString.call(t)==arrayTag};module.exports=isArray;\n},{}],114:[function(require,module,exports){\nfunction isEqual(a,l,i,e){i=\"function\"==typeof i?bindCallback(i,e,3):void 0;var s=i?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=require(\"lodash._baseisequal\"),bindCallback=require(\"lodash._bindcallback\");module.exports=isEqual;\n},{\"lodash._baseisequal\":109,\"lodash._bindcallback\":110}],115:[function(require,module,exports){\nfunction isLength(a){return\"number\"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&\"object\"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",arrayTag=\"[object Array]\",boolTag=\"[object Boolean]\",dateTag=\"[object Date]\",errorTag=\"[object Error]\",funcTag=\"[object Function]\",mapTag=\"[object Map]\",numberTag=\"[object Number]\",objectTag=\"[object Object]\",regexpTag=\"[object RegExp]\",setTag=\"[object Set]\",stringTag=\"[object String]\",weakMapTag=\"[object WeakMap]\",arrayBufferTag=\"[object ArrayBuffer]\",dataViewTag=\"[object DataView]\",float32Tag=\"[object Float32Array]\",float64Tag=\"[object Float64Array]\",int8Tag=\"[object Int8Array]\",int16Tag=\"[object Int16Array]\",int32Tag=\"[object Int32Array]\",uint8Tag=\"[object Uint8Array]\",uint8ClampedTag=\"[object Uint8ClampedArray]\",uint16Tag=\"[object Uint16Array]\",uint32Tag=\"[object Uint32Array]\",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objectToString=objectProto.toString;module.exports=isTypedArray;\n},{}],116:[function(require,module,exports){\nfunction baseProperty(e){return function(t){return null==t?void 0:t[e]}}function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e=\"number\"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n\":{},\">=\":{},\"<\":{},\"<=\":{},\"in\":{},\"!in\":{},\"all\":{},\"any\":{},\"none\":{},\"has\":{},\"!has\":{}}},\"geometry_type\":{\"type\":\"enum\",\"values\":{\"Point\":{},\"LineString\":{},\"Polygon\":{}}},\"function\":{\"stops\":{\"type\":\"array\",\"value\":\"function_stop\"},\"base\":{\"type\":\"number\",\"default\":1,\"minimum\":0},\"property\":{\"type\":\"string\",\"default\":\"$zoom\"},\"type\":{\"type\":\"enum\",\"values\":{\"identity\":{},\"exponential\":{},\"interval\":{},\"categorical\":{}},\"default\":\"exponential\"},\"colorSpace\":{\"type\":\"enum\",\"values\":{\"rgb\":{},\"lab\":{},\"hcl\":{}},\"default\":\"rgb\"},\"default\":{\"type\":\"*\",\"required\":false}},\"function_stop\":{\"type\":\"array\",\"minimum\":0,\"maximum\":22,\"value\":[\"number\",\"color\"],\"length\":2},\"light\":{\"anchor\":{\"type\":\"enum\",\"default\":\"viewport\",\"values\":{\"map\":{},\"viewport\":{}},\"transition\":false},\"position\":{\"type\":\"array\",\"default\":[1.15,210,30],\"length\":3,\"value\":\"number\",\"transition\":true,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false},\"color\":{\"type\":\"color\",\"default\":\"#ffffff\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true},\"intensity\":{\"type\":\"number\",\"default\":0.5,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true}},\"paint\":[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_background\"],\"paint_fill\":{\"fill-antialias\":{\"type\":\"boolean\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"default\":true},\"fill-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"}]},\"fill-outline-color\":{\"type\":\"color\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"},{\"fill-antialias\":true}]},\"fill-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-translate\"]},\"fill-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-extrusion-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-extrusion-pattern\"}]},\"fill-extrusion-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-extrusion-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-extrusion-translate\"]},\"fill-extrusion-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"fill-extrusion-height\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true},\"fill-extrusion-base\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true,\"requires\":[\"fill-extrusion-height\"]}},\"paint_line\":{\"line-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"line-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"line-pattern\"}]},\"line-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"line-translate\"]},\"line-width\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-gap-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-offset\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-dasharray\":{\"type\":\"array\",\"value\":\"number\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"minimum\":0,\"transition\":true,\"units\":\"line widths\",\"requires\":[{\"!\":\"line-pattern\"}]},\"line-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_circle\":{\"circle-radius\":{\"type\":\"number\",\"default\":5,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-blur\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"circle-translate\"]},\"circle-pitch-scale\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\"},\"circle-stroke-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-stroke-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-stroke-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true}},\"paint_symbol\":{\"icon-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"icon-image\",\"icon-translate\"]},\"text-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"text-field\",\"text-translate\"]}},\"paint_raster\":{\"raster-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-hue-rotate\":{\"type\":\"number\",\"default\":0,\"period\":360,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"degrees\"},\"raster-brightness-min\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":0,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-brightness-max\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-saturation\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-contrast\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-fade-duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"milliseconds\"}},\"paint_background\":{\"background-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"requires\":[{\"!\":\"background-pattern\"}]},\"background-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"background-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true}},\"transition\":{\"duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"units\":\"milliseconds\"},\"delay\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"units\":\"milliseconds\"}}}\n},{}],119:[function(require,module,exports){\n\"use strict\";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,\"constants have been deprecated as of v8\")];if(!(a in l.constants))return[new ValidationError(u,a,'constant \"%s\" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&\"object\"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))};\n},{\"../error/validation_error\":102,\"../util/extend\":119,\"../util/get_type\":120,\"./validate_array\":125,\"./validate_boolean\":126,\"./validate_color\":127,\"./validate_constants\":128,\"./validate_enum\":129,\"./validate_filter\":130,\"./validate_function\":131,\"./validate_layer\":133,\"./validate_light\":135,\"./validate_number\":136,\"./validate_object\":137,\"./validate_source\":140,\"./validate_string\":141}],125:[function(require,module,exports){\n\"use strict\";var getType=require(\"../util/get_type\"),validate=require(\"./validate\"),ValidationError=require(\"../error/validation_error\");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if(\"array\"!==getType(r))return[new ValidationError(l,r,\"array expected, %s found\",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,\"array length %d expected, length %d found\",t.length,r.length)];if(t[\"min-length\"]&&r.length7)return t?[new ValidationError(e,t,\"constants have been deprecated as of v8\")]:[];var o=getType(t);if(\"object\"!==o)return[new ValidationError(e,t,\"object expected, %s found\",o)];var n=[];for(var i in t)\"@\"!==i[0]&&n.push(new ValidationError(e+\".\"+i,t[i],'constants must start with \"@\"'));return n};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],129:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?u.values.indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",u.values.join(\", \"),n)):Object.keys(u.values).indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",Object.keys(u.values).join(\", \"),n)),o};\n},{\"../error/validation_error\":102,\"../util/unbundle_jsonlint\":123}],130:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),validateEnum=require(\"./validate_enum\"),getType=require(\"../util/get_type\"),unbundle=require(\"../util/unbundle_jsonlint\");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if(\"array\"!==getType(a))return[new ValidationError(n,a,\"array expected, %s found\",getType(a))];if(a.length<1)return[new ValidationError(n,a,\"filter array must have at least 1 element\")];switch(s=s.concat(validateEnum({key:n+\"[0]\",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case\"<\":case\"<=\":case\">\":case\">=\":a.length>=2&&\"$type\"===unbundle(a[1])&&s.push(new ValidationError(n,a,'\"$type\" cannot be use with operator \"%s\"',a[0]));case\"==\":case\"!=\":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator \"%s\" must have 3 elements',a[0]));case\"in\":case\"!in\":a.length>=2&&(t=getType(a[1]),\"string\"!==t&&s.push(new ValidationError(n+\"[1]\",a[1],\"string expected, %s found\",t)));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,\"stop zoom values must appear in ascending order\")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+\"[0]\",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+\"[0]\",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+\"[1]\",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,\"%s stop domain type must match previous stop domain type %s\",t,n)]}else n=t;if(\"number\"!==t&&\"string\"!==t&&\"boolean\"!==t)return[new ValidationError(e.key,e.value,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==t&&\"categorical\"!==p){var a=\"number expected, %s found\";return u[\"property-function\"]&&void 0===p&&(a+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ValidationError(e.key,e.value,a,t)]}return\"categorical\"!==p||\"number\"!==t||isFinite(r)&&Math.floor(r)===r?\"number\"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec[\"property-function\"]?v.push(new ValidationError(e.key,e.value,\"property functions not supported\")):y&&!e.valueSpec[\"zoom-function\"]&&v.push(new ValidationError(e.key,e.value,\"zoom functions not supported\"))),\"categorical\"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'\"property\" property is required')),v};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"../util/unbundle_jsonlint\":123,\"./validate\":124,\"./validate_array\":125,\"./validate_number\":136,\"./validate_object\":137}],132:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),validateString=require(\"./validate_string\");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(e.indexOf(\"{fontstack}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{fontstack}\" token')),e.indexOf(\"{range}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{range}\" token')),a)};\n},{\"../error/validation_error\":102,\"./validate_string\":141}],133:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\"),validateObject=require(\"./validate_object\"),validateFilter=require(\"./validate_filter\"),validatePaintProperty=require(\"./validate_paint_property\"),validateLayoutProperty=require(\"./validate_layout_property\"),extend=require(\"../util/extend\");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either \"type\" or \"ref\" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,\"%s is greater than the maximum value %s\",i,m.maximum)]:[]};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],137:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),getType=require(\"../util/get_type\"),validateSpec=require(\"./validate\");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if(\"object\"!==u)return[new ValidationError(r,t,\"object expected, %s found\",u)];for(var d in t){var p=d.split(\".\")[0],s=i[p]||i[\"*\"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a[\"*\"])c=a[\"*\"];else{if(!i[\"*\"]){n.push(new ValidationError(r,t[d],'unknown property \"%s\"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+\".\":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property \"%s\"',v));return n};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"./validate\":124}],138:[function(require,module,exports){\n\"use strict\";var validateProperty=require(\"./validate_property\");module.exports=function(r){return validateProperty(r,\"paint\")};\n},{\"./validate_property\":139}],139:[function(require,module,exports){\n\"use strict\";var validate=require(\"./validate\"),ValidationError=require(\"../error/validation_error\"),getType=require(\"../util/get_type\");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+\"_\"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if(\"paint\"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property \"%s\"',o)];var s;if(\"string\"===getType(n)&&p[\"property-function\"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'\"%s\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return\"symbol\"===e.layerType&&\"text-field\"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of \"text-field\" requires a style \"glyphs\" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"./validate\":124}],140:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\"),validateObject=require(\"./validate_object\"),validateEnum=require(\"./validate_enum\");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'\"type\" is required')];var u=unbundle(a.type),i=[];switch(u){case\"vector\":case\"raster\":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),\"url\"in a)for(var s in a)[\"type\",\"url\",\"tileSize\"].indexOf(s)<0&&i.push(new ValidationError(t+\".\"+s,a[s],'a source with a \"url\" property may not include a \"%s\" property',s));return i;case\"geojson\":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case\"video\":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case\"image\":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case\"canvas\":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+\".type\",value:a.type,valueSpec:{values:[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"]},style:l,styleSpec:r})}};\n},{\"../error/validation_error\":102,\"../util/unbundle_jsonlint\":123,\"./validate_enum\":129,\"./validate_object\":137}],141:[function(require,module,exports){\n\"use strict\";var getType=require(\"../util/get_type\"),ValidationError=require(\"../error/validation_error\");module.exports=function(r){var e=r.value,t=r.key,i=getType(e);return\"string\"!==i?[new ValidationError(t,e,\"string expected, %s found\",i)]:[]};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],142:[function(require,module,exports){\n\"use strict\";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:\"\",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,\"*\":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:\"constants\",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=require(\"./validate/validate_constants\"),validate=require(\"./validate/validate\"),latestStyleSpec=require(\"./reference/latest\"),validateGlyphsURL=require(\"./validate/validate_glyphs_url\");validateStyleMin.source=wrapCleanErrors(require(\"./validate/validate_source\")),validateStyleMin.light=wrapCleanErrors(require(\"./validate/validate_light\")),validateStyleMin.layer=wrapCleanErrors(require(\"./validate/validate_layer\")),validateStyleMin.filter=wrapCleanErrors(require(\"./validate/validate_filter\")),validateStyleMin.paintProperty=wrapCleanErrors(require(\"./validate/validate_paint_property\")),validateStyleMin.layoutProperty=wrapCleanErrors(require(\"./validate/validate_layout_property\")),module.exports=validateStyleMin;\n},{\"./reference/latest\":117,\"./validate/validate\":124,\"./validate/validate_constants\":128,\"./validate/validate_filter\":130,\"./validate/validate_glyphs_url\":132,\"./validate/validate_layer\":133,\"./validate/validate_layout_property\":134,\"./validate/validate_light\":135,\"./validate/validate_paint_property\":138,\"./validate/validate_source\":140}],143:[function(require,module,exports){\n\"use strict\";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop;\n},{}],144:[function(require,module,exports){\n\"use strict\";var Evented=require(\"../util/evented\"),ajax=require(\"../util/ajax\"),browser=require(\"../util/browser\"),normalizeURL=require(\"../util/mapbox\").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function i(i,e){var a=this;t.call(this),this.base=i,this.retina=browser.devicePixelRatio>1,this.setEventedParent(e);var r=this.retina?\"@2x\":\"\";ajax.getJSON(normalizeURL(i,r,\".json\"),function(t,i){return t?void a.fire(\"error\",{error:t}):(a.data=i,void(a.imgData&&a.fire(\"data\",{dataType:\"style\"})))}),ajax.getImage(normalizeURL(i,r,\".png\"),function(t,i){if(t)return void a.fire(\"error\",{error:t});a.imgData=browser.getImageData(i);for(var e=0;e1!==this.retina){var e=new i(this.base);e.on(\"data\",function(){t.data=e.data,t.imgData=e.imgData,t.width=e.width,t.retina=e.retina})}},i.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var i=this.data&&this.data[t];return i&&this.imgData?i:new SpritePosition},i}(Evented);module.exports=ImageSprite;\n},{\"../util/ajax\":191,\"../util/browser\":192,\"../util/evented\":200,\"../util/mapbox\":208}],145:[function(require,module,exports){\n\"use strict\";var styleSpec=require(\"../style-spec/reference/latest\"),util=require(\"../util/util\"),Evented=require(\"../util/evented\"),validateStyle=require(\"./validate_style\"),StyleDeclaration=require(\"./style_declaration\"),StyleTransition=require(\"./style_transition\"),TRANSITION_SUFFIX=\"-transition\",Light=function(t){function i(i){t.call(this),this.properties=[\"anchor\",\"color\",\"position\",\"intensity\"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];\"reload\"===a?r._reloadSource(s):\"clear\"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire(\"data\",{dataType:\"style\"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return\"symbol\"===r._layers[e].type}):null;this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;e=util.extend({},e),e.layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error(\"Unimplemented: \"+i.map(function(e){return e.command}).join(\", \")+\".\");return r.forEach(function(e){\"setTransition\"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!t.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(t)+\".\");var o=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"],s=o.indexOf(t.type)>=0;if(!s||!this._validate(validateStyle.source,\"sources.\"+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if(\"object\"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,\"layers.\"+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?\"clear\":\"reload\"}this._updateLayer(o),\"symbol\"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(!r)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")});var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),\"symbol\"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]=\"reload\"))},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(!t)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")});t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),\"symbol\"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,\"layers.\"+r.id+\".filter\",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(!o)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")});if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i);var a=!(r&&MapboxGLFunction.isFunctionDefinition(r)&&\"$zoom\"!==r.property&&void 0!==r.property);a&&s||this._updateLayer(o),this.updateClasses(e,t)}},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||\"all\"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]=\"reload\"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||\"none\"===this.layout.visibility)},i.prototype.updatePaintTransitions=function(t,i,a,e,n){for(var o=this,r=util.extend({},this._paintDeclarations[\"\"]),s=0;s=this.endTime)return e;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((o-this.startTime-this.delay)/this.duration);return this.interp(a,e,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var o=t.zoom,e=this.zoomHistory.lastIntegerZoom,a=o>e?2:.5,n=this.declaration.calculate({zoom:o>e?o-1:o+1},i),r=this.declaration.calculate({zoom:o},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(o-e),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition;\n},{\"../util/interpolate\":204,\"../util/util\":212}],156:[function(require,module,exports){\n\"use strict\";module.exports=require(\"../style-spec/validate_style.min\"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(s--,s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;fr;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle;\n},{}],159:[function(require,module,exports){\n\"use strict\";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=require(\"point-geometry\");module.exports=clipLine;\n},{\"point-geometry\":26}],160:[function(require,module,exports){\n\"use strict\";var createStructArrayType=require(\"../util/struct_array\"),Point=require(\"point-geometry\"),CollisionBoxArray=createStructArrayType({members:[{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Float32\",name:\"maxScale\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"},{type:\"Int16\",name:\"bbox0\"},{type:\"Int16\",name:\"bbox1\"},{type:\"Int16\",name:\"bbox2\"},{type:\"Int16\",name:\"bbox3\"},{type:\"Float32\",name:\"placementScale\"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,\"anchorPoint\",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray;\n},{\"../util/struct_array\":210,\"point-geometry\":26}],161:[function(require,module,exports){\n\"use strict\";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(m--,m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],C=e[m+1],B=C.sub(p)._unit()._mult(g)._add(p)._round(),M=Math.max(Math.abs(c-h)-d/2,0),y=s/2/M;t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature;\n},{}],162:[function(require,module,exports){\n\"use strict\";var Point=require(\"point-geometry\"),EXTENT=require(\"../data/extent\"),Grid=require(\"grid-index\"),intersectionTests=require(\"../util/intersection_tests\"),CollisionTile=function(t,e,i){if(\"object\"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);S=r.tempCollisionBox,S.anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-(1/0),c=-(1/0),g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+c<=s){var M=new Anchor(k,q,y,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=A}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,h)),x}var interpolate=require(\"../util/interpolate\"),Anchor=require(\"../symbol/anchor\"),checkMaxAngle=require(\"./check_max_angle\");module.exports=getAnchors;\n},{\"../symbol/anchor\":157,\"../util/interpolate\":204,\"./check_max_angle\":158}],164:[function(require,module,exports){\n\"use strict\";var ShelfPack=require(\"@mapbox/shelf-pack\"),util=require(\"../util/util\"),SIZE_GROWTH_RATE=4,DEFAULT_SIZE=128,MAX_SIZE=2048,GlyphAtlas=function(){this.width=DEFAULT_SIZE,this.height=DEFAULT_SIZE,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+\"#\"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,n=1,l=a+2*n,T=E+2*n;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce(\"glyph bitmap overflow\"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=MAX_SIZE||e>=MAX_SIZE)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=SIZE_GROWTH_RATE,this.height*=SIZE_GROWTH_RATE,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a(\"glyphs > 65535 not supported\");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var i=256*e+\"-\"+(256*e+255),r=glyphUrl(t,i,this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},i.prototype.addIcons=function(t,i){for(var e=this,r=0;r1||(b?(clearTimeout(b),b=null,h(\"dblclick\",t)):b=setTimeout(l,300))}function i(e){f(\"touchmove\",e)}function c(e){f(\"touchend\",e)}function d(e){f(\"touchcancel\",e)}function l(){b=null}function s(e){var t=DOM.mousePos(g,e);t.equals(L)&&h(\"click\",e)}function v(e){h(\"dblclick\",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h(\"contextmenu\",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener(\"mouseout\",n,!1),g.addEventListener(\"mousedown\",o,!1),g.addEventListener(\"mouseup\",r,!1),g.addEventListener(\"mousemove\",a,!1),g.addEventListener(\"touchstart\",u,!1),g.addEventListener(\"touchend\",c,!1),g.addEventListener(\"touchmove\",i,!1),g.addEventListener(\"touchcancel\",d,!1),g.addEventListener(\"click\",s,!1),g.addEventListener(\"dblclick\",v,!1),g.addEventListener(\"contextmenu\",m,!1)};\n},{\"../util/dom\":199,\"./handler/box_zoom\":179,\"./handler/dblclick_zoom\":180,\"./handler/drag_pan\":181,\"./handler/drag_rotate\":182,\"./handler/keyboard\":183,\"./handler/scroll_zoom\":184,\"./handler/touch_zoom_rotate\":185,\"point-geometry\":26}],172:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),interpolate=require(\"../util/interpolate\"),browser=require(\"../util/browser\"),LngLat=require(\"../geo/lng_lat\"),LngLatBounds=require(\"../geo/lng_lat_bounds\"),Point=require(\"point-geometry\"),Evented=require(\"../util/evented\"),Camera=function(t){function i(i,e){t.call(this),this.moving=!1,this.transform=i,this._bearingSnap=e.bearingSnap}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i),this},i.prototype.panBy=function(t,i,e){return this.panTo(this.transform.center,util.extend({offset:Point.convert(t).mult(-1)},i),e),this},i.prototype.panTo=function(t,i,e){return this.easeTo(util.extend({center:t},i),e)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,i){return this.jumpTo({zoom:t},i),this},i.prototype.zoomTo=function(t,i,e){return this.easeTo(util.extend({zoom:t},i),e)},i.prototype.zoomIn=function(t,i){return this.zoomTo(this.getZoom()+1,t,i),this},i.prototype.zoomOut=function(t,i){return this.zoomTo(this.getZoom()-1,t,i),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,i){return this.jumpTo({bearing:t},i),this},i.prototype.rotateTo=function(t,i,e){return this.easeTo(util.extend({bearing:t},i),e)},i.prototype.resetNorth=function(t,i){return this.rotateTo(0,util.extend({duration:1e3},t),i),this},i.prototype.snapToNorth=function(t,i){return Math.abs(this.getBearing())i?1:0}),[\"bottom\",\"left\",\"right\",\"top\"]))return void util.warnOnce(\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\");t=LngLatBounds.convert(t);var n=[i.padding.left-i.padding.right,i.padding.top-i.padding.bottom],r=Math.min(i.padding.right,i.padding.left),s=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var a=Point.convert(i.offset),h=this.transform,u=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),c=p.sub(u),g=(h.width-2*r-2*Math.abs(a.x))/c.x,m=(h.height-2*s-2*Math.abs(a.y))/c.y;return m<0||g<0?void util.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\"):(i.center=h.unproject(u.add(p).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,m)),i.maxZoom),i.bearing=0,i.linear?this.easeTo(i,e):this.flyTo(i,e))},i.prototype.jumpTo=function(t,i){this.stop();var e=this.transform,o=!1,n=!1,r=!1;return\"zoom\"in t&&e.zoom!==+t.zoom&&(o=!0,e.zoom=+t.zoom),\"center\"in t&&(e.center=LngLat.convert(t.center)),\"bearing\"in t&&e.bearing!==+t.bearing&&(n=!0,e.bearing=+t.bearing),\"pitch\"in t&&e.pitch!==+t.pitch&&(r=!0,e.pitch=+t.pitch),this.fire(\"movestart\",i).fire(\"move\",i),o&&this.fire(\"zoomstart\",i).fire(\"zoom\",i).fire(\"zoomend\",i),n&&this.fire(\"rotate\",i),r&&this.fire(\"pitch\",i),this.fire(\"moveend\",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),t=util.extend({offset:[0,0],duration:500,easing:util.ease},t);var o,n,r=this.transform,s=Point.convert(t.offset),a=this.getZoom(),h=this.getBearing(),u=this.getPitch(),p=\"zoom\"in t?+t.zoom:a,c=\"bearing\"in t?this._normalizeBearing(t.bearing,h):h,g=\"pitch\"in t?+t.pitch:u;\"center\"in t?(o=LngLat.convert(t.center),n=r.centerPoint.add(s)):\"around\"in t?(o=LngLat.convert(t.around),n=r.locationPoint(o)):(n=r.centerPoint.add(s),o=r.pointLocation(n));var m=r.locationPoint(o);return t.animate===!1&&(t.duration=0),this.zooming=p!==a,this.rotating=h!==c,this.pitching=g!==u,t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration)),t.noMoveStart||(this.moving=!0,this.fire(\"movestart\",i)),this.zooming&&this.fire(\"zoomstart\",i),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(r.zoom=interpolate(a,p,t)),this.rotating&&(r.bearing=interpolate(h,c,t)),this.pitching&&(r.pitch=interpolate(u,g,t)),r.setLocationAtPoint(o,m.add(n.sub(m)._mult(t))),this.fire(\"move\",i),this.zooming&&this.fire(\"zoom\",i),this.rotating&&this.fire(\"rotate\",i),this.pitching&&this.fire(\"pitch\",i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(e._easeToEnd.bind(e,i),t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._easeToEnd=function(t){var i=this.zooming;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire(\"zoomend\",t),this.fire(\"moveend\",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(y*y-z*z+(t?-1:1)*E*E*_*_)/(2*(t?y:z)*E*_);return Math.log(Math.sqrt(i*i+1)-i)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,a=Point.convert(t.offset),h=this.getZoom(),u=this.getBearing(),p=this.getPitch(),c=\"center\"in t?LngLat.convert(t.center):this.getCenter(),g=\"zoom\"in t?+t.zoom:h,m=\"bearing\"in t?this._normalizeBearing(t.bearing,u):u,f=\"pitch\"in t?+t.pitch:p;Math.abs(s.center.lng)+Math.abs(c.lng)>180&&(s.center.lng>0&&c.lng<0?c.lng+=360:s.center.lng<0&&c.lng>0&&(c.lng-=360));var d=s.zoomScale(g-h),l=s.point,v=\"center\"in t?s.project(c).sub(a.div(d)):l,b=t.curve,z=Math.max(s.width,s.height),y=z/d,_=v.sub(l).mag();if(\"minZoom\"in t){var M=util.clamp(Math.min(t.minZoom,h,g),s.minZoom,s.maxZoom),T=z/s.zoomScale(M-h);b=Math.sqrt(T/_*2)}var E=b*b,x=e(0),L=function(t){return n(x)/n(x+b*t)},Z=function(t){return z*((n(x)*r(x+b*t)-o(x))/E)/_},P=(e(1)-x)/b;if(Math.abs(_)<1e-6){if(Math.abs(z-y)<1e-6)return this.easeTo(t,i);var j=y=0)return!1;return!0}),this._container.innerHTML=i.join(\" | \"),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?\"add\":\"remove\"](\"compact\")},module.exports=AttributionControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],174:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};FullscreenControl.prototype.onAdd=function(e){var n=\"mapboxgl-ctrl\",t=this._container=DOM.create(\"div\",n+\" mapboxgl-ctrl-group\"),l=this._fullscreenButton=DOM.create(\"button\",n+\"-icon \"+n+\"-fullscreen\",this._container);return l.setAttribute(\"aria-label\",\"Toggle fullscreen\"),l.type=\"button\",this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),t},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(e){if(e.target===this._mapContainer){this._fullscreen=!this._fullscreen;var n=\"mapboxgl-ctrl\";this._fullscreenButton.classList.toggle(n+\"-shrink\"),this._fullscreenButton.classList.toggle(n+\"-fullscreen\")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&window.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],175:[function(require,module,exports){\n\"use strict\";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:\"geolocation\"}).then(function(o){supportsGeolocation=\"denied\"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var Evented=require(\"../../util/evented\"),DOM=require(\"../../util/dom\"),window=require(\"../../util/window\"),util=require(\"../../util/util\"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},className=\"mapboxgl-ctrl\",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll([\"_onSuccess\",\"_onError\",\"_finish\",\"_setupUI\"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(\"geolocate\",t),this._finish()},o.prototype._onError=function(t){this.fire(\"error\",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){t!==!1&&(this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create(\"button\",className+\"-icon \"+className+\"-geolocate\",this._container),this._geolocateButton.type=\"button\",this._geolocateButton.setAttribute(\"aria-label\",\"Geolocate\"),this.options.watchPosition&&this._geolocateButton.setAttribute(\"aria-pressed\",!1),this._geolocateButton.addEventListener(\"click\",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove(\"watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add(\"watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl;\n},{\"../../util/dom\":199,\"../../util/evented\":200,\"../../util/util\":212,\"../../util/window\":194}],176:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),LogoControl=function(){util.bindAll([\"_updateLogo\"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create(\"div\",\"mapboxgl-ctrl\"),this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"sourcedata\",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},LogoControl.prototype._updateLogo=function(o){if(o&&\"metadata\"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create(\"a\",\"mapboxgl-ctrl-logo\");t.target=\"_blank\",t.href=\"https://www.mapbox.com/\",t.setAttribute(\"aria-label\",\"Mapbox logo\"),this._container.appendChild(t),this._map.off(\"data\",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){var e=o[t].getSource();if(e.mapbox_logo)return!0}return!1}},module.exports=LogoControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],177:[function(require,module,exports){\n\"use strict\";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=require(\"../../util/dom\"),window=require(\"../../util/window\"),util=require(\"../../util/util\"),className=\"mapboxgl-ctrl\",NavigationControl=function(){util.bindAll([\"_rotateCompassArrow\"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t=\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\",t.getContainer()),this._container.addEventListener(\"contextmenu\",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+\"-icon \"+className+\"-zoom-in\",\"Zoom In\",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+\"-icon \"+className+\"-zoom-out\",\"Zoom Out\",t.zoomOut.bind(t)),this._compass=this._createButton(className+\"-icon \"+className+\"-compass\",\"Reset North\",t.resetNorth.bind(t)),this._compassArrow=DOM.create(\"span\",className+\"-compass-arrow\",this._compass),this._compass.addEventListener(\"mousedown\",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"rotate\",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener(\"mousemove\",this._onCompassMove),window.document.addEventListener(\"mouseup\",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener(\"mousemove\",this._onCompassMove),window.document.removeEventListener(\"mouseup\",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create(\"button\",t,this._container);return n.type=\"button\",n.setAttribute(\"aria-label\",o),n.addEventListener(\"click\",function(){e()}),n},module.exports=NavigationControl;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],178:[function(require,module,exports){\n\"use strict\";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&\"imperial\"===o.unit){var r=3.2808*a;if(r>5280){var l=r/5280;setScale(e,n,l,\"mi\")}else setScale(e,n,r,\"ft\")}else setScale(e,n,a,\"m\")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;\"m\"===n&&i>=1e3&&(i/=1e3,n=\"km\"),t.style.width=e*a+\"px\",t.innerHTML=i+n}function getDistance(t,e){var o=6371e3,n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n),l=o*Math.acos(Math.min(r,1));return l}function getRoundNum(t){var e=Math.pow(10,(\"\"+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),ScaleControl=function(t){this.options=t,util.bindAll([\"_onMove\"],this)};ScaleControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},module.exports=ScaleControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],179:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),LngLatBounds=require(\"../../geo/lng_lat_bounds\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll([\"_onMouseDown\",\"_onMouseMove\",\"_onMouseUp\",\"_onKeyDown\"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onMouseDown,!1),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener(\"mousemove\",this._onMouseMove,!1),window.document.addEventListener(\"keydown\",this._onKeyDown,!1),window.document.addEventListener(\"mouseup\",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),r=Math.max(e.y,t.y);DOM.setTransform(this._box,\"translate(\"+n+\"px,\"+s+\"px)\"),this._box.style.width=i-n+\"px\",this._box.style.height=r-s+\"px\"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent(\"boxzoomcancel\",o):this._map.fitBounds(n,{linear:!0}).fire(\"boxzoomend\",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent(\"boxzoomcancel\",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener(\"mousemove\",this._onMouseMove,!1),window.document.removeEventListener(\"keydown\",this._onKeyDown,!1),window.document.removeEventListener(\"mouseup\",this._onMouseUp,!1),this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler;\n},{\"../../geo/lng_lat_bounds\":63,\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],180:[function(require,module,exports){\n\"use strict\";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on(\"dblclick\",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off(\"dblclick\",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler;\n},{}],181:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.3,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=1400,inertiaDeceleration=2500,DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\",\"_onTouchEnd\",\"_onMouseUp\"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._el.addEventListener(\"touchstart\",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._el.removeEventListener(\"touchstart\",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener(\"touchmove\",this._onMove),window.document.addEventListener(\"touchend\",this._onTouchEnd)):(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onMouseUp)),window.addEventListener(\"blur\",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"dragstart\",t),this._fireEvent(\"movestart\",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent(\"drag\",t),this._fireEvent(\"move\",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent(\"dragend\",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent(\"moveend\",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(inertiaLinearity/s),d=u.mag();d>inertiaMaxSpeed&&(d=inertiaMaxSpeed,u._unit()._mult(d));var h=d/(inertiaDeceleration*inertiaLinearity),v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onMouseUp),window.removeEventListener(\"blur\",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var n=1,i=0;return\"mousemove\"===t.type?t.buttons&0===n:t.button&&t.button!==i},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),n=160;t.length>0&&e-t[0][0]>n;)t.shift()},module.exports=DragPanHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],182:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,this._pitchWithRotate=e.pitchWithRotate!==!1,util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onUp),window.addEventListener(\"blur\",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=(i.y-n.y)*-.5,o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,v=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,v[1])]),e.transform.bearing=o,this._pitchWithRotate&&(e.transform.pitch=s),this._fireEvent(\"rotate\",t),this._fireEvent(\"move\",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onUp),window.removeEventListener(\"blur\",this._onUp),this.isActive())){this._active=!1,this._fireEvent(\"rotateend\",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)inertiaMaxSpeed&&(p=inertiaMaxSpeed);var l=p/(inertiaDeceleration*inertiaLinearity),g=u*p*(l/2);v+=g,Math.abs(i._normalizeBearing(v,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return\"undefined\"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0&&(r=0),\"mousemove\"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),i=160;t.length>0&&e-t[0][0]>i;)t.shift()},module.exports=DragRotateHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],183:[function(require,module,exports){\n\"use strict\";function easeOut(e){return e*(2-e)}var panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"keydown\",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"keydown\",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,n=0,a=0,i=0,r=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?a=1:(e.preventDefault(),r=-1);break;case 40:e.shiftKey?a=-1:(r=1,e.preventDefault())}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+n*bearingStep,pitch:s.getPitch()+a*pitchStep,offset:[-i*panStep,-r*panStep],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler;\n},{}],184:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),browser=require(\"../../util/browser\"),window=require(\"../../util/window\"),ua=window.navigator.userAgent.toLowerCase(),firefox=ua.indexOf(\"firefox\")!==-1,safari=ua.indexOf(\"safari\")!==-1&&ua.indexOf(\"chrom\")===-1,ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll([\"_onWheel\",\"_onTimeout\"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener(\"wheel\",this._onWheel,!1),this._el.addEventListener(\"mousewheel\",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&\"center\"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"wheel\",this._onWheel),this._el.removeEventListener(\"mousewheel\",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;\"wheel\"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):\"mousewheel\"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625===0?this._type=\"wheel\":0!==t&&Math.abs(t)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type=\"wheel\",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:\"wheel\"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler;\n},{\"../../util/browser\":192,\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],185:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=4,TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onStart\",\"_onMove\",\"_onEnd\"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener(\"touchstart\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"touchstart\",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener(\"touchmove\",this._onMove,!1),window.document.addEventListener(\"touchend\",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};\"rotate\"===this._gestureIntent&&(h.bearing=this._startBearing+r),\"zoom\"!==this._gestureIntent&&\"rotate\"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>significantScaleThreshold,d=Math.abs(r)>significantRotateThreshold;d?this._gestureIntent=\"rotate\":u&&(this._gestureIntent=\"zoom\"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)return void o.snapToNorth({},{originalEvent:t});var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0===h||a===r)return void o.snapToNorth({},{originalEvent:t});var d=s*inertiaLinearity/h;Math.abs(d)>inertiaMaxSpeed&&(d=d>0?inertiaMaxSpeed:-inertiaMaxSpeed);var l=1e3*Math.abs(d/(inertiaDeceleration*inertiaLinearity)),c=a+d*l/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:l,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),o=160;t.length>2&&e-t[0][0]>o;)t.shift()},module.exports=TouchZoomRotateHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],186:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),window=require(\"../util/window\"),Hash=function(){util.bindAll([\"_onHashChange\",\"_updateHash\"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace(\"#\",\"\").split(\"/\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n=\"#\"+Math.round(100*e)/100+\"/\"+t.lat.toFixed(i)+\"/\"+t.lng.toFixed(i);(a||h)&&(n+=\"/\"+Math.round(10*a)/10),h&&(n+=\"/\"+Math.round(h)),window.history.replaceState(\"\",\"\",n)},module.exports=Hash;\n},{\"../util/util\":212,\"../util/window\":194}],187:[function(require,module,exports){\n\"use strict\";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=require(\"../util/util\"),browser=require(\"../util/browser\"),window=require(\"../util/window\"),DOM=require(\"../util/dom\"),Style=require(\"../style/style\"),AnimationLoop=require(\"../style/animation_loop\"),Painter=require(\"../render/painter\"),Transform=require(\"../geo/transform\"),Hash=require(\"./hash\"),bindHandlers=require(\"./bind_handlers\"),Camera=require(\"./camera\"),LngLat=require(\"../geo/lng_lat\"),LngLatBounds=require(\"../geo/lng_lat_bounds\"),Point=require(\"point-geometry\"),AttributionControl=require(\"./control/attribution_control\"),LogoControl=require(\"./control/logo_control\"),isSupported=require(\"mapbox-gl-supported\"),defaultMinZoom=0,defaultMaxZoom=22,defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(e=util.extend({},defaultOptions,e),null!=e.minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than minZoom\");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,\"string\"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\",\"_update\",\"_render\",\"_onData\",\"_onDataLoading\"],this),this._setupContainer(),this._setupPainter(),this.on(\"move\",this._update.bind(this,!1)),this.on(\"zoom\",this._update.bind(this,!0)),this.on(\"moveend\",function(){o.animationLoop.set(300),o._rerender()}),\"undefined\"!=typeof window&&(window.addEventListener(\"online\",this._onWindowOnline,!1),window.addEventListener(\"resize\",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on(\"style.load\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on(\"data\",this._onData),this.on(\"dataloading\",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\"top-right\");var o=t.onAdd(this),i=this._controlPositions[e];return e.indexOf(\"bottom\")!==-1?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes.indexOf(t)>=0||\"\"===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");var o=this._classes.indexOf(t);return o<0||\"\"===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire(\"movestart\").fire(\"move\").fire(\"resize\").fire(\"moveend\")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if(t=null===t||void 0===t?defaultMinZoom:t,t>=defaultMinZoom&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.queryRenderedFeatures=function(){function t(t){return t instanceof Point||Array.isArray(t)}var e,o={};return 2===arguments.length?(e=arguments[0],o=arguments[1]):1===arguments.length&&t(arguments[0])?e=arguments[0]:1===arguments.length&&(o=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(e),o,this.transform.zoom,this.transform.angle)},e.prototype._makeQueryGeometry=function(t){var e=this;void 0===t&&(t=[Point.convert([0,0]),Point.convert([this.transform.width,this.transform.height])]);var o,i=t instanceof Point||\"number\"==typeof t[0];if(i){var r=Point.convert(t);o=[r]}else{var s=[Point.convert(t[0]),Point.convert(t[1])];o=[s[0],new Point(s[1].x,s[0].y),s[1],new Point(s[0].x,s[1].y),s[0]]}return o=o.map(function(t){return e.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){var o=(!e||e.diff!==!1)&&this.style&&t&&!(t instanceof Style)&&\"string\"!=typeof t;if(o)try{return this.style.setState(t)&&this._update(!0),this}catch(t){util.warnOnce(\"Unable to perform style diff: \"+(t.message||t.error||t)+\". Rebuilding the style from scratch.\")}return this.style&&(this.style.setEventedParent(null),this.style._remove(),this.off(\"rotate\",this.style._redoPlacement),this.off(\"pitch\",this.style._redoPlacement)),t?(t instanceof Style?this.style=t:this.style=new Style(t,this),this.style.setEventedParent(this,{style:this.style}),this.on(\"rotate\",this.style._redoPlacement),this.on(\"pitch\",this.style._redoPlacement),this):(this.style=null,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire(\"error\",{error:new Error(\"There is no source with ID '\"+t+\"'\")}):e.loaded()},e.prototype.addSourceType=function(t,e,o){return this.style.addSourceType(t,e,o)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,o){this.style.spriteAtlas.addImage(t,e,o)},e.prototype.removeImage=function(t){this.style.spriteAtlas.removeImage(t)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,o){return this.style.setLayerZoomRange(t,e,o),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,o,i){return this.style.setPaintProperty(t,e,o,i),this._update(!0),this},e.prototype.getPaintProperty=function(t,e,o){return this.style.getPaintProperty(t,e,o)},e.prototype.setLayoutProperty=function(t,e,o){return this.style.setLayoutProperty(t,e,o),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\");var e=this._canvasContainer=DOM.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=DOM.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.style.position=\"absolute\",this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",0),this._canvas.setAttribute(\"aria-label\",\"Map\");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var i=this._controlContainer=DOM.create(\"div\",\"mapboxgl-control-container\",t),r=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(t){r[t]=DOM.create(\"div\",\"mapboxgl-ctrl-\"+t,i)})},e.prototype._resizeCanvas=function(t,e){var o=window.devicePixelRatio||1;this._canvas.width=o*t,this._canvas.height=o*e,this._canvas.style.width=t+\"px\",this._canvas.style.height=e+\"px\"},e.prototype._setupPainter=function(){var t=util.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},isSupported.webGLContextAttributes),e=this._canvas.getContext(\"webgl\",t)||this._canvas.getContext(\"experimental-webgl\",t);return e?void(this.painter=new Painter(e,this.transform)):void this.fire(\"error\",{error:new Error(\"Failed to initialize WebGL\")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&browser.cancelFrame(this._frameId),this.fire(\"webglcontextlost\",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\"webglcontextrestored\",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},e.prototype._render=function(){return this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming}),this.fire(\"render\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\"load\")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),browser.cancelFrame(this._frameId),this.setStyle(null),\"undefined\"!=typeof window&&(window.removeEventListener(\"resize\",this._onWindowResize,!1),window.removeEventListener(\"online\",this._onWindowOnline,!1));var t=this.painter.gl.getExtension(\"WEBGL_lose_context\");t&&t.loseContext(),removeNode(this._canvasContainer),removeNode(this._controlContainer),this._container.classList.remove(\"mapboxgl-map\"),this.fire(\"remove\")},e.prototype._rerender=function(){this.style&&!this._frameId&&(this._frameId=browser.frame(this._render))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},o.showTileBoundaries.get=function(){return!!this._showTileBoundaries},o.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},o.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},o.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},o.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},o.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},o.repaint.get=function(){return!!this._repaint},o.repaint.set=function(t){this._repaint=t,this._update()},o.vertices.get=function(){return!!this._vertices},o.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update(\"style\"===t.dataType),this.fire(t.dataType+\"data\",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+\"dataloading\",t)},Object.defineProperties(e.prototype,o),e}(Camera);module.exports=Map;\n},{\"../geo/lng_lat\":62,\"../geo/lng_lat_bounds\":63,\"../geo/transform\":64,\"../render/painter\":77,\"../style/animation_loop\":143,\"../style/style\":146,\"../util/browser\":192,\"../util/dom\":199,\"../util/util\":212,\"../util/window\":194,\"./bind_handlers\":171,\"./camera\":172,\"./control/attribution_control\":173,\"./control/logo_control\":176,\"./hash\":186,\"mapbox-gl-supported\":22,\"point-geometry\":26}],188:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../util/dom\"),LngLat=require(\"../geo/lng_lat\"),Point=require(\"point-geometry\"),Marker=function(t,e){this._offset=Point.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this),this._onMapClick=this._onMapClick.bind(this),t||(t=DOM.create(\"div\")),t.classList.add(\"mapboxgl-marker\"),this._element=t,this._popup=null};Marker.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this._update(),this._map.on(\"click\",this._onMapClick),this},Marker.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map=null),DOM.remove(this._element),this._popup&&this._popup.remove(),this},Marker.prototype.getLngLat=function(){return this._lngLat},Marker.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},Marker.prototype.getElement=function(){return this._element},Marker.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(this._popup=t,this._popup.setLngLat(this._lngLat)),this},Marker.prototype._onMapClick=function(t){var e=t.originalEvent.target,p=this._element;this._popup&&(e===p||p.contains(e))&&this.togglePopup()},Marker.prototype.getPopup=function(){return this._popup},Marker.prototype.togglePopup=function(){var t=this._popup;t&&(t.isOpen()?t.remove():t.addTo(this._map))},Marker.prototype._update=function(t){if(this._map){var e=this._map.project(this._lngLat)._add(this._offset);t&&\"moveend\"!==t.type||(e=e.round()),DOM.setTransform(this._element,\"translate(\"+e.x+\"px, \"+e.y+\"px)\")}},module.exports=Marker;\n},{\"../geo/lng_lat\":62,\"../util/dom\":199,\"point-geometry\":26}],189:[function(require,module,exports){\n\"use strict\";function normalizeOffset(t){if(t){if(\"number\"==typeof t){var o=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{top:new Point(0,t),\"top-left\":new Point(o,o),\"top-right\":new Point(-o,o),bottom:new Point(0,-t),\"bottom-left\":new Point(o,-o),\"bottom-right\":new Point(-o,-o),left:new Point(t,0),right:new Point(-t,0)}}if(isPointLike(t)){var e=Point.convert(t);return{top:e,\"top-left\":e,\"top-right\":e,bottom:e,\"bottom-left\":e,\"bottom-right\":e,left:e,right:e}}return{top:Point.convert(t.top||[0,0]),\"top-left\":Point.convert(t[\"top-left\"]||[0,0]),\"top-right\":Point.convert(t[\"top-right\"]||[0,0]),bottom:Point.convert(t.bottom||[0,0]),\"bottom-left\":Point.convert(t[\"bottom-left\"]||[0,0]),\"bottom-right\":Point.convert(t[\"bottom-right\"]||[0,0]),left:Point.convert(t.left||[0,0]),right:Point.convert(t.right||[0,0])}}return normalizeOffset(new Point(0,0))}function isPointLike(t){return t instanceof Point||Array.isArray(t)}var util=require(\"../util/util\"),Evented=require(\"../util/evented\"),DOM=require(\"../util/dom\"),LngLat=require(\"../geo/lng_lat\"),Point=require(\"point-geometry\"),window=require(\"../util/window\"),defaultOptions={closeButton:!0,closeOnClick:!0},Popup=function(t){function o(o){t.call(this),this.options=util.extend(Object.create(defaultOptions),o),util.bindAll([\"_update\",\"_onClickClose\"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.addTo=function(t){return this._map=t,this._map.on(\"move\",this._update),this.options.closeOnClick&&this._map.on(\"click\",this._onClickClose),this._update(),this},o.prototype.isOpen=function(){return!!this._map},o.prototype.remove=function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"click\",this._onClickClose),delete this._map),this.fire(\"close\"),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._update(),this},o.prototype.setText=function(t){return this.setDOMContent(window.document.createTextNode(t))},o.prototype.setHTML=function(t){var o,e=window.document.createDocumentFragment(),n=window.document.createElement(\"body\");for(n.innerHTML=t;;){if(o=n.firstChild,!o)break;e.appendChild(o)}return this.setDOMContent(e)},o.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},o.prototype._createContent=function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=DOM.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=DOM.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClickClose))},o.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=DOM.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=DOM.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content));var t=this.options.anchor,o=normalizeOffset(this.options.offset),e=this._map.project(this._lngLat).round();if(!t){var n=this._container.offsetWidth,i=this._container.offsetHeight;t=e.y+o.bottom.ythis._map.transform.height-i?[\"bottom\"]:[],e.xthis._map.transform.width-n/2&&t.push(\"right\"),t=0===t.length?\"bottom\":t.join(\"-\")}var r=e.add(o[t]),s={top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"},p=this._container.classList;for(var a in s)p.remove(\"mapboxgl-popup-anchor-\"+a);p.add(\"mapboxgl-popup-anchor-\"+t),DOM.setTransform(this._container,s[t]+\" translate(\"+r.x+\"px,\"+r.y+\"px)\")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup;\n},{\"../geo/lng_lat\":62,\"../util/dom\":199,\"../util/evented\":200,\"../util/util\":212,\"../util/window\":194,\"point-geometry\":26}],190:[function(require,module,exports){\n\"use strict\";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(\"message\",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+\":\"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:\"\",id:String(s),error:t?String(t):null,data:e},r)};if(\"\"===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if(\"undefined\"!=typeof r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if(\"undefined\"!=typeof r.id&&this.parent.getWorkerSource){var p=r.type.split(\".\"),d=this.parent.getWorkerSource(r.sourceMapId,p[0]);d[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener(\"message\",this.receive,!1)},module.exports=Actor;\n},{}],191:[function(require,module,exports){\n\"use strict\";function sameOrigin(e){var t=window.document.createElement(\"a\");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=require(\"./window\");exports.getJSON=function(e,t){var n=new window.XMLHttpRequest;return n.open(\"GET\",e,!0),n.setRequestHeader(\"Accept\",\"application/json\"),n.onerror=function(e){t(e)},n.onload=function(){if(n.status>=200&&n.status<300&&n.response){var e;try{e=JSON.parse(n.response)}catch(e){return t(e)}t(null,e)}else t(new Error(n.statusText))},n.send(),n},exports.getArrayBuffer=function(e,t){var n=new window.XMLHttpRequest;return n.open(\"GET\",e,!0),n.responseType=\"arraybuffer\",n.onerror=function(e){t(e)},n.onload=function(){return 0===n.response.byteLength&&200===n.status?t(new Error(\"http status 200 returned without content.\")):void(n.status>=200&&n.status<300&&n.response?t(null,{data:n.response,cacheControl:n.getResponseHeader(\"Cache-Control\"),expires:n.getResponseHeader(\"Expires\")}):t(new Error(n.statusText)))},n.send(),n};var transparentPngUrl=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,n){if(e)return t(e);var r=new window.Image,o=window.URL||window.webkitURL;r.onload=function(){t(null,r),o.revokeObjectURL(r.src)};var a=new window.Blob([new Uint8Array(n.data)],{type:\"image/png\"});r.cacheControl=n.cacheControl,r.expires=n.expires,r.src=n.data.byteLength?o.createObjectURL(a):transparentPngUrl})},exports.getVideo=function(e,t){var n=window.document.createElement(\"video\");n.onloadstart=function(){t(null,n)};for(var r=0;r=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement(\"canvas\"),t=n.getContext(\"2d\");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height).data},exports.supported=require(\"mapbox-gl-supported\"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,\"devicePixelRatio\",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement(\"img\");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\";\n},{\"./window\":194,\"mapbox-gl-supported\":22}],193:[function(require,module,exports){\n\"use strict\";var WebWorkify=require(\"webworkify\"),window=require(\"../window\"),workerURL=window.URL.createObjectURL(new WebWorkify(require(\"../../source/worker\"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)};\n},{\"../../source/worker\":98,\"../window\":194,\"webworkify\":41}],194:[function(require,module,exports){\n\"use strict\";module.exports=self;\n},{}],195:[function(require,module,exports){\n\"use strict\";function compareAreas(e,r){return r.area-e.area}var quickselect=require(\"quickselect\"),calculateSignedArea=require(\"./util\").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented;\n},{\"./util\":212}],201:[function(require,module,exports){\n\"use strict\";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log(\"found best %d after %d probes\",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log(\"num probes: \"+c),console.log(\"best distance: \"+m.d)),m.p};\n},{\"./intersection_tests\":205,\"point-geometry\":26,\"tinyqueue\":30}],202:[function(require,module,exports){\n\"use strict\";var WorkerPool=require(\"./worker_pool\"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool};\n},{\"./worker_pool\":215}],203:[function(require,module,exports){\n\"use strict\";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs;\n},{}],204:[function(require,module,exports){\n\"use strict\";function interpolate(t,e,n){return t*(1-n)+e*n}module.exports=interpolate,interpolate.number=interpolate,interpolate.vec2=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n)]},interpolate.color=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n),interpolate(t[2],e[2],n),interpolate(t[3],e[3],n)]},interpolate.array=function(t,e,n){return t.map(function(t,r){return interpolate(t,e[r],n)})};\n},{}],205:[function(require,module,exports){\n\"use strict\";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i)}return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=require(\"./util\").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared};\n},{\"./util\":212}],206:[function(require,module,exports){\n\"use strict\";var unicodeBlockLookup={\"Latin-1 Supplement\":function(n){return n>=128&&n<=255},\"Hangul Jamo\":function(n){return n>=4352&&n<=4607},\"Unified Canadian Aboriginal Syllabics\":function(n){return n>=5120&&n<=5759},\"Unified Canadian Aboriginal Syllabics Extended\":function(n){return n>=6320&&n<=6399},\"General Punctuation\":function(n){return n>=8192&&n<=8303},\"Letterlike Symbols\":function(n){return n>=8448&&n<=8527},\"Number Forms\":function(n){return n>=8528&&n<=8591},\"Miscellaneous Technical\":function(n){return n>=8960&&n<=9215},\"Control Pictures\":function(n){return n>=9216&&n<=9279},\"Optical Character Recognition\":function(n){return n>=9280&&n<=9311},\"Enclosed Alphanumerics\":function(n){return n>=9312&&n<=9471},\"Geometric Shapes\":function(n){return n>=9632&&n<=9727},\"Miscellaneous Symbols\":function(n){return n>=9728&&n<=9983},\"Miscellaneous Symbols and Arrows\":function(n){return n>=11008&&n<=11263},\"CJK Radicals Supplement\":function(n){return n>=11904&&n<=12031},\"Kangxi Radicals\":function(n){return n>=12032&&n<=12255},\"Ideographic Description Characters\":function(n){return n>=12272&&n<=12287},\"CJK Symbols and Punctuation\":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},\"Hangul Compatibility Jamo\":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},\"Bopomofo Extended\":function(n){return n>=12704&&n<=12735},\"CJK Strokes\":function(n){return n>=12736&&n<=12783},\"Katakana Phonetic Extensions\":function(n){return n>=12784&&n<=12799},\"Enclosed CJK Letters and Months\":function(n){return n>=12800&&n<=13055},\"CJK Compatibility\":function(n){return n>=13056&&n<=13311},\"CJK Unified Ideographs Extension A\":function(n){return n>=13312&&n<=19903},\"Yijing Hexagram Symbols\":function(n){return n>=19904&&n<=19967},\"CJK Unified Ideographs\":function(n){return n>=19968&&n<=40959},\"Yi Syllables\":function(n){return n>=40960&&n<=42127},\"Yi Radicals\":function(n){return n>=42128&&n<=42191},\"Hangul Jamo Extended-A\":function(n){return n>=43360&&n<=43391},\"Hangul Syllables\":function(n){return n>=44032&&n<=55215},\"Hangul Jamo Extended-B\":function(n){return n>=55216&&n<=55295},\"Private Use Area\":function(n){return n>=57344&&n<=63743},\"CJK Compatibility Ideographs\":function(n){return n>=63744&&n<=64255},\"Vertical Forms\":function(n){return n>=65040&&n<=65055},\"CJK Compatibility Forms\":function(n){return n>=65072&&n<=65103},\"Small Form Variants\":function(n){return n>=65104&&n<=65135},\"Halfwidth and Fullwidth Forms\":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup;\n},{}],207:[function(require,module,exports){\n\"use strict\";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){if(!this.has(t))return null;var e=this.data[t];return e},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache;\n},{}],208:[function(require,module,exports){\n\"use strict\";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(e=e||config.ACCESS_TOKEN,!e)throw new Error(\"An API access token is required to use Mapbox GL. \"+help);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+help);return r.params.push(\"access_token=\"+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf(\"mapbox:\")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?\"@2x\":\"\",s=browser.supportsWebp?\".webp\":\"$1\";return o.path=o.path.replace(imageExtensionRe,\"\"+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\\w+):\\/\\/([^\\/?]+)(\\/[^?]+)?\\??(.+)?/;\n},{\"./browser\":192,\"./config\":196}],209:[function(require,module,exports){\n\"use strict\";var isChar=require(\"./is_char_in_unicode_block\");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||(!!isChar[\"CJK Compatibility Ideographs\"](a)||(!!isChar[\"CJK Compatibility\"](a)||(!!isChar[\"CJK Radicals Supplement\"](a)||(!!isChar[\"CJK Strokes\"](a)||(!(!isChar[\"CJK Symbols and Punctuation\"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||(!!isChar[\"CJK Unified Ideographs Extension A\"](a)||(!!isChar[\"CJK Unified Ideographs\"](a)||(!!isChar[\"Enclosed CJK Letters and Months\"](a)||(!!isChar[\"Hangul Compatibility Jamo\"](a)||(!!isChar[\"Hangul Jamo Extended-A\"](a)||(!!isChar[\"Hangul Jamo Extended-B\"](a)||(!!isChar[\"Hangul Jamo\"](a)||(!!isChar[\"Hangul Syllables\"](a)||(!!isChar.Hiragana(a)||(!!isChar[\"Ideographic Description Characters\"](a)||(!!isChar.Kanbun(a)||(!!isChar[\"Kangxi Radicals\"](a)||(!!isChar[\"Katakana Phonetic Extensions\"](a)||(!(!isChar.Katakana(a)||12540===a)||(!(!isChar[\"Halfwidth and Fullwidth Forms\"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||(!(!isChar[\"Small Form Variants\"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||(!!isChar[\"Unified Canadian Aboriginal Syllabics\"](a)||(!!isChar[\"Unified Canadian Aboriginal Syllabics Extended\"](a)||(!!isChar[\"Vertical Forms\"](a)||(!!isChar[\"Yijing Hexagram Symbols\"](a)||(!!isChar[\"Yi Syllables\"](a)||!!isChar[\"Yi Radicals\"](a))))))))))))))))))))))))))))))},exports.charHasNeutralVerticalOrientation=function(a){return!(!isChar[\"Latin-1 Supplement\"](a)||167!==a&&169!==a&&174!==a&&177!==a&&188!==a&&189!==a&&190!==a&&215!==a&&247!==a)||(!(!isChar[\"General Punctuation\"](a)||8214!==a&&8224!==a&&8225!==a&&8240!==a&&8241!==a&&8251!==a&&8252!==a&&8258!==a&&8263!==a&&8264!==a&&8265!==a&&8273!==a)||(!!isChar[\"Letterlike Symbols\"](a)||(!!isChar[\"Number Forms\"](a)||(!(!isChar[\"Miscellaneous Technical\"](a)||!(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215))||(!(!isChar[\"Control Pictures\"](a)||9251===a)||(!!isChar[\"Optical Character Recognition\"](a)||(!!isChar[\"Enclosed Alphanumerics\"](a)||(!!isChar[\"Geometric Shapes\"](a)||(!(!isChar[\"Miscellaneous Symbols\"](a)||a>=9754&&a<=9759)||(!(!isChar[\"Miscellaneous Symbols and Arrows\"](a)||!(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243))||(!!isChar[\"CJK Symbols and Punctuation\"](a)||(!!isChar.Katakana(a)||(!!isChar[\"Private Use Area\"](a)||(!!isChar[\"CJK Compatibility Forms\"](a)||(!!isChar[\"Small Form Variants\"](a)||(!!isChar[\"Halfwidth and Fullwidth Forms\"](a)||(8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)))))))))))))))))},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))};\n},{\"./is_char_in_unicode_block\":206}],210:[function(require,module,exports){\n\"use strict\";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=[\"Uint8\"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0===--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||(\"undefined\"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),\"\"}),t[\"max-age\"]){var n=parseInt(t[\"max-age\"],10);isNaN(n)?delete t[\"max-age\"]:t[\"max-age\"]=n}return t};\n},{\"../geo/coordinate\":61,\"@mapbox/unitbezier\":3,\"point-geometry\":26}],213:[function(require,module,exports){\n\"use strict\";var Feature=function(e,t,r,o){this.type=\"Feature\",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)\"_geometry\"!==r&&\"_vectorTileFeature\"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature;\n},{}],214:[function(require,module,exports){\n\"use strict\";var scriptDetection=require(\"./script_detection\");module.exports=function(t){for(var o=\"\",e=0;e\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};\n},{\"./script_detection\":209}],215:[function(require,module,exports){\n\"use strict\";var WebWorker=require(\"./web_worker\"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=require(\"../\").workerCount;for(this.workers=[];this.workers.length3&&arguments[3]!==undefined?arguments[3]:false;var input=document.createElement("input");input.setAttribute("id",option);input.setAttribute("type","radio");input.setAttribute("name","toggle");input.setAttribute("value",option);if(checked==true){input.setAttribute("checked","checked")}input.addEventListener("click",function(){map.setStyle("mapbox://styles/mapbox/"+option+"-v9")});var label=document.createElement("label");label.setAttribute("for",option);label.appendChild(document.createTextNode(titlecase(option)));menu.appendChild(input);menu.appendChild(label)};var makeMapMenu=function makeMapMenu(map){var mapMenu=document.createElement("div");mapMenu.classList.add("map-menu");addMapTypeOption(map,mapMenu,"streets",true);addMapTypeOption(map,mapMenu,"satellite-streets");return mapMenu};function addMap(div){var position=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var places=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;var dataLatitude=div.dataset.latitude;var dataLongitude=div.dataset.longitude;var dataId=div.dataset.id;var data=window["geojson"+dataId];if(data==null){data={type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[dataLongitude,dataLatitude]},properties:{title:"Current Location",icon:"circle-stroked",uri:"current-location"}}]}}if(places!=null){var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=places[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var place=_step.value;var placeLongitude=(0,_parseLocation2.default)(place.location).longitude;var placeLatitude=(0,_parseLocation2.default)(place.location).latitude;data.features.push({type:"Feature",geometry:{type:"Point",coordinates:[placeLongitude,placeLatitude]},properties:{title:place.name,icon:"circle",uri:place.slug}})}}catch(err){_didIteratorError=true;_iteratorError=err}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}}}if(position!=null){dataLongitude=position.coords.longitude;dataLatitude=position.coords.latitude}var map=new _mapboxGl2.default.Map({container:div,style:"mapbox://styles/mapbox/streets-v9",center:[dataLongitude,dataLatitude],zoom:15});if(position==null){map.scrollZoom.disable()}map.addControl(new _mapboxGl2.default.NavigationControl);div.appendChild(makeMapMenu(map));map.on("load",function(){map.addSource("points",{type:"geojson",data:data});map.addLayer({id:"points",interactive:true,type:"symbol",source:"points",layout:{"icon-image":"{icon}-15","text-field":"{title}","text-offset":[0,1]}})});if(position!=null){map.on("click",function(e){var features=map.queryRenderedFeatures(e.point,{layer:["points"]});if(features.length){map.flyTo({center:features[0].geometry.coordinates});(0,_selectPlace2.default)(features[0].properties.uri)}})}if(data.features&&data.features.length>1){var bounds=new _mapboxGl2.default.LngLatBounds;var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{for(var _iterator2=data.features[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){var feature=_step2.value;bounds.extend(feature.geometry.coordinates)}}catch(err){_didIteratorError2=true;_iteratorError2=err}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return()}}finally{if(_didIteratorError2){throw _iteratorError2}}}map.fitBounds(bounds,{padding:65})}return map}},function(module,exports,__webpack_require__){(function(module){var __WEBPACK_AMD_DEFINE_RESULT__;!function(){"use strict";function t(){var t={parent:document.body,version:"1.0.12",defaultOkLabel:"Ok",okLabel:"Ok",defaultCancelLabel:"Cancel",cancelLabel:"Cancel",defaultMaxLogItems:2,maxLogItems:2,promptValue:"",promptPlaceholder:"",closeLogOnClick:!1,closeLogOnClickDefault:!1,delay:5e3,defaultDelay:5e3,logContainerClass:"alertify-logs",logContainerDefaultClass:"alertify-logs",dialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},defaultDialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},build:function(t){var e=this.dialogs.buttons.ok,o="
"+this.dialogs.message.replace("{{message}}",t.message);return"confirm"!==t.type&&"prompt"!==t.type||(e=this.dialogs.buttons.cancel+this.dialogs.buttons.ok),"prompt"===t.type&&(o+=this.dialogs.input),o=(o+this.dialogs.buttons.holder+"
").replace("{{buttons}}",e).replace("{{ok}}",this.okLabel).replace("{{cancel}}",this.cancelLabel)},setCloseLogOnClick:function(t){this.closeLogOnClick=!!t},close:function(t,e){this.closeLogOnClick&&t.addEventListener("click",function(){o(t)}),e=e&&!isNaN(+e)?+e:this.delay,0>e?o(t):e>0&&setTimeout(function(){o(t)},e)},dialog:function(t,e,o,n){return this.setup({type:e,message:t,onOkay:o,onCancel:n})},log:function(t,e,o){var n=document.querySelectorAll(".alertify-logs > div");if(n){var i=n.length-this.maxLogItems;if(i>=0)for(var a=0,l=i+1;l>a;a++)this.close(n[a],-1)}this.notify(t,e,o)},setLogPosition:function(t){this.logContainerClass="alertify-logs "+t},setupLogContainer:function(){var t=document.querySelector(".alertify-logs"),e=this.logContainerClass;return t||(t=document.createElement("div"),t.className=e,this.parent.appendChild(t)),t.className!==e&&(t.className=e),t},notify:function(e,o,n){var i=this.setupLogContainer(),a=document.createElement("div");a.className=o||"default",t.logTemplateMethod?a.innerHTML=t.logTemplateMethod(e):a.innerHTML=e,"function"==typeof n&&a.addEventListener("click",n),i.appendChild(a),setTimeout(function(){a.className+=" show"},10),this.close(a,this.delay)},setup:function(t){function e(e){"function"!=typeof e&&(e=function(){}),i&&i.addEventListener("click",function(i){t.onOkay&&"function"==typeof t.onOkay&&(l?t.onOkay(l.value,i):t.onOkay(i)),e(l?{buttonClicked:"ok",inputValue:l.value,event:i}:{buttonClicked:"ok",event:i}),o(n)}),a&&a.addEventListener("click",function(i){t.onCancel&&"function"==typeof t.onCancel&&t.onCancel(i),e({buttonClicked:"cancel",event:i}),o(n)}),l&&l.addEventListener("keyup",function(t){13===t.which&&i.click()})}var n=document.createElement("div");n.className="alertify hide",n.innerHTML=this.build(t);var i=n.querySelector(".ok"),a=n.querySelector(".cancel"),l=n.querySelector("input"),s=n.querySelector("label");l&&("string"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),"string"==typeof this.promptValue&&(l.value=this.promptValue));var r;return"function"==typeof Promise?r=new Promise(e):e(),this.parent.appendChild(n),setTimeout(function(){n.classList.remove("hide"),l&&t.type&&"prompt"===t.type?(l.select(),l.focus()):i&&i.focus()},100),r},okBtn:function(t){return this.okLabel=t,this},setDelay:function(t){return t=t||0,this.delay=isNaN(t)?this.defaultDelay:parseInt(t,10),this},cancelBtn:function(t){return this.cancelLabel=t,this},setMaxLogItems:function(t){this.maxLogItems=parseInt(t||this.defaultMaxLogItems)},theme:function(t){switch(t.toLowerCase()){case"bootstrap":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="";break;case"purecss":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="";break;case"mdl":case"material-design-light":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"angular-material":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"default":default:this.dialogs.buttons.ok=this.defaultDialogs.buttons.ok,this.dialogs.buttons.cancel=this.defaultDialogs.buttons.cancel,this.dialogs.input=this.defaultDialogs.input}},reset:function(){this.parent=document.body,this.theme("default"),this.okBtn(this.defaultOkLabel),this.cancelBtn(this.defaultCancelLabel),this.setMaxLogItems(),this.promptValue="",this.promptPlaceholder="",this.delay=this.defaultDelay,this.setCloseLogOnClick(this.closeLogOnClickDefault),this.setLogPosition("bottom left"),this.logTemplateMethod=null},injectCSS:function(){if(!document.querySelector("#alertifyCSS")){var t=document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",e.id="alertifyCSS",e.innerHTML=".alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:1}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;backface-visibility:hidden;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto}",t.insertBefore(e,t.firstChild)}},removeCSS:function(){var t=document.querySelector("#alertifyCSS");t&&t.parentNode&&t.parentNode.removeChild(t)}};return t.injectCSS(),{_$$alertify:t,parent:function(e){t.parent=e},reset:function(){return t.reset(),this},alert:function(e,o,n){return t.dialog(e,"alert",o,n)||this},confirm:function(e,o,n){return t.dialog(e,"confirm",o,n)||this},prompt:function(e,o,n){return t.dialog(e,"prompt",o,n)||this},log:function(e,o){return t.log(e,"default",o),this},theme:function(e){return t.theme(e),this},success:function(e,o){return t.log(e,"success",o),this},error:function(e,o){return t.log(e,"error",o),this},cancelBtn:function(e){return t.cancelBtn(e),this},okBtn:function(e){return t.okBtn(e),this},delay:function(e){return t.setDelay(e),this},placeholder:function(e){return t.promptPlaceholder=e,this},defaultValue:function(e){return t.promptValue=e,this},maxLogItems:function(e){return t.setMaxLogItems(e),this},closeLogOnClick:function(e){return t.setCloseLogOnClick(!!e),this},logPosition:function(e){return t.setLogPosition(e||""),this},setLogTemplate:function(e){return t.logTemplateMethod=e,this},clearLogs:function(){return t.setupLogContainer().innerHTML="",this},version:t.version}}var e=500,o=function(t){if(t){var o=function(){t&&t.parentNode&&t.parentNode.removeChild(t)};t.classList.remove("show"),t.classList.add("hide"),t.addEventListener("transitionend",o),setTimeout(o,e)}};if("undefined"!=typeof module&&module&&module.exports){module.exports=function(){return new t};var n=new t;for(var i in n)module.exports[i]=n[i]}else true?!(__WEBPACK_AMD_DEFINE_RESULT__=function(){return new t}.call(exports,__webpack_require__,exports,module),__WEBPACK_AMD_DEFINE_RESULT__!==undefined&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)):window.alertify=new t}()}).call(exports,__webpack_require__(17)(module))},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=selectPlaceInForm;function selectPlaceInForm(uri){if(document.querySelector("select")){if(uri=="current-location"){document.querySelector('select [id="option-coords"]').selected=true}else{document.querySelector('select [value="'+uri+'"]').selected=true}}}},function(module,exports,__webpack_require__){"use strict";exports.byteLength=byteLength;exports.toByteArray=toByteArray;exports.fromByteArray=fromByteArray;var lookup=[];var revLookup=[];var Arr=typeof Uint8Array!=="undefined"?Uint8Array:Array;var code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i0){throw new Error("Invalid string. Length must be a multiple of 4")}return b64[len-2]==="="?2:b64[len-1]==="="?1:0}function byteLength(b64){return b64.length*3/4-placeHoldersCount(b64)}function toByteArray(b64){var i,j,l,tmp,placeHolders,arr;var len=b64.length;placeHolders=placeHoldersCount(b64);arr=new Arr(len*3/4-placeHolders);l=placeHolders>0?len-4:len;var L=0;for(i=0,j=0;i>16&255;arr[L++]=tmp>>8&255;arr[L++]=tmp&255}if(placeHolders===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[L++]=tmp&255}else if(placeHolders===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[L++]=tmp>>8&255;arr[L++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;ilen2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];output+=lookup[tmp>>2];output+=lookup[tmp<<4&63];output+="=="}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];output+=lookup[tmp>>10];output+=lookup[tmp>>4&63];output+=lookup[tmp<<2&63];output+="="}parts.push(output);return parts.join("")}},function(module,exports,__webpack_require__){"use strict";(function(global){var base64=__webpack_require__(5);var ieee754=__webpack_require__(8);var isArray=__webpack_require__(7);exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;Buffer.TYPED_ARRAY_SUPPORT=global.TYPED_ARRAY_SUPPORT!==undefined?global.TYPED_ARRAY_SUPPORT:typedArraySupport();exports.kMaxLength=kMaxLength();function typedArraySupport(){try{var arr=new Uint8Array(1);arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}};return arr.foo()===42&&typeof arr.subarray==="function"&&arr.subarray(1,1).byteLength===0}catch(e){return false}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function createBuffer(that,length){if(kMaxLength()=kMaxLength()){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+kMaxLength().toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return!!(b!=null&&b._isBuffer)};Buffer.compare=function compare(a,b){if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError("Arguments must be Buffers")}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;i0){str=this.toString("hex",0,max).match(/.{2}/g).join(" ");if(this.length>max)str+=" ... "}return""};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(!Buffer.isBuffer(target)){throw new TypeError("Argument must be a Buffer")}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(isNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(Buffer.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;iarrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;jremaining){length=remaining}}var strLen=string.length;if(strLen%2!==0)throw new TypeError("Invalid hex string");if(length>strLen/2){length=strLen/2}for(var i=0;iremaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(ilen)end=len;var out="";for(var i=start;ilen){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(endlength)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||valuebuf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;byteLength=byteLength|0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,255,0);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);this[offset]=value&255;return offset+1};function objectWriteUInt16(buf,value,offset,littleEndian){if(value<0)value=65535+value+1;for(var i=0,j=Math.min(buf.length-offset,2);i>>(littleEndian?i:1-i)*8}}Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,65535,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};function objectWriteUInt32(buf,value,offset,littleEndian){if(value<0)value=4294967295+value+1;for(var i=0,j=Math.min(buf.length-offset,4);i>>(littleEndian?i:3-i)*8&255}}Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(!Buffer.TYPED_ARRAY_SUPPORT)value=Math.floor(value);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8}else{objectWriteUInt16(this,value,offset,true)}return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&255}else{objectWriteUInt16(this,value,offset,false)}return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24}else{objectWriteUInt32(this,value,offset,true)}return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;if(Buffer.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255}else{objectWriteUInt32(this,value,offset,false)}return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,4,3.4028234663852886e38,-3.4028234663852886e38)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,8,1.7976931348623157e308,-1.7976931348623157e308)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end=this.length)throw new RangeError("sourceStart out of bounds");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart=0;--i){target[i+targetStart]=this[i+start]}}else if(len<1e3||!Buffer.TYPED_ARRAY_SUPPORT){for(i=0;i>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isnan(val){return val!==val}}).call(exports,__webpack_require__(0))},function(module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return toString.call(arr)=="[object Array]"}},function(module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},function(module,exports,__webpack_require__){(function(global,Buffer){var require;var require;(function(f){if(true){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.mapboxgl=f()}})(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return require(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i,rn.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var h=this.shelves[t],n=h.alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1===++t.refcount){var e=t.h;this.stats[e]=(0|this.stats[e])+1}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0===--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t})},{}],3:[function(require,module,exports){function UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){"undefined"==typeof i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))}},{}],4:[function(require,module,exports){!function(e,t){ -"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){s=s||{};var f=e+"?"+["bbox="+o(r,n,i),"format="+(s.format||"image/png"),"service="+(s.service||"WMS"),"version="+(s.version||"1.1.1"),"request="+(s.request||"GetMap"),"srs="+(s.srs||"EPSG:3857"),"width="+(s.width||256),"height="+(s.height||256),"layers="+t].join("&");return f}function o(e,t,o){t=Math.pow(2,o)-t-1;var n=r(256*e,256*t,o),i=r(256*(e+1),256*(t+1),o);return n[0]+","+n[1]+","+i[0]+","+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o),n=e*r-2*Math.PI*6378137/2,i=t*r-2*Math.PI*6378137/2;return[n,i]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,"__esModule",{value:!0})})},{}],5:[function(require,module,exports){"use strict";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do{if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),t=n=t.prev,t===t.next)return null;r=!0}}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if(e=l,e===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l)),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do{null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do{n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do{r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next}while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r}},{}],6:[function(require,module,exports){function geometry(r){if("Polygon"===r.type)return polygonArea(r.coordinates);if("MultiPolygon"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=require("geojson-area");module.exports=rewind},{"geojson-area":6}],8:[function(require,module,exports){"use strict";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));h=g[S-1],c=h[n],c>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=require("./feature")},{"./feature":10}],9:[function(require,module,exports){"use strict";function convert(e,t){var r=[];if("FeatureCollection"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time("creation"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd("creation"));var h="z"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time("clipping");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd("clipping"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log("drilling down to z%d-%d-%d",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log("found parent tile z%d-%d-%d",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time("drilling down");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd("drilling down"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify},{}],13:[function(require,module,exports){"use strict";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){var r=signedArea(e);r<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l}},{}],18:[function(require,module,exports){"use strict";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range},{}],20:[function(require,module,exports){"use strict";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1),c=Math.max(s,Math.floor(o-p*m/f+n)),h=Math.min(r,Math.floor(o+(f-p)*m/f+n));select(t,a,o,c,h,e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD},{}],21:[function(require,module,exports){"use strict";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within},{}],22:[function(require,module,exports){"use strict";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return"undefined"!=typeof window&&"undefined"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return"JSON"in window&&"parse"in JSON&&"stringify"in JSON}function isWorkerSupported(){return"Worker"in window}function isUint8ClampedArraySupported(){return"Uint8ClampedArray"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement("canvas"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext("webgl",r)||t.probablySupportsContext("experimental-webgl",r):t.supportsContext?t.supportsContext("webgl",r)||t.supportsContext("experimental-webgl",r):t.getContext("webgl",r)||t.getContext("experimental-webgl",r)}"undefined"!=typeof module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}},{}],23:[function(require,module,exports){(function(process){function normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];"."===s?r.splice(n,1):".."===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift("..");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(r=n+"/"+r,t="/"===n.charAt(0))}return r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"),(t?"/":"")+r||"."},exports.normalize=function(r){var t=exports.isAbsolute(r),e="/"===substr(r,-1);return r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"),r||t||(r="."),r&&e&&(r+="/"),(t?"/":"")+r},exports.isAbsolute=function(r){return"/"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if("string"!=typeof r)throw new TypeError("Arguments to path.join must be strings");return r}).join("/"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&""===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split("/")),s=e(t.split("/")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var ieee754=require("ieee754"),BufferMethods,lastStr,lastStrEncoded;BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n="",i="";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error("Given varint doesn't fit into 10 bytes");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.Fixed64)throw new Error("Unimplemented type: "+i);this.pos+=8}},writeTag:function(t,i){this.writeVarint(t<<3|i)},realloc:function(t){for(var i=this.length||16;i268435455?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127)))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./buffer":24}],26:[function(require,module,exports){"use strict";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var n=t.x-this.x,i=t.y-this.y;return n*n+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,this.y=i,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t}},{}],27:[function(require,module,exports){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1),n=Math.max(r,Math.floor(t-e*s/f+i)),h=Math.min(o,Math.floor(t+(f-e)*s/f+i));partialSort(a,t,n,h,p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort},{}],29:[function(require,module,exports){"use strict";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:"Feature",properties:getClusterProperties(t),geometry:{type:"Point",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return{cluster:!0,point_count:e,point_count_abbreviated:o}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=require("kdbush");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time("total time");var o="prepare "+t.length+" points";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log("z%d: %d clusters in %dms",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd("total time"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c="",a=!1,l=["{","}"];if(isArray(r)&&(a=!0,l=["[","]"]),isFunction(r)){var p=r.name?": "+r.name:"";c=" [Function"+p+"]"}if(isRegExp(r)&&(c=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(c=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(c=" "+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n"))):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;s=JSON.stringify(""+i),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf("\n")>=0&&n++,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(e){return"[Circular]"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error("unknown command "+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-(1/0),p=1/0,h=-(1/0);e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error("unknown command "+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=require("./vectortilefeature.js");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)}},{"./vectortilefeature.js":36}],38:[function(require,module,exports){function fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||"",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup},{"./program_configuration":58}],45:[function(require,module,exports){"use strict";var ArrayGroup=require("./array_group"),BufferGroup=require("./buffer_group"),util=require("../util/util"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||o<0||o>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,y,o,-1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,1),addCircleVertex(r.layoutVertexArray,y,o,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60}],47:[function(require,module,exports){"use strict";var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),earcut=require("earcut"),classifyRings=require("../../util/classify_rings"),EARCUT_MAX_RINGS=500,fillInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"}]),elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:"fill-color",type:"Uint8"},{property:"fill-outline-color",type:"Uint8"},{property:"fill-opacity",type:"Uint8",multiplier:255}]},FillBucket=function(e){function r(r){e.call(this,r,fillInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);tEXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),EXTENT=require("../extent"),earcut=require("earcut"),classifyRings=require("../../util/classify_rings"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal",components:3,type:"Int16"},{name:"a_edgedistance",components:1,type:"Int16"}]),elementArrayType:createElementArrayType(3),paintAttributes:[{property:"fill-extrusion-base",type:"Uint16"},{property:"fill-extrusion-height",type:"Uint16"},{property:"fill-extrusion-color",type:"Uint8"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function r(r){e.call(this,r,fillExtrusionInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);t=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var _=g.sub(A)._perp()._unit();addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,1,m),m+=A.dist(g),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,1,m);var v=p.vertexLength;r.elementArray.emplaceBack(v,v+1,v+2),r.elementArray.emplaceBack(v+1,v+2,v+3),p.vertexLength+=4,p.primitiveLength+=2}}u.push(g.x),u.push(g.y)}}}for(var E=earcut(u,c),T=0;T>6)}var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),EXTENT=require("../extent"),VectorTileFeature=require("vector-tile").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(37.5*(Math.PI/180)),SHARP_CORNER_OFFSET=15,LINE_DISTANCE_BUFFER_BITS=15,LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE,lineInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}]),paintAttributes:[{property:"line-color",type:"Uint8"},{property:"line-blur",multiplier:10,type:"Uint8"},{property:"line-opacity",multiplier:10,type:"Uint8"},{property:"line-gap-width",multiplier:10,type:"Uint8",name:"a_gapwidth"},{property:"line-offset",multiplier:1,type:"Int8"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r["line-join"],a=r["line-cap"],n=r["line-miter-limit"],d=r["line-round-limit"],s=0,u=loadGeometry(e,LINE_DISTANCE_BUFFER_BITS);s=2&&e[l-1].equals(e[l-2]);)l--;if(!(l<(u?3:2))){"bevel"===r&&(a=1.05);var o=SHARP_CORNER_OFFSET*(EXTENT/(512*this.overscaling)),p=e[0],c=this.arrays,_=c.prepareSegment(10*l);this.distance=0;var y,h,m,E,x,C,v,A=i,f=u?"butt":i,L=!0;this.e1=this.e2=this.e3=-1,u&&(y=e[l-2],x=p.sub(y)._unit()._perp());for(var V=0;V0){var b=y.dist(h);if(b>2*o){var R=y.sub(y.sub(h)._mult(o/b)._round());d.distance+=R.dist(h),d.addCurrentVertex(R,d.distance,E.mult(1),0,0,!1,_),h=R}}var g=h&&m,F=g?r:m?A:f;if(g&&"round"===F&&(Ia&&(F="bevel"),"bevel"===F&&(I>2&&(F="flipbevel"),I100)S=x.clone().mult(-1);else{var B=E.x*x.y-E.y*x.x>0?-1:1,k=I*E.add(x).mag()/E.sub(x).mag();S._perp()._mult(k*B)}d.addCurrentVertex(y,d.distance,S,0,0,!1,_),d.addCurrentVertex(y,d.distance,S.mult(-1),0,0,!1,_)}else if("bevel"===F||"fakeround"===F){var D=E.x*x.y-E.y*x.x>0,P=-Math.sqrt(I*I-1);if(D?(v=0,C=P):(C=0,v=P),L||d.addCurrentVertex(y,d.distance,E,C,v,!1,_),"fakeround"===F){for(var U=Math.floor(8*(.5-(T-.5))),q=void 0,M=0;M=0;O--)q=E.mult((O+1)/(U+1))._add(x)._unit(),d.addPieSliceVertex(y,d.distance,q,D,_)}m&&d.addCurrentVertex(y,d.distance,x,-C,-v,!1,_)}else"butt"===F?(L||d.addCurrentVertex(y,d.distance,E,0,0,!1,_),m&&d.addCurrentVertex(y,d.distance,x,0,0,!1,_)):"square"===F?(L||(d.addCurrentVertex(y,d.distance,E,1,1,!1,_),d.e1=d.e2=-1),m&&d.addCurrentVertex(y,d.distance,x,-1,-1,!1,_)):"round"===F&&(L||(d.addCurrentVertex(y,d.distance,E,0,0,!1,_),d.addCurrentVertex(y,d.distance,E,1,1,!0,_),d.e1=d.e2=-1),m&&(d.addCurrentVertex(y,d.distance,x,-1,-1,!0,_),d.addCurrentVertex(y,d.distance,x,0,0,!1,_)));if(N&&V2*o){var H=y.add(m.sub(y)._mult(o/X)._round());d.distance+=H.dist(y),d.addCurrentVertex(H,d.distance,x.mult(1),0,0,!1,_),y=H}}L=!1}c.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60,"vector-tile":34}],50:[function(require,module,exports){"use strict";function addVertex(e,t,o,r,a,i,n,l,s,c,y){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i/4,n/4,10*(c||0),y,10*(l||0),10*Math.min(s||25,25))}function addCollisionBoxVertex(e,t,o,r,a){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*r,10*a)}var Point=require("point-geometry"),ArrayGroup=require("../array_group"),BufferGroup=require("../buffer_group"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),EXTENT=require("../extent"),Anchor=require("../../symbol/anchor"),getAnchors=require("../../symbol/get_anchors"),resolveTokens=require("../../util/token"),Quads=require("../../symbol/quads"),Shaping=require("../../symbol/shaping"),resolveText=require("../../symbol/resolve_text"),mergeLines=require("../../symbol/mergelines"),clipLine=require("../../symbol/clip_line"),util=require("../../util/util"),scriptDetection=require("../../util/script_detection"),loadGeometry=require("../load_geometry"),CollisionFeature=require("../../symbol/collision_feature"),findPoleOfInaccessibility=require("../../util/find_pole_of_inaccessibility"),classifyRings=require("../../util/classify_rings"),VectorTileFeature=require("vector-tile").VectorTileFeature,rtlTextPlugin=require("../../source/rtl_text_plugin"),shapeText=Shaping.shapeText,shapeIcon=Shaping.shapeIcon,WritingMode=Shaping.WritingMode,getGlyphQuads=Quads.getGlyphQuads,getIconQuads=Quads.getIconQuads,elementArrayType=createElementArrayType(),layoutVertexArrayType=createVertexArrayType([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_texture_pos",components:2,type:"Uint16"},{name:"a_data",components:4,type:"Uint8"}]),symbolInterfaces={glyph:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:"a_fill_color",property:"text-color",type:"Uint8"},{name:"a_halo_color",property:"text-halo-color",type:"Uint8"},{name:"a_halo_width",property:"text-halo-width",type:"Uint16",multiplier:10},{name:"a_halo_blur",property:"text-halo-blur",type:"Uint16",multiplier:10},{name:"a_opacity",property:"text-opacity",type:"Uint8",multiplier:255}]},icon:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:"a_fill_color",property:"icon-color",type:"Uint8"},{name:"a_halo_color",property:"icon-halo-color",type:"Uint8"},{name:"a_halo_width",property:"icon-halo-width",type:"Uint16",multiplier:10},{name:"a_halo_blur",property:"icon-halo-blur",type:"Uint16",multiplier:10},{name:"a_opacity",property:"icon-opacity",type:"Uint8",multiplier:255}]},collisionBox:{layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"},{name:"a_data",components:2,type:"Uint8"}]),elementArrayType:createElementArrayType(2)}},SymbolBucket=function(e){var t=this;if(this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.sdfIcons=e.sdfIcons,this.iconsNeedLinear=e.iconsNeedLinear,this.adjustedTextSize=e.adjustedTextSize,this.adjustedIconSize=e.adjustedIconSize,this.fontstack=e.fontstack,e.arrays){this.buffers={};for(var o in e.arrays)e.arrays[o]&&(t.buffers[o]=new BufferGroup(symbolInterfaces[o],e.layers,e.zoom,e.arrays[o]))}};SymbolBucket.prototype.populate=function(e,t){var o=this,r=this.layers[0],a=r.layout,i=a["text-font"],n=a["icon-image"],l=i&&(!r.isLayoutValueFeatureConstant("text-field")||a["text-field"]),s=n;if(this.features=[],l||s){for(var c=t.iconDependencies,y=t.glyphDependencies,p=y[i]=y[i]||{},x=0;xEXTENT||i.y<0||i.y>EXTENT);if(!x||n){var l=n||f;r.addSymbolInstance(i,a,t,o,r.layers[0],l,r.collisionBoxArray,e.index,e.sourceLayerIndex,r.index,s,h,m,y,u,g,{zoom:r.zoom},e.properties)}};if("line"===b)for(var S=0,T=clipLine(e.geometry,0,0,EXTENT,EXTENT);S=0;i--)if(o.dist(a[i])7*Math.PI/4)continue}else if(r&&a&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(r&&a&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var m=u.tl,g=u.tr,f=u.bl,b=u.br,v=u.tex,I=u.anchorPoint,S=Math.max(y+Math.log(u.minScale)/Math.LN2,p),T=Math.min(y+Math.log(u.maxScale)/Math.LN2,25) -;if(!(T<=S)){S===p&&(S=0);var M=Math.round(u.glyphAngle/(2*Math.PI)*256),B=e.prepareSegment(4),A=B.vertexLength;addVertex(c,I.x,I.y,m.x,m.y,v.x,v.y,S,T,p,M),addVertex(c,I.x,I.y,g.x,g.y,v.x+v.w,v.y,S,T,p,M),addVertex(c,I.x,I.y,f.x,f.y,v.x,v.y+v.h,S,T,p,M),addVertex(c,I.x,I.y,b.x,b.y,v.x+v.w,v.y+v.h,S,T,p,M),s.emplaceBack(A,A+1,A+2),s.emplaceBack(A+1,A+2,A+3),B.vertexLength+=4,B.primitiveLength+=2}}e.populatePaintArrays(n)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,r=o.layoutVertexArray,a=o.elementArray,i=-e.angle,n=e.yStretch,l=0,s=t.symbolInstances;lSymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),z>SymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907");var _=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:M,textBoxEndIndex:B,iconBoxStartIndex:A,iconBoxEndIndex:z,glyphQuads:I,iconQuads:v,anchor:e,featureIndex:l,featureProperties:g,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket},{"../../source/rtl_text_plugin":90,"../../symbol/anchor":157,"../../symbol/clip_line":159,"../../symbol/collision_feature":161,"../../symbol/get_anchors":163,"../../symbol/mergelines":166,"../../symbol/quads":167,"../../symbol/resolve_text":168,"../../symbol/shaping":169,"../../util/classify_rings":195,"../../util/find_pole_of_inaccessibility":201,"../../util/script_detection":209,"../../util/token":211,"../../util/util":212,"../array_group":44,"../buffer_group":52,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60,"point-geometry":26,"vector-tile":34}],51:[function(require,module,exports){"use strict";var AttributeType={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT"},Buffer=function(e,t,r){this.arrayBuffer=e.arrayBuffer,this.length=e.length,this.attributes=t.members,this.itemSize=t.bytesPerElement,this.type=r,this.arrayType=t};Buffer.fromStructArray=function(e,t){return new Buffer(e.serialize(),e.constructor.serialize(),t)},Buffer.prototype.bind=function(e){var t=e[this.type];this.buffer?e.bindBuffer(t,this.buffer):(this.gl=e,this.buffer=e.createBuffer(),e.bindBuffer(t,this.buffer),e.bufferData(t,this.arrayBuffer,e.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.setVertexAttribPointers=function(e,t,r){for(var f=this,i=0;i0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),"viewport"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return u}},{"../util/util":212,"./extent":54}],57:[function(require,module,exports){"use strict";var createStructArrayType=require("../util/struct_array"),PosArray=createStructArrayType({members:[{name:"a_pos",type:"Int16",components:2}]});module.exports=PosArray},{"../util/struct_array":210}],58:[function(require,module,exports){"use strict";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+"-","").replace(/-/g,"_"));var i="color"===r._paintSpecifications[t.property].type;return util.extend({name:"a_"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=require("./vertex_array_type"),util=require("../util/util"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=""};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(t&&t.hasOwnProperty("lng")&&t.hasOwnProperty("lat"))return new LngLat(t.lng,t.lat);if(Array.isArray(t)&&2===t.length)return new LngLat(t[0],t[1]);throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]")},module.exports=LngLat},{"../util/util":212}],63:[function(require,module,exports){"use strict";var LngLat=require("./lng_lat"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds},{"./lng_lat":62}],64:[function(require,module,exports){"use strict";var LngLat=require("./lng_lat"),Point=require("point-geometry"),Coordinate=require("./coordinate"),util=require("../util/util"),interp=require("../util/interpolate"),TileCoord=require("../source/tile_coord"),EXTENT=require("../data/extent"),glmatrix=require("@mapbox/gl-matrix"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){var i=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-i)*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o))},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var o=0,e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(o-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r,n,s,a,h=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),i=this.latY(this.latRange[0]),r=i-ti&&(a=i-l)}if(this.lngRange){var u=this.x,f=h.x/2;u-fe&&(s=e-f)}void 0===s&&void 0===a||(this.center=this.unproject(new Point(void 0!==s?s:this.x,void 0!==a?a:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),e=Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance,r=1.01*e,n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),n=mat4.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error("failed to invert matrix");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform},{"../data/extent":54,"../source/tile_coord":94,"../util/interpolate":204,"../util/util":212,"./coordinate":61,"./lng_lat":62,"@mapbox/gl-matrix":1,"point-geometry":26}],65:[function(require,module,exports){"use strict";var browser=require("./util/browser"),mapboxgl=module.exports={};mapboxgl.version=require("../package.json").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=require("./ui/map"),mapboxgl.NavigationControl=require("./ui/control/navigation_control"),mapboxgl.GeolocateControl=require("./ui/control/geolocate_control"),mapboxgl.AttributionControl=require("./ui/control/attribution_control"),mapboxgl.ScaleControl=require("./ui/control/scale_control"),mapboxgl.FullscreenControl=require("./ui/control/fullscreen_control"),mapboxgl.Popup=require("./ui/popup"),mapboxgl.Marker=require("./ui/marker"),mapboxgl.Style=require("./style/style"),mapboxgl.LngLat=require("./geo/lng_lat"),mapboxgl.LngLatBounds=require("./geo/lng_lat_bounds"),mapboxgl.Point=require("point-geometry"),mapboxgl.Evented=require("./util/evented"), -mapboxgl.supported=require("./util/browser").supported;var config=require("./util/config");mapboxgl.config=config;var rtlTextPlugin=require("./source/rtl_text_plugin");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,"accessToken",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}})},{"../package.json":43,"./geo/lng_lat":62,"./geo/lng_lat_bounds":63,"./source/rtl_text_plugin":90,"./style/style":146,"./ui/control/attribution_control":173,"./ui/control/fullscreen_control":174,"./ui/control/geolocate_control":175,"./ui/control/navigation_control":177,"./ui/control/scale_control":178,"./ui/map":187,"./ui/marker":188,"./ui/popup":189,"./util/browser":192,"./util/config":196,"./util/evented":200,"point-geometry":26}],66:[function(require,module,exports){"use strict";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint["background-color"],l=e.paint["background-pattern"],u=e.paint["background-opacity"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram("fillPattern",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram("fill",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var c=i.coveringTiles({tileSize:n}),g=0,p=c;g":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]}},{"../data/buffer":51,"../data/extent":54,"../data/pos_array":57,"../util/browser":192,"./vertex_array_object":80,"@mapbox/gl-matrix":1}],70:[function(require,module,exports){"use strict";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint["fill-pattern"]&&r.isPaintValueFeatureConstant("fill-color")&&r.isPaintValueFeatureConstant("fill-opacity")&&1===r.paint["fill-color"][3]&&1===r.paint["fill-opacity"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint["fill-antialias"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty("fill-outline-color")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint["raster-fade-duration"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=require("../util/util");module.exports=drawRaster},{"../util/util":212}],74:[function(require,module,exports){"use strict";function drawSymbols(e,t,a,i){if(!e.isOpaquePass){var o=!(a.layout["text-allow-overlap"]||a.layout["icon-allow-overlap"]||a.layout["text-ignore-placement"]||a.layout["icon-ignore-placement"]),r=e.gl;o?r.disable(r.STENCIL_TEST):r.enable(r.STENCIL_TEST),e.setDepthSublayer(0),e.depthMask(!1),drawLayerSymbols(e,t,a,i,!1,a.paint["icon-translate"],a.paint["icon-translate-anchor"],a.layout["icon-rotation-alignment"],a.layout["icon-rotation-alignment"],a.layout["icon-size"]),drawLayerSymbols(e,t,a,i,!0,a.paint["text-translate"],a.paint["text-translate-anchor"],a.layout["text-rotation-alignment"],a.layout["text-pitch-alignment"],a.layout["text-size"]),t.map.showCollisionBoxes&&drawCollisionDebug(e,t,a,i)}}function drawLayerSymbols(e,t,a,i,o,r,n,l,s,u){if(o||!e.style.sprite||e.style.sprite.loaded()){var f=e.gl,m="map"===l,p="map"===s,c=p;c?f.enable(f.DEPTH_TEST):f.disable(f.DEPTH_TEST);for(var d,_,h=0,g=i;hthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);a<=t?r.opacities[a]=r.changeOpacities[a]+o:r.opacities[a]=r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory},{}],76:[function(require,module,exports){"use strict";var util=require("../util/util"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(",")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1,a=128;if(this.nextRow+s>this.height)return util.warnOnce("LineAtlas out of space"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);var t=8,i=1/t;r.blendColor(i,i,i,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s="#define MAPBOX_GL_JS\n#define DEVICE_PIXEL_RATIO "+browser.devicePixelRatio.toFixed(1)+"\n";this._showOverdrawInspector&&(s+="#define OVERDRAW_INSPECTOR;\n");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,"fragment"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,"vertex"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)}},{"../source/pixels_to_tile_units":87}],79:[function(require,module,exports){"use strict";var path=require("path");module.exports={prelude:{fragmentSource:"#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n",vertexSource:"#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\n if (t < 1.0) {\n return mix(values[0], values[1], t);\n } else if (t < 2.0) {\n return mix(values[1], values[2], t - 1.0);\n } else {\n return mix(values[2], values[3], t - 2.0);\n }\n}\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\n if (t < 1.0) {\n return mix(value0, value1, t);\n } else if (t < 2.0) {\n return mix(value1, value2, t - 1.0);\n } else {\n return mix(value2, value3, t - 2.0);\n }\n}\n\n\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\n// [ floor(color.r * 255) * 256 + color.g * 255,\n// floor(color.b * 255) * 256 + color.g * 255 ]\nvec4 decode_color(const vec2 encodedColor) {\n float r = floor(encodedColor[0]/256.0)/255.0;\n float g = (encodedColor[0] - r*256.0*255.0)/255.0;\n float b = floor(encodedColor[1]/256.0)/255.0;\n float a = (encodedColor[1] - b*256.0*255.0)/255.0;\n return vec4(r, g, b, a);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\n return mix(packedValue[0], packedValue[1], t);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\n return mix(minColor, maxColor, t);\n}\n\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\n// vec2 offset = mod(pixel_coord, size)\n//\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\n//\n// The pixel_coord is passed in as two 16 bit values:\n// pixel_coord_upper = floor(pixel_coord / 2^16)\n// pixel_coord_lower = mod(pixel_coord, 2^16)\n//\n// The offset is calculated in a series of steps that should preserve this precision:\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\n\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\n return (tile_units_to_pixels * pos + offset) / pattern_size;\n}\n"},circle:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n float extrude_length = length(v_extrude);\n float antialiased_blur = -max(blur, v_antialiasblur);\n\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\n\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\n antialiased_blur,\n 0.0,\n extrude_length - radius / (radius + stroke_width)\n );\n\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform vec2 u_extrude_scale;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main(void) {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n // unencode the extrusion vector that we snuck into the a_pos vector\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n // in extrusion data\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\n\n if (u_scale_with_map) {\n gl_Position.xy += extrude;\n } else {\n gl_Position.xy += extrude * gl_Position.w;\n }\n\n // This is a minimum blur distance that serves as a faux-antialiasing for\n // the circle. since blur is a ratio of the circle's size and the intent is\n // to keep the blur at roughly 1px, the two are inversely related.\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\n}\n"},collisionBox:{fragmentSource:"uniform float u_zoom;\nuniform float u_maxzoom;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n\n float alpha = 0.5;\n\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\n\n if (v_placement_zoom > u_zoom) {\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n }\n\n if (u_zoom >= v_max_zoom) {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\n }\n\n if (v_placement_zoom >= u_maxzoom) {\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\n }\n}\n",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_data;\n\nuniform mat4 u_matrix;\nuniform float u_scale;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\n\n v_max_zoom = a_data.x;\n v_placement_zoom = a_data.y;\n}\n"},debug:{fragmentSource:"uniform lowp vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fillOutline:{fragmentSource:"#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = smoothstep(1.0, 0.0, dist);\n gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillOutlinePattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n // find distance to outline for alpha interpolation\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = smoothstep(1.0, 0.0, dist);\n\n\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n}\n"},fillExtrusion:{fragmentSource:"varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize lowp vec4 color\n\n gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define lowp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize lowp vec4 color\n\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\n float t = mod(a_normal.x, 2.0);\n\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n // Relative luminance (how dark/bright is the surface color?)\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n // Add slight ambient lighting so no extrusions are totally black\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n color += ambientlight;\n\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n // Adjust directional so that\n // the range of values for highlight/shading is narrower\n // with lower light intensity\n // and with lighter/brighter surface colors\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n // Add gradient along z axis of side surfaces\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n // with lower bounds adjusted to hue of light\n // so that shading is tinted with the complementary (opposite) color to the light color\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n"},fillExtrusionPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n vec4 mixedColor = mix(color1, color2, u_mix);\n\n gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n float t = mod(a_normal.x, 2.0);\n float z = t > 0.0 ? height : base;\n\n gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\n ? a_pos // extrusion top\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\n\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n"},extrusionTexture:{fragmentSource:"uniform sampler2D u_texture;\nuniform float u_opacity;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_texture, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform int u_xdim;\nuniform int u_ydim;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos.x = a_pos.x / float(u_xdim);\n v_pos.y = 1.0 - a_pos.y / float(u_ydim);\n}\n"},line:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n", -vertexSource:"\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n"},linePattern:{fragmentSource:"uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\n\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float gapwidth\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_linesofar = a_linesofar;\n v_width2 = vec2(outset, inset);\n}\n"},lineSDF:{fragmentSource:"\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\nuniform mediump float u_width;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset;\n \n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist =outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n v_width2 = vec2(outset, inset);\n}\n"},raster:{fragmentSource:"uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n // read and cross-fade colors from the main and parent tiles\n vec4 color0 = texture2D(u_image0, v_pos0);\n vec4 color1 = texture2D(u_image1, v_pos1);\n vec4 color = mix(color0, color1, u_fade_t);\n color.a *= u_opacity;\n vec3 rgb = color.rgb;\n\n // spin\n rgb = vec3(\n dot(rgb, u_spin_weights.xyz),\n dot(rgb, u_spin_weights.zxy),\n dot(rgb, u_spin_weights.yzx));\n\n // saturation\n float average = (color.r + color.g + color.b) / 3.0;\n rgb += (average - rgb) * u_saturation_factor;\n\n // contrast\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n // brightness\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n"},symbolIcon:{fragmentSource:"uniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\nattribute vec4 a_pos_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n#pragma mapbox: define lowp float opacity\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_texture_pos.xy;\n mediump float a_labelminzoom = a_data[0];\n mediump vec2 a_zoom = a_data.pq;\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n // u_zoom is the current zoom level adjusted for the change in font size\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n if (u_rotate_with_map) {\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n } else {\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n"},symbolSDF:{fragmentSource:"#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\n#pragma mapbox: define lowp vec4 fill_color\n#pragma mapbox: define lowp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp float u_font_scale;\nuniform highp float u_gamma_scale;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 fill_color\n #pragma mapbox: initialize lowp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / u_gamma_scale;\n lowp float buff = (256.0 - 64.0) / 256.0;\n if (u_is_halo) {\n color = halo_color;\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / u_gamma_scale;\n buff = (6.0 - halo_width / u_font_scale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, v_tex).a;\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\n highp float gamma_scaled = gamma * v_gamma_scale;\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n#pragma mapbox: define lowp vec4 fill_color\n#pragma mapbox: define lowp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform bool u_pitch_with_map;\nuniform mediump float u_pitch;\nuniform mediump float u_bearing;\nuniform mediump float u_aspect_ratio;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 fill_color\n #pragma mapbox: initialize lowp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_texture_pos.xy;\n mediump float a_labelminzoom = a_data[0];\n mediump vec2 a_zoom = a_data.pq;\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n // u_zoom is the current zoom level adjusted for the change in font size\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n // pitch-alignment: map\n // rotation-alignment: map | viewport\n if (u_pitch_with_map) {\n lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\n vec2 offset = RotationMatrix * a_offset;\n vec2 extrude = u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: map\n } else if (u_rotate_with_map) {\n // foreshortening factor to apply on pitched maps\n // as a label goes from horizontal <=> vertical in angle\n // it goes from 0% foreshortening to up to around 70% foreshortening\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\n\n lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\n\n // use the lineangle to position points a,b along the line\n // project the points and calculate the label angle in projected space\n // this calculation allows labels to be rendered unskewed on pitched maps\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\n\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\n vec2 extrude = u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: viewport\n } else {\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_gamma_scale = gl_Position.w;\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n"}}},{path:23}],80:[function(require,module,exports){"use strict";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,o){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension("OES_vertex_array_object"));var s=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==o;!e.extVertexArrayObject||s?(this.freshBind(e,t,r,i,n,o),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,o){var s,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),s=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=o;else{s=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send("loadTile",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send("removeTile",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast("removeSource",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource},{"../data/extent":54,"../util/evented":200,"../util/util":212,"../util/window":194}],83:[function(require,module,exports){"use strict";var ajax=require("../util/ajax"),rewind=require("geojson-rewind"),GeoJSONWrapper=require("./geojson_wrapper"),vtpbf=require("vt-pbf"),supercluster=require("supercluster"),geojsonvt=require("geojson-vt"),VectorTileWorkerSource=require("./vector_tile_worker_source"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name="_geojsonTileLayer";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):"object"!=typeof o?r(new Error("Input data is not a valid GeoJSON object.")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if("string"!=typeof e.data)return r(new Error("Input data is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error("Input data is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource},{"../util/ajax":191,"./geojson_wrapper":84,"./vector_tile_worker_source":96,"geojson-rewind":7,"geojson-vt":11,supercluster:29,"vt-pbf":38}],84:[function(require,module,exports){"use strict";var Point=require("point-geometry"),VectorTileFeature=require("vector-tile").VectorTileFeature,EXTENT=require("../data/extent"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;a=i._tiles[d],a&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var t=Math.ceil(e.width/e.tileSize)+1,o=Math.ceil(e.height/e.tileSize)+1,i=t*o,r=5;this._cache.setMaxSize(Math.floor(i*r))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(u=this.used?this._source.coord?[this._source.coord]:e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}):[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),a=o.findLoadedParent(r,d,l),a&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire("dataloading",{tile:t,coord:t.coord,dataType:"source"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,"expired"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-(1/0),n=-(1/0),d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTimei.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e="",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=t:this.dispatcher.send("reloadTile",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send("loadTile",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send("abortTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send("removeTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource},{"../util/evented":200,"../util/mapbox":208,"../util/util":212,"./load_tilejson":86}],96:[function(require,module,exports){"use strict";var ajax=require("../util/ajax"),vt=require("vector-tile"),Protobuf=require("pbf"),WorkerTile=require("./worker_tile"),util=require("../util/util"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];"parsing"===l.status?l.reloadCallback=r:"done"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var a=t[i],l=a.redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource},{"../util/ajax":191,"../util/util":212,"./worker_tile":99,pbf:25,"vector-tile":34}],97:[function(require,module,exports){"use strict";var ajax=require("../util/ajax"),ImageSource=require("./image_source"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type="video",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire("error",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener("playing",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener("pause",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},e}(ImageSource);module.exports=VideoSource},{"../util/ajax":191,"./image_source":85}],98:[function(require,module,exports){"use strict";var Actor=require("../util/actor"),StyleLayerIndex=require("../style/style_layer_index"),VectorTileWorkerSource=require("./vector_tile_worker_source"),GeoJSONWorkerSource=require("./geojson_worker_source"),globalRTLTextPlugin=require("./rtl_text_plugin"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name "'+e+'" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){ -if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error("RTL text plugin already registered.");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)}},{"../style/style_layer_index":154,"../util/actor":190,"./geojson_worker_source":83,"./rtl_text_plugin":90,"./vector_tile_worker_source":96}],99:[function(require,module,exports){"use strict";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&"none"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(D++,2===D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r"===i||"<="===i||">="===i?compileComparisonOp(e[1],e[2],i,!0):"any"===i?compileLogicalOp(e.slice(1),"||"):"all"===i?compileLogicalOp(e.slice(1),"&&"):"none"===i?compileNegation(compileLogicalOp(e.slice(1),"||")):"in"===i?compileInOp(e[1],e.slice(2)):"!in"===i?compileNegation(compileInOp(e[1],e.slice(2))):"has"===i?compileHasOp(e[1]):"!has"===i?compileNegation(compileHasOp(e[1])):"true";return"("+n+")"}function compilePropertyReference(e){return"$type"===e?"f.type":"$id"===e?"f.id":"p["+JSON.stringify(e)+"]"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t="$type"===e?types.indexOf(i):JSON.stringify(i);return(r?"typeof "+o+"=== typeof "+t+"&&":"")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){"$type"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+".indexOf("+r+") !== -1":"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }("+r+", "+n+",0,"+(i.length-1)+")"}function compileHasOp(e){return"$id"===e?'"id" in f':JSON.stringify(e)+" in p"}function compileNegation(e){return"!("+e+")"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=["Unknown","Point","LineString","Polygon"]},{}],104:[function(require,module,exports){"use strict";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn),g=xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn);return[116*o-16,500*(b-o),200*(o-g),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1],n=r[2];return labToRgb([n,Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}}},{}],105:[function(require,module,exports){"use strict";function identityFunction(t){return t}function createFunction(t,e){var o,n="color"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&"object"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||("interpolated"===e.function?"exponential":"interval");n&&(t=extend({},t),t.stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if("exponential"===s)u=evaluateExponentialFunction;else if("interval"===s)u=evaluateIntervalFunction;else if("categorical"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=binarySearchForIndex(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if("number"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=binarySearchForIndex(t.stops,o);return interpolate(o,n,t.stops[a][0],t.stops[a+1][0],t.stops[a][1],t.stops[a+1][1])}function evaluateIdentityFunction(t,e,o){return"color"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function binarySearchForIndex(t,e){for(var o,n,r=t.length,a=0,i=r-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e>=o&&ee&&(i=s-1)}return Math.max(s-1,0)}function interpolate(t,e,o,n,r,a){return"function"==typeof r?function(){var i=r.apply(void 0,arguments),s=a.apply(void 0,arguments);if(void 0!==i&&void 0!==s)return interpolate(t,e,o,n,i,s)}:r.length?interpolateArray(t,e,o,n,r,a):interpolateNumber(t,e,o,n,r,a)}function interpolateNumber(t,e,o,n,r,a){var i,s=n-o,u=t-o;return i=1===e?u/s:(Math.pow(e,u)-1)/(Math.pow(e,s)-1),r*(1-i)+a*i}function interpolateArray(t,e,o,n,r,a){for(var i=[],s=0;s255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte("%"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float("%"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,"").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if("#"===r[0]){if(4===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null}if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf("("),t=r.indexOf(")");if(a!==-1&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(","),o=1;switch(n){case"rgba":if(4!==s.length)return null;o=parse_css_float(s.pop());case"rgb":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case"hsla":if(4!==s.length)return null;o=parse_css_float(s.pop());case"hsl":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){}},{}],108:[function(require,module,exports){function sss(r){var e,t,s,n,u,a;switch(typeof r){case"object":if(null===r)return null;if(isArray(r)){for(s="[",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+"]"}for(n=objKeys(r).sort(),t=n.length,s="{",u=n[e=0],a=t>0&&void 0!==r[u];e15?"\\u00"+e.toString(16):"\\u000"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return""+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace},{}],109:[function(require,module,exports){function isObjectLike(r){return!!r&&"object"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function isObjectLike(t){return!!t&&"object"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",funcTag="[object Function]",genTag="[object GeneratorFunction]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments},{}],113:[function(require,module,exports){function isObjectLike(t){return!!t&&"object"==typeof t}function getNative(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}function isLength(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&("object"==r||"function"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var arrayTag="[object Array]",funcTag="[object Function]",reIsHostCtor=/^\[object .+?Constructor\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp("^"+fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nativeIsArray=getNative(Array,"isArray"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(t){return isObjectLike(t)&&isLength(t.length)&&objToString.call(t)==arrayTag};module.exports=isArray},{}],114:[function(require,module,exports){function isEqual(a,l,i,e){i="function"==typeof i?bindCallback(i,e,3):void 0;var s=i?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=require("lodash._baseisequal"),bindCallback=require("lodash._bindcallback");module.exports=isEqual},{"lodash._baseisequal":109,"lodash._bindcallback":110}],115:[function(require,module,exports){function isLength(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&"object"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]} -var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objectToString=objectProto.toString;module.exports=isTypedArray},{}],116:[function(require,module,exports){function baseProperty(e){return function(t){return null==t?void 0:t[e]}}function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e="number"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:false}},function_stop:{type:"array",minimum:0,maximum:22,value:["number","color"],length:2},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},transition:false},position:{type:"array",default:[1.15,210,30],length:3,value:"number",transition:true,function:"interpolated","zoom-function":true,"property-function":false},color:{type:"color",default:"#ffffff",function:"interpolated","zoom-function":true,"property-function":false,transition:true},intensity:{type:"number",default:.5,minimum:0,maximum:1,function:"interpolated","zoom-function":true,"property-function":false,transition:true}},paint:["paint_fill","paint_line","paint_circle","paint_fill-extrusion","paint_symbol","paint_raster","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",function:"piecewise-constant","zoom-function":true,default:true},"fill-opacity":{type:"number",function:"interpolated","zoom-function":true,"property-function":true,default:1,minimum:0,maximum:1,transition:true},"fill-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:[{"!":"fill-pattern"}]},"fill-outline-color":{type:"color",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:[{"!":"fill-pattern"},{"fill-antialias":true}]},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":true,transition:true,units:"pixels"},"fill-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map",requires:["fill-translate"]},"fill-pattern":{type:"string",function:"piecewise-constant","zoom-function":true,transition:true}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",function:"interpolated","zoom-function":true,"property-function":false,default:1,minimum:0,maximum:1,transition:true},"fill-extrusion-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:[{"!":"fill-extrusion-pattern"}]},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":true,transition:true,units:"pixels"},"fill-extrusion-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"]},"fill-extrusion-pattern":{type:"string",function:"piecewise-constant","zoom-function":true,transition:true},"fill-extrusion-height":{type:"number",function:"interpolated","zoom-function":true,"property-function":true,default:0,minimum:0,units:"meters",transition:true},"fill-extrusion-base":{type:"number",function:"interpolated","zoom-function":true,"property-function":true,default:0,minimum:0,units:"meters",transition:true,requires:["fill-extrusion-height"]}},paint_line:{"line-opacity":{type:"number",function:"interpolated","zoom-function":true,"property-function":true,default:1,minimum:0,maximum:1,transition:true},"line-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:[{"!":"line-pattern"}]},"line-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":true,transition:true,units:"pixels"},"line-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map",requires:["line-translate"]},"line-width":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":true,transition:true,units:"pixels"},"line-gap-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels"},"line-offset":{type:"number",default:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels"},"line-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels"},"line-dasharray":{type:"array",value:"number",function:"piecewise-constant","zoom-function":true,minimum:0,transition:true,units:"line widths",requires:[{"!":"line-pattern"}]},"line-pattern":{type:"string",function:"piecewise-constant","zoom-function":true,transition:true}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels"},"circle-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true},"circle-blur":{type:"number",default:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":true,"property-function":true,transition:true},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":true,transition:true,units:"pixels"},"circle-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map",requires:["circle-translate"]},"circle-pitch-scale":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map"},"circle-stroke-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels"},"circle-stroke-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":true,"property-function":true,transition:true}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:["icon-image"]},"icon-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:["icon-image"]},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:["icon-image"]},"icon-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels",requires:["icon-image"]},"icon-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels",requires:["icon-image"]},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":true,transition:true,units:"pixels",requires:["icon-image"]},"icon-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"]},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:["text-field"]},"text-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:["text-field"]},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":true,"property-function":true,transition:true,requires:["text-field"]},"text-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels",requires:["text-field"]},"text-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":true,"property-function":true,transition:true,units:"pixels",requires:["text-field"]},"text-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":true,transition:true,units:"pixels",requires:["text-field"]},"text-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":true,values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"]}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":true,transition:true},"raster-hue-rotate":{type:"number",default:0,period:360,function:"interpolated","zoom-function":true,transition:true,units:"degrees"},"raster-brightness-min":{type:"number",function:"interpolated","zoom-function":true,default:0,minimum:0,maximum:1,transition:true},"raster-brightness-max":{type:"number",function:"interpolated","zoom-function":true,default:1,minimum:0,maximum:1,transition:true},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":true,transition:true},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":true,transition:true},"raster-fade-duration":{type:"number",default:300,minimum:0,function:"interpolated","zoom-function":true,transition:true,units:"milliseconds"}},paint_background:{"background-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":true,transition:true,requires:[{"!":"background-pattern"}]},"background-pattern":{type:"string",function:"piecewise-constant","zoom-function":true,transition:true},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":true,transition:true}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}}}},{}],119:[function(require,module,exports){"use strict";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,"constants have been deprecated as of v8")];if(!(a in l.constants))return[new ValidationError(u,a,'constant "%s" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&"object"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))}},{"../error/validation_error":102,"../util/extend":119,"../util/get_type":120,"./validate_array":125,"./validate_boolean":126,"./validate_color":127,"./validate_constants":128,"./validate_enum":129,"./validate_filter":130,"./validate_function":131,"./validate_layer":133,"./validate_light":135,"./validate_number":136,"./validate_object":137,"./validate_source":140,"./validate_string":141}],125:[function(require,module,exports){"use strict";var getType=require("../util/get_type"),validate=require("./validate"),ValidationError=require("../error/validation_error");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if("array"!==getType(r))return[new ValidationError(l,r,"array expected, %s found",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,"array length %d expected, length %d found",t.length,r.length)];if(t["min-length"]&&r.length7)return t?[new ValidationError(e,t,"constants have been deprecated as of v8")]:[];var o=getType(t);if("object"!==o)return[new ValidationError(e,t,"object expected, %s found",o)];var n=[];for(var i in t)"@"!==i[0]&&n.push(new ValidationError(e+"."+i,t[i],'constants must start with "@"'));return n}},{"../error/validation_error":102,"../util/get_type":120}],129:[function(require,module,exports){"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?u.values.indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",u.values.join(", "),n)):Object.keys(u.values).indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",Object.keys(u.values).join(", "),n)),o}},{"../error/validation_error":102,"../util/unbundle_jsonlint":123}],130:[function(require,module,exports){"use strict";var ValidationError=require("../error/validation_error"),validateEnum=require("./validate_enum"),getType=require("../util/get_type"),unbundle=require("../util/unbundle_jsonlint");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if("array"!==getType(a))return[new ValidationError(n,a,"array expected, %s found",getType(a))];if(a.length<1)return[new ValidationError(n,a,"filter array must have at least 1 element")];switch(s=s.concat(validateEnum({key:n+"[0]",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case"<":case"<=":case">":case">=":a.length>=2&&"$type"===unbundle(a[1])&&s.push(new ValidationError(n,a,'"$type" cannot be use with operator "%s"',a[0]));case"==":case"!=":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator "%s" must have 3 elements',a[0]));case"in":case"!in":a.length>=2&&(t=getType(a[1]),"string"!==t&&s.push(new ValidationError(n+"[1]",a[1],"string expected, %s found",t)));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,"stop zoom values must appear in ascending order")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+"[0]",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+"[0]",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+"[1]",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,"%s stop domain type must match previous stop domain type %s",t,n)]}else n=t;if("number"!==t&&"string"!==t&&"boolean"!==t)return[new ValidationError(e.key,e.value,"stop domain value must be a number, string, or boolean")];if("number"!==t&&"categorical"!==p){var a="number expected, %s found" -;return u["property-function"]&&void 0===p&&(a+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new ValidationError(e.key,e.value,a,t)]}return"categorical"!==p||"number"!==t||isFinite(r)&&Math.floor(r)===r?"number"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec["property-function"]?v.push(new ValidationError(e.key,e.value,"property functions not supported")):y&&!e.valueSpec["zoom-function"]&&v.push(new ValidationError(e.key,e.value,"zoom functions not supported"))),"categorical"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'"property" property is required')),v}},{"../error/validation_error":102,"../util/get_type":120,"../util/unbundle_jsonlint":123,"./validate":124,"./validate_array":125,"./validate_number":136,"./validate_object":137}],132:[function(require,module,exports){"use strict";var ValidationError=require("../error/validation_error"),validateString=require("./validate_string");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(e.indexOf("{fontstack}")===-1&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{fontstack}" token')),e.indexOf("{range}")===-1&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{range}" token')),a)}},{"../error/validation_error":102,"./validate_string":141}],133:[function(require,module,exports){"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint"),validateObject=require("./validate_object"),validateFilter=require("./validate_filter"),validatePaintProperty=require("./validate_paint_property"),validateLayoutProperty=require("./validate_layout_property"),extend=require("../util/extend");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either "type" or "ref" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,"%s is greater than the maximum value %s",i,m.maximum)]:[]}},{"../error/validation_error":102,"../util/get_type":120}],137:[function(require,module,exports){"use strict";var ValidationError=require("../error/validation_error"),getType=require("../util/get_type"),validateSpec=require("./validate");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if("object"!==u)return[new ValidationError(r,t,"object expected, %s found",u)];for(var d in t){var p=d.split(".")[0],s=i[p]||i["*"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a["*"])c=a["*"];else{if(!i["*"]){n.push(new ValidationError(r,t[d],'unknown property "%s"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+".":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property "%s"',v));return n}},{"../error/validation_error":102,"../util/get_type":120,"./validate":124}],138:[function(require,module,exports){"use strict";var validateProperty=require("./validate_property");module.exports=function(r){return validateProperty(r,"paint")}},{"./validate_property":139}],139:[function(require,module,exports){"use strict";var validate=require("./validate"),ValidationError=require("../error/validation_error"),getType=require("../util/get_type");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+"_"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if("paint"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property "%s"',o)];var s;if("string"===getType(n)&&p["property-function"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'"%s" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return"symbol"===e.layerType&&"text-field"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of "text-field" requires a style "glyphs" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))}},{"../error/validation_error":102,"../util/get_type":120,"./validate":124}],140:[function(require,module,exports){"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint"),validateObject=require("./validate_object"),validateEnum=require("./validate_enum");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'"type" is required')];var u=unbundle(a.type),i=[];switch(u){case"vector":case"raster":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),"url"in a)for(var s in a)["type","url","tileSize"].indexOf(s)<0&&i.push(new ValidationError(t+"."+s,a[s],'a source with a "url" property may not include a "%s" property',s));return i;case"geojson":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case"video":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case"image":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case"canvas":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+".type",value:a.type,valueSpec:{values:["vector","raster","geojson","video","image","canvas"]},style:l,styleSpec:r})}}},{"../error/validation_error":102,"../util/unbundle_jsonlint":123,"./validate_enum":129,"./validate_object":137}],141:[function(require,module,exports){"use strict";var getType=require("../util/get_type"),ValidationError=require("../error/validation_error");module.exports=function(r){var e=r.value,t=r.key,i=getType(e);return"string"!==i?[new ValidationError(t,e,"string expected, %s found",i)]:[]}},{"../error/validation_error":102,"../util/get_type":120}],142:[function(require,module,exports){"use strict";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:"",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,"*":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:"constants",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=require("./validate/validate_constants"),validate=require("./validate/validate"),latestStyleSpec=require("./reference/latest"),validateGlyphsURL=require("./validate/validate_glyphs_url");validateStyleMin.source=wrapCleanErrors(require("./validate/validate_source")),validateStyleMin.light=wrapCleanErrors(require("./validate/validate_light")),validateStyleMin.layer=wrapCleanErrors(require("./validate/validate_layer")),validateStyleMin.filter=wrapCleanErrors(require("./validate/validate_filter")),validateStyleMin.paintProperty=wrapCleanErrors(require("./validate/validate_paint_property")),validateStyleMin.layoutProperty=wrapCleanErrors(require("./validate/validate_layout_property")),module.exports=validateStyleMin},{"./reference/latest":117,"./validate/validate":124,"./validate/validate_constants":128,"./validate/validate_filter":130,"./validate/validate_glyphs_url":132,"./validate/validate_layer":133,"./validate/validate_layout_property":134,"./validate/validate_light":135,"./validate/validate_paint_property":138,"./validate/validate_source":140}],143:[function(require,module,exports){"use strict";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop},{}],144:[function(require,module,exports){"use strict";var Evented=require("../util/evented"),ajax=require("../util/ajax"),browser=require("../util/browser"),normalizeURL=require("../util/mapbox").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function i(i,e){var a=this;t.call(this),this.base=i,this.retina=browser.devicePixelRatio>1,this.setEventedParent(e);var r=this.retina?"@2x":"";ajax.getJSON(normalizeURL(i,r,".json"),function(t,i){return t?void a.fire("error",{error:t}):(a.data=i,void(a.imgData&&a.fire("data",{dataType:"style"})))}),ajax.getImage(normalizeURL(i,r,".png"),function(t,i){if(t)return void a.fire("error",{error:t});a.imgData=browser.getImageData(i);for(var e=0;e1!==this.retina){var e=new i(this.base);e.on("data",function(){t.data=e.data,t.imgData=e.imgData,t.width=e.width,t.retina=e.retina})}},i.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var i=this.data&&this.data[t];return i&&this.imgData?i:new SpritePosition},i}(Evented);module.exports=ImageSprite},{"../util/ajax":191,"../util/browser":192,"../util/evented":200,"../util/mapbox":208}],145:[function(require,module,exports){"use strict";var styleSpec=require("../style-spec/reference/latest"),util=require("../util/util"),Evented=require("../util/evented"),validateStyle=require("./validate_style"),StyleDeclaration=require("./style_declaration"),StyleTransition=require("./style_transition"),TRANSITION_SUFFIX="-transition",Light=function(t){function i(i){t.call(this),this.properties=["anchor","color","position","intensity"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];"reload"===a?r._reloadSource(s):"clear"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire("data",{dataType:"style"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return"symbol"===r._layers[e].type}):null;this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;e=util.extend({},e),e.layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error("Unimplemented: "+i.map(function(e){return e.command}).join(", ")+".");return r.forEach(function(e){"setTransition"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!t.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(t)+".");var o=["vector","raster","geojson","video","image","canvas"],s=o.indexOf(t.type)>=0;if(!s||!this._validate(validateStyle.source,"sources."+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if("object"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,"layers."+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?"clear":"reload"}this._updateLayer(o),"symbol"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(!r)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")});var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),"symbol"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]="reload"))},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(!t)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")});t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),"symbol"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,"layers."+r.id+".filter",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(!o)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")});if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i);var a=!(r&&MapboxGLFunction.isFunctionDefinition(r)&&"$zoom"!==r.property&&void 0!==r.property);a&&s||this._updateLayer(o),this.updateClasses(e,t)}},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||"all"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]="reload"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||"none"===this.layout.visibility)},i.prototype.updatePaintTransitions=function(t,i,a,e,n){for(var o=this,r=util.extend({},this._paintDeclarations[""]),s=0;s=this.endTime)return e;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((o-this.startTime-this.delay)/this.duration);return this.interp(a,e,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var o=t.zoom,e=this.zoomHistory.lastIntegerZoom,a=o>e?2:.5,n=this.declaration.calculate({zoom:o>e?o-1:o+1},i),r=this.declaration.calculate({zoom:o},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(o-e),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition},{"../util/interpolate":204,"../util/util":212}],156:[function(require,module,exports){"use strict";module.exports=require("../style-spec/validate_style.min"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(s--,s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;f
r;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle},{}],159:[function(require,module,exports){"use strict";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=require("point-geometry");module.exports=clipLine},{"point-geometry":26}],160:[function(require,module,exports){"use strict";var createStructArrayType=require("../util/struct_array"),Point=require("point-geometry"),CollisionBoxArray=createStructArrayType({members:[{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Float32",name:"maxScale"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"},{type:"Int16",name:"bbox0"},{type:"Int16",name:"bbox1"},{type:"Int16",name:"bbox2"},{type:"Int16",name:"bbox3"},{type:"Float32",name:"placementScale"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,"anchorPoint",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray},{"../util/struct_array":210,"point-geometry":26}],161:[function(require,module,exports){"use strict";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(m--,m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],C=e[m+1],B=C.sub(p)._unit()._mult(g)._add(p)._round(),M=Math.max(Math.abs(c-h)-d/2,0),y=s/2/M;t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature},{}],162:[function(require,module,exports){"use strict";var Point=require("point-geometry"),EXTENT=require("../data/extent"),Grid=require("grid-index"),intersectionTests=require("../util/intersection_tests"),CollisionTile=function(t,e,i){if("object"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);S=r.tempCollisionBox,S.anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-(1/0),c=-(1/0),g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+c<=s){var M=new Anchor(k,q,y,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=A}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,h)),x}var interpolate=require("../util/interpolate"),Anchor=require("../symbol/anchor"),checkMaxAngle=require("./check_max_angle");module.exports=getAnchors},{"../symbol/anchor":157,"../util/interpolate":204,"./check_max_angle":158}],164:[function(require,module,exports){"use strict";var ShelfPack=require("@mapbox/shelf-pack"),util=require("../util/util"),SIZE_GROWTH_RATE=4,DEFAULT_SIZE=128,MAX_SIZE=2048,GlyphAtlas=function(){this.width=DEFAULT_SIZE,this.height=DEFAULT_SIZE,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+"#"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,n=1,l=a+2*n,T=E+2*n;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce("glyph bitmap overflow"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=MAX_SIZE||e>=MAX_SIZE)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=SIZE_GROWTH_RATE,this.height*=SIZE_GROWTH_RATE,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a("glyphs > 65535 not supported");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var i=256*e+"-"+(256*e+255),r=glyphUrl(t,i,this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},i.prototype.addIcons=function(t,i){for(var e=this,r=0;r1||(b?(clearTimeout(b),b=null,h("dblclick",t)):b=setTimeout(l,300))}function i(e){f("touchmove",e)}function c(e){f("touchend",e)}function d(e){f("touchcancel",e)}function l(){b=null}function s(e){var t=DOM.mousePos(g,e);t.equals(L)&&h("click",e)}function v(e){h("dblclick",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h("contextmenu",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener("mouseout",n,!1),g.addEventListener("mousedown",o,!1),g.addEventListener("mouseup",r,!1),g.addEventListener("mousemove",a,!1),g.addEventListener("touchstart",u,!1),g.addEventListener("touchend",c,!1),g.addEventListener("touchmove",i,!1),g.addEventListener("touchcancel",d,!1),g.addEventListener("click",s,!1),g.addEventListener("dblclick",v,!1),g.addEventListener("contextmenu",m,!1)}},{"../util/dom":199,"./handler/box_zoom":179,"./handler/dblclick_zoom":180,"./handler/drag_pan":181,"./handler/drag_rotate":182,"./handler/keyboard":183,"./handler/scroll_zoom":184,"./handler/touch_zoom_rotate":185,"point-geometry":26}],172:[function(require,module,exports){"use strict";var util=require("../util/util"),interpolate=require("../util/interpolate"),browser=require("../util/browser"),LngLat=require("../geo/lng_lat"),LngLatBounds=require("../geo/lng_lat_bounds"),Point=require("point-geometry"),Evented=require("../util/evented"),Camera=function(t){function i(i,e){t.call(this),this.moving=!1,this.transform=i,this._bearingSnap=e.bearingSnap}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i),this},i.prototype.panBy=function(t,i,e){return this.panTo(this.transform.center,util.extend({offset:Point.convert(t).mult(-1)},i),e),this},i.prototype.panTo=function(t,i,e){return this.easeTo(util.extend({center:t},i),e)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,i){return this.jumpTo({zoom:t},i),this},i.prototype.zoomTo=function(t,i,e){return this.easeTo(util.extend({zoom:t},i),e)},i.prototype.zoomIn=function(t,i){return this.zoomTo(this.getZoom()+1,t,i),this},i.prototype.zoomOut=function(t,i){return this.zoomTo(this.getZoom()-1,t,i),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,i){return this.jumpTo({bearing:t},i),this},i.prototype.rotateTo=function(t,i,e){return this.easeTo(util.extend({bearing:t},i),e)},i.prototype.resetNorth=function(t,i){return this.rotateTo(0,util.extend({duration:1e3},t),i),this},i.prototype.snapToNorth=function(t,i){return Math.abs(this.getBearing())i?1:0}),["bottom","left","right","top"]))return void util.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'");t=LngLatBounds.convert(t);var n=[i.padding.left-i.padding.right,i.padding.top-i.padding.bottom],r=Math.min(i.padding.right,i.padding.left),s=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var a=Point.convert(i.offset),h=this.transform,u=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),c=p.sub(u),g=(h.width-2*r-2*Math.abs(a.x))/c.x,m=(h.height-2*s-2*Math.abs(a.y))/c.y;return m<0||g<0?void util.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset."):(i.center=h.unproject(u.add(p).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,m)),i.maxZoom),i.bearing=0,i.linear?this.easeTo(i,e):this.flyTo(i,e))},i.prototype.jumpTo=function(t,i){this.stop();var e=this.transform,o=!1,n=!1,r=!1;return"zoom"in t&&e.zoom!==+t.zoom&&(o=!0,e.zoom=+t.zoom),"center"in t&&(e.center=LngLat.convert(t.center)),"bearing"in t&&e.bearing!==+t.bearing&&(n=!0,e.bearing=+t.bearing),"pitch"in t&&e.pitch!==+t.pitch&&(r=!0,e.pitch=+t.pitch),this.fire("movestart",i).fire("move",i),o&&this.fire("zoomstart",i).fire("zoom",i).fire("zoomend",i),n&&this.fire("rotate",i),r&&this.fire("pitch",i),this.fire("moveend",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),t=util.extend({offset:[0,0],duration:500,easing:util.ease},t);var o,n,r=this.transform,s=Point.convert(t.offset),a=this.getZoom(),h=this.getBearing(),u=this.getPitch(),p="zoom"in t?+t.zoom:a,c="bearing"in t?this._normalizeBearing(t.bearing,h):h,g="pitch"in t?+t.pitch:u;"center"in t?(o=LngLat.convert(t.center),n=r.centerPoint.add(s)):"around"in t?(o=LngLat.convert(t.around),n=r.locationPoint(o)):(n=r.centerPoint.add(s),o=r.pointLocation(n));var m=r.locationPoint(o);return t.animate===!1&&(t.duration=0),this.zooming=p!==a,this.rotating=h!==c,this.pitching=g!==u,t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration)),t.noMoveStart||(this.moving=!0,this.fire("movestart",i)),this.zooming&&this.fire("zoomstart",i),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(r.zoom=interpolate(a,p,t)),this.rotating&&(r.bearing=interpolate(h,c,t)),this.pitching&&(r.pitch=interpolate(u,g,t)),r.setLocationAtPoint(o,m.add(n.sub(m)._mult(t))),this.fire("move",i),this.zooming&&this.fire("zoom",i),this.rotating&&this.fire("rotate",i),this.pitching&&this.fire("pitch",i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(e._easeToEnd.bind(e,i),t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._easeToEnd=function(t){var i=this.zooming;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire("zoomend",t),this.fire("moveend",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(y*y-z*z+(t?-1:1)*E*E*_*_)/(2*(t?y:z)*E*_);return Math.log(Math.sqrt(i*i+1)-i)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,a=Point.convert(t.offset),h=this.getZoom(),u=this.getBearing(),p=this.getPitch(),c="center"in t?LngLat.convert(t.center):this.getCenter(),g="zoom"in t?+t.zoom:h,m="bearing"in t?this._normalizeBearing(t.bearing,u):u,f="pitch"in t?+t.pitch:p;Math.abs(s.center.lng)+Math.abs(c.lng)>180&&(s.center.lng>0&&c.lng<0?c.lng+=360:s.center.lng<0&&c.lng>0&&(c.lng-=360));var d=s.zoomScale(g-h),l=s.point,v="center"in t?s.project(c).sub(a.div(d)):l,b=t.curve,z=Math.max(s.width,s.height),y=z/d,_=v.sub(l).mag();if("minZoom"in t){var M=util.clamp(Math.min(t.minZoom,h,g),s.minZoom,s.maxZoom),T=z/s.zoomScale(M-h);b=Math.sqrt(T/_*2)}var E=b*b,x=e(0),L=function(t){return n(x)/n(x+b*t)},Z=function(t){return z*((n(x)*r(x+b*t)-o(x))/E)/_},P=(e(1)-x)/b;if(Math.abs(_)<1e-6){if(Math.abs(z-y)<1e-6)return this.easeTo(t,i);var j=y=0)return!1;return!0}),this._container.innerHTML=i.join(" | "),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?"add":"remove"]("compact")},module.exports=AttributionControl},{"../../util/dom":199,"../../util/util":212}],174:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in window.document&&(this._fullscreenchange="MSFullscreenChange")};FullscreenControl.prototype.onAdd=function(e){var n="mapboxgl-ctrl",t=this._container=DOM.create("div",n+" mapboxgl-ctrl-group"),l=this._fullscreenButton=DOM.create("button",n+"-icon "+n+"-fullscreen",this._container);return l.setAttribute("aria-label","Toggle fullscreen"),l.type="button",this._fullscreenButton.addEventListener("click",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),t},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(e){if(e.target===this._mapContainer){this._fullscreen=!this._fullscreen;var n="mapboxgl-ctrl";this._fullscreenButton.classList.toggle(n+"-shrink"),this._fullscreenButton.classList.toggle(n+"-fullscreen")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&window.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],175:[function(require,module,exports){"use strict";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:"geolocation"}).then(function(o){supportsGeolocation="denied"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var Evented=require("../../util/evented"),DOM=require("../../util/dom"),window=require("../../util/window"),util=require("../../util/util"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},className="mapboxgl-ctrl",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll(["_onSuccess","_onError","_finish","_setupUI"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div",className+" "+className+"-group"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire("geolocate",t),this._finish()},o.prototype._onError=function(t){this.fire("error",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){t!==!1&&(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create("button",className+"-icon "+className+"-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.watchPosition&&this._geolocateButton.setAttribute("aria-pressed",!1),this._geolocateButton.addEventListener("click",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove("watching"),this._geolocateButton.setAttribute("aria-pressed",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add("watching"),this._geolocateButton.setAttribute("aria-pressed",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl},{"../../util/dom":199,"../../util/evented":200,"../../util/util":212,"../../util/window":194}],176:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),LogoControl=function(){util.bindAll(["_updateLogo"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create("div","mapboxgl-ctrl"),this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("sourcedata",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return"bottom-left"},LogoControl.prototype._updateLogo=function(o){if(o&&"metadata"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create("a","mapboxgl-ctrl-logo");t.target="_blank",t.href="https://www.mapbox.com/",t.setAttribute("aria-label","Mapbox logo"),this._container.appendChild(t),this._map.off("data",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){var e=o[t].getSource();if(e.mapbox_logo)return!0}return!1}},module.exports=LogoControl},{"../../util/dom":199,"../../util/util":212}],177:[function(require,module,exports){"use strict";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=require("../../util/dom"),window=require("../../util/window"),util=require("../../util/util"),className="mapboxgl-ctrl",NavigationControl=function(){util.bindAll(["_rotateCompassArrow"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t="rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div",className+" "+className+"-group",t.getContainer()),this._container.addEventListener("contextmenu",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+"-icon "+className+"-zoom-in","Zoom In",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+"-icon "+className+"-zoom-out","Zoom Out",t.zoomOut.bind(t)),this._compass=this._createButton(className+"-icon "+className+"-compass","Reset North",t.resetNorth.bind(t)),this._compassArrow=DOM.create("span",className+"-compass-arrow",this._compass), -this._compass.addEventListener("mousedown",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("rotate",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener("mousemove",this._onCompassMove),window.document.addEventListener("mouseup",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener("mousemove",this._onCompassMove),window.document.removeEventListener("mouseup",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create("button",t,this._container);return n.type="button",n.setAttribute("aria-label",o),n.addEventListener("click",function(){e()}),n},module.exports=NavigationControl},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],178:[function(require,module,exports){"use strict";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&"imperial"===o.unit){var r=3.2808*a;if(r>5280){var l=r/5280;setScale(e,n,l,"mi")}else setScale(e,n,r,"ft")}else setScale(e,n,a,"m")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;"m"===n&&i>=1e3&&(i/=1e3,n="km"),t.style.width=e*a+"px",t.innerHTML=i+n}function getDistance(t,e){var o=6371e3,n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n),l=o*Math.acos(Math.min(r,1));return l}function getRoundNum(t){var e=Math.pow(10,(""+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=require("../../util/dom"),util=require("../../util/util"),ScaleControl=function(t){this.options=t,util.bindAll(["_onMove"],this)};ScaleControl.prototype.getDefaultPosition=function(){return"bottom-left"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("move",this._onMove),this._map=void 0},module.exports=ScaleControl},{"../../util/dom":199,"../../util/util":212}],179:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),LngLatBounds=require("../../geo/lng_lat_bounds"),util=require("../../util/util"),window=require("../../util/window"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll(["_onMouseDown","_onMouseMove","_onMouseUp","_onKeyDown"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onMouseDown,!1),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener("mousemove",this._onMouseMove,!1),window.document.addEventListener("keydown",this._onKeyDown,!1),window.document.addEventListener("mouseup",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),r=Math.max(e.y,t.y);DOM.setTransform(this._box,"translate("+n+"px,"+s+"px)"),this._box.style.width=i-n+"px",this._box.style.height=r-s+"px"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent("boxzoomcancel",o):this._map.fitBounds(n,{linear:!0}).fire("boxzoomend",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener("mousemove",this._onMouseMove,!1),window.document.removeEventListener("keydown",this._onKeyDown,!1),window.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler},{"../../geo/lng_lat_bounds":63,"../../util/dom":199,"../../util/util":212,"../../util/window":194}],180:[function(require,module,exports){"use strict";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on("dblclick",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off("dblclick",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler},{}],181:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.3,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=1400,inertiaDeceleration=2500,DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onDown","_onMove","_onUp","_onTouchEnd","_onMouseUp"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._el.addEventListener("touchstart",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._el.removeEventListener("touchstart",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener("touchmove",this._onMove),window.document.addEventListener("touchend",this._onTouchEnd)):(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onMouseUp)),window.addEventListener("blur",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("dragstart",t),this._fireEvent("movestart",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent("drag",t),this._fireEvent("move",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent("dragend",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent("moveend",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(inertiaLinearity/s),d=u.mag();d>inertiaMaxSpeed&&(d=inertiaMaxSpeed,u._unit()._mult(d));var h=d/(inertiaDeceleration*inertiaLinearity),v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onMouseUp),window.removeEventListener("blur",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var n=1,i=0;return"mousemove"===t.type?t.buttons&0===n:t.button&&t.button!==i},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),n=160;t.length>0&&e-t[0][0]>n;)t.shift()},module.exports=DragPanHandler},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],182:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,this._pitchWithRotate=e.pitchWithRotate!==!1,util.bindAll(["_onDown","_onMove","_onUp"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onUp),window.addEventListener("blur",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("rotatestart",t),this._fireEvent("movestart",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=(i.y-n.y)*-.5,o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,v=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,v[1])]),e.transform.bearing=o,this._pitchWithRotate&&(e.transform.pitch=s),this._fireEvent("rotate",t),this._fireEvent("move",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onUp),window.removeEventListener("blur",this._onUp),this.isActive())){this._active=!1,this._fireEvent("rotateend",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)inertiaMaxSpeed&&(p=inertiaMaxSpeed);var l=p/(inertiaDeceleration*inertiaLinearity),g=u*p*(l/2);v+=g,Math.abs(i._normalizeBearing(v,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return"undefined"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf("MAC")>=0&&(r=0),"mousemove"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),i=160;t.length>0&&e-t[0][0]>i;)t.shift()},module.exports=DragRotateHandler},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],183:[function(require,module,exports){"use strict";function easeOut(e){return e*(2-e)}var panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,n=0,a=0,i=0,r=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?a=1:(e.preventDefault(),r=-1);break;case 40:e.shiftKey?a=-1:(r=1,e.preventDefault())}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+n*bearingStep,pitch:s.getPitch()+a*pitchStep,offset:[-i*panStep,-r*panStep],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler},{}],184:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),browser=require("../../util/browser"),window=require("../../util/window"),ua=window.navigator.userAgent.toLowerCase(),firefox=ua.indexOf("firefox")!==-1,safari=ua.indexOf("safari")!==-1&&ua.indexOf("chrom")===-1,ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll(["_onWheel","_onTimeout"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener("wheel",this._onWheel,!1),this._el.addEventListener("mousewheel",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&"center"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("wheel",this._onWheel),this._el.removeEventListener("mousewheel",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;"wheel"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):"mousewheel"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625===0?this._type="wheel":0!==t&&Math.abs(t)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type="wheel",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:"wheel"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler},{"../../util/browser":192,"../../util/dom":199,"../../util/util":212,"../../util/window":194}],185:[function(require,module,exports){"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=4,TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onStart","_onMove","_onEnd"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener("touchstart",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("touchstart",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener("touchmove",this._onMove,!1),window.document.addEventListener("touchend",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};"rotate"===this._gestureIntent&&(h.bearing=this._startBearing+r),"zoom"!==this._gestureIntent&&"rotate"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>significantScaleThreshold,d=Math.abs(r)>significantRotateThreshold;d?this._gestureIntent="rotate":u&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)return void o.snapToNorth({},{originalEvent:t});var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0===h||a===r)return void o.snapToNorth({},{originalEvent:t});var d=s*inertiaLinearity/h;Math.abs(d)>inertiaMaxSpeed&&(d=d>0?inertiaMaxSpeed:-inertiaMaxSpeed);var l=1e3*Math.abs(d/(inertiaDeceleration*inertiaLinearity)),c=a+d*l/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:l,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),o=160;t.length>2&&e-t[0][0]>o;)t.shift()},module.exports=TouchZoomRotateHandler},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],186:[function(require,module,exports){"use strict";var util=require("../util/util"),window=require("../util/window"),Hash=function(){util.bindAll(["_onHashChange","_updateHash"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace("#","").split("/");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n="#"+Math.round(100*e)/100+"/"+t.lat.toFixed(i)+"/"+t.lng.toFixed(i);(a||h)&&(n+="/"+Math.round(10*a)/10),h&&(n+="/"+Math.round(h)),window.history.replaceState("","",n)},module.exports=Hash},{"../util/util":212,"../util/window":194}],187:[function(require,module,exports){"use strict";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=require("../util/util"),browser=require("../util/browser"),window=require("../util/window"),DOM=require("../util/dom"),Style=require("../style/style"),AnimationLoop=require("../style/animation_loop"),Painter=require("../render/painter"),Transform=require("../geo/transform"),Hash=require("./hash"),bindHandlers=require("./bind_handlers"),Camera=require("./camera"),LngLat=require("../geo/lng_lat"),LngLatBounds=require("../geo/lng_lat_bounds"),Point=require("point-geometry"),AttributionControl=require("./control/attribution_control"),LogoControl=require("./control/logo_control"),isSupported=require("mapbox-gl-supported"),defaultMinZoom=0,defaultMaxZoom=22,defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(e=util.extend({},defaultOptions,e),null!=e.minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,"string"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored","_update","_render","_onData","_onDataLoading"],this),this._setupContainer(),this._setupPainter(),this.on("move",this._update.bind(this,!1)),this.on("zoom",this._update.bind(this,!0)),this.on("moveend",function(){o.animationLoop.set(300),o._rerender()}),"undefined"!=typeof window&&(window.addEventListener("online",this._onWindowOnline,!1),window.addEventListener("resize",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on("style.load",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on("data",this._onData),this.on("dataloading",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e="top-right");var o=t.onAdd(this),i=this._controlPositions[e];return e.indexOf("bottom")!==-1?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes.indexOf(t)>=0||""===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");var o=this._classes.indexOf(t);return o<0||""===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire("movestart").fire("move").fire("resize").fire("moveend")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if(t=null===t||void 0===t?defaultMinZoom:t,t>=defaultMinZoom&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.queryRenderedFeatures=function(){function t(t){return t instanceof Point||Array.isArray(t)}var e,o={};return 2===arguments.length?(e=arguments[0],o=arguments[1]):1===arguments.length&&t(arguments[0])?e=arguments[0]:1===arguments.length&&(o=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(e),o,this.transform.zoom,this.transform.angle)},e.prototype._makeQueryGeometry=function(t){var e=this;void 0===t&&(t=[Point.convert([0,0]),Point.convert([this.transform.width,this.transform.height])]);var o,i=t instanceof Point||"number"==typeof t[0];if(i){var r=Point.convert(t);o=[r]}else{var s=[Point.convert(t[0]),Point.convert(t[1])];o=[s[0],new Point(s[1].x,s[0].y),s[1],new Point(s[0].x,s[1].y),s[0]]}return o=o.map(function(t){return e.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){var o=(!e||e.diff!==!1)&&this.style&&t&&!(t instanceof Style)&&"string"!=typeof t;if(o)try{return this.style.setState(t)&&this._update(!0),this}catch(t){util.warnOnce("Unable to perform style diff: "+(t.message||t.error||t)+". Rebuilding the style from scratch.")}return this.style&&(this.style.setEventedParent(null),this.style._remove(),this.off("rotate",this.style._redoPlacement),this.off("pitch",this.style._redoPlacement)),t?(t instanceof Style?this.style=t:this.style=new Style(t,this),this.style.setEventedParent(this,{style:this.style}),this.on("rotate",this.style._redoPlacement),this.on("pitch",this.style._redoPlacement),this):(this.style=null,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire("error",{error:new Error("There is no source with ID '"+t+"'")}):e.loaded()},e.prototype.addSourceType=function(t,e,o){return this.style.addSourceType(t,e,o)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,o){this.style.spriteAtlas.addImage(t,e,o)},e.prototype.removeImage=function(t){this.style.spriteAtlas.removeImage(t)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,o){return this.style.setLayerZoomRange(t,e,o),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,o,i){return this.style.setPaintProperty(t,e,o,i),this._update(!0),this},e.prototype.getPaintProperty=function(t,e,o){return this.style.getPaintProperty(t,e,o)},e.prototype.setLayoutProperty=function(t,e,o){return this.style.setLayoutProperty(t,e,o),this._update(!0),this}, -e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add("mapboxgl-map");var e=this._canvasContainer=DOM.create("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=DOM.create("canvas","mapboxgl-canvas",e),this._canvas.style.position="absolute",this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",0),this._canvas.setAttribute("aria-label","Map");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var i=this._controlContainer=DOM.create("div","mapboxgl-control-container",t),r=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(function(t){r[t]=DOM.create("div","mapboxgl-ctrl-"+t,i)})},e.prototype._resizeCanvas=function(t,e){var o=window.devicePixelRatio||1;this._canvas.width=o*t,this._canvas.height=o*e,this._canvas.style.width=t+"px",this._canvas.style.height=e+"px"},e.prototype._setupPainter=function(){var t=util.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},isSupported.webGLContextAttributes),e=this._canvas.getContext("webgl",t)||this._canvas.getContext("experimental-webgl",t);return e?void(this.painter=new Painter(e,this.transform)):void this.fire("error",{error:new Error("Failed to initialize WebGL")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&browser.cancelFrame(this._frameId),this.fire("webglcontextlost",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire("webglcontextrestored",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},e.prototype._render=function(){return this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming}),this.fire("render"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire("load")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),browser.cancelFrame(this._frameId),this.setStyle(null),"undefined"!=typeof window&&(window.removeEventListener("resize",this._onWindowResize,!1),window.removeEventListener("online",this._onWindowOnline,!1));var t=this.painter.gl.getExtension("WEBGL_lose_context");t&&t.loseContext(),removeNode(this._canvasContainer),removeNode(this._controlContainer),this._container.classList.remove("mapboxgl-map"),this.fire("remove")},e.prototype._rerender=function(){this.style&&!this._frameId&&(this._frameId=browser.frame(this._render))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},o.showTileBoundaries.get=function(){return!!this._showTileBoundaries},o.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},o.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},o.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},o.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},o.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},o.repaint.get=function(){return!!this._repaint},o.repaint.set=function(t){this._repaint=t,this._update()},o.vertices.get=function(){return!!this._vertices},o.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update("style"===t.dataType),this.fire(t.dataType+"data",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+"dataloading",t)},Object.defineProperties(e.prototype,o),e}(Camera);module.exports=Map},{"../geo/lng_lat":62,"../geo/lng_lat_bounds":63,"../geo/transform":64,"../render/painter":77,"../style/animation_loop":143,"../style/style":146,"../util/browser":192,"../util/dom":199,"../util/util":212,"../util/window":194,"./bind_handlers":171,"./camera":172,"./control/attribution_control":173,"./control/logo_control":176,"./hash":186,"mapbox-gl-supported":22,"point-geometry":26}],188:[function(require,module,exports){"use strict";var DOM=require("../util/dom"),LngLat=require("../geo/lng_lat"),Point=require("point-geometry"),Marker=function(t,e){this._offset=Point.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this),this._onMapClick=this._onMapClick.bind(this),t||(t=DOM.create("div")),t.classList.add("mapboxgl-marker"),this._element=t,this._popup=null};Marker.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this._update(),this._map.on("click",this._onMapClick),this},Marker.prototype.remove=function(){return this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map=null),DOM.remove(this._element),this._popup&&this._popup.remove(),this},Marker.prototype.getLngLat=function(){return this._lngLat},Marker.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},Marker.prototype.getElement=function(){return this._element},Marker.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(this._popup=t,this._popup.setLngLat(this._lngLat)),this},Marker.prototype._onMapClick=function(t){var e=t.originalEvent.target,p=this._element;this._popup&&(e===p||p.contains(e))&&this.togglePopup()},Marker.prototype.getPopup=function(){return this._popup},Marker.prototype.togglePopup=function(){var t=this._popup;t&&(t.isOpen()?t.remove():t.addTo(this._map))},Marker.prototype._update=function(t){if(this._map){var e=this._map.project(this._lngLat)._add(this._offset);t&&"moveend"!==t.type||(e=e.round()),DOM.setTransform(this._element,"translate("+e.x+"px, "+e.y+"px)")}},module.exports=Marker},{"../geo/lng_lat":62,"../util/dom":199,"point-geometry":26}],189:[function(require,module,exports){"use strict";function normalizeOffset(t){if(t){if("number"==typeof t){var o=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{top:new Point(0,t),"top-left":new Point(o,o),"top-right":new Point(-o,o),bottom:new Point(0,-t),"bottom-left":new Point(o,-o),"bottom-right":new Point(-o,-o),left:new Point(t,0),right:new Point(-t,0)}}if(isPointLike(t)){var e=Point.convert(t);return{top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{top:Point.convert(t.top||[0,0]),"top-left":Point.convert(t["top-left"]||[0,0]),"top-right":Point.convert(t["top-right"]||[0,0]),bottom:Point.convert(t.bottom||[0,0]),"bottom-left":Point.convert(t["bottom-left"]||[0,0]),"bottom-right":Point.convert(t["bottom-right"]||[0,0]),left:Point.convert(t.left||[0,0]),right:Point.convert(t.right||[0,0])}}return normalizeOffset(new Point(0,0))}function isPointLike(t){return t instanceof Point||Array.isArray(t)}var util=require("../util/util"),Evented=require("../util/evented"),DOM=require("../util/dom"),LngLat=require("../geo/lng_lat"),Point=require("point-geometry"),window=require("../util/window"),defaultOptions={closeButton:!0,closeOnClick:!0},Popup=function(t){function o(o){t.call(this),this.options=util.extend(Object.create(defaultOptions),o),util.bindAll(["_update","_onClickClose"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.addTo=function(t){return this._map=t,this._map.on("move",this._update),this.options.closeOnClick&&this._map.on("click",this._onClickClose),this._update(),this},o.prototype.isOpen=function(){return!!this._map},o.prototype.remove=function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("click",this._onClickClose),delete this._map),this.fire("close"),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._update(),this},o.prototype.setText=function(t){return this.setDOMContent(window.document.createTextNode(t))},o.prototype.setHTML=function(t){var o,e=window.document.createDocumentFragment(),n=window.document.createElement("body");for(n.innerHTML=t;;){if(o=n.firstChild,!o)break;e.appendChild(o)}return this.setDOMContent(e)},o.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},o.prototype._createContent=function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=DOM.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=DOM.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClickClose))},o.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=DOM.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=DOM.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content));var t=this.options.anchor,o=normalizeOffset(this.options.offset),e=this._map.project(this._lngLat).round();if(!t){var n=this._container.offsetWidth,i=this._container.offsetHeight;t=e.y+o.bottom.ythis._map.transform.height-i?["bottom"]:[],e.xthis._map.transform.width-n/2&&t.push("right"),t=0===t.length?"bottom":t.join("-")}var r=e.add(o[t]),s={top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"},p=this._container.classList;for(var a in s)p.remove("mapboxgl-popup-anchor-"+a);p.add("mapboxgl-popup-anchor-"+t),DOM.setTransform(this._container,s[t]+" translate("+r.x+"px,"+r.y+"px)")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup},{"../geo/lng_lat":62,"../util/dom":199,"../util/evented":200,"../util/util":212,"../util/window":194,"point-geometry":26}],190:[function(require,module,exports){"use strict";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener("message",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+":"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:"",id:String(s),error:t?String(t):null,data:e},r)};if(""===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if("undefined"!=typeof r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if("undefined"!=typeof r.id&&this.parent.getWorkerSource){var p=r.type.split("."),d=this.parent.getWorkerSource(r.sourceMapId,p[0]);d[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)},module.exports=Actor},{}],191:[function(require,module,exports){"use strict";function sameOrigin(e){var t=window.document.createElement("a");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=require("./window");exports.getJSON=function(e,t){var n=new window.XMLHttpRequest;return n.open("GET",e,!0),n.setRequestHeader("Accept","application/json"),n.onerror=function(e){t(e)},n.onload=function(){if(n.status>=200&&n.status<300&&n.response){var e;try{e=JSON.parse(n.response)}catch(e){return t(e)}t(null,e)}else t(new Error(n.statusText))},n.send(),n},exports.getArrayBuffer=function(e,t){var n=new window.XMLHttpRequest;return n.open("GET",e,!0),n.responseType="arraybuffer",n.onerror=function(e){t(e)},n.onload=function(){return 0===n.response.byteLength&&200===n.status?t(new Error("http status 200 returned without content.")):void(n.status>=200&&n.status<300&&n.response?t(null,{data:n.response,cacheControl:n.getResponseHeader("Cache-Control"),expires:n.getResponseHeader("Expires")}):t(new Error(n.statusText)))},n.send(),n};var transparentPngUrl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,n){if(e)return t(e);var r=new window.Image,o=window.URL||window.webkitURL;r.onload=function(){t(null,r),o.revokeObjectURL(r.src)};var a=new window.Blob([new Uint8Array(n.data)],{type:"image/png"});r.cacheControl=n.cacheControl,r.expires=n.expires,r.src=n.data.byteLength?o.createObjectURL(a):transparentPngUrl})},exports.getVideo=function(e,t){var n=window.document.createElement("video");n.onloadstart=function(){t(null,n)};for(var r=0;r=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement("canvas"),t=n.getContext("2d");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height).data},exports.supported=require("mapbox-gl-supported"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,"devicePixelRatio",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement("img");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="},{"./window":194,"mapbox-gl-supported":22}],193:[function(require,module,exports){"use strict";var WebWorkify=require("webworkify"),window=require("../window"),workerURL=window.URL.createObjectURL(new WebWorkify(require("../../source/worker"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)}},{"../../source/worker":98,"../window":194,webworkify:41}],194:[function(require,module,exports){"use strict";module.exports=self},{}],195:[function(require,module,exports){"use strict";function compareAreas(e,r){return r.area-e.area}var quickselect=require("quickselect"),calculateSignedArea=require("./util").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented},{"./util":212}],201:[function(require,module,exports){"use strict";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log("found best %d after %d probes",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log("num probes: "+c),console.log("best distance: "+m.d)),m.p}},{"./intersection_tests":205,"point-geometry":26,tinyqueue:30}],202:[function(require,module,exports){"use strict";var WorkerPool=require("./worker_pool"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool}},{"./worker_pool":215}],203:[function(require,module,exports){"use strict";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs},{}],204:[function(require,module,exports){"use strict";function interpolate(t,e,n){return t*(1-n)+e*n}module.exports=interpolate,interpolate.number=interpolate,interpolate.vec2=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n)]},interpolate.color=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n),interpolate(t[2],e[2],n),interpolate(t[3],e[3],n)]},interpolate.array=function(t,e,n){return t.map(function(t,r){return interpolate(t,e[r],n)})}},{}],205:[function(require,module,exports){"use strict";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i)}return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=require("./util").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared}},{"./util":212}],206:[function(require,module,exports){"use strict";var unicodeBlockLookup={"Latin-1 Supplement":function(n){return n>=128&&n<=255},"Hangul Jamo":function(n){return n>=4352&&n<=4607},"Unified Canadian Aboriginal Syllabics":function(n){return n>=5120&&n<=5759},"Unified Canadian Aboriginal Syllabics Extended":function(n){return n>=6320&&n<=6399},"General Punctuation":function(n){return n>=8192&&n<=8303},"Letterlike Symbols":function(n){return n>=8448&&n<=8527},"Number Forms":function(n){return n>=8528&&n<=8591},"Miscellaneous Technical":function(n){return n>=8960&&n<=9215},"Control Pictures":function(n){return n>=9216&&n<=9279},"Optical Character Recognition":function(n){return n>=9280&&n<=9311},"Enclosed Alphanumerics":function(n){return n>=9312&&n<=9471},"Geometric Shapes":function(n){return n>=9632&&n<=9727},"Miscellaneous Symbols":function(n){return n>=9728&&n<=9983},"Miscellaneous Symbols and Arrows":function(n){return n>=11008&&n<=11263},"CJK Radicals Supplement":function(n){return n>=11904&&n<=12031},"Kangxi Radicals":function(n){return n>=12032&&n<=12255},"Ideographic Description Characters":function(n){return n>=12272&&n<=12287},"CJK Symbols and Punctuation":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},"Hangul Compatibility Jamo":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},"Bopomofo Extended":function(n){return n>=12704&&n<=12735},"CJK Strokes":function(n){return n>=12736&&n<=12783},"Katakana Phonetic Extensions":function(n){return n>=12784&&n<=12799},"Enclosed CJK Letters and Months":function(n){return n>=12800&&n<=13055},"CJK Compatibility":function(n){return n>=13056&&n<=13311},"CJK Unified Ideographs Extension A":function(n){return n>=13312&&n<=19903},"Yijing Hexagram Symbols":function(n){return n>=19904&&n<=19967},"CJK Unified Ideographs":function(n){return n>=19968&&n<=40959},"Yi Syllables":function(n){return n>=40960&&n<=42127},"Yi Radicals":function(n){return n>=42128&&n<=42191},"Hangul Jamo Extended-A":function(n){return n>=43360&&n<=43391},"Hangul Syllables":function(n){return n>=44032&&n<=55215},"Hangul Jamo Extended-B":function(n){return n>=55216&&n<=55295},"Private Use Area":function(n){return n>=57344&&n<=63743},"CJK Compatibility Ideographs":function(n){return n>=63744&&n<=64255},"Vertical Forms":function(n){return n>=65040&&n<=65055},"CJK Compatibility Forms":function(n){return n>=65072&&n<=65103},"Small Form Variants":function(n){return n>=65104&&n<=65135},"Halfwidth and Fullwidth Forms":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup},{}],207:[function(require,module,exports){"use strict";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){if(!this.has(t))return null;var e=this.data[t];return e},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){ -var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache},{}],208:[function(require,module,exports){"use strict";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(e=e||config.ACCESS_TOKEN,!e)throw new Error("An API access token is required to use Mapbox GL. "+help);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+help);return r.params.push("access_token="+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf("mapbox:")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?"@2x":"",s=browser.supportsWebp?".webp":"$1";return o.path=o.path.replace(imageExtensionRe,""+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\w+):\/\/([^\/?]+)(\/[^?]+)?\??(.+)?/},{"./browser":192,"./config":196}],209:[function(require,module,exports){"use strict";var isChar=require("./is_char_in_unicode_block");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||(!!isChar["CJK Compatibility Ideographs"](a)||(!!isChar["CJK Compatibility"](a)||(!!isChar["CJK Radicals Supplement"](a)||(!!isChar["CJK Strokes"](a)||(!(!isChar["CJK Symbols and Punctuation"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||(!!isChar["CJK Unified Ideographs Extension A"](a)||(!!isChar["CJK Unified Ideographs"](a)||(!!isChar["Enclosed CJK Letters and Months"](a)||(!!isChar["Hangul Compatibility Jamo"](a)||(!!isChar["Hangul Jamo Extended-A"](a)||(!!isChar["Hangul Jamo Extended-B"](a)||(!!isChar["Hangul Jamo"](a)||(!!isChar["Hangul Syllables"](a)||(!!isChar.Hiragana(a)||(!!isChar["Ideographic Description Characters"](a)||(!!isChar.Kanbun(a)||(!!isChar["Kangxi Radicals"](a)||(!!isChar["Katakana Phonetic Extensions"](a)||(!(!isChar.Katakana(a)||12540===a)||(!(!isChar["Halfwidth and Fullwidth Forms"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||(!(!isChar["Small Form Variants"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||(!!isChar["Unified Canadian Aboriginal Syllabics"](a)||(!!isChar["Unified Canadian Aboriginal Syllabics Extended"](a)||(!!isChar["Vertical Forms"](a)||(!!isChar["Yijing Hexagram Symbols"](a)||(!!isChar["Yi Syllables"](a)||!!isChar["Yi Radicals"](a))))))))))))))))))))))))))))))},exports.charHasNeutralVerticalOrientation=function(a){return!(!isChar["Latin-1 Supplement"](a)||167!==a&&169!==a&&174!==a&&177!==a&&188!==a&&189!==a&&190!==a&&215!==a&&247!==a)||(!(!isChar["General Punctuation"](a)||8214!==a&&8224!==a&&8225!==a&&8240!==a&&8241!==a&&8251!==a&&8252!==a&&8258!==a&&8263!==a&&8264!==a&&8265!==a&&8273!==a)||(!!isChar["Letterlike Symbols"](a)||(!!isChar["Number Forms"](a)||(!(!isChar["Miscellaneous Technical"](a)||!(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215))||(!(!isChar["Control Pictures"](a)||9251===a)||(!!isChar["Optical Character Recognition"](a)||(!!isChar["Enclosed Alphanumerics"](a)||(!!isChar["Geometric Shapes"](a)||(!(!isChar["Miscellaneous Symbols"](a)||a>=9754&&a<=9759)||(!(!isChar["Miscellaneous Symbols and Arrows"](a)||!(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243))||(!!isChar["CJK Symbols and Punctuation"](a)||(!!isChar.Katakana(a)||(!!isChar["Private Use Area"](a)||(!!isChar["CJK Compatibility Forms"](a)||(!!isChar["Small Form Variants"](a)||(!!isChar["Halfwidth and Fullwidth Forms"](a)||(8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)))))))))))))))))},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))}},{"./is_char_in_unicode_block":206}],210:[function(require,module,exports){"use strict";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=["Uint8"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0===--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||("undefined"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),""}),t["max-age"]){var n=parseInt(t["max-age"],10);isNaN(n)?delete t["max-age"]:t["max-age"]=n}return t}},{"../geo/coordinate":61,"@mapbox/unitbezier":3,"point-geometry":26}],213:[function(require,module,exports){"use strict";var Feature=function(e,t,r,o){this.type="Feature",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)"_geometry"!==r&&"_vectorTileFeature"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature},{}],214:[function(require,module,exports){"use strict";var scriptDetection=require("./script_detection");module.exports=function(t){for(var o="",e=0;e":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"}},{"./script_detection":209}],215:[function(require,module,exports){"use strict";var WebWorker=require("./web_worker"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=require("../").workerCount;for(this.workers=[];this.workers.length2&&arguments[2]!==undefined?arguments[2]:null;var selectElement=document.createElement("select");selectElement.setAttribute("name","location");var noLocationOption=document.createElement("option");noLocationOption.setAttribute("selected","selected");noLocationOption.setAttribute("value","no-location");noLocationOption.appendChild(document.createTextNode("Don’t send location"));selectElement.appendChild(noLocationOption);var geoLocationOption=document.createElement("option");geoLocationOption.setAttribute("id","option-coords");geoLocationOption.setAttribute("value","geo:"+position.coords.latitude+","+position.coords.longitude);geoLocationOption.dataset.latitude=position.coords.latitude;geoLocationOption.dataset.longitude=position.coords.longitude;geoLocationOption.appendChild(document.createTextNode("Send co-ordinates"));selectElement.appendChild(geoLocationOption);if(places!=null){var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=places[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var place=_step.value;var parsedCoords=(0,_parseLocation2.default)(place.location);var option=document.createElement("option");option.setAttribute("value",place.slug);option.dataset.latitude=parsedCoords.latitude;option.dataset.longitude=parsedCoords.longitude;option.appendChild(document.createTextNode(place.name));selectElement.appendChild(option)}}catch(err){_didIteratorError=true;_iteratorError=err}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}}}selectElement.addEventListener("change",function(){if(selectElement.value!=="no-location"){var optionLatitude=selectElement[selectElement.selectedIndex].dataset.latitude;var optionLongitude=selectElement[selectElement.selectedIndex].dataset.longitude;map.flyTo({center:[optionLongitude,optionLatitude]})}});return selectElement};function addMapWithPlaces(div,position){fetch("/micropub/places?latitude="+position.coords.latitude+"&longitude="+position.coords.longitude+"&u="+position.coords.accuracy,{credentials:"same-origin",method:"get"}).then(function(response){if(response.ok){return response.json()}else{_alertify2.default.reset();_alertify2.default.error("Non OK response")}}).then(function(json){if(json.error==true){_alertify2.default.reset();_alertify2.default.error(json.error_description)}var places=null;if(json.places.length>0){places=json.places}var map=(0,_mapboxUtils2.default)(div,position,places);var flexboxDiv=document.createElement("div");var options=makeOptionsForForm(map,position,places);flexboxDiv.appendChild(options);var newPlaceForm=(0,_newplaceMicropub2.default)(map);flexboxDiv.appendChild(newPlaceForm);var form=document.querySelector("fieldset");form.insertBefore(flexboxDiv,document.querySelector(".map"))}).catch(function(error){console.error(error)})}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=getLocation;var _nearbyPlaces=__webpack_require__(12);var _nearbyPlaces2=_interopRequireDefault(_nearbyPlaces);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function getLocation(){var container=document.querySelector("fieldset");var mapDiv=document.createElement("div");mapDiv.classList.add("map");container.appendChild(mapDiv);navigator.geolocation.getCurrentPosition(function(position){mapDiv.dataset.latitude=position.coords.latitude;mapDiv.dataset.longitude=position.coords.longitude;mapDiv.dataset.accuracy=position.coords.accuracy;(0,_nearbyPlaces2.default)(mapDiv,position)})}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=makeNewPlaceForm;var _submitPlace=__webpack_require__(15);var _submitPlace2=_interopRequireDefault(_submitPlace);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function makeNewPlaceForm(map){var newLocationButton=document.createElement("button");newLocationButton.setAttribute("type","button");newLocationButton.setAttribute("id","create-new-place");newLocationButton.appendChild(document.createTextNode("Create New Place?"));newLocationButton.addEventListener("click",function(){var newPlaceNameDiv=document.createElement("div");var newPlaceNameLabel=document.createElement("label");newPlaceNameLabel.setAttribute("for","place-name");newPlaceNameLabel.classList.add("place-label");newPlaceNameLabel.appendChild(document.createTextNode("Name:"));var newPlaceNameInput=document.createElement("input");newPlaceNameInput.setAttribute("placeholder","Name");newPlaceNameInput.setAttribute("name","place-name");newPlaceNameInput.setAttribute("id","place-name");newPlaceNameInput.setAttribute("type","text");newPlaceNameDiv.appendChild(newPlaceNameLabel);newPlaceNameDiv.appendChild(newPlaceNameInput);var newPlaceDescDiv=document.createElement("div");var newPlaceDescLabel=document.createElement("label");newPlaceDescLabel.setAttribute("for","place-description");newPlaceDescLabel.classList.add("place-label");newPlaceDescLabel.appendChild(document.createTextNode("Description:"));var newPlaceDescInput=document.createElement("input");newPlaceDescInput.setAttribute("placeholder","Description");newPlaceDescInput.setAttribute("name","place-description");newPlaceDescInput.setAttribute("id","place-description");newPlaceDescInput.setAttribute("type","text");newPlaceDescDiv.appendChild(newPlaceDescLabel);newPlaceDescDiv.appendChild(newPlaceDescInput);var newPlaceLatitudeDiv=document.createElement("div");var newPlaceLatitudeLabel=document.createElement("label");newPlaceLatitudeLabel.setAttribute("for","place-latitude");newPlaceLatitudeLabel.classList.add("place-label");newPlaceLatitudeLabel.appendChild(document.createTextNode("Latitude:"));var newPlaceLatitudeInput=document.createElement("input");newPlaceLatitudeInput.setAttribute("name","place-latitude");newPlaceLatitudeInput.setAttribute("id","place-latitude");newPlaceLatitudeInput.setAttribute("type","text");newPlaceLatitudeInput.value=map.getCenter().lat;newPlaceLatitudeDiv.appendChild(newPlaceLatitudeLabel);newPlaceLatitudeDiv.appendChild(newPlaceLatitudeInput);var newPlaceLongitudeDiv=document.createElement("div");var newPlaceLongitudeLabel=document.createElement("label");newPlaceLongitudeLabel.setAttribute("for","place-longitude");newPlaceLongitudeLabel.classList.add("place-label");newPlaceLongitudeLabel.appendChild(document.createTextNode("Longitude:"));var newPlaceLongitudeInput=document.createElement("input");newPlaceLongitudeInput.setAttribute("name","place-longitude");newPlaceLongitudeInput.setAttribute("id","place-longitude");newPlaceLongitudeInput.setAttribute("type","text");newPlaceLongitudeInput.value=map.getCenter().lng;newPlaceLongitudeDiv.appendChild(newPlaceLongitudeLabel);newPlaceLongitudeDiv.appendChild(newPlaceLongitudeInput);var newPlaceSubmit=document.createElement("button");newPlaceSubmit.setAttribute("id","place-submit");newPlaceSubmit.setAttribute("name","place-submit");newPlaceSubmit.setAttribute("type","button");newPlaceSubmit.appendChild(document.createTextNode("Submit New Place"));newPlaceSubmit.addEventListener("click",function(){(0,_submitPlace2.default)(map)});var form=document.querySelector("fieldset");form.appendChild(newPlaceNameDiv);form.appendChild(newPlaceDescDiv);form.appendChild(newPlaceLatitudeDiv);form.appendChild(newPlaceLongitudeDiv);form.appendChild(newPlaceSubmit)});return newLocationButton}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=submitNewPlace;var _alertify=__webpack_require__(3);var _alertify2=_interopRequireDefault(_alertify);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function submitNewPlace(map){var formData=new FormData;formData.append("place-name",document.querySelector("#place-name").value);formData.append("place-description",document.querySelector("#place-description").value);formData.append("place-latitude",document.querySelector("#place-latitude").value);formData.append("place-longitude",document.querySelector("#place-longitude").value);fetch("/places/new",{credentials:"same-origin",method:"post",body:formData}).then(function(response){return response.json()}).then(function(placeJson){if(placeJson.error===true){throw new Error(placeJson.error_description)}var form=document.querySelector("fieldset");var labels=document.querySelectorAll(".place-label");var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=labels[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var label=_step.value;form.removeChild(label.parentNode)}}catch(err){_didIteratorError=true;_iteratorError=err}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return()}}finally{if(_didIteratorError){throw _iteratorError}}}form.removeChild(document.querySelector("#place-submit"));var newPlaceButton=document.querySelector("#create-new-place");newPlaceButton.parentNode.removeChild(newPlaceButton);var source=map.getSource("points");var newFeatures=source._data.features.filter(function(item){return item.properties.title!="Current Location"});newFeatures.push({type:"Feature",geometry:{type:"Point",coordinates:[placeJson.longitude,placeJson.latitude]},properties:{title:placeJson.name,icon:"circle",uri:placeJson.uri}});var newSource={type:"FeatureCollection",features:newFeatures};map.getSource("points").setData(newSource);var selectElement=document.querySelector("select");var newlyCreatedPlaceOption=document.createElement("option");newlyCreatedPlaceOption.setAttribute("value",placeJson.uri);newlyCreatedPlaceOption.appendChild(document.createTextNode(placeJson.name));newlyCreatedPlaceOption.dataset.latitude=placeJson.latitude;newlyCreatedPlaceOption.dataset.longitude=placeJson.longitude;selectElement.appendChild(newlyCreatedPlaceOption);document.querySelector('select [value="'+placeJson.uri+'"]').selected=true}).catch(function(placeError){_alertify2.default.reset();_alertify2.default.error(placeError)})}},function(module,exports,__webpack_require__){(function webpackUniversalModuleDefinition(root,factory){if(true)module.exports=factory();else if(typeof define==="function"&&define.amd)define("webStorage",[],factory);else if(typeof exports==="object")exports["webStorage"]=factory();else root["webStorage"]=factory()})(this,function(){return function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:false};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.loaded=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.p="";return __webpack_require__(0)}([function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i 3 && arguments[3] !== undefined ? arguments[3] : false; + + var input = document.createElement('input'); + input.setAttribute('id', option); + input.setAttribute('type', 'radio'); + input.setAttribute('name', 'toggle'); + input.setAttribute('value', option); + if (checked == true) { + input.setAttribute('checked', 'checked'); + } + input.addEventListener('click', function () { + map.setStyle('mapbox://styles/mapbox/' + option + '-v9'); + }); + var label = document.createElement('label'); + label.setAttribute('for', option); + label.appendChild(document.createTextNode(titlecase(option))); + menu.appendChild(input); + menu.appendChild(label); +}; + +var makeMapMenu = function makeMapMenu(map) { + var mapMenu = document.createElement('div'); + mapMenu.classList.add('map-menu'); + addMapTypeOption(map, mapMenu, 'streets', true); + addMapTypeOption(map, mapMenu, 'satellite-streets'); + return mapMenu; +}; + +//the main function +function addMap(div) { + var position = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var places = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + var dataLatitude = div.dataset.latitude; + var dataLongitude = div.dataset.longitude; + var dataId = div.dataset.id; + var data = window['geojson' + dataId]; + if (data == null) { + data = { + 'type': 'FeatureCollection', + 'features': [{ + 'type': 'Feature', + 'geometry': { + 'type': 'Point', + 'coordinates': [dataLongitude, dataLatitude] + }, + 'properties': { + 'title': 'Current Location', + 'icon': 'circle-stroked', + 'uri': 'current-location' + } + }] + }; + } + if (places != null) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = places[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var place = _step.value; + + var placeLongitude = (0, _parseLocation2.default)(place.location).longitude; + var placeLatitude = (0, _parseLocation2.default)(place.location).latitude; + data.features.push({ + 'type': 'Feature', + 'geometry': { + 'type': 'Point', + 'coordinates': [placeLongitude, placeLatitude] + }, + 'properties': { + 'title': place.name, + 'icon': 'circle', + 'uri': place.slug + } + }); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + if (position != null) { + dataLongitude = position.coords.longitude; + dataLatitude = position.coords.latitude; + } + var map = new _mapboxGl2.default.Map({ + container: div, + style: 'mapbox://styles/mapbox/streets-v9', + center: [dataLongitude, dataLatitude], + zoom: 15 + }); + if (position == null) { + map.scrollZoom.disable(); + } + map.addControl(new _mapboxGl2.default.NavigationControl()); + div.appendChild(makeMapMenu(map)); + map.on('load', function () { + map.addSource('points', { + 'type': 'geojson', + 'data': data + }); + map.addLayer({ + 'id': 'points', + 'interactive': true, + 'type': 'symbol', + 'source': 'points', + 'layout': { + 'icon-image': '{icon}-15', + 'text-field': '{title}', + 'text-offset': [0, 1] + } + }); + }); + if (position != null) { + map.on('click', function (e) { + var features = map.queryRenderedFeatures(e.point, { + layer: ['points'] + }); + // if there are features within the given radius of the click event, + // fly to the location of the click event + if (features.length) { + // Get coordinates from the symbol and center the map on those coordinates + map.flyTo({ center: features[0].geometry.coordinates }); + (0, _selectPlace2.default)(features[0].properties.uri); + } + }); + } + if (data.features && data.features.length > 1) { + var bounds = new _mapboxGl2.default.LngLatBounds(); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = data.features[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var feature = _step2.value; + + bounds.extend(feature.geometry.coordinates); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + map.fitBounds(bounds, { padding: 65 }); + } + + return map; +} + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_RESULT__;!function(){"use strict";function t(){var t={parent:document.body,version:"1.0.12",defaultOkLabel:"Ok",okLabel:"Ok",defaultCancelLabel:"Cancel",cancelLabel:"Cancel",defaultMaxLogItems:2,maxLogItems:2,promptValue:"",promptPlaceholder:"",closeLogOnClick:!1,closeLogOnClickDefault:!1,delay:5e3,defaultDelay:5e3,logContainerClass:"alertify-logs",logContainerDefaultClass:"alertify-logs",dialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},defaultDialogs:{buttons:{holder:"",ok:"",cancel:""},input:"",message:"

{{message}}

",log:"
{{message}}
"},build:function(t){var e=this.dialogs.buttons.ok,o="
"+this.dialogs.message.replace("{{message}}",t.message);return"confirm"!==t.type&&"prompt"!==t.type||(e=this.dialogs.buttons.cancel+this.dialogs.buttons.ok),"prompt"===t.type&&(o+=this.dialogs.input),o=(o+this.dialogs.buttons.holder+"
").replace("{{buttons}}",e).replace("{{ok}}",this.okLabel).replace("{{cancel}}",this.cancelLabel)},setCloseLogOnClick:function(t){this.closeLogOnClick=!!t},close:function(t,e){this.closeLogOnClick&&t.addEventListener("click",function(){o(t)}),e=e&&!isNaN(+e)?+e:this.delay,0>e?o(t):e>0&&setTimeout(function(){o(t)},e)},dialog:function(t,e,o,n){return this.setup({type:e,message:t,onOkay:o,onCancel:n})},log:function(t,e,o){var n=document.querySelectorAll(".alertify-logs > div");if(n){var i=n.length-this.maxLogItems;if(i>=0)for(var a=0,l=i+1;l>a;a++)this.close(n[a],-1)}this.notify(t,e,o)},setLogPosition:function(t){this.logContainerClass="alertify-logs "+t},setupLogContainer:function(){var t=document.querySelector(".alertify-logs"),e=this.logContainerClass;return t||(t=document.createElement("div"),t.className=e,this.parent.appendChild(t)),t.className!==e&&(t.className=e),t},notify:function(e,o,n){var i=this.setupLogContainer(),a=document.createElement("div");a.className=o||"default",t.logTemplateMethod?a.innerHTML=t.logTemplateMethod(e):a.innerHTML=e,"function"==typeof n&&a.addEventListener("click",n),i.appendChild(a),setTimeout(function(){a.className+=" show"},10),this.close(a,this.delay)},setup:function(t){function e(e){"function"!=typeof e&&(e=function(){}),i&&i.addEventListener("click",function(i){t.onOkay&&"function"==typeof t.onOkay&&(l?t.onOkay(l.value,i):t.onOkay(i)),e(l?{buttonClicked:"ok",inputValue:l.value,event:i}:{buttonClicked:"ok",event:i}),o(n)}),a&&a.addEventListener("click",function(i){t.onCancel&&"function"==typeof t.onCancel&&t.onCancel(i),e({buttonClicked:"cancel",event:i}),o(n)}),l&&l.addEventListener("keyup",function(t){13===t.which&&i.click()})}var n=document.createElement("div");n.className="alertify hide",n.innerHTML=this.build(t);var i=n.querySelector(".ok"),a=n.querySelector(".cancel"),l=n.querySelector("input"),s=n.querySelector("label");l&&("string"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),"string"==typeof this.promptValue&&(l.value=this.promptValue));var r;return"function"==typeof Promise?r=new Promise(e):e(),this.parent.appendChild(n),setTimeout(function(){n.classList.remove("hide"),l&&t.type&&"prompt"===t.type?(l.select(),l.focus()):i&&i.focus()},100),r},okBtn:function(t){return this.okLabel=t,this},setDelay:function(t){return t=t||0,this.delay=isNaN(t)?this.defaultDelay:parseInt(t,10),this},cancelBtn:function(t){return this.cancelLabel=t,this},setMaxLogItems:function(t){this.maxLogItems=parseInt(t||this.defaultMaxLogItems)},theme:function(t){switch(t.toLowerCase()){case"bootstrap":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="";break;case"purecss":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="";break;case"mdl":case"material-design-light":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"angular-material":this.dialogs.buttons.ok="",this.dialogs.buttons.cancel="",this.dialogs.input="
";break;case"default":default:this.dialogs.buttons.ok=this.defaultDialogs.buttons.ok,this.dialogs.buttons.cancel=this.defaultDialogs.buttons.cancel,this.dialogs.input=this.defaultDialogs.input}},reset:function(){this.parent=document.body,this.theme("default"),this.okBtn(this.defaultOkLabel),this.cancelBtn(this.defaultCancelLabel),this.setMaxLogItems(),this.promptValue="",this.promptPlaceholder="",this.delay=this.defaultDelay,this.setCloseLogOnClick(this.closeLogOnClickDefault),this.setLogPosition("bottom left"),this.logTemplateMethod=null},injectCSS:function(){if(!document.querySelector("#alertifyCSS")){var t=document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",e.id="alertifyCSS",e.innerHTML=".alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:1}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;backface-visibility:hidden;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto}",t.insertBefore(e,t.firstChild)}},removeCSS:function(){var t=document.querySelector("#alertifyCSS");t&&t.parentNode&&t.parentNode.removeChild(t)}};return t.injectCSS(),{_$$alertify:t,parent:function(e){t.parent=e},reset:function(){return t.reset(),this},alert:function(e,o,n){return t.dialog(e,"alert",o,n)||this},confirm:function(e,o,n){return t.dialog(e,"confirm",o,n)||this},prompt:function(e,o,n){return t.dialog(e,"prompt",o,n)||this},log:function(e,o){return t.log(e,"default",o),this},theme:function(e){return t.theme(e),this},success:function(e,o){return t.log(e,"success",o),this},error:function(e,o){return t.log(e,"error",o),this},cancelBtn:function(e){return t.cancelBtn(e),this},okBtn:function(e){return t.okBtn(e),this},delay:function(e){return t.setDelay(e),this},placeholder:function(e){return t.promptPlaceholder=e,this},defaultValue:function(e){return t.promptValue=e,this},maxLogItems:function(e){return t.setMaxLogItems(e),this},closeLogOnClick:function(e){return t.setCloseLogOnClick(!!e),this},logPosition:function(e){return t.setLogPosition(e||""),this},setLogTemplate:function(e){return t.logTemplateMethod=e,this},clearLogs:function(){return t.setupLogContainer().innerHTML="",this},version:t.version}}var e=500,o=function(t){if(t){var o=function(){t&&t.parentNode&&t.parentNode.removeChild(t)};t.classList.remove("show"),t.classList.add("hide"),t.addEventListener("transitionend",o),setTimeout(o,e)}};if("undefined"!=typeof module&&module&&module.exports){module.exports=function(){return new t};var n=new t;for(var i in n)module.exports[i]=n[i]}else true?!(__WEBPACK_AMD_DEFINE_RESULT__ = function(){return new t}.call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)):window.alertify=new t}(); +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(17)(module))) + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = selectPlaceInForm; +//select-place.js + +function selectPlaceInForm(uri) { + if (document.querySelector('select')) { + if (uri == 'current-location') { + document.querySelector('select [id="option-coords"]').selected = true; + } else { + document.querySelector('select [value="' + uri + '"]').selected = true; + } + } +} + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.byteLength = byteLength +exports.toByteArray = toByteArray +exports.fromByteArray = fromByteArray + +var lookup = [] +var revLookup = [] +var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array + +var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' +for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i] + revLookup[code.charCodeAt(i)] = i +} + +revLookup['-'.charCodeAt(0)] = 62 +revLookup['_'.charCodeAt(0)] = 63 + +function placeHoldersCount (b64) { + var len = b64.length + if (len % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4') + } + + // the number of equal signs (place holders) + // if there are two placeholders, than the two characters before it + // represent one byte + // if there is only one, then the three characters before it represent 2 bytes + // this is just a cheap hack to not do indexOf twice + return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0 +} + +function byteLength (b64) { + // base64 is 4/3 + up to two characters of the original data + return b64.length * 3 / 4 - placeHoldersCount(b64) +} + +function toByteArray (b64) { + var i, j, l, tmp, placeHolders, arr + var len = b64.length + placeHolders = placeHoldersCount(b64) + + arr = new Arr(len * 3 / 4 - placeHolders) + + // if there are placeholders, only get up to the last complete 4 chars + l = placeHolders > 0 ? len - 4 : len + + var L = 0 + + for (i = 0, j = 0; i < l; i += 4, j += 3) { + tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)] + arr[L++] = (tmp >> 16) & 0xFF + arr[L++] = (tmp >> 8) & 0xFF + arr[L++] = tmp & 0xFF + } + + if (placeHolders === 2) { + tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4) + arr[L++] = tmp & 0xFF + } else if (placeHolders === 1) { + tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2) + arr[L++] = (tmp >> 8) & 0xFF + arr[L++] = tmp & 0xFF + } + + return arr +} + +function tripletToBase64 (num) { + return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F] +} + +function encodeChunk (uint8, start, end) { + var tmp + var output = [] + for (var i = start; i < end; i += 3) { + tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]) + output.push(tripletToBase64(tmp)) + } + return output.join('') +} + +function fromByteArray (uint8) { + var tmp + var len = uint8.length + var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes + var output = '' + var parts = [] + var maxChunkLength = 16383 // must be multiple of 3 + + // go through the array every three bytes, we'll deal with trailing stuff later + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) + } + + // pad the end with zeros, but make sure to not forget the extra bytes + if (extraBytes === 1) { + tmp = uint8[len - 1] + output += lookup[tmp >> 2] + output += lookup[(tmp << 4) & 0x3F] + output += '==' + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + (uint8[len - 1]) + output += lookup[tmp >> 10] + output += lookup[(tmp >> 4) & 0x3F] + output += lookup[(tmp << 2) & 0x3F] + output += '=' + } + + parts.push(output) + + return parts.join('') +} + + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) {/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +/* eslint-disable no-proto */ + + + +var base64 = __webpack_require__(5) +var ieee754 = __webpack_require__(8) +var isArray = __webpack_require__(7) + +exports.Buffer = Buffer +exports.SlowBuffer = SlowBuffer +exports.INSPECT_MAX_BYTES = 50 + +/** + * If `Buffer.TYPED_ARRAY_SUPPORT`: + * === true Use Uint8Array implementation (fastest) + * === false Use Object implementation (most compatible, even IE6) + * + * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, + * Opera 11.6+, iOS 4.2+. + * + * Due to various browser bugs, sometimes the Object implementation will be used even + * when the browser supports typed arrays. + * + * Note: + * + * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, + * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. + * + * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. + * + * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of + * incorrect length in some situations. + + * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they + * get the Object implementation, which is slower but behaves correctly. + */ +Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined + ? global.TYPED_ARRAY_SUPPORT + : typedArraySupport() + +/* + * Export kMaxLength after typed array support is determined. + */ +exports.kMaxLength = kMaxLength() + +function typedArraySupport () { + try { + var arr = new Uint8Array(1) + arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }} + return arr.foo() === 42 && // typed array instances can be augmented + typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` + arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` + } catch (e) { + return false + } +} + +function kMaxLength () { + return Buffer.TYPED_ARRAY_SUPPORT + ? 0x7fffffff + : 0x3fffffff +} + +function createBuffer (that, length) { + if (kMaxLength() < length) { + throw new RangeError('Invalid typed array length') + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + // Return an augmented `Uint8Array` instance, for best performance + that = new Uint8Array(length) + that.__proto__ = Buffer.prototype + } else { + // Fallback: Return an object instance of the Buffer class + if (that === null) { + that = new Buffer(length) + } + that.length = length + } + + return that +} + +/** + * The Buffer constructor returns instances of `Uint8Array` that have their + * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of + * `Uint8Array`, so the returned instances will have all the node `Buffer` methods + * and the `Uint8Array` methods. Square bracket notation works as expected -- it + * returns a single octet. + * + * The `Uint8Array` prototype remains unmodified. + */ + +function Buffer (arg, encodingOrOffset, length) { + if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { + return new Buffer(arg, encodingOrOffset, length) + } + + // Common case. + if (typeof arg === 'number') { + if (typeof encodingOrOffset === 'string') { + throw new Error( + 'If encoding is specified then the first argument must be a string' + ) + } + return allocUnsafe(this, arg) + } + return from(this, arg, encodingOrOffset, length) +} + +Buffer.poolSize = 8192 // not used by this implementation + +// TODO: Legacy, not needed anymore. Remove in next major version. +Buffer._augment = function (arr) { + arr.__proto__ = Buffer.prototype + return arr +} + +function from (that, value, encodingOrOffset, length) { + if (typeof value === 'number') { + throw new TypeError('"value" argument must not be a number') + } + + if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { + return fromArrayBuffer(that, value, encodingOrOffset, length) + } + + if (typeof value === 'string') { + return fromString(that, value, encodingOrOffset) + } + + return fromObject(that, value) +} + +/** + * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError + * if value is a number. + * Buffer.from(str[, encoding]) + * Buffer.from(array) + * Buffer.from(buffer) + * Buffer.from(arrayBuffer[, byteOffset[, length]]) + **/ +Buffer.from = function (value, encodingOrOffset, length) { + return from(null, value, encodingOrOffset, length) +} + +if (Buffer.TYPED_ARRAY_SUPPORT) { + Buffer.prototype.__proto__ = Uint8Array.prototype + Buffer.__proto__ = Uint8Array + if (typeof Symbol !== 'undefined' && Symbol.species && + Buffer[Symbol.species] === Buffer) { + // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 + Object.defineProperty(Buffer, Symbol.species, { + value: null, + configurable: true + }) + } +} + +function assertSize (size) { + if (typeof size !== 'number') { + throw new TypeError('"size" argument must be a number') + } else if (size < 0) { + throw new RangeError('"size" argument must not be negative') + } +} + +function alloc (that, size, fill, encoding) { + assertSize(size) + if (size <= 0) { + return createBuffer(that, size) + } + if (fill !== undefined) { + // Only pay attention to encoding if it's a string. This + // prevents accidentally sending in a number that would + // be interpretted as a start offset. + return typeof encoding === 'string' + ? createBuffer(that, size).fill(fill, encoding) + : createBuffer(that, size).fill(fill) + } + return createBuffer(that, size) +} + +/** + * Creates a new filled Buffer instance. + * alloc(size[, fill[, encoding]]) + **/ +Buffer.alloc = function (size, fill, encoding) { + return alloc(null, size, fill, encoding) +} + +function allocUnsafe (that, size) { + assertSize(size) + that = createBuffer(that, size < 0 ? 0 : checked(size) | 0) + if (!Buffer.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < size; ++i) { + that[i] = 0 + } + } + return that +} + +/** + * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. + * */ +Buffer.allocUnsafe = function (size) { + return allocUnsafe(null, size) +} +/** + * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. + */ +Buffer.allocUnsafeSlow = function (size) { + return allocUnsafe(null, size) +} + +function fromString (that, string, encoding) { + if (typeof encoding !== 'string' || encoding === '') { + encoding = 'utf8' + } + + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding') + } + + var length = byteLength(string, encoding) | 0 + that = createBuffer(that, length) + + var actual = that.write(string, encoding) + + if (actual !== length) { + // Writing a hex string, for example, that contains invalid characters will + // cause everything after the first invalid character to be ignored. (e.g. + // 'abxxcd' will be treated as 'ab') + that = that.slice(0, actual) + } + + return that +} + +function fromArrayLike (that, array) { + var length = array.length < 0 ? 0 : checked(array.length) | 0 + that = createBuffer(that, length) + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255 + } + return that +} + +function fromArrayBuffer (that, array, byteOffset, length) { + array.byteLength // this throws if `array` is not a valid ArrayBuffer + + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError('\'offset\' is out of bounds') + } + + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError('\'length\' is out of bounds') + } + + if (byteOffset === undefined && length === undefined) { + array = new Uint8Array(array) + } else if (length === undefined) { + array = new Uint8Array(array, byteOffset) + } else { + array = new Uint8Array(array, byteOffset, length) + } + + if (Buffer.TYPED_ARRAY_SUPPORT) { + // Return an augmented `Uint8Array` instance, for best performance + that = array + that.__proto__ = Buffer.prototype + } else { + // Fallback: Return an object instance of the Buffer class + that = fromArrayLike(that, array) + } + return that +} + +function fromObject (that, obj) { + if (Buffer.isBuffer(obj)) { + var len = checked(obj.length) | 0 + that = createBuffer(that, len) + + if (that.length === 0) { + return that + } + + obj.copy(that, 0, 0, len) + return that + } + + if (obj) { + if ((typeof ArrayBuffer !== 'undefined' && + obj.buffer instanceof ArrayBuffer) || 'length' in obj) { + if (typeof obj.length !== 'number' || isnan(obj.length)) { + return createBuffer(that, 0) + } + return fromArrayLike(that, obj) + } + + if (obj.type === 'Buffer' && isArray(obj.data)) { + return fromArrayLike(that, obj.data) + } + } + + throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.') +} + +function checked (length) { + // Note: cannot use `length < kMaxLength()` here because that fails when + // length is NaN (which is otherwise coerced to zero.) + if (length >= kMaxLength()) { + throw new RangeError('Attempt to allocate Buffer larger than maximum ' + + 'size: 0x' + kMaxLength().toString(16) + ' bytes') + } + return length | 0 +} + +function SlowBuffer (length) { + if (+length != length) { // eslint-disable-line eqeqeq + length = 0 + } + return Buffer.alloc(+length) +} + +Buffer.isBuffer = function isBuffer (b) { + return !!(b != null && b._isBuffer) +} + +Buffer.compare = function compare (a, b) { + if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { + throw new TypeError('Arguments must be Buffers') + } + + if (a === b) return 0 + + var x = a.length + var y = b.length + + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i] + y = b[i] + break + } + } + + if (x < y) return -1 + if (y < x) return 1 + return 0 +} + +Buffer.isEncoding = function isEncoding (encoding) { + switch (String(encoding).toLowerCase()) { + case 'hex': + case 'utf8': + case 'utf-8': + case 'ascii': + case 'latin1': + case 'binary': + case 'base64': + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return true + default: + return false + } +} + +Buffer.concat = function concat (list, length) { + if (!isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers') + } + + if (list.length === 0) { + return Buffer.alloc(0) + } + + var i + if (length === undefined) { + length = 0 + for (i = 0; i < list.length; ++i) { + length += list[i].length + } + } + + var buffer = Buffer.allocUnsafe(length) + var pos = 0 + for (i = 0; i < list.length; ++i) { + var buf = list[i] + if (!Buffer.isBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers') + } + buf.copy(buffer, pos) + pos += buf.length + } + return buffer +} + +function byteLength (string, encoding) { + if (Buffer.isBuffer(string)) { + return string.length + } + if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && + (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { + return string.byteLength + } + if (typeof string !== 'string') { + string = '' + string + } + + var len = string.length + if (len === 0) return 0 + + // Use a for loop to avoid recursion + var loweredCase = false + for (;;) { + switch (encoding) { + case 'ascii': + case 'latin1': + case 'binary': + return len + case 'utf8': + case 'utf-8': + case undefined: + return utf8ToBytes(string).length + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return len * 2 + case 'hex': + return len >>> 1 + case 'base64': + return base64ToBytes(string).length + default: + if (loweredCase) return utf8ToBytes(string).length // assume utf8 + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} +Buffer.byteLength = byteLength + +function slowToString (encoding, start, end) { + var loweredCase = false + + // No need to verify that "this.length <= MAX_UINT32" since it's a read-only + // property of a typed array. + + // This behaves neither like String nor Uint8Array in that we set start/end + // to their upper/lower bounds if the value passed is out of range. + // undefined is handled specially as per ECMA-262 6th Edition, + // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. + if (start === undefined || start < 0) { + start = 0 + } + // Return early if start > this.length. Done here to prevent potential uint32 + // coercion fail below. + if (start > this.length) { + return '' + } + + if (end === undefined || end > this.length) { + end = this.length + } + + if (end <= 0) { + return '' + } + + // Force coersion to uint32. This will also coerce falsey/NaN values to 0. + end >>>= 0 + start >>>= 0 + + if (end <= start) { + return '' + } + + if (!encoding) encoding = 'utf8' + + while (true) { + switch (encoding) { + case 'hex': + return hexSlice(this, start, end) + + case 'utf8': + case 'utf-8': + return utf8Slice(this, start, end) + + case 'ascii': + return asciiSlice(this, start, end) + + case 'latin1': + case 'binary': + return latin1Slice(this, start, end) + + case 'base64': + return base64Slice(this, start, end) + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return utf16leSlice(this, start, end) + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = (encoding + '').toLowerCase() + loweredCase = true + } + } +} + +// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect +// Buffer instances. +Buffer.prototype._isBuffer = true + +function swap (b, n, m) { + var i = b[n] + b[n] = b[m] + b[m] = i +} + +Buffer.prototype.swap16 = function swap16 () { + var len = this.length + if (len % 2 !== 0) { + throw new RangeError('Buffer size must be a multiple of 16-bits') + } + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1) + } + return this +} + +Buffer.prototype.swap32 = function swap32 () { + var len = this.length + if (len % 4 !== 0) { + throw new RangeError('Buffer size must be a multiple of 32-bits') + } + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3) + swap(this, i + 1, i + 2) + } + return this +} + +Buffer.prototype.swap64 = function swap64 () { + var len = this.length + if (len % 8 !== 0) { + throw new RangeError('Buffer size must be a multiple of 64-bits') + } + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7) + swap(this, i + 1, i + 6) + swap(this, i + 2, i + 5) + swap(this, i + 3, i + 4) + } + return this +} + +Buffer.prototype.toString = function toString () { + var length = this.length | 0 + if (length === 0) return '' + if (arguments.length === 0) return utf8Slice(this, 0, length) + return slowToString.apply(this, arguments) +} + +Buffer.prototype.equals = function equals (b) { + if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') + if (this === b) return true + return Buffer.compare(this, b) === 0 +} + +Buffer.prototype.inspect = function inspect () { + var str = '' + var max = exports.INSPECT_MAX_BYTES + if (this.length > 0) { + str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') + if (this.length > max) str += ' ... ' + } + return '' +} + +Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { + if (!Buffer.isBuffer(target)) { + throw new TypeError('Argument must be a Buffer') + } + + if (start === undefined) { + start = 0 + } + if (end === undefined) { + end = target ? target.length : 0 + } + if (thisStart === undefined) { + thisStart = 0 + } + if (thisEnd === undefined) { + thisEnd = this.length + } + + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError('out of range index') + } + + if (thisStart >= thisEnd && start >= end) { + return 0 + } + if (thisStart >= thisEnd) { + return -1 + } + if (start >= end) { + return 1 + } + + start >>>= 0 + end >>>= 0 + thisStart >>>= 0 + thisEnd >>>= 0 + + if (this === target) return 0 + + var x = thisEnd - thisStart + var y = end - start + var len = Math.min(x, y) + + var thisCopy = this.slice(thisStart, thisEnd) + var targetCopy = target.slice(start, end) + + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i] + y = targetCopy[i] + break + } + } + + if (x < y) return -1 + if (y < x) return 1 + return 0 +} + +// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, +// OR the last index of `val` in `buffer` at offset <= `byteOffset`. +// +// Arguments: +// - buffer - a Buffer to search +// - val - a string, Buffer, or number +// - byteOffset - an index into `buffer`; will be clamped to an int32 +// - encoding - an optional encoding, relevant is val is a string +// - dir - true for indexOf, false for lastIndexOf +function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { + // Empty buffer means no match + if (buffer.length === 0) return -1 + + // Normalize byteOffset + if (typeof byteOffset === 'string') { + encoding = byteOffset + byteOffset = 0 + } else if (byteOffset > 0x7fffffff) { + byteOffset = 0x7fffffff + } else if (byteOffset < -0x80000000) { + byteOffset = -0x80000000 + } + byteOffset = +byteOffset // Coerce to Number. + if (isNaN(byteOffset)) { + // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer + byteOffset = dir ? 0 : (buffer.length - 1) + } + + // Normalize byteOffset: negative offsets start from the end of the buffer + if (byteOffset < 0) byteOffset = buffer.length + byteOffset + if (byteOffset >= buffer.length) { + if (dir) return -1 + else byteOffset = buffer.length - 1 + } else if (byteOffset < 0) { + if (dir) byteOffset = 0 + else return -1 + } + + // Normalize val + if (typeof val === 'string') { + val = Buffer.from(val, encoding) + } + + // Finally, search either indexOf (if dir is true) or lastIndexOf + if (Buffer.isBuffer(val)) { + // Special case: looking for empty string/buffer always fails + if (val.length === 0) { + return -1 + } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir) + } else if (typeof val === 'number') { + val = val & 0xFF // Search for a byte value [0-255] + if (Buffer.TYPED_ARRAY_SUPPORT && + typeof Uint8Array.prototype.indexOf === 'function') { + if (dir) { + return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) + } else { + return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) + } + } + return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir) + } + + throw new TypeError('val must be string, number or Buffer') +} + +function arrayIndexOf (arr, val, byteOffset, encoding, dir) { + var indexSize = 1 + var arrLength = arr.length + var valLength = val.length + + if (encoding !== undefined) { + encoding = String(encoding).toLowerCase() + if (encoding === 'ucs2' || encoding === 'ucs-2' || + encoding === 'utf16le' || encoding === 'utf-16le') { + if (arr.length < 2 || val.length < 2) { + return -1 + } + indexSize = 2 + arrLength /= 2 + valLength /= 2 + byteOffset /= 2 + } + } + + function read (buf, i) { + if (indexSize === 1) { + return buf[i] + } else { + return buf.readUInt16BE(i * indexSize) + } + } + + var i + if (dir) { + var foundIndex = -1 + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) foundIndex = i + if (i - foundIndex + 1 === valLength) return foundIndex * indexSize + } else { + if (foundIndex !== -1) i -= i - foundIndex + foundIndex = -1 + } + } + } else { + if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength + for (i = byteOffset; i >= 0; i--) { + var found = true + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false + break + } + } + if (found) return i + } + } + + return -1 +} + +Buffer.prototype.includes = function includes (val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1 +} + +Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true) +} + +Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false) +} + +function hexWrite (buf, string, offset, length) { + offset = Number(offset) || 0 + var remaining = buf.length - offset + if (!length) { + length = remaining + } else { + length = Number(length) + if (length > remaining) { + length = remaining + } + } + + // must be an even number of digits + var strLen = string.length + if (strLen % 2 !== 0) throw new TypeError('Invalid hex string') + + if (length > strLen / 2) { + length = strLen / 2 + } + for (var i = 0; i < length; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16) + if (isNaN(parsed)) return i + buf[offset + i] = parsed + } + return i +} + +function utf8Write (buf, string, offset, length) { + return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) +} + +function asciiWrite (buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length) +} + +function latin1Write (buf, string, offset, length) { + return asciiWrite(buf, string, offset, length) +} + +function base64Write (buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length) +} + +function ucs2Write (buf, string, offset, length) { + return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) +} + +Buffer.prototype.write = function write (string, offset, length, encoding) { + // Buffer#write(string) + if (offset === undefined) { + encoding = 'utf8' + length = this.length + offset = 0 + // Buffer#write(string, encoding) + } else if (length === undefined && typeof offset === 'string') { + encoding = offset + length = this.length + offset = 0 + // Buffer#write(string, offset[, length][, encoding]) + } else if (isFinite(offset)) { + offset = offset | 0 + if (isFinite(length)) { + length = length | 0 + if (encoding === undefined) encoding = 'utf8' + } else { + encoding = length + length = undefined + } + // legacy write(string, encoding, offset, length) - remove in v0.13 + } else { + throw new Error( + 'Buffer.write(string, encoding, offset[, length]) is no longer supported' + ) + } + + var remaining = this.length - offset + if (length === undefined || length > remaining) length = remaining + + if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { + throw new RangeError('Attempt to write outside buffer bounds') + } + + if (!encoding) encoding = 'utf8' + + var loweredCase = false + for (;;) { + switch (encoding) { + case 'hex': + return hexWrite(this, string, offset, length) + + case 'utf8': + case 'utf-8': + return utf8Write(this, string, offset, length) + + case 'ascii': + return asciiWrite(this, string, offset, length) + + case 'latin1': + case 'binary': + return latin1Write(this, string, offset, length) + + case 'base64': + // Warning: maxLength not taken into account in base64Write + return base64Write(this, string, offset, length) + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return ucs2Write(this, string, offset, length) + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} + +Buffer.prototype.toJSON = function toJSON () { + return { + type: 'Buffer', + data: Array.prototype.slice.call(this._arr || this, 0) + } +} + +function base64Slice (buf, start, end) { + if (start === 0 && end === buf.length) { + return base64.fromByteArray(buf) + } else { + return base64.fromByteArray(buf.slice(start, end)) + } +} + +function utf8Slice (buf, start, end) { + end = Math.min(buf.length, end) + var res = [] + + var i = start + while (i < end) { + var firstByte = buf[i] + var codePoint = null + var bytesPerSequence = (firstByte > 0xEF) ? 4 + : (firstByte > 0xDF) ? 3 + : (firstByte > 0xBF) ? 2 + : 1 + + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint + + switch (bytesPerSequence) { + case 1: + if (firstByte < 0x80) { + codePoint = firstByte + } + break + case 2: + secondByte = buf[i + 1] + if ((secondByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) + if (tempCodePoint > 0x7F) { + codePoint = tempCodePoint + } + } + break + case 3: + secondByte = buf[i + 1] + thirdByte = buf[i + 2] + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) + if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { + codePoint = tempCodePoint + } + } + break + case 4: + secondByte = buf[i + 1] + thirdByte = buf[i + 2] + fourthByte = buf[i + 3] + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) + if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { + codePoint = tempCodePoint + } + } + } + } + + if (codePoint === null) { + // we did not generate a valid codePoint so insert a + // replacement char (U+FFFD) and advance only 1 byte + codePoint = 0xFFFD + bytesPerSequence = 1 + } else if (codePoint > 0xFFFF) { + // encode to utf16 (surrogate pair dance) + codePoint -= 0x10000 + res.push(codePoint >>> 10 & 0x3FF | 0xD800) + codePoint = 0xDC00 | codePoint & 0x3FF + } + + res.push(codePoint) + i += bytesPerSequence + } + + return decodeCodePointsArray(res) +} + +// Based on http://stackoverflow.com/a/22747272/680742, the browser with +// the lowest limit is Chrome, with 0x10000 args. +// We go 1 magnitude less, for safety +var MAX_ARGUMENTS_LENGTH = 0x1000 + +function decodeCodePointsArray (codePoints) { + var len = codePoints.length + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints) // avoid extra slice() + } + + // Decode in chunks to avoid "call stack size exceeded". + var res = '' + var i = 0 + while (i < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ) + } + return res +} + +function asciiSlice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 0x7F) + } + return ret +} + +function latin1Slice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]) + } + return ret +} + +function hexSlice (buf, start, end) { + var len = buf.length + + if (!start || start < 0) start = 0 + if (!end || end < 0 || end > len) end = len + + var out = '' + for (var i = start; i < end; ++i) { + out += toHex(buf[i]) + } + return out +} + +function utf16leSlice (buf, start, end) { + var bytes = buf.slice(start, end) + var res = '' + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) + } + return res +} + +Buffer.prototype.slice = function slice (start, end) { + var len = this.length + start = ~~start + end = end === undefined ? len : ~~end + + if (start < 0) { + start += len + if (start < 0) start = 0 + } else if (start > len) { + start = len + } + + if (end < 0) { + end += len + if (end < 0) end = 0 + } else if (end > len) { + end = len + } + + if (end < start) end = start + + var newBuf + if (Buffer.TYPED_ARRAY_SUPPORT) { + newBuf = this.subarray(start, end) + newBuf.__proto__ = Buffer.prototype + } else { + var sliceLen = end - start + newBuf = new Buffer(sliceLen, undefined) + for (var i = 0; i < sliceLen; ++i) { + newBuf[i] = this[i + start] + } + } + + return newBuf +} + +/* + * Need to make sure that buffer isn't trying to write out of bounds. + */ +function checkOffset (offset, ext, length) { + if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') + if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') +} + +Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } + + return val +} + +Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + checkOffset(offset, byteLength, this.length) + } + + var val = this[offset + --byteLength] + var mul = 1 + while (byteLength > 0 && (mul *= 0x100)) { + val += this[offset + --byteLength] * mul + } + + return val +} + +Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { + if (!noAssert) checkOffset(offset, 1, this.length) + return this[offset] +} + +Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + return this[offset] | (this[offset + 1] << 8) +} + +Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + return (this[offset] << 8) | this[offset + 1] +} + +Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return ((this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16)) + + (this[offset + 3] * 0x1000000) +} + +Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset] * 0x1000000) + + ((this[offset + 1] << 16) | + (this[offset + 2] << 8) | + this[offset + 3]) +} + +Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } + mul *= 0x80 + + if (val >= mul) val -= Math.pow(2, 8 * byteLength) + + return val +} + +Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var i = byteLength + var mul = 1 + var val = this[offset + --i] + while (i > 0 && (mul *= 0x100)) { + val += this[offset + --i] * mul + } + mul *= 0x80 + + if (val >= mul) val -= Math.pow(2, 8 * byteLength) + + return val +} + +Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { + if (!noAssert) checkOffset(offset, 1, this.length) + if (!(this[offset] & 0x80)) return (this[offset]) + return ((0xff - this[offset] + 1) * -1) +} + +Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset] | (this[offset + 1] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} + +Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset + 1] | (this[offset] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} + +Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16) | + (this[offset + 3] << 24) +} + +Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset] << 24) | + (this[offset + 1] << 16) | + (this[offset + 2] << 8) | + (this[offset + 3]) +} + +Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, true, 23, 4) +} + +Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, false, 23, 4) +} + +Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, true, 52, 8) +} + +Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, false, 52, 8) +} + +function checkInt (buf, value, offset, ext, max, min) { + if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') + if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') + if (offset + ext > buf.length) throw new RangeError('Index out of range') +} + +Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1 + checkInt(this, value, offset, byteLength, maxBytes, 0) + } + + var mul = 1 + var i = 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1 + checkInt(this, value, offset, byteLength, maxBytes, 0) + } + + var i = byteLength - 1 + var mul = 1 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) + if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) + this[offset] = (value & 0xff) + return offset + 1 +} + +function objectWriteUInt16 (buf, value, offset, littleEndian) { + if (value < 0) value = 0xffff + value + 1 + for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { + buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> + (littleEndian ? i : 1 - i) * 8 + } +} + +Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + } else { + objectWriteUInt16(this, value, offset, true) + } + return offset + 2 +} + +Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 8) + this[offset + 1] = (value & 0xff) + } else { + objectWriteUInt16(this, value, offset, false) + } + return offset + 2 +} + +function objectWriteUInt32 (buf, value, offset, littleEndian) { + if (value < 0) value = 0xffffffff + value + 1 + for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { + buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff + } +} + +Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset + 3] = (value >>> 24) + this[offset + 2] = (value >>> 16) + this[offset + 1] = (value >>> 8) + this[offset] = (value & 0xff) + } else { + objectWriteUInt32(this, value, offset, true) + } + return offset + 4 +} + +Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = (value & 0xff) + } else { + objectWriteUInt32(this, value, offset, false) + } + return offset + 4 +} + +Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = 0 + var mul = 1 + var sub = 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1 + } + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = byteLength - 1 + var mul = 1 + var sub = 0 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1 + } + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) + if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) + if (value < 0) value = 0xff + value + 1 + this[offset] = (value & 0xff) + return offset + 1 +} + +Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + } else { + objectWriteUInt16(this, value, offset, true) + } + return offset + 2 +} + +Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 8) + this[offset + 1] = (value & 0xff) + } else { + objectWriteUInt16(this, value, offset, false) + } + return offset + 2 +} + +Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + this[offset + 2] = (value >>> 16) + this[offset + 3] = (value >>> 24) + } else { + objectWriteUInt32(this, value, offset, true) + } + return offset + 4 +} + +Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + if (value < 0) value = 0xffffffff + value + 1 + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = (value & 0xff) + } else { + objectWriteUInt32(this, value, offset, false) + } + return offset + 4 +} + +function checkIEEE754 (buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) throw new RangeError('Index out of range') + if (offset < 0) throw new RangeError('Index out of range') +} + +function writeFloat (buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) + } + ieee754.write(buf, value, offset, littleEndian, 23, 4) + return offset + 4 +} + +Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert) +} + +function writeDouble (buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) + } + ieee754.write(buf, value, offset, littleEndian, 52, 8) + return offset + 8 +} + +Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert) +} + +// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) +Buffer.prototype.copy = function copy (target, targetStart, start, end) { + if (!start) start = 0 + if (!end && end !== 0) end = this.length + if (targetStart >= target.length) targetStart = target.length + if (!targetStart) targetStart = 0 + if (end > 0 && end < start) end = start + + // Copy 0 bytes; we're done + if (end === start) return 0 + if (target.length === 0 || this.length === 0) return 0 + + // Fatal error conditions + if (targetStart < 0) { + throw new RangeError('targetStart out of bounds') + } + if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') + if (end < 0) throw new RangeError('sourceEnd out of bounds') + + // Are we oob? + if (end > this.length) end = this.length + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start + } + + var len = end - start + var i + + if (this === target && start < targetStart && targetStart < end) { + // descending copy from end + for (i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start] + } + } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { + // ascending copy from start + for (i = 0; i < len; ++i) { + target[i + targetStart] = this[i + start] + } + } else { + Uint8Array.prototype.set.call( + target, + this.subarray(start, start + len), + targetStart + ) + } + + return len +} + +// Usage: +// buffer.fill(number[, offset[, end]]) +// buffer.fill(buffer[, offset[, end]]) +// buffer.fill(string[, offset[, end]][, encoding]) +Buffer.prototype.fill = function fill (val, start, end, encoding) { + // Handle string cases: + if (typeof val === 'string') { + if (typeof start === 'string') { + encoding = start + start = 0 + end = this.length + } else if (typeof end === 'string') { + encoding = end + end = this.length + } + if (val.length === 1) { + var code = val.charCodeAt(0) + if (code < 256) { + val = code + } + } + if (encoding !== undefined && typeof encoding !== 'string') { + throw new TypeError('encoding must be a string') + } + if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { + throw new TypeError('Unknown encoding: ' + encoding) + } + } else if (typeof val === 'number') { + val = val & 255 + } + + // Invalid ranges are not set to a default, so can range check early. + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError('Out of range index') + } + + if (end <= start) { + return this + } + + start = start >>> 0 + end = end === undefined ? this.length : end >>> 0 + + if (!val) val = 0 + + var i + if (typeof val === 'number') { + for (i = start; i < end; ++i) { + this[i] = val + } + } else { + var bytes = Buffer.isBuffer(val) + ? val + : utf8ToBytes(new Buffer(val, encoding).toString()) + var len = bytes.length + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len] + } + } + + return this +} + +// HELPER FUNCTIONS +// ================ + +var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g + +function base64clean (str) { + // Node strips out invalid characters like \n and \t from the string, base64-js does not + str = stringtrim(str).replace(INVALID_BASE64_RE, '') + // Node converts strings with length < 2 to '' + if (str.length < 2) return '' + // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not + while (str.length % 4 !== 0) { + str = str + '=' + } + return str +} + +function stringtrim (str) { + if (str.trim) return str.trim() + return str.replace(/^\s+|\s+$/g, '') +} + +function toHex (n) { + if (n < 16) return '0' + n.toString(16) + return n.toString(16) +} + +function utf8ToBytes (string, units) { + units = units || Infinity + var codePoint + var length = string.length + var leadSurrogate = null + var bytes = [] + + for (var i = 0; i < length; ++i) { + codePoint = string.charCodeAt(i) + + // is surrogate component + if (codePoint > 0xD7FF && codePoint < 0xE000) { + // last char was a lead + if (!leadSurrogate) { + // no lead yet + if (codePoint > 0xDBFF) { + // unexpected trail + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } else if (i + 1 === length) { + // unpaired lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } + + // valid lead + leadSurrogate = codePoint + + continue + } + + // 2 leads in a row + if (codePoint < 0xDC00) { + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + leadSurrogate = codePoint + continue + } + + // valid surrogate pair + codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 + } else if (leadSurrogate) { + // valid bmp char, but last char was a lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + } + + leadSurrogate = null + + // encode utf8 + if (codePoint < 0x80) { + if ((units -= 1) < 0) break + bytes.push(codePoint) + } else if (codePoint < 0x800) { + if ((units -= 2) < 0) break + bytes.push( + codePoint >> 0x6 | 0xC0, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x10000) { + if ((units -= 3) < 0) break + bytes.push( + codePoint >> 0xC | 0xE0, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x110000) { + if ((units -= 4) < 0) break + bytes.push( + codePoint >> 0x12 | 0xF0, + codePoint >> 0xC & 0x3F | 0x80, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else { + throw new Error('Invalid code point') + } + } + + return bytes +} + +function asciiToBytes (str) { + var byteArray = [] + for (var i = 0; i < str.length; ++i) { + // Node's code seems to be doing this and not & 0x7F.. + byteArray.push(str.charCodeAt(i) & 0xFF) + } + return byteArray +} + +function utf16leToBytes (str, units) { + var c, hi, lo + var byteArray = [] + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) break + + c = str.charCodeAt(i) + hi = c >> 8 + lo = c % 256 + byteArray.push(lo) + byteArray.push(hi) + } + + return byteArray +} + +function base64ToBytes (str) { + return base64.toByteArray(base64clean(str)) +} + +function blitBuffer (src, dst, offset, length) { + for (var i = 0; i < length; ++i) { + if ((i + offset >= dst.length) || (i >= src.length)) break + dst[i + offset] = src[i] + } + return i +} + +function isnan (val) { + return val !== val // eslint-disable-line no-self-compare +} + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) + +/***/ }), +/* 7 */ +/***/ (function(module, exports) { + +var toString = {}.toString; + +module.exports = Array.isArray || function (arr) { + return toString.call(arr) == '[object Array]'; +}; + + +/***/ }), +/* 8 */ +/***/ (function(module, exports) { + +exports.read = function (buffer, offset, isLE, mLen, nBytes) { + var e, m + var eLen = nBytes * 8 - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var nBits = -7 + var i = isLE ? (nBytes - 1) : 0 + var d = isLE ? -1 : 1 + var s = buffer[offset + i] + + i += d + + e = s & ((1 << (-nBits)) - 1) + s >>= (-nBits) + nBits += eLen + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & ((1 << (-nBits)) - 1) + e >>= (-nBits) + nBits += mLen + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity) + } else { + m = m + Math.pow(2, mLen) + e = e - eBias + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen) +} + +exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c + var eLen = nBytes * 8 - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) + var i = isLE ? 0 : (nBytes - 1) + var d = isLE ? 1 : -1 + var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 + + value = Math.abs(value) + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0 + e = eMax + } else { + e = Math.floor(Math.log(value) / Math.LN2) + if (value * (c = Math.pow(2, -e)) < 1) { + e-- + c *= 2 + } + if (e + eBias >= 1) { + value += rt / c + } else { + value += rt * Math.pow(2, 1 - eBias) + } + if (value * c >= 2) { + e++ + c /= 2 + } + + if (e + eBias >= eMax) { + m = 0 + e = eMax + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen) + e = e + eBias + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) + e = 0 + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + + e = (e << mLen) | m + eLen += mLen + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + + buffer[offset + i - d] |= s * 128 +} + + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global, Buffer) {var require;var require;(function(f){if(true){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.mapboxgl = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return require(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i,rn.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var h=this.shelves[t],n=h.alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1===++t.refcount){var e=t.h;this.stats[e]=(0|this.stats[e])+1}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0===--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t}); +},{}],3:[function(require,module,exports){ +function UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){"undefined"==typeof i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))}; +},{}],4:[function(require,module,exports){ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){s=s||{};var f=e+"?"+["bbox="+o(r,n,i),"format="+(s.format||"image/png"),"service="+(s.service||"WMS"),"version="+(s.version||"1.1.1"),"request="+(s.request||"GetMap"),"srs="+(s.srs||"EPSG:3857"),"width="+(s.width||256),"height="+(s.height||256),"layers="+t].join("&");return f}function o(e,t,o){t=Math.pow(2,o)-t-1;var n=r(256*e,256*t,o),i=r(256*(e+1),256*(t+1),o);return n[0]+","+n[1]+","+i[0]+","+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o),n=e*r-2*Math.PI*6378137/2,i=t*r-2*Math.PI*6378137/2;return[n,i]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,"__esModule",{value:!0})}); +},{}],5:[function(require,module,exports){ +"use strict";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),t=n=t.prev,t===t.next)return null;r=!0}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if(e=l,e===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l)),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next;while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r}; +},{}],6:[function(require,module,exports){ +function geometry(r){if("Polygon"===r.type)return polygonArea(r.coordinates);if("MultiPolygon"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=require("geojson-area");module.exports=rewind; +},{"geojson-area":6}],8:[function(require,module,exports){ +"use strict";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));h=g[S-1],c=h[n],c>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=require("./feature"); +},{"./feature":10}],9:[function(require,module,exports){ +"use strict";function convert(e,t){var r=[];if("FeatureCollection"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time("creation"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd("creation"));var h="z"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time("clipping");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd("clipping"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log("drilling down to z%d-%d-%d",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log("found parent tile z%d-%d-%d",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time("drilling down");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd("drilling down"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify; +},{}],13:[function(require,module,exports){ +"use strict";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){var r=signedArea(e);r<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l}; +},{}],18:[function(require,module,exports){ +"use strict";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range; +},{}],20:[function(require,module,exports){ +"use strict";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1),c=Math.max(s,Math.floor(o-p*m/f+n)),h=Math.min(r,Math.floor(o+(f-p)*m/f+n));select(t,a,o,c,h,e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD; +},{}],21:[function(require,module,exports){ +"use strict";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within; +},{}],22:[function(require,module,exports){ +"use strict";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return"undefined"!=typeof window&&"undefined"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return"JSON"in window&&"parse"in JSON&&"stringify"in JSON}function isWorkerSupported(){return"Worker"in window}function isUint8ClampedArraySupported(){return"Uint8ClampedArray"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement("canvas"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext("webgl",r)||t.probablySupportsContext("experimental-webgl",r):t.supportsContext?t.supportsContext("webgl",r)||t.supportsContext("experimental-webgl",r):t.getContext("webgl",r)||t.getContext("experimental-webgl",r)}"undefined"!=typeof module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}; +},{}],23:[function(require,module,exports){ +(function (process){ +function normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];"."===s?r.splice(n,1):".."===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift("..");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");n&&(r=n+"/"+r,t="/"===n.charAt(0))}return r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"),(t?"/":"")+r||"."},exports.normalize=function(r){var t=exports.isAbsolute(r),e="/"===substr(r,-1);return r=normalizeArray(filter(r.split("/"),function(r){return!!r}),!t).join("/"),r||t||(r="."),r&&e&&(r+="/"),(t?"/":"")+r},exports.isAbsolute=function(r){return"/"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if("string"!=typeof r)throw new TypeError("Arguments to path.join must be strings");return r}).join("/"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&""===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split("/")),s=e(t.split("/")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var ieee754=require("ieee754"),BufferMethods,lastStr,lastStrEncoded;BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n="",i="";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error("Given varint doesn't fit into 10 bytes");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.Fixed64)throw new Error("Unimplemented type: "+i);this.pos+=8}},writeTag:function(t,i){this.writeVarint(t<<3|i)},realloc:function(t){for(var i=this.length||16;i268435455?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127)))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}}; +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) + +},{"./buffer":24}],26:[function(require,module,exports){ +"use strict";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var n=t.x-this.x,i=t.y-this.y;return n*n+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,this.y=i,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t}; +},{}],27:[function(require,module,exports){ +function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1),n=Math.max(r,Math.floor(t-e*s/f+i)),h=Math.min(o,Math.floor(t+(f-e)*s/f+i));partialSort(a,t,n,h,p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort; +},{}],29:[function(require,module,exports){ +"use strict";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:"Feature",properties:getClusterProperties(t),geometry:{type:"Point",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return{cluster:!0,point_count:e,point_count_abbreviated:o}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=require("kdbush");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time("total time");var o="prepare "+t.length+" points";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log("z%d: %d clusters in %dms",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd("total time"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c="",a=!1,l=["{","}"];if(isArray(r)&&(a=!0,l=["[","]"]),isFunction(r)){var p=r.name?": "+r.name:"";c=" [Function"+p+"]"}if(isRegExp(r)&&(c=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(c=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(c=" "+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n"))):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;s=JSON.stringify(""+i),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf("\n")>=0&&n++,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(e){return"[Circular]"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error("unknown command "+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-(1/0),p=1/0,h=-(1/0);e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error("unknown command "+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=require("./vectortilefeature.js");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)}; +},{"./vectortilefeature.js":36}],38:[function(require,module,exports){ +function fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||"",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup; +},{"./program_configuration":58}],45:[function(require,module,exports){ +"use strict";var ArrayGroup=require("./array_group"),BufferGroup=require("./buffer_group"),util=require("../util/util"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||o<0||o>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,y,o,-1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,1),addCircleVertex(r.layoutVertexArray,y,o,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket; +},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60}],47:[function(require,module,exports){ +"use strict";var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),earcut=require("earcut"),classifyRings=require("../../util/classify_rings"),EARCUT_MAX_RINGS=500,fillInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"}]),elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:"fill-color",type:"Uint8"},{property:"fill-outline-color",type:"Uint8"},{property:"fill-opacity",type:"Uint8",multiplier:255}]},FillBucket=function(e){function r(r){e.call(this,r,fillInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);tEXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),EXTENT=require("../extent"),earcut=require("earcut"),classifyRings=require("../../util/classify_rings"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal",components:3,type:"Int16"},{name:"a_edgedistance",components:1,type:"Int16"}]),elementArrayType:createElementArrayType(3),paintAttributes:[{property:"fill-extrusion-base",type:"Uint16"},{property:"fill-extrusion-height",type:"Uint16"},{property:"fill-extrusion-color",type:"Uint8"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function r(r){e.call(this,r,fillExtrusionInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);t=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var _=g.sub(A)._perp()._unit();addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,1,m),m+=A.dist(g),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,1,m);var v=p.vertexLength;r.elementArray.emplaceBack(v,v+1,v+2),r.elementArray.emplaceBack(v+1,v+2,v+3),p.vertexLength+=4,p.primitiveLength+=2}}u.push(g.x),u.push(g.y)}}}for(var E=earcut(u,c),T=0;T>6)}var Bucket=require("../bucket"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),loadGeometry=require("../load_geometry"),EXTENT=require("../extent"),VectorTileFeature=require("vector-tile").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(37.5*(Math.PI/180)),SHARP_CORNER_OFFSET=15,LINE_DISTANCE_BUFFER_BITS=15,LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE,lineInterface={layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}]),paintAttributes:[{property:"line-color",type:"Uint8"},{property:"line-blur",multiplier:10,type:"Uint8"},{property:"line-opacity",multiplier:10,type:"Uint8"},{property:"line-gap-width",multiplier:10,type:"Uint8",name:"a_gapwidth"},{property:"line-offset",multiplier:1,type:"Int8"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r["line-join"],a=r["line-cap"],n=r["line-miter-limit"],d=r["line-round-limit"],s=0,u=loadGeometry(e,LINE_DISTANCE_BUFFER_BITS);s=2&&e[l-1].equals(e[l-2]);)l--;if(!(l<(u?3:2))){"bevel"===r&&(a=1.05);var o=SHARP_CORNER_OFFSET*(EXTENT/(512*this.overscaling)),p=e[0],c=this.arrays,_=c.prepareSegment(10*l);this.distance=0;var y,h,m,E,x,C,v,A=i,f=u?"butt":i,L=!0;this.e1=this.e2=this.e3=-1,u&&(y=e[l-2],x=p.sub(y)._unit()._perp());for(var V=0;V0){var b=y.dist(h);if(b>2*o){var R=y.sub(y.sub(h)._mult(o/b)._round());d.distance+=R.dist(h),d.addCurrentVertex(R,d.distance,E.mult(1),0,0,!1,_),h=R}}var g=h&&m,F=g?r:m?A:f;if(g&&"round"===F&&(Ia&&(F="bevel"),"bevel"===F&&(I>2&&(F="flipbevel"),I100)S=x.clone().mult(-1);else{var B=E.x*x.y-E.y*x.x>0?-1:1,k=I*E.add(x).mag()/E.sub(x).mag();S._perp()._mult(k*B)}d.addCurrentVertex(y,d.distance,S,0,0,!1,_),d.addCurrentVertex(y,d.distance,S.mult(-1),0,0,!1,_)}else if("bevel"===F||"fakeround"===F){var D=E.x*x.y-E.y*x.x>0,P=-Math.sqrt(I*I-1);if(D?(v=0,C=P):(C=0,v=P),L||d.addCurrentVertex(y,d.distance,E,C,v,!1,_),"fakeround"===F){for(var U=Math.floor(8*(.5-(T-.5))),q=void 0,M=0;M=0;O--)q=E.mult((O+1)/(U+1))._add(x)._unit(),d.addPieSliceVertex(y,d.distance,q,D,_)}m&&d.addCurrentVertex(y,d.distance,x,-C,-v,!1,_)}else"butt"===F?(L||d.addCurrentVertex(y,d.distance,E,0,0,!1,_),m&&d.addCurrentVertex(y,d.distance,x,0,0,!1,_)):"square"===F?(L||(d.addCurrentVertex(y,d.distance,E,1,1,!1,_),d.e1=d.e2=-1),m&&d.addCurrentVertex(y,d.distance,x,-1,-1,!1,_)):"round"===F&&(L||(d.addCurrentVertex(y,d.distance,E,0,0,!1,_),d.addCurrentVertex(y,d.distance,E,1,1,!0,_),d.e1=d.e2=-1),m&&(d.addCurrentVertex(y,d.distance,x,-1,-1,!0,_),d.addCurrentVertex(y,d.distance,x,0,0,!1,_)));if(N&&V2*o){var H=y.add(m.sub(y)._mult(o/X)._round());d.distance+=H.dist(y),d.addCurrentVertex(H,d.distance,x.mult(1),0,0,!1,_),y=H}}L=!1}c.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket; +},{"../bucket":45,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60,"vector-tile":34}],50:[function(require,module,exports){ +"use strict";function addVertex(e,t,o,r,a,i,n,l,s,c,y){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i/4,n/4,10*(c||0),y,10*(l||0),10*Math.min(s||25,25))}function addCollisionBoxVertex(e,t,o,r,a){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*r,10*a)}var Point=require("point-geometry"),ArrayGroup=require("../array_group"),BufferGroup=require("../buffer_group"),createVertexArrayType=require("../vertex_array_type"),createElementArrayType=require("../element_array_type"),EXTENT=require("../extent"),Anchor=require("../../symbol/anchor"),getAnchors=require("../../symbol/get_anchors"),resolveTokens=require("../../util/token"),Quads=require("../../symbol/quads"),Shaping=require("../../symbol/shaping"),resolveText=require("../../symbol/resolve_text"),mergeLines=require("../../symbol/mergelines"),clipLine=require("../../symbol/clip_line"),util=require("../../util/util"),scriptDetection=require("../../util/script_detection"),loadGeometry=require("../load_geometry"),CollisionFeature=require("../../symbol/collision_feature"),findPoleOfInaccessibility=require("../../util/find_pole_of_inaccessibility"),classifyRings=require("../../util/classify_rings"),VectorTileFeature=require("vector-tile").VectorTileFeature,rtlTextPlugin=require("../../source/rtl_text_plugin"),shapeText=Shaping.shapeText,shapeIcon=Shaping.shapeIcon,WritingMode=Shaping.WritingMode,getGlyphQuads=Quads.getGlyphQuads,getIconQuads=Quads.getIconQuads,elementArrayType=createElementArrayType(),layoutVertexArrayType=createVertexArrayType([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_texture_pos",components:2,type:"Uint16"},{name:"a_data",components:4,type:"Uint8"}]),symbolInterfaces={glyph:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:"a_fill_color",property:"text-color",type:"Uint8"},{name:"a_halo_color",property:"text-halo-color",type:"Uint8"},{name:"a_halo_width",property:"text-halo-width",type:"Uint16",multiplier:10},{name:"a_halo_blur",property:"text-halo-blur",type:"Uint16",multiplier:10},{name:"a_opacity",property:"text-opacity",type:"Uint8",multiplier:255}]},icon:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:"a_fill_color",property:"icon-color",type:"Uint8"},{name:"a_halo_color",property:"icon-halo-color",type:"Uint8"},{name:"a_halo_width",property:"icon-halo-width",type:"Uint16",multiplier:10},{name:"a_halo_blur",property:"icon-halo-blur",type:"Uint16",multiplier:10},{name:"a_opacity",property:"icon-opacity",type:"Uint8",multiplier:255}]},collisionBox:{layoutVertexArrayType:createVertexArrayType([{name:"a_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"},{name:"a_data",components:2,type:"Uint8"}]),elementArrayType:createElementArrayType(2)}},SymbolBucket=function(e){var t=this;if(this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.sdfIcons=e.sdfIcons,this.iconsNeedLinear=e.iconsNeedLinear,this.adjustedTextSize=e.adjustedTextSize,this.adjustedIconSize=e.adjustedIconSize,this.fontstack=e.fontstack,e.arrays){this.buffers={};for(var o in e.arrays)e.arrays[o]&&(t.buffers[o]=new BufferGroup(symbolInterfaces[o],e.layers,e.zoom,e.arrays[o]))}};SymbolBucket.prototype.populate=function(e,t){var o=this,r=this.layers[0],a=r.layout,i=a["text-font"],n=a["icon-image"],l=i&&(!r.isLayoutValueFeatureConstant("text-field")||a["text-field"]),s=n;if(this.features=[],l||s){for(var c=t.iconDependencies,y=t.glyphDependencies,p=y[i]=y[i]||{},x=0;xEXTENT||i.y<0||i.y>EXTENT);if(!x||n){var l=n||f;r.addSymbolInstance(i,a,t,o,r.layers[0],l,r.collisionBoxArray,e.index,e.sourceLayerIndex,r.index,s,h,m,y,u,g,{zoom:r.zoom},e.properties)}};if("line"===b)for(var S=0,T=clipLine(e.geometry,0,0,EXTENT,EXTENT);S=0;i--)if(o.dist(a[i])7*Math.PI/4)continue}else if(r&&a&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(r&&a&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var m=u.tl,g=u.tr,f=u.bl,b=u.br,v=u.tex,I=u.anchorPoint,S=Math.max(y+Math.log(u.minScale)/Math.LN2,p),T=Math.min(y+Math.log(u.maxScale)/Math.LN2,25);if(!(T<=S)){S===p&&(S=0);var M=Math.round(u.glyphAngle/(2*Math.PI)*256),B=e.prepareSegment(4),A=B.vertexLength;addVertex(c,I.x,I.y,m.x,m.y,v.x,v.y,S,T,p,M),addVertex(c,I.x,I.y,g.x,g.y,v.x+v.w,v.y,S,T,p,M),addVertex(c,I.x,I.y,f.x,f.y,v.x,v.y+v.h,S,T,p,M),addVertex(c,I.x,I.y,b.x,b.y,v.x+v.w,v.y+v.h,S,T,p,M),s.emplaceBack(A,A+1,A+2),s.emplaceBack(A+1,A+2,A+3),B.vertexLength+=4,B.primitiveLength+=2}}e.populatePaintArrays(n)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,r=o.layoutVertexArray,a=o.elementArray,i=-e.angle,n=e.yStretch,l=0,s=t.symbolInstances;lSymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),z>SymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907");var _=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:M,textBoxEndIndex:B,iconBoxStartIndex:A,iconBoxEndIndex:z,glyphQuads:I,iconQuads:v,anchor:e,featureIndex:l,featureProperties:g,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket; +},{"../../source/rtl_text_plugin":90,"../../symbol/anchor":157,"../../symbol/clip_line":159,"../../symbol/collision_feature":161,"../../symbol/get_anchors":163,"../../symbol/mergelines":166,"../../symbol/quads":167,"../../symbol/resolve_text":168,"../../symbol/shaping":169,"../../util/classify_rings":195,"../../util/find_pole_of_inaccessibility":201,"../../util/script_detection":209,"../../util/token":211,"../../util/util":212,"../array_group":44,"../buffer_group":52,"../element_array_type":53,"../extent":54,"../load_geometry":56,"../vertex_array_type":60,"point-geometry":26,"vector-tile":34}],51:[function(require,module,exports){ +"use strict";var AttributeType={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT"},Buffer=function(e,t,r){this.arrayBuffer=e.arrayBuffer,this.length=e.length,this.attributes=t.members,this.itemSize=t.bytesPerElement,this.type=r,this.arrayType=t};Buffer.fromStructArray=function(e,t){return new Buffer(e.serialize(),e.constructor.serialize(),t)},Buffer.prototype.bind=function(e){var t=e[this.type];this.buffer?e.bindBuffer(t,this.buffer):(this.gl=e,this.buffer=e.createBuffer(),e.bindBuffer(t,this.buffer),e.bufferData(t,this.arrayBuffer,e.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.setVertexAttribPointers=function(e,t,r){for(var f=this,i=0;i0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),"viewport"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return u}; +},{"../util/util":212,"./extent":54}],57:[function(require,module,exports){ +"use strict";var createStructArrayType=require("../util/struct_array"),PosArray=createStructArrayType({members:[{name:"a_pos",type:"Int16",components:2}]});module.exports=PosArray; +},{"../util/struct_array":210}],58:[function(require,module,exports){ +"use strict";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+"-","").replace(/-/g,"_"));var i="color"===r._paintSpecifications[t.property].type;return util.extend({name:"a_"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=require("./vertex_array_type"),util=require("../util/util"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=""};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(t&&t.hasOwnProperty("lng")&&t.hasOwnProperty("lat"))return new LngLat(t.lng,t.lat);if(Array.isArray(t)&&2===t.length)return new LngLat(t[0],t[1]);throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]")},module.exports=LngLat; +},{"../util/util":212}],63:[function(require,module,exports){ +"use strict";var LngLat=require("./lng_lat"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds; +},{"./lng_lat":62}],64:[function(require,module,exports){ +"use strict";var LngLat=require("./lng_lat"),Point=require("point-geometry"),Coordinate=require("./coordinate"),util=require("../util/util"),interp=require("../util/interpolate"),TileCoord=require("../source/tile_coord"),EXTENT=require("../data/extent"),glmatrix=require("@mapbox/gl-matrix"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){var i=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-i)*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o))},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var o=0,e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(o-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r,n,s,a,h=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),i=this.latY(this.latRange[0]),r=i-ti&&(a=i-l)}if(this.lngRange){var u=this.x,f=h.x/2;u-fe&&(s=e-f)}void 0===s&&void 0===a||(this.center=this.unproject(new Point(void 0!==s?s:this.x,void 0!==a?a:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),e=Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance,r=1.01*e,n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),n=mat4.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error("failed to invert matrix");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform; +},{"../data/extent":54,"../source/tile_coord":94,"../util/interpolate":204,"../util/util":212,"./coordinate":61,"./lng_lat":62,"@mapbox/gl-matrix":1,"point-geometry":26}],65:[function(require,module,exports){ +"use strict";var browser=require("./util/browser"),mapboxgl=module.exports={};mapboxgl.version=require("../package.json").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=require("./ui/map"),mapboxgl.NavigationControl=require("./ui/control/navigation_control"),mapboxgl.GeolocateControl=require("./ui/control/geolocate_control"),mapboxgl.AttributionControl=require("./ui/control/attribution_control"),mapboxgl.ScaleControl=require("./ui/control/scale_control"),mapboxgl.FullscreenControl=require("./ui/control/fullscreen_control"),mapboxgl.Popup=require("./ui/popup"),mapboxgl.Marker=require("./ui/marker"),mapboxgl.Style=require("./style/style"),mapboxgl.LngLat=require("./geo/lng_lat"),mapboxgl.LngLatBounds=require("./geo/lng_lat_bounds"),mapboxgl.Point=require("point-geometry"),mapboxgl.Evented=require("./util/evented"),mapboxgl.supported=require("./util/browser").supported;var config=require("./util/config");mapboxgl.config=config;var rtlTextPlugin=require("./source/rtl_text_plugin");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,"accessToken",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}}); +},{"../package.json":43,"./geo/lng_lat":62,"./geo/lng_lat_bounds":63,"./source/rtl_text_plugin":90,"./style/style":146,"./ui/control/attribution_control":173,"./ui/control/fullscreen_control":174,"./ui/control/geolocate_control":175,"./ui/control/navigation_control":177,"./ui/control/scale_control":178,"./ui/map":187,"./ui/marker":188,"./ui/popup":189,"./util/browser":192,"./util/config":196,"./util/evented":200,"point-geometry":26}],66:[function(require,module,exports){ +"use strict";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint["background-color"],l=e.paint["background-pattern"],u=e.paint["background-opacity"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram("fillPattern",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram("fill",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var c=i.coveringTiles({tileSize:n}),g=0,p=c;g":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]}; +},{"../data/buffer":51,"../data/extent":54,"../data/pos_array":57,"../util/browser":192,"./vertex_array_object":80,"@mapbox/gl-matrix":1}],70:[function(require,module,exports){ +"use strict";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint["fill-pattern"]&&r.isPaintValueFeatureConstant("fill-color")&&r.isPaintValueFeatureConstant("fill-opacity")&&1===r.paint["fill-color"][3]&&1===r.paint["fill-opacity"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint["fill-antialias"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty("fill-outline-color")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint["raster-fade-duration"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=require("../util/util");module.exports=drawRaster; +},{"../util/util":212}],74:[function(require,module,exports){ +"use strict";function drawSymbols(e,t,a,i){if(!e.isOpaquePass){var o=!(a.layout["text-allow-overlap"]||a.layout["icon-allow-overlap"]||a.layout["text-ignore-placement"]||a.layout["icon-ignore-placement"]),r=e.gl;o?r.disable(r.STENCIL_TEST):r.enable(r.STENCIL_TEST),e.setDepthSublayer(0),e.depthMask(!1),drawLayerSymbols(e,t,a,i,!1,a.paint["icon-translate"],a.paint["icon-translate-anchor"],a.layout["icon-rotation-alignment"],a.layout["icon-rotation-alignment"],a.layout["icon-size"]),drawLayerSymbols(e,t,a,i,!0,a.paint["text-translate"],a.paint["text-translate-anchor"],a.layout["text-rotation-alignment"],a.layout["text-pitch-alignment"],a.layout["text-size"]),t.map.showCollisionBoxes&&drawCollisionDebug(e,t,a,i)}}function drawLayerSymbols(e,t,a,i,o,r,n,l,s,u){if(o||!e.style.sprite||e.style.sprite.loaded()){var f=e.gl,m="map"===l,p="map"===s,c=p;c?f.enable(f.DEPTH_TEST):f.disable(f.DEPTH_TEST);for(var d,_,h=0,g=i;hthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);a<=t?r.opacities[a]=r.changeOpacities[a]+o:r.opacities[a]=r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory; +},{}],76:[function(require,module,exports){ +"use strict";var util=require("../util/util"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(",")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1,a=128;if(this.nextRow+s>this.height)return util.warnOnce("LineAtlas out of space"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);var t=8,i=1/t;r.blendColor(i,i,i,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s="#define MAPBOX_GL_JS\n#define DEVICE_PIXEL_RATIO "+browser.devicePixelRatio.toFixed(1)+"\n";this._showOverdrawInspector&&(s+="#define OVERDRAW_INSPECTOR;\n");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,"fragment"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,"vertex"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)}; +},{"../source/pixels_to_tile_units":87}],79:[function(require,module,exports){ +"use strict";var path=require("path");module.exports={prelude:{fragmentSource:"#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n",vertexSource:"#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\n if (t < 1.0) {\n return mix(values[0], values[1], t);\n } else if (t < 2.0) {\n return mix(values[1], values[2], t - 1.0);\n } else {\n return mix(values[2], values[3], t - 2.0);\n }\n}\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\n if (t < 1.0) {\n return mix(value0, value1, t);\n } else if (t < 2.0) {\n return mix(value1, value2, t - 1.0);\n } else {\n return mix(value2, value3, t - 2.0);\n }\n}\n\n\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\n// [ floor(color.r * 255) * 256 + color.g * 255,\n// floor(color.b * 255) * 256 + color.g * 255 ]\nvec4 decode_color(const vec2 encodedColor) {\n float r = floor(encodedColor[0]/256.0)/255.0;\n float g = (encodedColor[0] - r*256.0*255.0)/255.0;\n float b = floor(encodedColor[1]/256.0)/255.0;\n float a = (encodedColor[1] - b*256.0*255.0)/255.0;\n return vec4(r, g, b, a);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\n return mix(packedValue[0], packedValue[1], t);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\n return mix(minColor, maxColor, t);\n}\n\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\n// vec2 offset = mod(pixel_coord, size)\n//\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\n//\n// The pixel_coord is passed in as two 16 bit values:\n// pixel_coord_upper = floor(pixel_coord / 2^16)\n// pixel_coord_lower = mod(pixel_coord, 2^16)\n//\n// The offset is calculated in a series of steps that should preserve this precision:\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\n\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\n return (tile_units_to_pixels * pos + offset) / pattern_size;\n}\n"},circle:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n float extrude_length = length(v_extrude);\n float antialiased_blur = -max(blur, v_antialiasblur);\n\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\n\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\n antialiased_blur,\n 0.0,\n extrude_length - radius / (radius + stroke_width)\n );\n\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform vec2 u_extrude_scale;\n\nattribute vec2 a_pos;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\n\nvarying vec2 v_extrude;\nvarying lowp float v_antialiasblur;\n\nvoid main(void) {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize mediump float radius\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp vec4 stroke_color\n #pragma mapbox: initialize mediump float stroke_width\n #pragma mapbox: initialize lowp float stroke_opacity\n\n // unencode the extrusion vector that we snuck into the a_pos vector\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n // in extrusion data\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\n\n if (u_scale_with_map) {\n gl_Position.xy += extrude;\n } else {\n gl_Position.xy += extrude * gl_Position.w;\n }\n\n // This is a minimum blur distance that serves as a faux-antialiasing for\n // the circle. since blur is a ratio of the circle's size and the intent is\n // to keep the blur at roughly 1px, the two are inversely related.\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\n}\n"},collisionBox:{fragmentSource:"uniform float u_zoom;\nuniform float u_maxzoom;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n\n float alpha = 0.5;\n\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\n\n if (v_placement_zoom > u_zoom) {\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n }\n\n if (u_zoom >= v_max_zoom) {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\n }\n\n if (v_placement_zoom >= u_maxzoom) {\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\n }\n}\n",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_data;\n\nuniform mat4 u_matrix;\nuniform float u_scale;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\n\n v_max_zoom = a_data.x;\n v_placement_zoom = a_data.y;\n}\n"},debug:{fragmentSource:"uniform lowp vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fillOutline:{fragmentSource:"#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = smoothstep(1.0, 0.0, dist);\n gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillOutlinePattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n // find distance to outline for alpha interpolation\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = smoothstep(1.0, 0.0, dist);\n\n\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\n}\n"},fillExtrusion:{fragmentSource:"varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize lowp vec4 color\n\n gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define lowp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize lowp vec4 color\n\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\n float t = mod(a_normal.x, 2.0);\n\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n // Relative luminance (how dark/bright is the surface color?)\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n // Add slight ambient lighting so no extrusions are totally black\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n color += ambientlight;\n\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n // Adjust directional so that\n // the range of values for highlight/shading is narrower\n // with lower light intensity\n // and with lighter/brighter surface colors\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n // Add gradient along z axis of side surfaces\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n // with lower bounds adjusted to hue of light\n // so that shading is tinted with the complementary (opposite) color to the light color\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n"},fillExtrusionPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n vec4 mixedColor = mix(color1, color2, u_mix);\n\n gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec3 a_normal;\nattribute float a_edgedistance;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n float t = mod(a_normal.x, 2.0);\n float z = t > 0.0 ? height : base;\n\n gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\n ? a_pos // extrusion top\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\n\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\n\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n if (a_normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n"},extrusionTexture:{fragmentSource:"uniform sampler2D u_texture;\nuniform float u_opacity;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_texture, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform int u_xdim;\nuniform int u_ydim;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n v_pos.x = a_pos.x / float(u_xdim);\n v_pos.y = 1.0 - a_pos.y / float(u_ydim);\n}\n"},line:{fragmentSource:"#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n"},linePattern:{fragmentSource:"uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\n\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform mediump float u_width;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float offset\n #pragma mapbox: initialize mediump float gapwidth\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset; \n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_linesofar = a_linesofar;\n v_width2 = vec2(outset, inset);\n}\n"},lineSDF:{fragmentSource:"\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec2 a_pos;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\nuniform mediump float u_width;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float gapwidth\n #pragma mapbox: initialize lowp float offset\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n // We store the texture normals in the most insignificant bit\n // transform y so that 0 => -1 and 1 => 1\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = mod(a_pos, 2.0);\n normal.y = sign(normal.y - 0.5);\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases. \n // moved them into the shader for clarity and simplicity. \n gapwidth = gapwidth / 2.0;\n float width = u_width / 2.0;\n offset = -1.0 * offset;\n \n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist =outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n // Remove the texture normal bit to get the position\n vec2 pos = floor(a_pos * 0.5);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n v_width2 = vec2(outset, inset);\n}\n" +},raster:{fragmentSource:"uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n // read and cross-fade colors from the main and parent tiles\n vec4 color0 = texture2D(u_image0, v_pos0);\n vec4 color1 = texture2D(u_image1, v_pos1);\n vec4 color = mix(color0, color1, u_fade_t);\n color.a *= u_opacity;\n vec3 rgb = color.rgb;\n\n // spin\n rgb = vec3(\n dot(rgb, u_spin_weights.xyz),\n dot(rgb, u_spin_weights.zxy),\n dot(rgb, u_spin_weights.yzx));\n\n // saturation\n float average = (color.r + color.g + color.b) / 3.0;\n rgb += (average - rgb) * u_saturation_factor;\n\n // contrast\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n // brightness\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n"},symbolIcon:{fragmentSource:"uniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\nattribute vec4 a_pos_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n#pragma mapbox: define lowp float opacity\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_texture_pos.xy;\n mediump float a_labelminzoom = a_data[0];\n mediump vec2 a_zoom = a_data.pq;\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n // u_zoom is the current zoom level adjusted for the change in font size\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n if (u_rotate_with_map) {\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n } else {\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n"},symbolSDF:{fragmentSource:"#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\n#pragma mapbox: define lowp vec4 fill_color\n#pragma mapbox: define lowp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\nuniform sampler2D u_texture;\nuniform sampler2D u_fadetexture;\nuniform lowp float u_font_scale;\nuniform highp float u_gamma_scale;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 fill_color\n #pragma mapbox: initialize lowp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / u_gamma_scale;\n lowp float buff = (256.0 - 64.0) / 256.0;\n if (u_is_halo) {\n color = halo_color;\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / u_gamma_scale;\n buff = (6.0 - halo_width / u_font_scale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, v_tex).a;\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\n highp float gamma_scaled = gamma * v_gamma_scale;\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec2 a_texture_pos;\nattribute vec4 a_data;\n\n#pragma mapbox: define lowp vec4 fill_color\n#pragma mapbox: define lowp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n\n// matrix is for the vertex position.\nuniform mat4 u_matrix;\n\nuniform mediump float u_zoom;\nuniform bool u_rotate_with_map;\nuniform bool u_pitch_with_map;\nuniform mediump float u_pitch;\nuniform mediump float u_bearing;\nuniform mediump float u_aspect_ratio;\nuniform vec2 u_extrude_scale;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying vec2 v_fade_tex;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize lowp vec4 fill_color\n #pragma mapbox: initialize lowp vec4 halo_color\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize lowp float halo_width\n #pragma mapbox: initialize lowp float halo_blur\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_texture_pos.xy;\n mediump float a_labelminzoom = a_data[0];\n mediump vec2 a_zoom = a_data.pq;\n mediump float a_minzoom = a_zoom[0];\n mediump float a_maxzoom = a_zoom[1];\n\n // u_zoom is the current zoom level adjusted for the change in font size\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\n\n // pitch-alignment: map\n // rotation-alignment: map | viewport\n if (u_pitch_with_map) {\n lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\n vec2 offset = RotationMatrix * a_offset;\n vec2 extrude = u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: map\n } else if (u_rotate_with_map) {\n // foreshortening factor to apply on pitched maps\n // as a label goes from horizontal <=> vertical in angle\n // it goes from 0% foreshortening to up to around 70% foreshortening\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\n\n lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\n\n // use the lineangle to position points a,b along the line\n // project the points and calculate the label angle in projected space\n // this calculation allows labels to be rendered unskewed on pitched maps\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\n lowp float asin = sin(angle);\n lowp float acos = cos(angle);\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\n\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\n vec2 extrude = u_extrude_scale * (offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n gl_Position.z += z * gl_Position.w;\n // pitch-alignment: viewport\n // rotation-alignment: viewport\n } else {\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\n }\n\n v_gamma_scale = gl_Position.w;\n\n v_tex = a_tex / u_texsize;\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\n}\n"}}; +},{"path":23}],80:[function(require,module,exports){ +"use strict";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,o){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension("OES_vertex_array_object"));var s=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==o;!e.extVertexArrayObject||s?(this.freshBind(e,t,r,i,n,o),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,o){var s,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),s=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=o;else{s=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send("loadTile",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send("removeTile",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast("removeSource",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource; +},{"../data/extent":54,"../util/evented":200,"../util/util":212,"../util/window":194}],83:[function(require,module,exports){ +"use strict";var ajax=require("../util/ajax"),rewind=require("geojson-rewind"),GeoJSONWrapper=require("./geojson_wrapper"),vtpbf=require("vt-pbf"),supercluster=require("supercluster"),geojsonvt=require("geojson-vt"),VectorTileWorkerSource=require("./vector_tile_worker_source"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name="_geojsonTileLayer";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):"object"!=typeof o?r(new Error("Input data is not a valid GeoJSON object.")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if("string"!=typeof e.data)return r(new Error("Input data is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error("Input data is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource; +},{"../util/ajax":191,"./geojson_wrapper":84,"./vector_tile_worker_source":96,"geojson-rewind":7,"geojson-vt":11,"supercluster":29,"vt-pbf":38}],84:[function(require,module,exports){ +"use strict";var Point=require("point-geometry"),VectorTileFeature=require("vector-tile").VectorTileFeature,EXTENT=require("../data/extent"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;a=i._tiles[d],a&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var t=Math.ceil(e.width/e.tileSize)+1,o=Math.ceil(e.height/e.tileSize)+1,i=t*o,r=5;this._cache.setMaxSize(Math.floor(i*r))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(u=this.used?this._source.coord?[this._source.coord]:e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}):[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),a=o.findLoadedParent(r,d,l),a&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire("dataloading",{tile:t,coord:t.coord,dataType:"source"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,"expired"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-(1/0),n=-(1/0),d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTimei.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e="",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=t:this.dispatcher.send("reloadTile",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send("loadTile",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send("abortTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send("removeTile",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource; +},{"../util/evented":200,"../util/mapbox":208,"../util/util":212,"./load_tilejson":86}],96:[function(require,module,exports){ +"use strict";var ajax=require("../util/ajax"),vt=require("vector-tile"),Protobuf=require("pbf"),WorkerTile=require("./worker_tile"),util=require("../util/util"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];"parsing"===l.status?l.reloadCallback=r:"done"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var a=t[i],l=a.redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource; +},{"../util/ajax":191,"../util/util":212,"./worker_tile":99,"pbf":25,"vector-tile":34}],97:[function(require,module,exports){ +"use strict";var ajax=require("../util/ajax"),ImageSource=require("./image_source"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type="video",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire("error",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener("playing",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener("pause",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},e}(ImageSource);module.exports=VideoSource; +},{"../util/ajax":191,"./image_source":85}],98:[function(require,module,exports){ +"use strict";var Actor=require("../util/actor"),StyleLayerIndex=require("../style/style_layer_index"),VectorTileWorkerSource=require("./vector_tile_worker_source"),GeoJSONWorkerSource=require("./geojson_worker_source"),globalRTLTextPlugin=require("./rtl_text_plugin"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name "'+e+'" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error("RTL text plugin already registered.");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)}; +},{"../style/style_layer_index":154,"../util/actor":190,"./geojson_worker_source":83,"./rtl_text_plugin":90,"./vector_tile_worker_source":96}],99:[function(require,module,exports){ +"use strict";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&"none"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(D++,2===D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r"===i||"<="===i||">="===i?compileComparisonOp(e[1],e[2],i,!0):"any"===i?compileLogicalOp(e.slice(1),"||"):"all"===i?compileLogicalOp(e.slice(1),"&&"):"none"===i?compileNegation(compileLogicalOp(e.slice(1),"||")):"in"===i?compileInOp(e[1],e.slice(2)):"!in"===i?compileNegation(compileInOp(e[1],e.slice(2))):"has"===i?compileHasOp(e[1]):"!has"===i?compileNegation(compileHasOp(e[1])):"true";return"("+n+")"}function compilePropertyReference(e){return"$type"===e?"f.type":"$id"===e?"f.id":"p["+JSON.stringify(e)+"]"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t="$type"===e?types.indexOf(i):JSON.stringify(i);return(r?"typeof "+o+"=== typeof "+t+"&&":"")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){"$type"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+".indexOf("+r+") !== -1":"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }("+r+", "+n+",0,"+(i.length-1)+")"}function compileHasOp(e){return"$id"===e?'"id" in f':JSON.stringify(e)+" in p"}function compileNegation(e){return"!("+e+")"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=["Unknown","Point","LineString","Polygon"]; +},{}],104:[function(require,module,exports){ +"use strict";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn),g=xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn);return[116*o-16,500*(b-o),200*(o-g),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1],n=r[2];return labToRgb([n,Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}}; +},{}],105:[function(require,module,exports){ +"use strict";function identityFunction(t){return t}function createFunction(t,e){var o,n="color"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&"object"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||("interpolated"===e.function?"exponential":"interval");n&&(t=extend({},t),t.stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if("exponential"===s)u=evaluateExponentialFunction;else if("interval"===s)u=evaluateIntervalFunction;else if("categorical"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=binarySearchForIndex(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if("number"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=binarySearchForIndex(t.stops,o);return interpolate(o,n,t.stops[a][0],t.stops[a+1][0],t.stops[a][1],t.stops[a+1][1])}function evaluateIdentityFunction(t,e,o){return"color"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function binarySearchForIndex(t,e){for(var o,n,r=t.length,a=0,i=r-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e>=o&&ee&&(i=s-1)}return Math.max(s-1,0)}function interpolate(t,e,o,n,r,a){return"function"==typeof r?function(){var i=r.apply(void 0,arguments),s=a.apply(void 0,arguments);if(void 0!==i&&void 0!==s)return interpolate(t,e,o,n,i,s)}:r.length?interpolateArray(t,e,o,n,r,a):interpolateNumber(t,e,o,n,r,a)}function interpolateNumber(t,e,o,n,r,a){var i,s=n-o,u=t-o;return i=1===e?u/s:(Math.pow(e,u)-1)/(Math.pow(e,s)-1),r*(1-i)+a*i}function interpolateArray(t,e,o,n,r,a){for(var i=[],s=0;s255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte("%"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float("%"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,"").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if("#"===r[0]){if(4===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null}if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf("("),t=r.indexOf(")");if(a!==-1&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(","),o=1;switch(n){case"rgba":if(4!==s.length)return null;o=parse_css_float(s.pop());case"rgb":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case"hsla":if(4!==s.length)return null;o=parse_css_float(s.pop());case"hsl":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){} +},{}],108:[function(require,module,exports){ +function sss(r){var e,t,s,n,u,a;switch(typeof r){case"object":if(null===r)return null;if(isArray(r)){for(s="[",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+"]"}for(n=objKeys(r).sort(),t=n.length,s="{",u=n[e=0],a=t>0&&void 0!==r[u];e15?"\\u00"+e.toString(16):"\\u000"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return""+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace; +},{}],109:[function(require,module,exports){ +function isObjectLike(r){return!!r&&"object"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function isObjectLike(t){return!!t&&"object"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",funcTag="[object Function]",genTag="[object GeneratorFunction]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments; +},{}],113:[function(require,module,exports){ +function isObjectLike(t){return!!t&&"object"==typeof t}function getNative(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}function isLength(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&("object"==r||"function"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var arrayTag="[object Array]",funcTag="[object Function]",reIsHostCtor=/^\[object .+?Constructor\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp("^"+fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nativeIsArray=getNative(Array,"isArray"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(t){return isObjectLike(t)&&isLength(t.length)&&objToString.call(t)==arrayTag};module.exports=isArray; +},{}],114:[function(require,module,exports){ +function isEqual(a,l,i,e){i="function"==typeof i?bindCallback(i,e,3):void 0;var s=i?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=require("lodash._baseisequal"),bindCallback=require("lodash._bindcallback");module.exports=isEqual; +},{"lodash._baseisequal":109,"lodash._bindcallback":110}],115:[function(require,module,exports){ +function isLength(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&"object"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]}var MAX_SAFE_INTEGER=9007199254740991,argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objectToString=objectProto.toString;module.exports=isTypedArray; +},{}],116:[function(require,module,exports){ +function baseProperty(e){return function(t){return null==t?void 0:t[e]}}function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e="number"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n":{},">=":{},"<":{},"<=":{},"in":{},"!in":{},"all":{},"any":{},"none":{},"has":{},"!has":{}}},"geometry_type":{"type":"enum","values":{"Point":{},"LineString":{},"Polygon":{}}},"function":{"stops":{"type":"array","value":"function_stop"},"base":{"type":"number","default":1,"minimum":0},"property":{"type":"string","default":"$zoom"},"type":{"type":"enum","values":{"identity":{},"exponential":{},"interval":{},"categorical":{}},"default":"exponential"},"colorSpace":{"type":"enum","values":{"rgb":{},"lab":{},"hcl":{}},"default":"rgb"},"default":{"type":"*","required":false}},"function_stop":{"type":"array","minimum":0,"maximum":22,"value":["number","color"],"length":2},"light":{"anchor":{"type":"enum","default":"viewport","values":{"map":{},"viewport":{}},"transition":false},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","transition":true,"function":"interpolated","zoom-function":true,"property-function":false},"color":{"type":"color","default":"#ffffff","function":"interpolated","zoom-function":true,"property-function":false,"transition":true},"intensity":{"type":"number","default":0.5,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":false,"transition":true}},"paint":["paint_fill","paint_line","paint_circle","paint_fill-extrusion","paint_symbol","paint_raster","paint_background"],"paint_fill":{"fill-antialias":{"type":"boolean","function":"piecewise-constant","zoom-function":true,"default":true},"fill-opacity":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":1,"minimum":0,"maximum":1,"transition":true},"fill-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"fill-pattern"}]},"fill-outline-color":{"type":"color","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"fill-pattern"},{"fill-antialias":true}]},"fill-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"fill-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["fill-translate"]},"fill-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true}},"paint_fill-extrusion":{"fill-extrusion-opacity":{"type":"number","function":"interpolated","zoom-function":true,"property-function":false,"default":1,"minimum":0,"maximum":1,"transition":true},"fill-extrusion-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"fill-extrusion-pattern"}]},"fill-extrusion-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"fill-extrusion-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["fill-extrusion-translate"]},"fill-extrusion-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true},"fill-extrusion-height":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":0,"minimum":0,"units":"meters","transition":true},"fill-extrusion-base":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":0,"minimum":0,"units":"meters","transition":true,"requires":["fill-extrusion-height"]}},"paint_line":{"line-opacity":{"type":"number","function":"interpolated","zoom-function":true,"property-function":true,"default":1,"minimum":0,"maximum":1,"transition":true},"line-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":[{"!":"line-pattern"}]},"line-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"line-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["line-translate"]},"line-width":{"type":"number","default":1,"minimum":0,"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"line-gap-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"line-offset":{"type":"number","default":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"line-blur":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"line-dasharray":{"type":"array","value":"number","function":"piecewise-constant","zoom-function":true,"minimum":0,"transition":true,"units":"line widths","requires":[{"!":"line-pattern"}]},"line-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true}},"paint_circle":{"circle-radius":{"type":"number","default":5,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"circle-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-blur":{"type":"number","default":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels"},"circle-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["circle-translate"]},"circle-pitch-scale":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map"},"circle-stroke-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels"},"circle-stroke-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true},"circle-stroke-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true}},"paint_symbol":{"icon-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["icon-image"]},"icon-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["icon-image"]},"icon-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["icon-image"]},"icon-halo-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["icon-image"]},"icon-halo-blur":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["icon-image"]},"icon-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels","requires":["icon-image"]},"icon-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["icon-image","icon-translate"]},"text-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["text-field"]},"text-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["text-field"]},"text-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"requires":["text-field"]},"text-halo-width":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["text-field"]},"text-halo-blur":{"type":"number","default":0,"minimum":0,"function":"interpolated","zoom-function":true,"property-function":true,"transition":true,"units":"pixels","requires":["text-field"]},"text-translate":{"type":"array","value":"number","length":2,"default":[0,0],"function":"interpolated","zoom-function":true,"transition":true,"units":"pixels","requires":["text-field"]},"text-translate-anchor":{"type":"enum","function":"piecewise-constant","zoom-function":true,"values":{"map":{},"viewport":{}},"default":"map","requires":["text-field","text-translate"]}},"paint_raster":{"raster-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true},"raster-hue-rotate":{"type":"number","default":0,"period":360,"function":"interpolated","zoom-function":true,"transition":true,"units":"degrees"},"raster-brightness-min":{"type":"number","function":"interpolated","zoom-function":true,"default":0,"minimum":0,"maximum":1,"transition":true},"raster-brightness-max":{"type":"number","function":"interpolated","zoom-function":true,"default":1,"minimum":0,"maximum":1,"transition":true},"raster-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true},"raster-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true},"raster-fade-duration":{"type":"number","default":300,"minimum":0,"function":"interpolated","zoom-function":true,"transition":true,"units":"milliseconds"}},"paint_background":{"background-color":{"type":"color","default":"#000000","function":"interpolated","zoom-function":true,"transition":true,"requires":[{"!":"background-pattern"}]},"background-pattern":{"type":"string","function":"piecewise-constant","zoom-function":true,"transition":true},"background-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"function":"interpolated","zoom-function":true,"transition":true}},"transition":{"duration":{"type":"number","default":300,"minimum":0,"units":"milliseconds"},"delay":{"type":"number","default":0,"minimum":0,"units":"milliseconds"}}} +},{}],119:[function(require,module,exports){ +"use strict";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,"constants have been deprecated as of v8")];if(!(a in l.constants))return[new ValidationError(u,a,'constant "%s" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&"object"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))}; +},{"../error/validation_error":102,"../util/extend":119,"../util/get_type":120,"./validate_array":125,"./validate_boolean":126,"./validate_color":127,"./validate_constants":128,"./validate_enum":129,"./validate_filter":130,"./validate_function":131,"./validate_layer":133,"./validate_light":135,"./validate_number":136,"./validate_object":137,"./validate_source":140,"./validate_string":141}],125:[function(require,module,exports){ +"use strict";var getType=require("../util/get_type"),validate=require("./validate"),ValidationError=require("../error/validation_error");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if("array"!==getType(r))return[new ValidationError(l,r,"array expected, %s found",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,"array length %d expected, length %d found",t.length,r.length)];if(t["min-length"]&&r.length7)return t?[new ValidationError(e,t,"constants have been deprecated as of v8")]:[];var o=getType(t);if("object"!==o)return[new ValidationError(e,t,"object expected, %s found",o)];var n=[];for(var i in t)"@"!==i[0]&&n.push(new ValidationError(e+"."+i,t[i],'constants must start with "@"'));return n}; +},{"../error/validation_error":102,"../util/get_type":120}],129:[function(require,module,exports){ +"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?u.values.indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",u.values.join(", "),n)):Object.keys(u.values).indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,"expected one of [%s], %s found",Object.keys(u.values).join(", "),n)),o}; +},{"../error/validation_error":102,"../util/unbundle_jsonlint":123}],130:[function(require,module,exports){ +"use strict";var ValidationError=require("../error/validation_error"),validateEnum=require("./validate_enum"),getType=require("../util/get_type"),unbundle=require("../util/unbundle_jsonlint");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if("array"!==getType(a))return[new ValidationError(n,a,"array expected, %s found",getType(a))];if(a.length<1)return[new ValidationError(n,a,"filter array must have at least 1 element")];switch(s=s.concat(validateEnum({key:n+"[0]",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case"<":case"<=":case">":case">=":a.length>=2&&"$type"===unbundle(a[1])&&s.push(new ValidationError(n,a,'"$type" cannot be use with operator "%s"',a[0]));case"==":case"!=":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator "%s" must have 3 elements',a[0]));case"in":case"!in":a.length>=2&&(t=getType(a[1]),"string"!==t&&s.push(new ValidationError(n+"[1]",a[1],"string expected, %s found",t)));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,"stop zoom values must appear in ascending order")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+"[0]",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+"[0]",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+"[1]",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,"%s stop domain type must match previous stop domain type %s",t,n)]}else n=t;if("number"!==t&&"string"!==t&&"boolean"!==t)return[new ValidationError(e.key,e.value,"stop domain value must be a number, string, or boolean")];if("number"!==t&&"categorical"!==p){var a="number expected, %s found";return u["property-function"]&&void 0===p&&(a+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new ValidationError(e.key,e.value,a,t)]}return"categorical"!==p||"number"!==t||isFinite(r)&&Math.floor(r)===r?"number"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec["property-function"]?v.push(new ValidationError(e.key,e.value,"property functions not supported")):y&&!e.valueSpec["zoom-function"]&&v.push(new ValidationError(e.key,e.value,"zoom functions not supported"))),"categorical"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'"property" property is required')),v}; +},{"../error/validation_error":102,"../util/get_type":120,"../util/unbundle_jsonlint":123,"./validate":124,"./validate_array":125,"./validate_number":136,"./validate_object":137}],132:[function(require,module,exports){ +"use strict";var ValidationError=require("../error/validation_error"),validateString=require("./validate_string");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(e.indexOf("{fontstack}")===-1&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{fontstack}" token')),e.indexOf("{range}")===-1&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{range}" token')),a)}; +},{"../error/validation_error":102,"./validate_string":141}],133:[function(require,module,exports){ +"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint"),validateObject=require("./validate_object"),validateFilter=require("./validate_filter"),validatePaintProperty=require("./validate_paint_property"),validateLayoutProperty=require("./validate_layout_property"),extend=require("../util/extend");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either "type" or "ref" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,"%s is greater than the maximum value %s",i,m.maximum)]:[]}; +},{"../error/validation_error":102,"../util/get_type":120}],137:[function(require,module,exports){ +"use strict";var ValidationError=require("../error/validation_error"),getType=require("../util/get_type"),validateSpec=require("./validate");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if("object"!==u)return[new ValidationError(r,t,"object expected, %s found",u)];for(var d in t){var p=d.split(".")[0],s=i[p]||i["*"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a["*"])c=a["*"];else{if(!i["*"]){n.push(new ValidationError(r,t[d],'unknown property "%s"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+".":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property "%s"',v));return n}; +},{"../error/validation_error":102,"../util/get_type":120,"./validate":124}],138:[function(require,module,exports){ +"use strict";var validateProperty=require("./validate_property");module.exports=function(r){return validateProperty(r,"paint")}; +},{"./validate_property":139}],139:[function(require,module,exports){ +"use strict";var validate=require("./validate"),ValidationError=require("../error/validation_error"),getType=require("../util/get_type");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+"_"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if("paint"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property "%s"',o)];var s;if("string"===getType(n)&&p["property-function"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'"%s" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return"symbol"===e.layerType&&"text-field"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of "text-field" requires a style "glyphs" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))}; +},{"../error/validation_error":102,"../util/get_type":120,"./validate":124}],140:[function(require,module,exports){ +"use strict";var ValidationError=require("../error/validation_error"),unbundle=require("../util/unbundle_jsonlint"),validateObject=require("./validate_object"),validateEnum=require("./validate_enum");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'"type" is required')];var u=unbundle(a.type),i=[];switch(u){case"vector":case"raster":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),"url"in a)for(var s in a)["type","url","tileSize"].indexOf(s)<0&&i.push(new ValidationError(t+"."+s,a[s],'a source with a "url" property may not include a "%s" property',s));return i;case"geojson":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case"video":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case"image":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case"canvas":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+".type",value:a.type,valueSpec:{values:["vector","raster","geojson","video","image","canvas"]},style:l,styleSpec:r})}}; +},{"../error/validation_error":102,"../util/unbundle_jsonlint":123,"./validate_enum":129,"./validate_object":137}],141:[function(require,module,exports){ +"use strict";var getType=require("../util/get_type"),ValidationError=require("../error/validation_error");module.exports=function(r){var e=r.value,t=r.key,i=getType(e);return"string"!==i?[new ValidationError(t,e,"string expected, %s found",i)]:[]}; +},{"../error/validation_error":102,"../util/get_type":120}],142:[function(require,module,exports){ +"use strict";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:"",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,"*":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:"constants",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=require("./validate/validate_constants"),validate=require("./validate/validate"),latestStyleSpec=require("./reference/latest"),validateGlyphsURL=require("./validate/validate_glyphs_url");validateStyleMin.source=wrapCleanErrors(require("./validate/validate_source")),validateStyleMin.light=wrapCleanErrors(require("./validate/validate_light")),validateStyleMin.layer=wrapCleanErrors(require("./validate/validate_layer")),validateStyleMin.filter=wrapCleanErrors(require("./validate/validate_filter")),validateStyleMin.paintProperty=wrapCleanErrors(require("./validate/validate_paint_property")),validateStyleMin.layoutProperty=wrapCleanErrors(require("./validate/validate_layout_property")),module.exports=validateStyleMin; +},{"./reference/latest":117,"./validate/validate":124,"./validate/validate_constants":128,"./validate/validate_filter":130,"./validate/validate_glyphs_url":132,"./validate/validate_layer":133,"./validate/validate_layout_property":134,"./validate/validate_light":135,"./validate/validate_paint_property":138,"./validate/validate_source":140}],143:[function(require,module,exports){ +"use strict";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop; +},{}],144:[function(require,module,exports){ +"use strict";var Evented=require("../util/evented"),ajax=require("../util/ajax"),browser=require("../util/browser"),normalizeURL=require("../util/mapbox").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function i(i,e){var a=this;t.call(this),this.base=i,this.retina=browser.devicePixelRatio>1,this.setEventedParent(e);var r=this.retina?"@2x":"";ajax.getJSON(normalizeURL(i,r,".json"),function(t,i){return t?void a.fire("error",{error:t}):(a.data=i,void(a.imgData&&a.fire("data",{dataType:"style"})))}),ajax.getImage(normalizeURL(i,r,".png"),function(t,i){if(t)return void a.fire("error",{error:t});a.imgData=browser.getImageData(i);for(var e=0;e1!==this.retina){var e=new i(this.base);e.on("data",function(){t.data=e.data,t.imgData=e.imgData,t.width=e.width,t.retina=e.retina})}},i.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var i=this.data&&this.data[t];return i&&this.imgData?i:new SpritePosition},i}(Evented);module.exports=ImageSprite; +},{"../util/ajax":191,"../util/browser":192,"../util/evented":200,"../util/mapbox":208}],145:[function(require,module,exports){ +"use strict";var styleSpec=require("../style-spec/reference/latest"),util=require("../util/util"),Evented=require("../util/evented"),validateStyle=require("./validate_style"),StyleDeclaration=require("./style_declaration"),StyleTransition=require("./style_transition"),TRANSITION_SUFFIX="-transition",Light=function(t){function i(i){t.call(this),this.properties=["anchor","color","position","intensity"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];"reload"===a?r._reloadSource(s):"clear"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire("data",{dataType:"style"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return"symbol"===r._layers[e].type}):null;this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;e=util.extend({},e),e.layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error("Unimplemented: "+i.map(function(e){return e.command}).join(", ")+".");return r.forEach(function(e){"setTransition"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!t.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(t)+".");var o=["vector","raster","geojson","video","image","canvas"],s=o.indexOf(t.type)>=0;if(!s||!this._validate(validateStyle.source,"sources."+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if("object"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,"layers."+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?"clear":"reload"}this._updateLayer(o),"symbol"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(!r)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")});var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),"symbol"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]="reload"))},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(!t)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")});t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),"symbol"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,"layers."+r.id+".filter",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(!o)return void this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")});if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i);var a=!(r&&MapboxGLFunction.isFunctionDefinition(r)&&"$zoom"!==r.property&&void 0!==r.property);a&&s||this._updateLayer(o),this.updateClasses(e,t)}},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||"all"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]="reload"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||"none"===this.layout.visibility)},i.prototype.updatePaintTransitions=function(t,i,a,e,n){for(var o=this,r=util.extend({},this._paintDeclarations[""]),s=0;s=this.endTime)return e;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((o-this.startTime-this.delay)/this.duration);return this.interp(a,e,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var o=t.zoom,e=this.zoomHistory.lastIntegerZoom,a=o>e?2:.5,n=this.declaration.calculate({zoom:o>e?o-1:o+1},i),r=this.declaration.calculate({zoom:o},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(o-e),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition; +},{"../util/interpolate":204,"../util/util":212}],156:[function(require,module,exports){ +"use strict";module.exports=require("../style-spec/validate_style.min"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(s--,s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;f
r;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle; +},{}],159:[function(require,module,exports){ +"use strict";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=require("point-geometry");module.exports=clipLine; +},{"point-geometry":26}],160:[function(require,module,exports){ +"use strict";var createStructArrayType=require("../util/struct_array"),Point=require("point-geometry"),CollisionBoxArray=createStructArrayType({members:[{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Float32",name:"maxScale"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"},{type:"Int16",name:"bbox0"},{type:"Int16",name:"bbox1"},{type:"Int16",name:"bbox2"},{type:"Int16",name:"bbox3"},{type:"Float32",name:"placementScale"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,"anchorPoint",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray; +},{"../util/struct_array":210,"point-geometry":26}],161:[function(require,module,exports){ +"use strict";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(m--,m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],C=e[m+1],B=C.sub(p)._unit()._mult(g)._add(p)._round(),M=Math.max(Math.abs(c-h)-d/2,0),y=s/2/M;t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature; +},{}],162:[function(require,module,exports){ +"use strict";var Point=require("point-geometry"),EXTENT=require("../data/extent"),Grid=require("grid-index"),intersectionTests=require("../util/intersection_tests"),CollisionTile=function(t,e,i){if("object"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);S=r.tempCollisionBox,S.anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-(1/0),c=-(1/0),g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+c<=s){var M=new Anchor(k,q,y,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=A}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,h)),x}var interpolate=require("../util/interpolate"),Anchor=require("../symbol/anchor"),checkMaxAngle=require("./check_max_angle");module.exports=getAnchors; +},{"../symbol/anchor":157,"../util/interpolate":204,"./check_max_angle":158}],164:[function(require,module,exports){ +"use strict";var ShelfPack=require("@mapbox/shelf-pack"),util=require("../util/util"),SIZE_GROWTH_RATE=4,DEFAULT_SIZE=128,MAX_SIZE=2048,GlyphAtlas=function(){this.width=DEFAULT_SIZE,this.height=DEFAULT_SIZE,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split("#"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+"#"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,n=1,l=a+2*n,T=E+2*n;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce("glyph bitmap overflow"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=MAX_SIZE||e>=MAX_SIZE)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=SIZE_GROWTH_RATE,this.height*=SIZE_GROWTH_RATE,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a("glyphs > 65535 not supported");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var i=256*e+"-"+(256*e+255),r=glyphUrl(t,i,this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},i.prototype.addIcons=function(t,i){for(var e=this,r=0;r1||(b?(clearTimeout(b),b=null,h("dblclick",t)):b=setTimeout(l,300))}function i(e){f("touchmove",e)}function c(e){f("touchend",e)}function d(e){f("touchcancel",e)}function l(){b=null}function s(e){var t=DOM.mousePos(g,e);t.equals(L)&&h("click",e)}function v(e){h("dblclick",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h("contextmenu",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener("mouseout",n,!1),g.addEventListener("mousedown",o,!1),g.addEventListener("mouseup",r,!1),g.addEventListener("mousemove",a,!1),g.addEventListener("touchstart",u,!1),g.addEventListener("touchend",c,!1),g.addEventListener("touchmove",i,!1),g.addEventListener("touchcancel",d,!1),g.addEventListener("click",s,!1),g.addEventListener("dblclick",v,!1),g.addEventListener("contextmenu",m,!1)}; +},{"../util/dom":199,"./handler/box_zoom":179,"./handler/dblclick_zoom":180,"./handler/drag_pan":181,"./handler/drag_rotate":182,"./handler/keyboard":183,"./handler/scroll_zoom":184,"./handler/touch_zoom_rotate":185,"point-geometry":26}],172:[function(require,module,exports){ +"use strict";var util=require("../util/util"),interpolate=require("../util/interpolate"),browser=require("../util/browser"),LngLat=require("../geo/lng_lat"),LngLatBounds=require("../geo/lng_lat_bounds"),Point=require("point-geometry"),Evented=require("../util/evented"),Camera=function(t){function i(i,e){t.call(this),this.moving=!1,this.transform=i,this._bearingSnap=e.bearingSnap}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i),this},i.prototype.panBy=function(t,i,e){return this.panTo(this.transform.center,util.extend({offset:Point.convert(t).mult(-1)},i),e),this},i.prototype.panTo=function(t,i,e){return this.easeTo(util.extend({center:t},i),e)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,i){return this.jumpTo({zoom:t},i),this},i.prototype.zoomTo=function(t,i,e){return this.easeTo(util.extend({zoom:t},i),e)},i.prototype.zoomIn=function(t,i){return this.zoomTo(this.getZoom()+1,t,i),this},i.prototype.zoomOut=function(t,i){return this.zoomTo(this.getZoom()-1,t,i),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,i){return this.jumpTo({bearing:t},i),this},i.prototype.rotateTo=function(t,i,e){return this.easeTo(util.extend({bearing:t},i),e)},i.prototype.resetNorth=function(t,i){return this.rotateTo(0,util.extend({duration:1e3},t),i),this},i.prototype.snapToNorth=function(t,i){return Math.abs(this.getBearing())i?1:0}),["bottom","left","right","top"]))return void util.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'");t=LngLatBounds.convert(t);var n=[i.padding.left-i.padding.right,i.padding.top-i.padding.bottom],r=Math.min(i.padding.right,i.padding.left),s=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var a=Point.convert(i.offset),h=this.transform,u=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),c=p.sub(u),g=(h.width-2*r-2*Math.abs(a.x))/c.x,m=(h.height-2*s-2*Math.abs(a.y))/c.y;return m<0||g<0?void util.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset."):(i.center=h.unproject(u.add(p).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,m)),i.maxZoom),i.bearing=0,i.linear?this.easeTo(i,e):this.flyTo(i,e))},i.prototype.jumpTo=function(t,i){this.stop();var e=this.transform,o=!1,n=!1,r=!1;return"zoom"in t&&e.zoom!==+t.zoom&&(o=!0,e.zoom=+t.zoom),"center"in t&&(e.center=LngLat.convert(t.center)),"bearing"in t&&e.bearing!==+t.bearing&&(n=!0,e.bearing=+t.bearing),"pitch"in t&&e.pitch!==+t.pitch&&(r=!0,e.pitch=+t.pitch),this.fire("movestart",i).fire("move",i),o&&this.fire("zoomstart",i).fire("zoom",i).fire("zoomend",i),n&&this.fire("rotate",i),r&&this.fire("pitch",i),this.fire("moveend",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),t=util.extend({offset:[0,0],duration:500,easing:util.ease},t);var o,n,r=this.transform,s=Point.convert(t.offset),a=this.getZoom(),h=this.getBearing(),u=this.getPitch(),p="zoom"in t?+t.zoom:a,c="bearing"in t?this._normalizeBearing(t.bearing,h):h,g="pitch"in t?+t.pitch:u;"center"in t?(o=LngLat.convert(t.center),n=r.centerPoint.add(s)):"around"in t?(o=LngLat.convert(t.around),n=r.locationPoint(o)):(n=r.centerPoint.add(s),o=r.pointLocation(n));var m=r.locationPoint(o);return t.animate===!1&&(t.duration=0),this.zooming=p!==a,this.rotating=h!==c,this.pitching=g!==u,t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration)),t.noMoveStart||(this.moving=!0,this.fire("movestart",i)),this.zooming&&this.fire("zoomstart",i),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(r.zoom=interpolate(a,p,t)),this.rotating&&(r.bearing=interpolate(h,c,t)),this.pitching&&(r.pitch=interpolate(u,g,t)),r.setLocationAtPoint(o,m.add(n.sub(m)._mult(t))),this.fire("move",i),this.zooming&&this.fire("zoom",i),this.rotating&&this.fire("rotate",i),this.pitching&&this.fire("pitch",i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(e._easeToEnd.bind(e,i),t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._easeToEnd=function(t){var i=this.zooming;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire("zoomend",t),this.fire("moveend",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(y*y-z*z+(t?-1:1)*E*E*_*_)/(2*(t?y:z)*E*_);return Math.log(Math.sqrt(i*i+1)-i)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,a=Point.convert(t.offset),h=this.getZoom(),u=this.getBearing(),p=this.getPitch(),c="center"in t?LngLat.convert(t.center):this.getCenter(),g="zoom"in t?+t.zoom:h,m="bearing"in t?this._normalizeBearing(t.bearing,u):u,f="pitch"in t?+t.pitch:p;Math.abs(s.center.lng)+Math.abs(c.lng)>180&&(s.center.lng>0&&c.lng<0?c.lng+=360:s.center.lng<0&&c.lng>0&&(c.lng-=360));var d=s.zoomScale(g-h),l=s.point,v="center"in t?s.project(c).sub(a.div(d)):l,b=t.curve,z=Math.max(s.width,s.height),y=z/d,_=v.sub(l).mag();if("minZoom"in t){var M=util.clamp(Math.min(t.minZoom,h,g),s.minZoom,s.maxZoom),T=z/s.zoomScale(M-h);b=Math.sqrt(T/_*2)}var E=b*b,x=e(0),L=function(t){return n(x)/n(x+b*t)},Z=function(t){return z*((n(x)*r(x+b*t)-o(x))/E)/_},P=(e(1)-x)/b;if(Math.abs(_)<1e-6){if(Math.abs(z-y)<1e-6)return this.easeTo(t,i);var j=y=0)return!1;return!0}),this._container.innerHTML=i.join(" | "),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?"add":"remove"]("compact")},module.exports=AttributionControl; +},{"../../util/dom":199,"../../util/util":212}],174:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in window.document&&(this._fullscreenchange="MSFullscreenChange")};FullscreenControl.prototype.onAdd=function(e){var n="mapboxgl-ctrl",t=this._container=DOM.create("div",n+" mapboxgl-ctrl-group"),l=this._fullscreenButton=DOM.create("button",n+"-icon "+n+"-fullscreen",this._container);return l.setAttribute("aria-label","Toggle fullscreen"),l.type="button",this._fullscreenButton.addEventListener("click",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),t},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(e){if(e.target===this._mapContainer){this._fullscreen=!this._fullscreen;var n="mapboxgl-ctrl";this._fullscreenButton.classList.toggle(n+"-shrink"),this._fullscreenButton.classList.toggle(n+"-fullscreen")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&window.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl; +},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],175:[function(require,module,exports){ +"use strict";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:"geolocation"}).then(function(o){supportsGeolocation="denied"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var Evented=require("../../util/evented"),DOM=require("../../util/dom"),window=require("../../util/window"),util=require("../../util/util"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},className="mapboxgl-ctrl",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll(["_onSuccess","_onError","_finish","_setupUI"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div",className+" "+className+"-group"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire("geolocate",t),this._finish()},o.prototype._onError=function(t){this.fire("error",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){t!==!1&&(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create("button",className+"-icon "+className+"-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.watchPosition&&this._geolocateButton.setAttribute("aria-pressed",!1),this._geolocateButton.addEventListener("click",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove("watching"),this._geolocateButton.setAttribute("aria-pressed",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add("watching"),this._geolocateButton.setAttribute("aria-pressed",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl; +},{"../../util/dom":199,"../../util/evented":200,"../../util/util":212,"../../util/window":194}],176:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),LogoControl=function(){util.bindAll(["_updateLogo"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create("div","mapboxgl-ctrl"),this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("sourcedata",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return"bottom-left"},LogoControl.prototype._updateLogo=function(o){if(o&&"metadata"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create("a","mapboxgl-ctrl-logo");t.target="_blank",t.href="https://www.mapbox.com/",t.setAttribute("aria-label","Mapbox logo"),this._container.appendChild(t),this._map.off("data",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){var e=o[t].getSource();if(e.mapbox_logo)return!0}return!1}},module.exports=LogoControl; +},{"../../util/dom":199,"../../util/util":212}],177:[function(require,module,exports){ +"use strict";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=require("../../util/dom"),window=require("../../util/window"),util=require("../../util/util"),className="mapboxgl-ctrl",NavigationControl=function(){util.bindAll(["_rotateCompassArrow"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t="rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div",className+" "+className+"-group",t.getContainer()),this._container.addEventListener("contextmenu",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+"-icon "+className+"-zoom-in","Zoom In",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+"-icon "+className+"-zoom-out","Zoom Out",t.zoomOut.bind(t)),this._compass=this._createButton(className+"-icon "+className+"-compass","Reset North",t.resetNorth.bind(t)),this._compassArrow=DOM.create("span",className+"-compass-arrow",this._compass),this._compass.addEventListener("mousedown",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("rotate",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener("mousemove",this._onCompassMove),window.document.addEventListener("mouseup",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener("mousemove",this._onCompassMove),window.document.removeEventListener("mouseup",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create("button",t,this._container);return n.type="button",n.setAttribute("aria-label",o),n.addEventListener("click",function(){e()}),n},module.exports=NavigationControl; +},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],178:[function(require,module,exports){ +"use strict";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&"imperial"===o.unit){var r=3.2808*a;if(r>5280){var l=r/5280;setScale(e,n,l,"mi")}else setScale(e,n,r,"ft")}else setScale(e,n,a,"m")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;"m"===n&&i>=1e3&&(i/=1e3,n="km"),t.style.width=e*a+"px",t.innerHTML=i+n}function getDistance(t,e){var o=6371e3,n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n),l=o*Math.acos(Math.min(r,1));return l}function getRoundNum(t){var e=Math.pow(10,(""+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=require("../../util/dom"),util=require("../../util/util"),ScaleControl=function(t){this.options=t,util.bindAll(["_onMove"],this)};ScaleControl.prototype.getDefaultPosition=function(){return"bottom-left"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off("move",this._onMove),this._map=void 0},module.exports=ScaleControl; +},{"../../util/dom":199,"../../util/util":212}],179:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),LngLatBounds=require("../../geo/lng_lat_bounds"),util=require("../../util/util"),window=require("../../util/window"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll(["_onMouseDown","_onMouseMove","_onMouseUp","_onKeyDown"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onMouseDown,!1),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener("mousemove",this._onMouseMove,!1),window.document.addEventListener("keydown",this._onKeyDown,!1),window.document.addEventListener("mouseup",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),r=Math.max(e.y,t.y);DOM.setTransform(this._box,"translate("+n+"px,"+s+"px)"),this._box.style.width=i-n+"px",this._box.style.height=r-s+"px"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent("boxzoomcancel",o):this._map.fitBounds(n,{linear:!0}).fire("boxzoomend",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener("mousemove",this._onMouseMove,!1),window.document.removeEventListener("keydown",this._onKeyDown,!1),window.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler; +},{"../../geo/lng_lat_bounds":63,"../../util/dom":199,"../../util/util":212,"../../util/window":194}],180:[function(require,module,exports){ +"use strict";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on("dblclick",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off("dblclick",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler; +},{}],181:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.3,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=1400,inertiaDeceleration=2500,DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onDown","_onMove","_onUp","_onTouchEnd","_onMouseUp"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._el.addEventListener("touchstart",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._el.removeEventListener("touchstart",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener("touchmove",this._onMove),window.document.addEventListener("touchend",this._onTouchEnd)):(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onMouseUp)),window.addEventListener("blur",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("dragstart",t),this._fireEvent("movestart",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent("drag",t),this._fireEvent("move",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent("dragend",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent("moveend",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(inertiaLinearity/s),d=u.mag();d>inertiaMaxSpeed&&(d=inertiaMaxSpeed,u._unit()._mult(d));var h=d/(inertiaDeceleration*inertiaLinearity),v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onMouseUp),window.removeEventListener("blur",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var n=1,i=0;return"mousemove"===t.type?t.buttons&0===n:t.button&&t.button!==i},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),n=160;t.length>0&&e-t[0][0]>n;)t.shift()},module.exports=DragPanHandler; +},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],182:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,this._pitchWithRotate=e.pitchWithRotate!==!1,util.bindAll(["_onDown","_onMove","_onUp"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("mousedown",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("mousedown",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener("mousemove",this._onMove),window.document.addEventListener("mouseup",this._onUp),window.addEventListener("blur",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("rotatestart",t),this._fireEvent("movestart",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=(i.y-n.y)*-.5,o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,v=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,v[1])]),e.transform.bearing=o,this._pitchWithRotate&&(e.transform.pitch=s),this._fireEvent("rotate",t),this._fireEvent("move",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener("mousemove",this._onMove),window.document.removeEventListener("mouseup",this._onUp),window.removeEventListener("blur",this._onUp),this.isActive())){this._active=!1,this._fireEvent("rotateend",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)inertiaMaxSpeed&&(p=inertiaMaxSpeed);var l=p/(inertiaDeceleration*inertiaLinearity),g=u*p*(l/2);v+=g,Math.abs(i._normalizeBearing(v,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return"undefined"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf("MAC")>=0&&(r=0),"mousemove"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),i=160;t.length>0&&e-t[0][0]>i;)t.shift()},module.exports=DragRotateHandler; +},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],183:[function(require,module,exports){ +"use strict";function easeOut(e){return e*(2-e)}var panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,n=0,a=0,i=0,r=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?a=1:(e.preventDefault(),r=-1);break;case 40:e.shiftKey?a=-1:(r=1,e.preventDefault())}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+n*bearingStep,pitch:s.getPitch()+a*pitchStep,offset:[-i*panStep,-r*panStep],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler; +},{}],184:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),browser=require("../../util/browser"),window=require("../../util/window"),ua=window.navigator.userAgent.toLowerCase(),firefox=ua.indexOf("firefox")!==-1,safari=ua.indexOf("safari")!==-1&&ua.indexOf("chrom")===-1,ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll(["_onWheel","_onTimeout"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener("wheel",this._onWheel,!1),this._el.addEventListener("mousewheel",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&"center"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("wheel",this._onWheel),this._el.removeEventListener("mousewheel",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;"wheel"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):"mousewheel"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625===0?this._type="wheel":0!==t&&Math.abs(t)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type="wheel",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:"wheel"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler; +},{"../../util/browser":192,"../../util/dom":199,"../../util/util":212,"../../util/window":194}],185:[function(require,module,exports){ +"use strict";var DOM=require("../../util/dom"),util=require("../../util/util"),window=require("../../util/window"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=4,TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll(["_onStart","_onMove","_onEnd"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener("touchstart",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("touchstart",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener("touchmove",this._onMove,!1),window.document.addEventListener("touchend",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};"rotate"===this._gestureIntent&&(h.bearing=this._startBearing+r),"zoom"!==this._gestureIntent&&"rotate"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>significantScaleThreshold,d=Math.abs(r)>significantRotateThreshold;d?this._gestureIntent="rotate":u&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener("touchmove",this._onMove),window.document.removeEventListener("touchend",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)return void o.snapToNorth({},{originalEvent:t});var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0===h||a===r)return void o.snapToNorth({},{originalEvent:t});var d=s*inertiaLinearity/h;Math.abs(d)>inertiaMaxSpeed&&(d=d>0?inertiaMaxSpeed:-inertiaMaxSpeed);var l=1e3*Math.abs(d/(inertiaDeceleration*inertiaLinearity)),c=a+d*l/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:l,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),o=160;t.length>2&&e-t[0][0]>o;)t.shift()},module.exports=TouchZoomRotateHandler; +},{"../../util/dom":199,"../../util/util":212,"../../util/window":194}],186:[function(require,module,exports){ +"use strict";var util=require("../util/util"),window=require("../util/window"),Hash=function(){util.bindAll(["_onHashChange","_updateHash"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace("#","").split("/");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n="#"+Math.round(100*e)/100+"/"+t.lat.toFixed(i)+"/"+t.lng.toFixed(i);(a||h)&&(n+="/"+Math.round(10*a)/10),h&&(n+="/"+Math.round(h)),window.history.replaceState("","",n)},module.exports=Hash; +},{"../util/util":212,"../util/window":194}],187:[function(require,module,exports){ +"use strict";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=require("../util/util"),browser=require("../util/browser"),window=require("../util/window"),DOM=require("../util/dom"),Style=require("../style/style"),AnimationLoop=require("../style/animation_loop"),Painter=require("../render/painter"),Transform=require("../geo/transform"),Hash=require("./hash"),bindHandlers=require("./bind_handlers"),Camera=require("./camera"),LngLat=require("../geo/lng_lat"),LngLatBounds=require("../geo/lng_lat_bounds"),Point=require("point-geometry"),AttributionControl=require("./control/attribution_control"),LogoControl=require("./control/logo_control"),isSupported=require("mapbox-gl-supported"),defaultMinZoom=0,defaultMaxZoom=22,defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(e=util.extend({},defaultOptions,e),null!=e.minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,"string"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored","_update","_render","_onData","_onDataLoading"],this),this._setupContainer(),this._setupPainter(),this.on("move",this._update.bind(this,!1)),this.on("zoom",this._update.bind(this,!0)),this.on("moveend",function(){o.animationLoop.set(300),o._rerender()}),"undefined"!=typeof window&&(window.addEventListener("online",this._onWindowOnline,!1),window.addEventListener("resize",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on("style.load",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on("data",this._onData),this.on("dataloading",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e="top-right");var o=t.onAdd(this),i=this._controlPositions[e];return e.indexOf("bottom")!==-1?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes.indexOf(t)>=0||""===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");var o=this._classes.indexOf(t);return o<0||""===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce("Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS."),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire("movestart").fire("move").fire("resize").fire("moveend")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if(t=null===t||void 0===t?defaultMinZoom:t,t>=defaultMinZoom&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.queryRenderedFeatures=function(){function t(t){return t instanceof Point||Array.isArray(t)}var e,o={};return 2===arguments.length?(e=arguments[0],o=arguments[1]):1===arguments.length&&t(arguments[0])?e=arguments[0]:1===arguments.length&&(o=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(e),o,this.transform.zoom,this.transform.angle)},e.prototype._makeQueryGeometry=function(t){var e=this;void 0===t&&(t=[Point.convert([0,0]),Point.convert([this.transform.width,this.transform.height])]);var o,i=t instanceof Point||"number"==typeof t[0];if(i){var r=Point.convert(t);o=[r]}else{var s=[Point.convert(t[0]),Point.convert(t[1])];o=[s[0],new Point(s[1].x,s[0].y),s[1],new Point(s[0].x,s[1].y),s[0]]}return o=o.map(function(t){return e.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){var o=(!e||e.diff!==!1)&&this.style&&t&&!(t instanceof Style)&&"string"!=typeof t;if(o)try{return this.style.setState(t)&&this._update(!0),this}catch(t){util.warnOnce("Unable to perform style diff: "+(t.message||t.error||t)+". Rebuilding the style from scratch.")}return this.style&&(this.style.setEventedParent(null),this.style._remove(),this.off("rotate",this.style._redoPlacement),this.off("pitch",this.style._redoPlacement)),t?(t instanceof Style?this.style=t:this.style=new Style(t,this),this.style.setEventedParent(this,{style:this.style}),this.on("rotate",this.style._redoPlacement),this.on("pitch",this.style._redoPlacement),this):(this.style=null,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire("error",{error:new Error("There is no source with ID '"+t+"'")}):e.loaded()},e.prototype.addSourceType=function(t,e,o){return this.style.addSourceType(t,e,o)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,o){this.style.spriteAtlas.addImage(t,e,o)},e.prototype.removeImage=function(t){this.style.spriteAtlas.removeImage(t)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,o){return this.style.setLayerZoomRange(t,e,o),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,o,i){return this.style.setPaintProperty(t,e,o,i),this._update(!0),this},e.prototype.getPaintProperty=function(t,e,o){return this.style.getPaintProperty(t,e,o)},e.prototype.setLayoutProperty=function(t,e,o){return this.style.setLayoutProperty(t,e,o),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add("mapboxgl-map");var e=this._canvasContainer=DOM.create("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=DOM.create("canvas","mapboxgl-canvas",e),this._canvas.style.position="absolute",this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",0),this._canvas.setAttribute("aria-label","Map");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var i=this._controlContainer=DOM.create("div","mapboxgl-control-container",t),r=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(function(t){r[t]=DOM.create("div","mapboxgl-ctrl-"+t,i)})},e.prototype._resizeCanvas=function(t,e){var o=window.devicePixelRatio||1;this._canvas.width=o*t,this._canvas.height=o*e,this._canvas.style.width=t+"px",this._canvas.style.height=e+"px"},e.prototype._setupPainter=function(){var t=util.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},isSupported.webGLContextAttributes),e=this._canvas.getContext("webgl",t)||this._canvas.getContext("experimental-webgl",t);return e?void(this.painter=new Painter(e,this.transform)):void this.fire("error",{error:new Error("Failed to initialize WebGL")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&browser.cancelFrame(this._frameId),this.fire("webglcontextlost",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire("webglcontextrestored",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},e.prototype._render=function(){return this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming}),this.fire("render"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire("load")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),browser.cancelFrame(this._frameId),this.setStyle(null),"undefined"!=typeof window&&(window.removeEventListener("resize",this._onWindowResize,!1),window.removeEventListener("online",this._onWindowOnline,!1));var t=this.painter.gl.getExtension("WEBGL_lose_context");t&&t.loseContext(),removeNode(this._canvasContainer),removeNode(this._controlContainer),this._container.classList.remove("mapboxgl-map"),this.fire("remove")},e.prototype._rerender=function(){this.style&&!this._frameId&&(this._frameId=browser.frame(this._render))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},o.showTileBoundaries.get=function(){return!!this._showTileBoundaries},o.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},o.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},o.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},o.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},o.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},o.repaint.get=function(){return!!this._repaint},o.repaint.set=function(t){this._repaint=t,this._update()},o.vertices.get=function(){return!!this._vertices},o.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update("style"===t.dataType),this.fire(t.dataType+"data",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+"dataloading",t)},Object.defineProperties(e.prototype,o),e}(Camera);module.exports=Map; +},{"../geo/lng_lat":62,"../geo/lng_lat_bounds":63,"../geo/transform":64,"../render/painter":77,"../style/animation_loop":143,"../style/style":146,"../util/browser":192,"../util/dom":199,"../util/util":212,"../util/window":194,"./bind_handlers":171,"./camera":172,"./control/attribution_control":173,"./control/logo_control":176,"./hash":186,"mapbox-gl-supported":22,"point-geometry":26}],188:[function(require,module,exports){ +"use strict";var DOM=require("../util/dom"),LngLat=require("../geo/lng_lat"),Point=require("point-geometry"),Marker=function(t,e){this._offset=Point.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this),this._onMapClick=this._onMapClick.bind(this),t||(t=DOM.create("div")),t.classList.add("mapboxgl-marker"),this._element=t,this._popup=null};Marker.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this._update(),this._map.on("click",this._onMapClick),this},Marker.prototype.remove=function(){return this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map=null),DOM.remove(this._element),this._popup&&this._popup.remove(),this},Marker.prototype.getLngLat=function(){return this._lngLat},Marker.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},Marker.prototype.getElement=function(){return this._element},Marker.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(this._popup=t,this._popup.setLngLat(this._lngLat)),this},Marker.prototype._onMapClick=function(t){var e=t.originalEvent.target,p=this._element;this._popup&&(e===p||p.contains(e))&&this.togglePopup()},Marker.prototype.getPopup=function(){return this._popup},Marker.prototype.togglePopup=function(){var t=this._popup;t&&(t.isOpen()?t.remove():t.addTo(this._map))},Marker.prototype._update=function(t){if(this._map){var e=this._map.project(this._lngLat)._add(this._offset);t&&"moveend"!==t.type||(e=e.round()),DOM.setTransform(this._element,"translate("+e.x+"px, "+e.y+"px)")}},module.exports=Marker; +},{"../geo/lng_lat":62,"../util/dom":199,"point-geometry":26}],189:[function(require,module,exports){ +"use strict";function normalizeOffset(t){if(t){if("number"==typeof t){var o=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{top:new Point(0,t),"top-left":new Point(o,o),"top-right":new Point(-o,o),bottom:new Point(0,-t),"bottom-left":new Point(o,-o),"bottom-right":new Point(-o,-o),left:new Point(t,0),right:new Point(-t,0)}}if(isPointLike(t)){var e=Point.convert(t);return{top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{top:Point.convert(t.top||[0,0]),"top-left":Point.convert(t["top-left"]||[0,0]),"top-right":Point.convert(t["top-right"]||[0,0]),bottom:Point.convert(t.bottom||[0,0]),"bottom-left":Point.convert(t["bottom-left"]||[0,0]),"bottom-right":Point.convert(t["bottom-right"]||[0,0]),left:Point.convert(t.left||[0,0]),right:Point.convert(t.right||[0,0])}}return normalizeOffset(new Point(0,0))}function isPointLike(t){return t instanceof Point||Array.isArray(t)}var util=require("../util/util"),Evented=require("../util/evented"),DOM=require("../util/dom"),LngLat=require("../geo/lng_lat"),Point=require("point-geometry"),window=require("../util/window"),defaultOptions={closeButton:!0,closeOnClick:!0},Popup=function(t){function o(o){t.call(this),this.options=util.extend(Object.create(defaultOptions),o),util.bindAll(["_update","_onClickClose"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.addTo=function(t){return this._map=t,this._map.on("move",this._update),this.options.closeOnClick&&this._map.on("click",this._onClickClose),this._update(),this},o.prototype.isOpen=function(){return!!this._map},o.prototype.remove=function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("click",this._onClickClose),delete this._map),this.fire("close"),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._update(),this},o.prototype.setText=function(t){return this.setDOMContent(window.document.createTextNode(t))},o.prototype.setHTML=function(t){var o,e=window.document.createDocumentFragment(),n=window.document.createElement("body");for(n.innerHTML=t;;){if(o=n.firstChild,!o)break;e.appendChild(o)}return this.setDOMContent(e)},o.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},o.prototype._createContent=function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=DOM.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=DOM.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClickClose))},o.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=DOM.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=DOM.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content));var t=this.options.anchor,o=normalizeOffset(this.options.offset),e=this._map.project(this._lngLat).round();if(!t){var n=this._container.offsetWidth,i=this._container.offsetHeight;t=e.y+o.bottom.ythis._map.transform.height-i?["bottom"]:[],e.xthis._map.transform.width-n/2&&t.push("right"),t=0===t.length?"bottom":t.join("-")}var r=e.add(o[t]),s={top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"},p=this._container.classList;for(var a in s)p.remove("mapboxgl-popup-anchor-"+a);p.add("mapboxgl-popup-anchor-"+t),DOM.setTransform(this._container,s[t]+" translate("+r.x+"px,"+r.y+"px)")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup; +},{"../geo/lng_lat":62,"../util/dom":199,"../util/evented":200,"../util/util":212,"../util/window":194,"point-geometry":26}],190:[function(require,module,exports){ +"use strict";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener("message",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+":"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:"",id:String(s),error:t?String(t):null,data:e},r)};if(""===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if("undefined"!=typeof r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if("undefined"!=typeof r.id&&this.parent.getWorkerSource){var p=r.type.split("."),d=this.parent.getWorkerSource(r.sourceMapId,p[0]);d[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)},module.exports=Actor; +},{}],191:[function(require,module,exports){ +"use strict";function sameOrigin(e){var t=window.document.createElement("a");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=require("./window");exports.getJSON=function(e,t){var n=new window.XMLHttpRequest;return n.open("GET",e,!0),n.setRequestHeader("Accept","application/json"),n.onerror=function(e){t(e)},n.onload=function(){if(n.status>=200&&n.status<300&&n.response){var e;try{e=JSON.parse(n.response)}catch(e){return t(e)}t(null,e)}else t(new Error(n.statusText))},n.send(),n},exports.getArrayBuffer=function(e,t){var n=new window.XMLHttpRequest;return n.open("GET",e,!0),n.responseType="arraybuffer",n.onerror=function(e){t(e)},n.onload=function(){return 0===n.response.byteLength&&200===n.status?t(new Error("http status 200 returned without content.")):void(n.status>=200&&n.status<300&&n.response?t(null,{data:n.response,cacheControl:n.getResponseHeader("Cache-Control"),expires:n.getResponseHeader("Expires")}):t(new Error(n.statusText)))},n.send(),n};var transparentPngUrl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,n){if(e)return t(e);var r=new window.Image,o=window.URL||window.webkitURL;r.onload=function(){t(null,r),o.revokeObjectURL(r.src)};var a=new window.Blob([new Uint8Array(n.data)],{type:"image/png"});r.cacheControl=n.cacheControl,r.expires=n.expires,r.src=n.data.byteLength?o.createObjectURL(a):transparentPngUrl})},exports.getVideo=function(e,t){var n=window.document.createElement("video");n.onloadstart=function(){t(null,n)};for(var r=0;r=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement("canvas"),t=n.getContext("2d");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height).data},exports.supported=require("mapbox-gl-supported"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,"devicePixelRatio",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement("img");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="; +},{"./window":194,"mapbox-gl-supported":22}],193:[function(require,module,exports){ +"use strict";var WebWorkify=require("webworkify"),window=require("../window"),workerURL=window.URL.createObjectURL(new WebWorkify(require("../../source/worker"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)}; +},{"../../source/worker":98,"../window":194,"webworkify":41}],194:[function(require,module,exports){ +"use strict";module.exports=self; +},{}],195:[function(require,module,exports){ +"use strict";function compareAreas(e,r){return r.area-e.area}var quickselect=require("quickselect"),calculateSignedArea=require("./util").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented; +},{"./util":212}],201:[function(require,module,exports){ +"use strict";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log("found best %d after %d probes",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log("num probes: "+c),console.log("best distance: "+m.d)),m.p}; +},{"./intersection_tests":205,"point-geometry":26,"tinyqueue":30}],202:[function(require,module,exports){ +"use strict";var WorkerPool=require("./worker_pool"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool}; +},{"./worker_pool":215}],203:[function(require,module,exports){ +"use strict";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs; +},{}],204:[function(require,module,exports){ +"use strict";function interpolate(t,e,n){return t*(1-n)+e*n}module.exports=interpolate,interpolate.number=interpolate,interpolate.vec2=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n)]},interpolate.color=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n),interpolate(t[2],e[2],n),interpolate(t[3],e[3],n)]},interpolate.array=function(t,e,n){return t.map(function(t,r){return interpolate(t,e[r],n)})}; +},{}],205:[function(require,module,exports){ +"use strict";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i)}return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=require("./util").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared}; +},{"./util":212}],206:[function(require,module,exports){ +"use strict";var unicodeBlockLookup={"Latin-1 Supplement":function(n){return n>=128&&n<=255},"Hangul Jamo":function(n){return n>=4352&&n<=4607},"Unified Canadian Aboriginal Syllabics":function(n){return n>=5120&&n<=5759},"Unified Canadian Aboriginal Syllabics Extended":function(n){return n>=6320&&n<=6399},"General Punctuation":function(n){return n>=8192&&n<=8303},"Letterlike Symbols":function(n){return n>=8448&&n<=8527},"Number Forms":function(n){return n>=8528&&n<=8591},"Miscellaneous Technical":function(n){return n>=8960&&n<=9215},"Control Pictures":function(n){return n>=9216&&n<=9279},"Optical Character Recognition":function(n){return n>=9280&&n<=9311},"Enclosed Alphanumerics":function(n){return n>=9312&&n<=9471},"Geometric Shapes":function(n){return n>=9632&&n<=9727},"Miscellaneous Symbols":function(n){return n>=9728&&n<=9983},"Miscellaneous Symbols and Arrows":function(n){return n>=11008&&n<=11263},"CJK Radicals Supplement":function(n){return n>=11904&&n<=12031},"Kangxi Radicals":function(n){return n>=12032&&n<=12255},"Ideographic Description Characters":function(n){return n>=12272&&n<=12287},"CJK Symbols and Punctuation":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},"Hangul Compatibility Jamo":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},"Bopomofo Extended":function(n){return n>=12704&&n<=12735},"CJK Strokes":function(n){return n>=12736&&n<=12783},"Katakana Phonetic Extensions":function(n){return n>=12784&&n<=12799},"Enclosed CJK Letters and Months":function(n){return n>=12800&&n<=13055},"CJK Compatibility":function(n){return n>=13056&&n<=13311},"CJK Unified Ideographs Extension A":function(n){return n>=13312&&n<=19903},"Yijing Hexagram Symbols":function(n){return n>=19904&&n<=19967},"CJK Unified Ideographs":function(n){return n>=19968&&n<=40959},"Yi Syllables":function(n){return n>=40960&&n<=42127},"Yi Radicals":function(n){return n>=42128&&n<=42191},"Hangul Jamo Extended-A":function(n){return n>=43360&&n<=43391},"Hangul Syllables":function(n){return n>=44032&&n<=55215},"Hangul Jamo Extended-B":function(n){return n>=55216&&n<=55295},"Private Use Area":function(n){return n>=57344&&n<=63743},"CJK Compatibility Ideographs":function(n){return n>=63744&&n<=64255},"Vertical Forms":function(n){return n>=65040&&n<=65055},"CJK Compatibility Forms":function(n){return n>=65072&&n<=65103},"Small Form Variants":function(n){return n>=65104&&n<=65135},"Halfwidth and Fullwidth Forms":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup; +},{}],207:[function(require,module,exports){ +"use strict";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){if(!this.has(t))return null;var e=this.data[t];return e},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache; +},{}],208:[function(require,module,exports){ +"use strict";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(e=e||config.ACCESS_TOKEN,!e)throw new Error("An API access token is required to use Mapbox GL. "+help);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+help);return r.params.push("access_token="+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf("mapbox:")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?"@2x":"",s=browser.supportsWebp?".webp":"$1";return o.path=o.path.replace(imageExtensionRe,""+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\w+):\/\/([^\/?]+)(\/[^?]+)?\??(.+)?/; +},{"./browser":192,"./config":196}],209:[function(require,module,exports){ +"use strict";var isChar=require("./is_char_in_unicode_block");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||(!!isChar["CJK Compatibility Ideographs"](a)||(!!isChar["CJK Compatibility"](a)||(!!isChar["CJK Radicals Supplement"](a)||(!!isChar["CJK Strokes"](a)||(!(!isChar["CJK Symbols and Punctuation"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||(!!isChar["CJK Unified Ideographs Extension A"](a)||(!!isChar["CJK Unified Ideographs"](a)||(!!isChar["Enclosed CJK Letters and Months"](a)||(!!isChar["Hangul Compatibility Jamo"](a)||(!!isChar["Hangul Jamo Extended-A"](a)||(!!isChar["Hangul Jamo Extended-B"](a)||(!!isChar["Hangul Jamo"](a)||(!!isChar["Hangul Syllables"](a)||(!!isChar.Hiragana(a)||(!!isChar["Ideographic Description Characters"](a)||(!!isChar.Kanbun(a)||(!!isChar["Kangxi Radicals"](a)||(!!isChar["Katakana Phonetic Extensions"](a)||(!(!isChar.Katakana(a)||12540===a)||(!(!isChar["Halfwidth and Fullwidth Forms"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||(!(!isChar["Small Form Variants"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||(!!isChar["Unified Canadian Aboriginal Syllabics"](a)||(!!isChar["Unified Canadian Aboriginal Syllabics Extended"](a)||(!!isChar["Vertical Forms"](a)||(!!isChar["Yijing Hexagram Symbols"](a)||(!!isChar["Yi Syllables"](a)||!!isChar["Yi Radicals"](a))))))))))))))))))))))))))))))},exports.charHasNeutralVerticalOrientation=function(a){return!(!isChar["Latin-1 Supplement"](a)||167!==a&&169!==a&&174!==a&&177!==a&&188!==a&&189!==a&&190!==a&&215!==a&&247!==a)||(!(!isChar["General Punctuation"](a)||8214!==a&&8224!==a&&8225!==a&&8240!==a&&8241!==a&&8251!==a&&8252!==a&&8258!==a&&8263!==a&&8264!==a&&8265!==a&&8273!==a)||(!!isChar["Letterlike Symbols"](a)||(!!isChar["Number Forms"](a)||(!(!isChar["Miscellaneous Technical"](a)||!(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215))||(!(!isChar["Control Pictures"](a)||9251===a)||(!!isChar["Optical Character Recognition"](a)||(!!isChar["Enclosed Alphanumerics"](a)||(!!isChar["Geometric Shapes"](a)||(!(!isChar["Miscellaneous Symbols"](a)||a>=9754&&a<=9759)||(!(!isChar["Miscellaneous Symbols and Arrows"](a)||!(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243))||(!!isChar["CJK Symbols and Punctuation"](a)||(!!isChar.Katakana(a)||(!!isChar["Private Use Area"](a)||(!!isChar["CJK Compatibility Forms"](a)||(!!isChar["Small Form Variants"](a)||(!!isChar["Halfwidth and Fullwidth Forms"](a)||(8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)))))))))))))))))},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))}; +},{"./is_char_in_unicode_block":206}],210:[function(require,module,exports){ +"use strict";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=["Uint8"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0===--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||("undefined"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),""}),t["max-age"]){var n=parseInt(t["max-age"],10);isNaN(n)?delete t["max-age"]:t["max-age"]=n}return t}; +},{"../geo/coordinate":61,"@mapbox/unitbezier":3,"point-geometry":26}],213:[function(require,module,exports){ +"use strict";var Feature=function(e,t,r,o){this.type="Feature",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)"_geometry"!==r&&"_vectorTileFeature"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature; +},{}],214:[function(require,module,exports){ +"use strict";var scriptDetection=require("./script_detection");module.exports=function(t){for(var o="",e=0;e":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"}; +},{"./script_detection":209}],215:[function(require,module,exports){ +"use strict";var WebWorker=require("./web_worker"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=require("../").workerCount;for(this.workers=[];this.workers.length 2 && arguments[2] !== undefined ? arguments[2] : null; + + //create the \",message:\"

{{message}}

\",log:\"
{{message}}
\"},defaultDialogs:{buttons:{holder:\"\",ok:\"\",cancel:\"\"},input:\"\",message:\"

{{message}}

\",log:\"
{{message}}
\"},build:function(t){var e=this.dialogs.buttons.ok,o=\"
\"+this.dialogs.message.replace(\"{{message}}\",t.message);return\"confirm\"!==t.type&&\"prompt\"!==t.type||(e=this.dialogs.buttons.cancel+this.dialogs.buttons.ok),\"prompt\"===t.type&&(o+=this.dialogs.input),o=(o+this.dialogs.buttons.holder+\"
\").replace(\"{{buttons}}\",e).replace(\"{{ok}}\",this.okLabel).replace(\"{{cancel}}\",this.cancelLabel)},setCloseLogOnClick:function(t){this.closeLogOnClick=!!t},close:function(t,e){this.closeLogOnClick&&t.addEventListener(\"click\",function(){o(t)}),e=e&&!isNaN(+e)?+e:this.delay,0>e?o(t):e>0&&setTimeout(function(){o(t)},e)},dialog:function(t,e,o,n){return this.setup({type:e,message:t,onOkay:o,onCancel:n})},log:function(t,e,o){var n=document.querySelectorAll(\".alertify-logs > div\");if(n){var i=n.length-this.maxLogItems;if(i>=0)for(var a=0,l=i+1;l>a;a++)this.close(n[a],-1)}this.notify(t,e,o)},setLogPosition:function(t){this.logContainerClass=\"alertify-logs \"+t},setupLogContainer:function(){var t=document.querySelector(\".alertify-logs\"),e=this.logContainerClass;return t||(t=document.createElement(\"div\"),t.className=e,this.parent.appendChild(t)),t.className!==e&&(t.className=e),t},notify:function(e,o,n){var i=this.setupLogContainer(),a=document.createElement(\"div\");a.className=o||\"default\",t.logTemplateMethod?a.innerHTML=t.logTemplateMethod(e):a.innerHTML=e,\"function\"==typeof n&&a.addEventListener(\"click\",n),i.appendChild(a),setTimeout(function(){a.className+=\" show\"},10),this.close(a,this.delay)},setup:function(t){function e(e){\"function\"!=typeof e&&(e=function(){}),i&&i.addEventListener(\"click\",function(i){t.onOkay&&\"function\"==typeof t.onOkay&&(l?t.onOkay(l.value,i):t.onOkay(i)),e(l?{buttonClicked:\"ok\",inputValue:l.value,event:i}:{buttonClicked:\"ok\",event:i}),o(n)}),a&&a.addEventListener(\"click\",function(i){t.onCancel&&\"function\"==typeof t.onCancel&&t.onCancel(i),e({buttonClicked:\"cancel\",event:i}),o(n)}),l&&l.addEventListener(\"keyup\",function(t){13===t.which&&i.click()})}var n=document.createElement(\"div\");n.className=\"alertify hide\",n.innerHTML=this.build(t);var i=n.querySelector(\".ok\"),a=n.querySelector(\".cancel\"),l=n.querySelector(\"input\"),s=n.querySelector(\"label\");l&&(\"string\"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),\"string\"==typeof this.promptValue&&(l.value=this.promptValue));var r;return\"function\"==typeof Promise?r=new Promise(e):e(),this.parent.appendChild(n),setTimeout(function(){n.classList.remove(\"hide\"),l&&t.type&&\"prompt\"===t.type?(l.select(),l.focus()):i&&i.focus()},100),r},okBtn:function(t){return this.okLabel=t,this},setDelay:function(t){return t=t||0,this.delay=isNaN(t)?this.defaultDelay:parseInt(t,10),this},cancelBtn:function(t){return this.cancelLabel=t,this},setMaxLogItems:function(t){this.maxLogItems=parseInt(t||this.defaultMaxLogItems)},theme:function(t){switch(t.toLowerCase()){case\"bootstrap\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\",this.dialogs.input=\"\";break;case\"purecss\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\";break;case\"mdl\":case\"material-design-light\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\",this.dialogs.input=\"
\";break;case\"angular-material\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\",this.dialogs.input=\"
\";break;case\"default\":default:this.dialogs.buttons.ok=this.defaultDialogs.buttons.ok,this.dialogs.buttons.cancel=this.defaultDialogs.buttons.cancel,this.dialogs.input=this.defaultDialogs.input}},reset:function(){this.parent=document.body,this.theme(\"default\"),this.okBtn(this.defaultOkLabel),this.cancelBtn(this.defaultCancelLabel),this.setMaxLogItems(),this.promptValue=\"\",this.promptPlaceholder=\"\",this.delay=this.defaultDelay,this.setCloseLogOnClick(this.closeLogOnClickDefault),this.setLogPosition(\"bottom left\"),this.logTemplateMethod=null},injectCSS:function(){if(!document.querySelector(\"#alertifyCSS\")){var t=document.getElementsByTagName(\"head\")[0],e=document.createElement(\"style\");e.type=\"text/css\",e.id=\"alertifyCSS\",e.innerHTML=\".alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:1}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;backface-visibility:hidden;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto}\",t.insertBefore(e,t.firstChild)}},removeCSS:function(){var t=document.querySelector(\"#alertifyCSS\");t&&t.parentNode&&t.parentNode.removeChild(t)}};return t.injectCSS(),{_$$alertify:t,parent:function(e){t.parent=e},reset:function(){return t.reset(),this},alert:function(e,o,n){return t.dialog(e,\"alert\",o,n)||this},confirm:function(e,o,n){return t.dialog(e,\"confirm\",o,n)||this},prompt:function(e,o,n){return t.dialog(e,\"prompt\",o,n)||this},log:function(e,o){return t.log(e,\"default\",o),this},theme:function(e){return t.theme(e),this},success:function(e,o){return t.log(e,\"success\",o),this},error:function(e,o){return t.log(e,\"error\",o),this},cancelBtn:function(e){return t.cancelBtn(e),this},okBtn:function(e){return t.okBtn(e),this},delay:function(e){return t.setDelay(e),this},placeholder:function(e){return t.promptPlaceholder=e,this},defaultValue:function(e){return t.promptValue=e,this},maxLogItems:function(e){return t.setMaxLogItems(e),this},closeLogOnClick:function(e){return t.setCloseLogOnClick(!!e),this},logPosition:function(e){return t.setLogPosition(e||\"\"),this},setLogTemplate:function(e){return t.logTemplateMethod=e,this},clearLogs:function(){return t.setupLogContainer().innerHTML=\"\",this},version:t.version}}var e=500,o=function(t){if(t){var o=function(){t&&t.parentNode&&t.parentNode.removeChild(t)};t.classList.remove(\"show\"),t.classList.add(\"hide\"),t.addEventListener(\"transitionend\",o),setTimeout(o,e)}};if(\"undefined\"!=typeof module&&module&&module.exports){module.exports=function(){return new t};var n=new t;for(var i in n)module.exports[i]=n[i]}else\"function\"==typeof define&&define.amd?define(function(){return new t}):window.alertify=new t}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonny/Development/git/jonnybarnes.uk/~/alertify.js/dist/js/alertify.js\n// module id = 3\n// module chunks = 0","//select-place.js\n\nexport default function selectPlaceInForm(uri) {\n if (document.querySelector('select')) {\n if (uri == 'current-location') {\n document.querySelector('select [id=\"option-coords\"]').selected = true;\n } else {\n document.querySelector('select [value=\"' + uri + '\"]').selected = true;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./select-place.js","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return b64.length * 3 / 4 - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr(len * 3 / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonny/Development/git/jonnybarnes.uk/~/base64-js/index.js\n// module id = 5\n// module chunks = 0 1","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonny/Development/git/jonnybarnes.uk/~/buffer/index.js\n// module id = 6\n// module chunks = 0 1","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonny/Development/git/jonnybarnes.uk/~/buffer/~/isarray/index.js\n// module id = 7\n// module chunks = 0 1","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/jonny/Development/git/jonnybarnes.uk/~/ieee754/index.js\n// module id = 8\n// module chunks = 0 1","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.mapboxgl = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i,rn.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var h=this.shelves[t],n=h.alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1===++t.refcount){var e=t.h;this.stats[e]=(0|this.stats[e])+1}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0===--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t});\n},{}],3:[function(require,module,exports){\nfunction UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){\"undefined\"==typeof i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))};\n},{}],4:[function(require,module,exports){\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t(e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){s=s||{};var f=e+\"?\"+[\"bbox=\"+o(r,n,i),\"format=\"+(s.format||\"image/png\"),\"service=\"+(s.service||\"WMS\"),\"version=\"+(s.version||\"1.1.1\"),\"request=\"+(s.request||\"GetMap\"),\"srs=\"+(s.srs||\"EPSG:3857\"),\"width=\"+(s.width||256),\"height=\"+(s.height||256),\"layers=\"+t].join(\"&\");return f}function o(e,t,o){t=Math.pow(2,o)-t-1;var n=r(256*e,256*t,o),i=r(256*(e+1),256*(t+1),o);return n[0]+\",\"+n[1]+\",\"+i[0]+\",\"+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o),n=e*r-2*Math.PI*6378137/2,i=t*r-2*Math.PI*6378137/2;return[n,i]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,\"__esModule\",{value:!0})});\n},{}],5:[function(require,module,exports){\n\"use strict\";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),t=n=t.prev,t===t.next)return null;r=!0}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if(e=l,e===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l)),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next;while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r};\n},{}],6:[function(require,module,exports){\nfunction geometry(r){if(\"Polygon\"===r.type)return polygonArea(r.coordinates);if(\"MultiPolygon\"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=require(\"geojson-area\");module.exports=rewind;\n},{\"geojson-area\":6}],8:[function(require,module,exports){\n\"use strict\";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));h=g[S-1],c=h[n],c>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=require(\"./feature\");\n},{\"./feature\":10}],9:[function(require,module,exports){\n\"use strict\";function convert(e,t){var r=[];if(\"FeatureCollection\"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time(\"creation\"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd(\"creation\"));var h=\"z\"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time(\"clipping\");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd(\"clipping\"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log(\"found parent tile z%d-%d-%d\",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time(\"drilling down\");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd(\"drilling down\"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify;\n},{}],13:[function(require,module,exports){\n\"use strict\";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){var r=signedArea(e);r<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};\n},{}],18:[function(require,module,exports){\n\"use strict\";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range;\n},{}],20:[function(require,module,exports){\n\"use strict\";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1),c=Math.max(s,Math.floor(o-p*m/f+n)),h=Math.min(r,Math.floor(o+(f-p)*m/f+n));select(t,a,o,c,h,e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD;\n},{}],21:[function(require,module,exports){\n\"use strict\";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within;\n},{}],22:[function(require,module,exports){\n\"use strict\";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return\"undefined\"!=typeof window&&\"undefined\"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function isWorkerSupported(){return\"Worker\"in window}function isUint8ClampedArraySupported(){return\"Uint8ClampedArray\"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement(\"canvas\"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext(\"webgl\",r)||t.probablySupportsContext(\"experimental-webgl\",r):t.supportsContext?t.supportsContext(\"webgl\",r)||t.supportsContext(\"experimental-webgl\",r):t.getContext(\"webgl\",r)||t.getContext(\"experimental-webgl\",r)}\"undefined\"!=typeof module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};\n},{}],23:[function(require,module,exports){\n(function (process){\nfunction normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];\".\"===s?r.splice(n,1):\"..\"===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift(\"..\");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if(\"string\"!=typeof n)throw new TypeError(\"Arguments to path.resolve must be strings\");n&&(r=n+\"/\"+r,t=\"/\"===n.charAt(0))}return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),(t?\"/\":\"\")+r||\".\"},exports.normalize=function(r){var t=exports.isAbsolute(r),e=\"/\"===substr(r,-1);return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),r||t||(r=\".\"),r&&e&&(r+=\"/\"),(t?\"/\":\"\")+r},exports.isAbsolute=function(r){return\"/\"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if(\"string\"!=typeof r)throw new TypeError(\"Arguments to path.join must be strings\");return r}).join(\"/\"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&\"\"===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split(\"/\")),s=e(t.split(\"/\")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var ieee754=require(\"ieee754\"),BufferMethods,lastStr,lastStrEncoded;BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=\"\",i=\"\";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error(\"Given varint doesn't fit into 10 bytes\");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.Fixed64)throw new Error(\"Unimplemented type: \"+i);this.pos+=8}},writeTag:function(t,i){this.writeVarint(t<<3|i)},realloc:function(t){for(var i=this.length||16;i268435455?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127)))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}};\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"./buffer\":24}],26:[function(require,module,exports){\n\"use strict\";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var n=t.x-this.x,i=t.y-this.y;return n*n+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,this.y=i,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t};\n},{}],27:[function(require,module,exports){\nfunction defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1),n=Math.max(r,Math.floor(t-e*s/f+i)),h=Math.min(o,Math.floor(t+(f-e)*s/f+i));partialSort(a,t,n,h,p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort;\n},{}],29:[function(require,module,exports){\n\"use strict\";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:\"Feature\",properties:getClusterProperties(t),geometry:{type:\"Point\",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return{cluster:!0,point_count:e,point_count_abbreviated:o}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=require(\"kdbush\");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time(\"total time\");var o=\"prepare \"+t.length+\" points\";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log(\"z%d: %d clusters in %dms\",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd(\"total time\"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?\"\u001b[\"+inspect.colors[t][0]+\"m\"+e+\"\u001b[\"+inspect.colors[t][1]+\"m\":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?\": \"+r.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),\"regexp\");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),\"date\");if(isError(r))return formatError(r)}var c=\"\",a=!1,l=[\"{\",\"}\"];if(isArray(r)&&(a=!0,l=[\"[\",\"]\"]),isFunction(r)){var p=r.name?\": \"+r.name:\"\";c=\" [Function\"+p+\"]\"}if(isRegExp(r)&&(c=\" \"+RegExp.prototype.toString.call(r)),isDate(r)&&(c=\" \"+Date.prototype.toUTCString.call(r)),isError(r)&&(c=\" \"+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize(\"undefined\",\"undefined\");if(isString(r)){var t=\"'\"+JSON.stringify(r).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(t,\"string\")}return isNumber(r)?e.stylize(\"\"+r,\"number\"):isBoolean(r)?e.stylize(\"\"+r,\"boolean\"):isNull(r)?e.stylize(\"null\",\"null\"):void 0}function formatError(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\").substr(2):\"\\n\"+u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\"))):u=e.stylize(\"[Circular]\",\"special\")),isUndefined(s)){if(o&&i.match(/^\\d+$/))return u;s=JSON.stringify(\"\"+i),s.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf(\"\\n\")>=0&&n++,e+r.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?t[0]+(\"\"===r?\"\":r+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+t[1]:t[0]+r+\" \"+e.join(\", \")+\" \"+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return\"boolean\"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return\"number\"==typeof e}function isString(e){return\"string\"==typeof e}function isSymbol(e){return\"symbol\"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&\"[object RegExp]\"===objectToString(e)}function isObject(e){return\"object\"==typeof e&&null!==e}function isDate(e){return isObject(e)&&\"[object Date]\"===objectToString(e)}function isError(e){return isObject(e)&&(\"[object Error]\"===objectToString(e)||e instanceof Error)}function isFunction(e){return\"function\"==typeof e}function isPrimitive(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||\"undefined\"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?\"0\"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(\":\");return[e.getDate(),months[e.getMonth()],r].join(\" \")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case\"%s\":return String(n[t++]);case\"%d\":return Number(n[t++]);case\"%j\":try{return JSON.stringify(n[t++])}catch(e){return\"[Circular]\"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error(\"unknown command \"+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-(1/0),p=1/0,h=-(1/0);e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error(\"unknown command \"+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=require(\"./vectortilefeature.js\");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)};\n},{\"./vectortilefeature.js\":36}],38:[function(require,module,exports){\nfunction fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||\"\",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup;\n},{\"./program_configuration\":58}],45:[function(require,module,exports){\n\"use strict\";var ArrayGroup=require(\"./array_group\"),BufferGroup=require(\"./buffer_group\"),util=require(\"../util/util\"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||o<0||o>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,y,o,-1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,1),addCircleVertex(r.layoutVertexArray,y,o,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60}],47:[function(require,module,exports){\n\"use strict\";var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),earcut=require(\"earcut\"),classifyRings=require(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"}]),elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:\"fill-color\",type:\"Uint8\"},{property:\"fill-outline-color\",type:\"Uint8\"},{property:\"fill-opacity\",type:\"Uint8\",multiplier:255}]},FillBucket=function(e){function r(r){e.call(this,r,fillInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);tEXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),EXTENT=require(\"../extent\"),earcut=require(\"earcut\"),classifyRings=require(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal\",components:3,type:\"Int16\"},{name:\"a_edgedistance\",components:1,type:\"Int16\"}]),elementArrayType:createElementArrayType(3),paintAttributes:[{property:\"fill-extrusion-base\",type:\"Uint16\"},{property:\"fill-extrusion-height\",type:\"Uint16\"},{property:\"fill-extrusion-color\",type:\"Uint8\"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function r(r){e.call(this,r,fillExtrusionInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);t=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var _=g.sub(A)._perp()._unit();addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,1,m),m+=A.dist(g),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,1,m);var v=p.vertexLength;r.elementArray.emplaceBack(v,v+1,v+2),r.elementArray.emplaceBack(v+1,v+2,v+3),p.vertexLength+=4,p.primitiveLength+=2}}u.push(g.x),u.push(g.y)}}}for(var E=earcut(u,c),T=0;T>6)}var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),EXTENT=require(\"../extent\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(37.5*(Math.PI/180)),SHARP_CORNER_OFFSET=15,LINE_DISTANCE_BUFFER_BITS=15,LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE,lineInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),paintAttributes:[{property:\"line-color\",type:\"Uint8\"},{property:\"line-blur\",multiplier:10,type:\"Uint8\"},{property:\"line-opacity\",multiplier:10,type:\"Uint8\"},{property:\"line-gap-width\",multiplier:10,type:\"Uint8\",name:\"a_gapwidth\"},{property:\"line-offset\",multiplier:1,type:\"Int8\"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r[\"line-join\"],a=r[\"line-cap\"],n=r[\"line-miter-limit\"],d=r[\"line-round-limit\"],s=0,u=loadGeometry(e,LINE_DISTANCE_BUFFER_BITS);s=2&&e[l-1].equals(e[l-2]);)l--;if(!(l<(u?3:2))){\"bevel\"===r&&(a=1.05);var o=SHARP_CORNER_OFFSET*(EXTENT/(512*this.overscaling)),p=e[0],c=this.arrays,_=c.prepareSegment(10*l);this.distance=0;var y,h,m,E,x,C,v,A=i,f=u?\"butt\":i,L=!0;this.e1=this.e2=this.e3=-1,u&&(y=e[l-2],x=p.sub(y)._unit()._perp());for(var V=0;V0){var b=y.dist(h);if(b>2*o){var R=y.sub(y.sub(h)._mult(o/b)._round());d.distance+=R.dist(h),d.addCurrentVertex(R,d.distance,E.mult(1),0,0,!1,_),h=R}}var g=h&&m,F=g?r:m?A:f;if(g&&\"round\"===F&&(Ia&&(F=\"bevel\"),\"bevel\"===F&&(I>2&&(F=\"flipbevel\"),I100)S=x.clone().mult(-1);else{var B=E.x*x.y-E.y*x.x>0?-1:1,k=I*E.add(x).mag()/E.sub(x).mag();S._perp()._mult(k*B)}d.addCurrentVertex(y,d.distance,S,0,0,!1,_),d.addCurrentVertex(y,d.distance,S.mult(-1),0,0,!1,_)}else if(\"bevel\"===F||\"fakeround\"===F){var D=E.x*x.y-E.y*x.x>0,P=-Math.sqrt(I*I-1);if(D?(v=0,C=P):(C=0,v=P),L||d.addCurrentVertex(y,d.distance,E,C,v,!1,_),\"fakeround\"===F){for(var U=Math.floor(8*(.5-(T-.5))),q=void 0,M=0;M=0;O--)q=E.mult((O+1)/(U+1))._add(x)._unit(),d.addPieSliceVertex(y,d.distance,q,D,_)}m&&d.addCurrentVertex(y,d.distance,x,-C,-v,!1,_)}else\"butt\"===F?(L||d.addCurrentVertex(y,d.distance,E,0,0,!1,_),m&&d.addCurrentVertex(y,d.distance,x,0,0,!1,_)):\"square\"===F?(L||(d.addCurrentVertex(y,d.distance,E,1,1,!1,_),d.e1=d.e2=-1),m&&d.addCurrentVertex(y,d.distance,x,-1,-1,!1,_)):\"round\"===F&&(L||(d.addCurrentVertex(y,d.distance,E,0,0,!1,_),d.addCurrentVertex(y,d.distance,E,1,1,!0,_),d.e1=d.e2=-1),m&&(d.addCurrentVertex(y,d.distance,x,-1,-1,!0,_),d.addCurrentVertex(y,d.distance,x,0,0,!1,_)));if(N&&V2*o){var H=y.add(m.sub(y)._mult(o/X)._round());d.distance+=H.dist(y),d.addCurrentVertex(H,d.distance,x.mult(1),0,0,!1,_),y=H}}L=!1}c.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60,\"vector-tile\":34}],50:[function(require,module,exports){\n\"use strict\";function addVertex(e,t,o,r,a,i,n,l,s,c,y){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i/4,n/4,10*(c||0),y,10*(l||0),10*Math.min(s||25,25))}function addCollisionBoxVertex(e,t,o,r,a){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*r,10*a)}var Point=require(\"point-geometry\"),ArrayGroup=require(\"../array_group\"),BufferGroup=require(\"../buffer_group\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),EXTENT=require(\"../extent\"),Anchor=require(\"../../symbol/anchor\"),getAnchors=require(\"../../symbol/get_anchors\"),resolveTokens=require(\"../../util/token\"),Quads=require(\"../../symbol/quads\"),Shaping=require(\"../../symbol/shaping\"),resolveText=require(\"../../symbol/resolve_text\"),mergeLines=require(\"../../symbol/mergelines\"),clipLine=require(\"../../symbol/clip_line\"),util=require(\"../../util/util\"),scriptDetection=require(\"../../util/script_detection\"),loadGeometry=require(\"../load_geometry\"),CollisionFeature=require(\"../../symbol/collision_feature\"),findPoleOfInaccessibility=require(\"../../util/find_pole_of_inaccessibility\"),classifyRings=require(\"../../util/classify_rings\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,rtlTextPlugin=require(\"../../source/rtl_text_plugin\"),shapeText=Shaping.shapeText,shapeIcon=Shaping.shapeIcon,WritingMode=Shaping.WritingMode,getGlyphQuads=Quads.getGlyphQuads,getIconQuads=Quads.getIconQuads,elementArrayType=createElementArrayType(),layoutVertexArrayType=createVertexArrayType([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_texture_pos\",components:2,type:\"Uint16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),symbolInterfaces={glyph:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:\"a_fill_color\",property:\"text-color\",type:\"Uint8\"},{name:\"a_halo_color\",property:\"text-halo-color\",type:\"Uint8\"},{name:\"a_halo_width\",property:\"text-halo-width\",type:\"Uint16\",multiplier:10},{name:\"a_halo_blur\",property:\"text-halo-blur\",type:\"Uint16\",multiplier:10},{name:\"a_opacity\",property:\"text-opacity\",type:\"Uint8\",multiplier:255}]},icon:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:\"a_fill_color\",property:\"icon-color\",type:\"Uint8\"},{name:\"a_halo_color\",property:\"icon-halo-color\",type:\"Uint8\"},{name:\"a_halo_width\",property:\"icon-halo-width\",type:\"Uint16\",multiplier:10},{name:\"a_halo_blur\",property:\"icon-halo-blur\",type:\"Uint16\",multiplier:10},{name:\"a_opacity\",property:\"icon-opacity\",type:\"Uint8\",multiplier:255}]},collisionBox:{layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"},{name:\"a_data\",components:2,type:\"Uint8\"}]),elementArrayType:createElementArrayType(2)}},SymbolBucket=function(e){var t=this;if(this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.sdfIcons=e.sdfIcons,this.iconsNeedLinear=e.iconsNeedLinear,this.adjustedTextSize=e.adjustedTextSize,this.adjustedIconSize=e.adjustedIconSize,this.fontstack=e.fontstack,e.arrays){this.buffers={};for(var o in e.arrays)e.arrays[o]&&(t.buffers[o]=new BufferGroup(symbolInterfaces[o],e.layers,e.zoom,e.arrays[o]))}};SymbolBucket.prototype.populate=function(e,t){var o=this,r=this.layers[0],a=r.layout,i=a[\"text-font\"],n=a[\"icon-image\"],l=i&&(!r.isLayoutValueFeatureConstant(\"text-field\")||a[\"text-field\"]),s=n;if(this.features=[],l||s){for(var c=t.iconDependencies,y=t.glyphDependencies,p=y[i]=y[i]||{},x=0;xEXTENT||i.y<0||i.y>EXTENT);if(!x||n){var l=n||f;r.addSymbolInstance(i,a,t,o,r.layers[0],l,r.collisionBoxArray,e.index,e.sourceLayerIndex,r.index,s,h,m,y,u,g,{zoom:r.zoom},e.properties)}};if(\"line\"===b)for(var S=0,T=clipLine(e.geometry,0,0,EXTENT,EXTENT);S=0;i--)if(o.dist(a[i])7*Math.PI/4)continue}else if(r&&a&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(r&&a&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var m=u.tl,g=u.tr,f=u.bl,b=u.br,v=u.tex,I=u.anchorPoint,S=Math.max(y+Math.log(u.minScale)/Math.LN2,p),T=Math.min(y+Math.log(u.maxScale)/Math.LN2,25);if(!(T<=S)){S===p&&(S=0);var M=Math.round(u.glyphAngle/(2*Math.PI)*256),B=e.prepareSegment(4),A=B.vertexLength;addVertex(c,I.x,I.y,m.x,m.y,v.x,v.y,S,T,p,M),addVertex(c,I.x,I.y,g.x,g.y,v.x+v.w,v.y,S,T,p,M),addVertex(c,I.x,I.y,f.x,f.y,v.x,v.y+v.h,S,T,p,M),addVertex(c,I.x,I.y,b.x,b.y,v.x+v.w,v.y+v.h,S,T,p,M),s.emplaceBack(A,A+1,A+2),s.emplaceBack(A+1,A+2,A+3),B.vertexLength+=4,B.primitiveLength+=2}}e.populatePaintArrays(n)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,r=o.layoutVertexArray,a=o.elementArray,i=-e.angle,n=e.yStretch,l=0,s=t.symbolInstances;lSymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),z>SymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\");var _=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:M,textBoxEndIndex:B,iconBoxStartIndex:A,iconBoxEndIndex:z,glyphQuads:I,iconQuads:v,anchor:e,featureIndex:l,featureProperties:g,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket;\n},{\"../../source/rtl_text_plugin\":90,\"../../symbol/anchor\":157,\"../../symbol/clip_line\":159,\"../../symbol/collision_feature\":161,\"../../symbol/get_anchors\":163,\"../../symbol/mergelines\":166,\"../../symbol/quads\":167,\"../../symbol/resolve_text\":168,\"../../symbol/shaping\":169,\"../../util/classify_rings\":195,\"../../util/find_pole_of_inaccessibility\":201,\"../../util/script_detection\":209,\"../../util/token\":211,\"../../util/util\":212,\"../array_group\":44,\"../buffer_group\":52,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60,\"point-geometry\":26,\"vector-tile\":34}],51:[function(require,module,exports){\n\"use strict\";var AttributeType={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\"},Buffer=function(e,t,r){this.arrayBuffer=e.arrayBuffer,this.length=e.length,this.attributes=t.members,this.itemSize=t.bytesPerElement,this.type=r,this.arrayType=t};Buffer.fromStructArray=function(e,t){return new Buffer(e.serialize(),e.constructor.serialize(),t)},Buffer.prototype.bind=function(e){var t=e[this.type];this.buffer?e.bindBuffer(t,this.buffer):(this.gl=e,this.buffer=e.createBuffer(),e.bindBuffer(t,this.buffer),e.bufferData(t,this.arrayBuffer,e.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.setVertexAttribPointers=function(e,t,r){for(var f=this,i=0;i0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),\"viewport\"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return u};\n},{\"../util/util\":212,\"./extent\":54}],57:[function(require,module,exports){\n\"use strict\";var createStructArrayType=require(\"../util/struct_array\"),PosArray=createStructArrayType({members:[{name:\"a_pos\",type:\"Int16\",components:2}]});module.exports=PosArray;\n},{\"../util/struct_array\":210}],58:[function(require,module,exports){\n\"use strict\";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+\"-\",\"\").replace(/-/g,\"_\"));var i=\"color\"===r._paintSpecifications[t.property].type;return util.extend({name:\"a_\"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=require(\"./vertex_array_type\"),util=require(\"../util/util\"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=\"\"};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(t&&t.hasOwnProperty(\"lng\")&&t.hasOwnProperty(\"lat\"))return new LngLat(t.lng,t.lat);if(Array.isArray(t)&&2===t.length)return new LngLat(t[0],t[1]);throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]\")},module.exports=LngLat;\n},{\"../util/util\":212}],63:[function(require,module,exports){\n\"use strict\";var LngLat=require(\"./lng_lat\"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds;\n},{\"./lng_lat\":62}],64:[function(require,module,exports){\n\"use strict\";var LngLat=require(\"./lng_lat\"),Point=require(\"point-geometry\"),Coordinate=require(\"./coordinate\"),util=require(\"../util/util\"),interp=require(\"../util/interpolate\"),TileCoord=require(\"../source/tile_coord\"),EXTENT=require(\"../data/extent\"),glmatrix=require(\"@mapbox/gl-matrix\"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){var i=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-i)*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o))},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var o=0,e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(o-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r,n,s,a,h=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),i=this.latY(this.latRange[0]),r=i-ti&&(a=i-l)}if(this.lngRange){var u=this.x,f=h.x/2;u-fe&&(s=e-f)}void 0===s&&void 0===a||(this.center=this.unproject(new Point(void 0!==s?s:this.x,void 0!==a?a:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),e=Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance,r=1.01*e,n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),n=mat4.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform;\n},{\"../data/extent\":54,\"../source/tile_coord\":94,\"../util/interpolate\":204,\"../util/util\":212,\"./coordinate\":61,\"./lng_lat\":62,\"@mapbox/gl-matrix\":1,\"point-geometry\":26}],65:[function(require,module,exports){\n\"use strict\";var browser=require(\"./util/browser\"),mapboxgl=module.exports={};mapboxgl.version=require(\"../package.json\").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=require(\"./ui/map\"),mapboxgl.NavigationControl=require(\"./ui/control/navigation_control\"),mapboxgl.GeolocateControl=require(\"./ui/control/geolocate_control\"),mapboxgl.AttributionControl=require(\"./ui/control/attribution_control\"),mapboxgl.ScaleControl=require(\"./ui/control/scale_control\"),mapboxgl.FullscreenControl=require(\"./ui/control/fullscreen_control\"),mapboxgl.Popup=require(\"./ui/popup\"),mapboxgl.Marker=require(\"./ui/marker\"),mapboxgl.Style=require(\"./style/style\"),mapboxgl.LngLat=require(\"./geo/lng_lat\"),mapboxgl.LngLatBounds=require(\"./geo/lng_lat_bounds\"),mapboxgl.Point=require(\"point-geometry\"),mapboxgl.Evented=require(\"./util/evented\"),mapboxgl.supported=require(\"./util/browser\").supported;var config=require(\"./util/config\");mapboxgl.config=config;var rtlTextPlugin=require(\"./source/rtl_text_plugin\");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,\"accessToken\",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}});\n},{\"../package.json\":43,\"./geo/lng_lat\":62,\"./geo/lng_lat_bounds\":63,\"./source/rtl_text_plugin\":90,\"./style/style\":146,\"./ui/control/attribution_control\":173,\"./ui/control/fullscreen_control\":174,\"./ui/control/geolocate_control\":175,\"./ui/control/navigation_control\":177,\"./ui/control/scale_control\":178,\"./ui/map\":187,\"./ui/marker\":188,\"./ui/popup\":189,\"./util/browser\":192,\"./util/config\":196,\"./util/evented\":200,\"point-geometry\":26}],66:[function(require,module,exports){\n\"use strict\";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint[\"background-color\"],l=e.paint[\"background-pattern\"],u=e.paint[\"background-opacity\"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram(\"fillPattern\",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram(\"fill\",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var c=i.coveringTiles({tileSize:n}),g=0,p=c;g\":[24,[4,18,20,9,4,0]],\"?\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\"@\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\"[\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\"\\\\\":[14,[0,21,14,-3]],\"]\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\"^\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\"`\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\"{\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\"|\":[8,[4,25,4,-7]],\"}\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\"~\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};\n},{\"../data/buffer\":51,\"../data/extent\":54,\"../data/pos_array\":57,\"../util/browser\":192,\"./vertex_array_object\":80,\"@mapbox/gl-matrix\":1}],70:[function(require,module,exports){\n\"use strict\";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint[\"fill-pattern\"]&&r.isPaintValueFeatureConstant(\"fill-color\")&&r.isPaintValueFeatureConstant(\"fill-opacity\")&&1===r.paint[\"fill-color\"][3]&&1===r.paint[\"fill-opacity\"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint[\"fill-antialias\"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty(\"fill-outline-color\")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint[\"raster-fade-duration\"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=require(\"../util/util\");module.exports=drawRaster;\n},{\"../util/util\":212}],74:[function(require,module,exports){\n\"use strict\";function drawSymbols(e,t,a,i){if(!e.isOpaquePass){var o=!(a.layout[\"text-allow-overlap\"]||a.layout[\"icon-allow-overlap\"]||a.layout[\"text-ignore-placement\"]||a.layout[\"icon-ignore-placement\"]),r=e.gl;o?r.disable(r.STENCIL_TEST):r.enable(r.STENCIL_TEST),e.setDepthSublayer(0),e.depthMask(!1),drawLayerSymbols(e,t,a,i,!1,a.paint[\"icon-translate\"],a.paint[\"icon-translate-anchor\"],a.layout[\"icon-rotation-alignment\"],a.layout[\"icon-rotation-alignment\"],a.layout[\"icon-size\"]),drawLayerSymbols(e,t,a,i,!0,a.paint[\"text-translate\"],a.paint[\"text-translate-anchor\"],a.layout[\"text-rotation-alignment\"],a.layout[\"text-pitch-alignment\"],a.layout[\"text-size\"]),t.map.showCollisionBoxes&&drawCollisionDebug(e,t,a,i)}}function drawLayerSymbols(e,t,a,i,o,r,n,l,s,u){if(o||!e.style.sprite||e.style.sprite.loaded()){var f=e.gl,m=\"map\"===l,p=\"map\"===s,c=p;c?f.enable(f.DEPTH_TEST):f.disable(f.DEPTH_TEST);for(var d,_,h=0,g=i;hthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);a<=t?r.opacities[a]=r.changeOpacities[a]+o:r.opacities[a]=r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory;\n},{}],76:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(\",\")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1,a=128;if(this.nextRow+s>this.height)return util.warnOnce(\"LineAtlas out of space\"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);var t=8,i=1/t;r.blendColor(i,i,i,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s=\"#define MAPBOX_GL_JS\\n#define DEVICE_PIXEL_RATIO \"+browser.devicePixelRatio.toFixed(1)+\"\\n\";this._showOverdrawInspector&&(s+=\"#define OVERDRAW_INSPECTOR;\\n\");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,\"fragment\"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,\"vertex\"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)};\n},{\"../source/pixels_to_tile_units\":87}],79:[function(require,module,exports){\n\"use strict\";var path=require(\"path\");module.exports={prelude:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\\n if (t < 1.0) {\\n return mix(values[0], values[1], t);\\n } else if (t < 2.0) {\\n return mix(values[1], values[2], t - 1.0);\\n } else {\\n return mix(values[2], values[3], t - 2.0);\\n }\\n}\\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\\n if (t < 1.0) {\\n return mix(value0, value1, t);\\n } else if (t < 2.0) {\\n return mix(value1, value2, t - 1.0);\\n } else {\\n return mix(value2, value3, t - 2.0);\\n }\\n}\\n\\n\\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\n// floor(color.b * 255) * 256 + color.g * 255 ]\\nvec4 decode_color(const vec2 encodedColor) {\\n float r = floor(encodedColor[0]/256.0)/255.0;\\n float g = (encodedColor[0] - r*256.0*255.0)/255.0;\\n float b = floor(encodedColor[1]/256.0)/255.0;\\n float a = (encodedColor[1] - b*256.0*255.0)/255.0;\\n return vec4(r, g, b, a);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\n return mix(packedValue[0], packedValue[1], t);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\n return mix(minColor, maxColor, t);\\n}\\n\\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\\n// vec2 offset = mod(pixel_coord, size)\\n//\\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\\n//\\n// The pixel_coord is passed in as two 16 bit values:\\n// pixel_coord_upper = floor(pixel_coord / 2^16)\\n// pixel_coord_lower = mod(pixel_coord, 2^16)\\n//\\n// The offset is calculated in a series of steps that should preserve this precision:\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\n\\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\n return (tile_units_to_pixels * pos + offset) / pattern_size;\\n}\\n\"},circle:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n float extrude_length = length(v_extrude);\\n float antialiased_blur = -max(blur, v_antialiasblur);\\n\\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\n\\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\n antialiased_blur,\\n 0.0,\\n extrude_length - radius / (radius + stroke_width)\\n );\\n\\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform bool u_scale_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nattribute vec2 a_pos;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main(void) {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n // unencode the extrusion vector that we snuck into the a_pos vector\\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n // in extrusion data\\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\\n\\n if (u_scale_with_map) {\\n gl_Position.xy += extrude;\\n } else {\\n gl_Position.xy += extrude * gl_Position.w;\\n }\\n\\n // This is a minimum blur distance that serves as a faux-antialiasing for\\n // the circle. since blur is a ratio of the circle's size and the intent is\\n // to keep the blur at roughly 1px, the two are inversely related.\\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\n}\\n\"},collisionBox:{fragmentSource:\"uniform float u_zoom;\\nuniform float u_maxzoom;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n\\n float alpha = 0.5;\\n\\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\\n\\n if (v_placement_zoom > u_zoom) {\\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n }\\n\\n if (u_zoom >= v_max_zoom) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\\n }\\n\\n if (v_placement_zoom >= u_maxzoom) {\\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\\n }\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform float u_scale;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\\n\\n v_max_zoom = a_data.x;\\n v_placement_zoom = a_data.y;\\n}\\n\"},debug:{fragmentSource:\"uniform lowp vec4 u_color;\\n\\nvoid main() {\\n gl_FragColor = u_color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\\n}\\n\"},fill:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_FragColor = color * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fillOutline:{fragmentSource:\"#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = smoothstep(1.0, 0.0, dist);\\n gl_FragColor = outline_color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillOutlinePattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n // find distance to outline for alpha interpolation\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = smoothstep(1.0, 0.0, dist);\\n\\n\\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n}\\n\"},fillExtrusion:{fragmentSource:\"varying vec4 v_color;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize lowp vec4 color\\n\\n gl_FragColor = v_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec4 v_color;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\n#pragma mapbox: define lowp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize lowp vec4 color\\n\\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\\n float t = mod(a_normal.x, 2.0);\\n\\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\n\\n // Relative luminance (how dark/bright is the surface color?)\\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\n\\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\\n\\n // Add slight ambient lighting so no extrusions are totally black\\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\n color += ambientlight;\\n\\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\\n\\n // Adjust directional so that\\n // the range of values for highlight/shading is narrower\\n // with lower light intensity\\n // and with lighter/brighter surface colors\\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\n\\n // Add gradient along z axis of side surfaces\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\n // with lower bounds adjusted to hue of light\\n // so that shading is tinted with the complementary (opposite) color to the light color\\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\n}\\n\"},fillExtrusionPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n vec4 mixedColor = mix(color1, color2, u_mix);\\n\\n gl_FragColor = mixedColor * v_lighting;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\nuniform float u_height_factor;\\n\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\nvarying float v_directional;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n float t = mod(a_normal.x, 2.0);\\n float z = t > 0.0 ? height : base;\\n\\n gl_Position = u_matrix * vec4(a_pos, z, 1);\\n\\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\\n ? a_pos // extrusion top\\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\\n\\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\\n\\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\n\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\n}\\n\"},extrusionTexture:{fragmentSource:\"uniform sampler2D u_texture;\\nuniform float u_opacity;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_FragColor = texture2D(u_texture, v_pos) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform int u_xdim;\\nuniform int u_ydim;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos.x = a_pos.x / float(u_xdim);\\n v_pos.y = 1.0 - a_pos.y / float(u_ydim);\\n}\\n\"},line:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_width2;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"},linePattern:{fragmentSource:\"uniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_fade;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\\n\\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\n\\n gl_FragColor = color * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float offset\\n #pragma mapbox: initialize mediump float gapwidth\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_linesofar = a_linesofar;\\n v_width2 = vec2(outset, inset);\\n}\\n\"},lineSDF:{fragmentSource:\"\\nuniform sampler2D u_image;\\nuniform float u_sdfgamma;\\nuniform float u_mix;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_patternscale_a;\\nuniform float u_tex_y_a;\\nuniform vec2 u_patternscale_b;\\nuniform float u_tex_y_b;\\nuniform vec2 u_gl_units_to_pixels;\\nuniform mediump float u_width;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset;\\n \\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist =outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"\n},raster:{fragmentSource:\"uniform float u_fade_t;\\nuniform float u_opacity;\\nuniform sampler2D u_image0;\\nuniform sampler2D u_image1;\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nuniform float u_brightness_low;\\nuniform float u_brightness_high;\\n\\nuniform float u_saturation_factor;\\nuniform float u_contrast_factor;\\nuniform vec3 u_spin_weights;\\n\\nvoid main() {\\n\\n // read and cross-fade colors from the main and parent tiles\\n vec4 color0 = texture2D(u_image0, v_pos0);\\n vec4 color1 = texture2D(u_image1, v_pos1);\\n vec4 color = mix(color0, color1, u_fade_t);\\n color.a *= u_opacity;\\n vec3 rgb = color.rgb;\\n\\n // spin\\n rgb = vec3(\\n dot(rgb, u_spin_weights.xyz),\\n dot(rgb, u_spin_weights.zxy),\\n dot(rgb, u_spin_weights.yzx));\\n\\n // saturation\\n float average = (color.r + color.g + color.b) / 3.0;\\n rgb += (average - rgb) * u_saturation_factor;\\n\\n // contrast\\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\n\\n // brightness\\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\n\\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_tl_parent;\\nuniform float u_scale_parent;\\nuniform float u_buffer_scale;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\n}\\n\"},symbolIcon:{fragmentSource:\"uniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\nattribute vec4 a_pos_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n#pragma mapbox: define lowp float opacity\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_texture_pos.xy;\\n mediump float a_labelminzoom = a_data[0];\\n mediump vec2 a_zoom = a_data.pq;\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n // u_zoom is the current zoom level adjusted for the change in font size\\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n if (u_rotate_with_map) {\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n } else {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"},symbolSDF:{fragmentSource:\"#define SDF_PX 8.0\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\n\\nuniform bool u_is_halo;\\n#pragma mapbox: define lowp vec4 fill_color\\n#pragma mapbox: define lowp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\nuniform lowp float u_font_scale;\\nuniform highp float u_gamma_scale;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 fill_color\\n #pragma mapbox: initialize lowp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n lowp vec4 color = fill_color;\\n highp float gamma = EDGE_GAMMA / u_gamma_scale;\\n lowp float buff = (256.0 - 64.0) / 256.0;\\n if (u_is_halo) {\\n color = halo_color;\\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / u_gamma_scale;\\n buff = (6.0 - halo_width / u_font_scale) / SDF_PX;\\n }\\n\\n lowp float dist = texture2D(u_texture, v_tex).a;\\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\\n highp float gamma_scaled = gamma * v_gamma_scale;\\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n#pragma mapbox: define lowp vec4 fill_color\\n#pragma mapbox: define lowp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform bool u_pitch_with_map;\\nuniform mediump float u_pitch;\\nuniform mediump float u_bearing;\\nuniform mediump float u_aspect_ratio;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 fill_color\\n #pragma mapbox: initialize lowp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_texture_pos.xy;\\n mediump float a_labelminzoom = a_data[0];\\n mediump vec2 a_zoom = a_data.pq;\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n // u_zoom is the current zoom level adjusted for the change in font size\\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n // pitch-alignment: map\\n // rotation-alignment: map | viewport\\n if (u_pitch_with_map) {\\n lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\\n vec2 offset = RotationMatrix * a_offset;\\n vec2 extrude = u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: map\\n } else if (u_rotate_with_map) {\\n // foreshortening factor to apply on pitched maps\\n // as a label goes from horizontal <=> vertical in angle\\n // it goes from 0% foreshortening to up to around 70% foreshortening\\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\\n\\n lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\\n\\n // use the lineangle to position points a,b along the line\\n // project the points and calculate the label angle in projected space\\n // this calculation allows labels to be rendered unskewed on pitched maps\\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\\n\\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\\n vec2 extrude = u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: viewport\\n } else {\\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_gamma_scale = gl_Position.w;\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"}};\n},{\"path\":23}],80:[function(require,module,exports){\n\"use strict\";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,o){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension(\"OES_vertex_array_object\"));var s=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==o;!e.extVertexArrayObject||s?(this.freshBind(e,t,r,i,n,o),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,o){var s,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),s=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=o;else{s=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(\"loadTile\",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast(\"removeSource\",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource;\n},{\"../data/extent\":54,\"../util/evented\":200,\"../util/util\":212,\"../util/window\":194}],83:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),rewind=require(\"geojson-rewind\"),GeoJSONWrapper=require(\"./geojson_wrapper\"),vtpbf=require(\"vt-pbf\"),supercluster=require(\"supercluster\"),geojsonvt=require(\"geojson-vt\"),VectorTileWorkerSource=require(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name=\"_geojsonTileLayer\";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):\"object\"!=typeof o?r(new Error(\"Input data is not a valid GeoJSON object.\")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if(\"string\"!=typeof e.data)return r(new Error(\"Input data is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error(\"Input data is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource;\n},{\"../util/ajax\":191,\"./geojson_wrapper\":84,\"./vector_tile_worker_source\":96,\"geojson-rewind\":7,\"geojson-vt\":11,\"supercluster\":29,\"vt-pbf\":38}],84:[function(require,module,exports){\n\"use strict\";var Point=require(\"point-geometry\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,EXTENT=require(\"../data/extent\"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;a=i._tiles[d],a&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var t=Math.ceil(e.width/e.tileSize)+1,o=Math.ceil(e.height/e.tileSize)+1,i=t*o,r=5;this._cache.setMaxSize(Math.floor(i*r))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(u=this.used?this._source.coord?[this._source.coord]:e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}):[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),a=o.findLoadedParent(r,d,l),a&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire(\"dataloading\",{tile:t,coord:t.coord,dataType:\"source\"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,\"expired\"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-(1/0),n=-(1/0),d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTimei.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e=\"\",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=t:this.dispatcher.send(\"reloadTile\",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send(\"loadTile\",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send(\"abortTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource;\n},{\"../util/evented\":200,\"../util/mapbox\":208,\"../util/util\":212,\"./load_tilejson\":86}],96:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),vt=require(\"vector-tile\"),Protobuf=require(\"pbf\"),WorkerTile=require(\"./worker_tile\"),util=require(\"../util/util\"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];\"parsing\"===l.status?l.reloadCallback=r:\"done\"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var a=t[i],l=a.redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource;\n},{\"../util/ajax\":191,\"../util/util\":212,\"./worker_tile\":99,\"pbf\":25,\"vector-tile\":34}],97:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),ImageSource=require(\"./image_source\"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type=\"video\",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire(\"error\",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener(\"playing\",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener(\"pause\",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},e}(ImageSource);module.exports=VideoSource;\n},{\"../util/ajax\":191,\"./image_source\":85}],98:[function(require,module,exports){\n\"use strict\";var Actor=require(\"../util/actor\"),StyleLayerIndex=require(\"../style/style_layer_index\"),VectorTileWorkerSource=require(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=require(\"./geojson_worker_source\"),globalRTLTextPlugin=require(\"./rtl_text_plugin\"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name \"'+e+'\" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error(\"RTL text plugin already registered.\");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)};\n},{\"../style/style_layer_index\":154,\"../util/actor\":190,\"./geojson_worker_source\":83,\"./rtl_text_plugin\":90,\"./vector_tile_worker_source\":96}],99:[function(require,module,exports){\n\"use strict\";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&\"none\"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(D++,2===D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r\"===i||\"<=\"===i||\">=\"===i?compileComparisonOp(e[1],e[2],i,!0):\"any\"===i?compileLogicalOp(e.slice(1),\"||\"):\"all\"===i?compileLogicalOp(e.slice(1),\"&&\"):\"none\"===i?compileNegation(compileLogicalOp(e.slice(1),\"||\")):\"in\"===i?compileInOp(e[1],e.slice(2)):\"!in\"===i?compileNegation(compileInOp(e[1],e.slice(2))):\"has\"===i?compileHasOp(e[1]):\"!has\"===i?compileNegation(compileHasOp(e[1])):\"true\";return\"(\"+n+\")\"}function compilePropertyReference(e){return\"$type\"===e?\"f.type\":\"$id\"===e?\"f.id\":\"p[\"+JSON.stringify(e)+\"]\"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t=\"$type\"===e?types.indexOf(i):JSON.stringify(i);return(r?\"typeof \"+o+\"=== typeof \"+t+\"&&\":\"\")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){\"$type\"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+\".indexOf(\"+r+\") !== -1\":\"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }(\"+r+\", \"+n+\",0,\"+(i.length-1)+\")\"}function compileHasOp(e){return\"$id\"===e?'\"id\" in f':JSON.stringify(e)+\" in p\"}function compileNegation(e){return\"!(\"+e+\")\"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];\n},{}],104:[function(require,module,exports){\n\"use strict\";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn),g=xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn);return[116*o-16,500*(b-o),200*(o-g),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1],n=r[2];return labToRgb([n,Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}};\n},{}],105:[function(require,module,exports){\n\"use strict\";function identityFunction(t){return t}function createFunction(t,e){var o,n=\"color\"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&\"object\"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||(\"interpolated\"===e.function?\"exponential\":\"interval\");n&&(t=extend({},t),t.stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if(\"exponential\"===s)u=evaluateExponentialFunction;else if(\"interval\"===s)u=evaluateIntervalFunction;else if(\"categorical\"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=binarySearchForIndex(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if(\"number\"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=binarySearchForIndex(t.stops,o);return interpolate(o,n,t.stops[a][0],t.stops[a+1][0],t.stops[a][1],t.stops[a+1][1])}function evaluateIdentityFunction(t,e,o){return\"color\"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function binarySearchForIndex(t,e){for(var o,n,r=t.length,a=0,i=r-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e>=o&&ee&&(i=s-1)}return Math.max(s-1,0)}function interpolate(t,e,o,n,r,a){return\"function\"==typeof r?function(){var i=r.apply(void 0,arguments),s=a.apply(void 0,arguments);if(void 0!==i&&void 0!==s)return interpolate(t,e,o,n,i,s)}:r.length?interpolateArray(t,e,o,n,r,a):interpolateNumber(t,e,o,n,r,a)}function interpolateNumber(t,e,o,n,r,a){var i,s=n-o,u=t-o;return i=1===e?u/s:(Math.pow(e,u)-1)/(Math.pow(e,s)-1),r*(1-i)+a*i}function interpolateArray(t,e,o,n,r,a){for(var i=[],s=0;s255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte(\"%\"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float(\"%\"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,\"\").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if(\"#\"===r[0]){if(4===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null}if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf(\"(\"),t=r.indexOf(\")\");if(a!==-1&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(\",\"),o=1;switch(n){case\"rgba\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"rgb\":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case\"hsla\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"hsl\":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){}\n},{}],108:[function(require,module,exports){\nfunction sss(r){var e,t,s,n,u,a;switch(typeof r){case\"object\":if(null===r)return null;if(isArray(r)){for(s=\"[\",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+\"]\"}for(n=objKeys(r).sort(),t=n.length,s=\"{\",u=n[e=0],a=t>0&&void 0!==r[u];e15?\"\\\\u00\"+e.toString(16):\"\\\\u000\"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return\"\"+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace;\n},{}],109:[function(require,module,exports){\nfunction isObjectLike(r){return!!r&&\"object\"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&(\"object\"==e||\"function\"==e)}function isObjectLike(t){return!!t&&\"object\"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",funcTag=\"[object Function]\",genTag=\"[object GeneratorFunction]\",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments;\n},{}],113:[function(require,module,exports){\nfunction isObjectLike(t){return!!t&&\"object\"==typeof t}function getNative(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}function isLength(t){return\"number\"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&(\"object\"==r||\"function\"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var arrayTag=\"[object Array]\",funcTag=\"[object Function]\",reIsHostCtor=/^\\[object .+?Constructor\\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp(\"^\"+fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),nativeIsArray=getNative(Array,\"isArray\"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(t){return isObjectLike(t)&&isLength(t.length)&&objToString.call(t)==arrayTag};module.exports=isArray;\n},{}],114:[function(require,module,exports){\nfunction isEqual(a,l,i,e){i=\"function\"==typeof i?bindCallback(i,e,3):void 0;var s=i?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=require(\"lodash._baseisequal\"),bindCallback=require(\"lodash._bindcallback\");module.exports=isEqual;\n},{\"lodash._baseisequal\":109,\"lodash._bindcallback\":110}],115:[function(require,module,exports){\nfunction isLength(a){return\"number\"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&\"object\"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",arrayTag=\"[object Array]\",boolTag=\"[object Boolean]\",dateTag=\"[object Date]\",errorTag=\"[object Error]\",funcTag=\"[object Function]\",mapTag=\"[object Map]\",numberTag=\"[object Number]\",objectTag=\"[object Object]\",regexpTag=\"[object RegExp]\",setTag=\"[object Set]\",stringTag=\"[object String]\",weakMapTag=\"[object WeakMap]\",arrayBufferTag=\"[object ArrayBuffer]\",dataViewTag=\"[object DataView]\",float32Tag=\"[object Float32Array]\",float64Tag=\"[object Float64Array]\",int8Tag=\"[object Int8Array]\",int16Tag=\"[object Int16Array]\",int32Tag=\"[object Int32Array]\",uint8Tag=\"[object Uint8Array]\",uint8ClampedTag=\"[object Uint8ClampedArray]\",uint16Tag=\"[object Uint16Array]\",uint32Tag=\"[object Uint32Array]\",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objectToString=objectProto.toString;module.exports=isTypedArray;\n},{}],116:[function(require,module,exports){\nfunction baseProperty(e){return function(t){return null==t?void 0:t[e]}}function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e=\"number\"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n\":{},\">=\":{},\"<\":{},\"<=\":{},\"in\":{},\"!in\":{},\"all\":{},\"any\":{},\"none\":{},\"has\":{},\"!has\":{}}},\"geometry_type\":{\"type\":\"enum\",\"values\":{\"Point\":{},\"LineString\":{},\"Polygon\":{}}},\"function\":{\"stops\":{\"type\":\"array\",\"value\":\"function_stop\"},\"base\":{\"type\":\"number\",\"default\":1,\"minimum\":0},\"property\":{\"type\":\"string\",\"default\":\"$zoom\"},\"type\":{\"type\":\"enum\",\"values\":{\"identity\":{},\"exponential\":{},\"interval\":{},\"categorical\":{}},\"default\":\"exponential\"},\"colorSpace\":{\"type\":\"enum\",\"values\":{\"rgb\":{},\"lab\":{},\"hcl\":{}},\"default\":\"rgb\"},\"default\":{\"type\":\"*\",\"required\":false}},\"function_stop\":{\"type\":\"array\",\"minimum\":0,\"maximum\":22,\"value\":[\"number\",\"color\"],\"length\":2},\"light\":{\"anchor\":{\"type\":\"enum\",\"default\":\"viewport\",\"values\":{\"map\":{},\"viewport\":{}},\"transition\":false},\"position\":{\"type\":\"array\",\"default\":[1.15,210,30],\"length\":3,\"value\":\"number\",\"transition\":true,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false},\"color\":{\"type\":\"color\",\"default\":\"#ffffff\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true},\"intensity\":{\"type\":\"number\",\"default\":0.5,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true}},\"paint\":[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_background\"],\"paint_fill\":{\"fill-antialias\":{\"type\":\"boolean\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"default\":true},\"fill-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"}]},\"fill-outline-color\":{\"type\":\"color\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"},{\"fill-antialias\":true}]},\"fill-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-translate\"]},\"fill-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-extrusion-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-extrusion-pattern\"}]},\"fill-extrusion-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-extrusion-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-extrusion-translate\"]},\"fill-extrusion-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"fill-extrusion-height\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true},\"fill-extrusion-base\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true,\"requires\":[\"fill-extrusion-height\"]}},\"paint_line\":{\"line-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"line-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"line-pattern\"}]},\"line-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"line-translate\"]},\"line-width\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-gap-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-offset\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-dasharray\":{\"type\":\"array\",\"value\":\"number\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"minimum\":0,\"transition\":true,\"units\":\"line widths\",\"requires\":[{\"!\":\"line-pattern\"}]},\"line-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_circle\":{\"circle-radius\":{\"type\":\"number\",\"default\":5,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-blur\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"circle-translate\"]},\"circle-pitch-scale\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\"},\"circle-stroke-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-stroke-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-stroke-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true}},\"paint_symbol\":{\"icon-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"icon-image\",\"icon-translate\"]},\"text-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"text-field\",\"text-translate\"]}},\"paint_raster\":{\"raster-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-hue-rotate\":{\"type\":\"number\",\"default\":0,\"period\":360,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"degrees\"},\"raster-brightness-min\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":0,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-brightness-max\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-saturation\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-contrast\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-fade-duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"milliseconds\"}},\"paint_background\":{\"background-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"requires\":[{\"!\":\"background-pattern\"}]},\"background-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"background-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true}},\"transition\":{\"duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"units\":\"milliseconds\"},\"delay\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"units\":\"milliseconds\"}}}\n},{}],119:[function(require,module,exports){\n\"use strict\";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,\"constants have been deprecated as of v8\")];if(!(a in l.constants))return[new ValidationError(u,a,'constant \"%s\" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&\"object\"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))};\n},{\"../error/validation_error\":102,\"../util/extend\":119,\"../util/get_type\":120,\"./validate_array\":125,\"./validate_boolean\":126,\"./validate_color\":127,\"./validate_constants\":128,\"./validate_enum\":129,\"./validate_filter\":130,\"./validate_function\":131,\"./validate_layer\":133,\"./validate_light\":135,\"./validate_number\":136,\"./validate_object\":137,\"./validate_source\":140,\"./validate_string\":141}],125:[function(require,module,exports){\n\"use strict\";var getType=require(\"../util/get_type\"),validate=require(\"./validate\"),ValidationError=require(\"../error/validation_error\");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if(\"array\"!==getType(r))return[new ValidationError(l,r,\"array expected, %s found\",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,\"array length %d expected, length %d found\",t.length,r.length)];if(t[\"min-length\"]&&r.length7)return t?[new ValidationError(e,t,\"constants have been deprecated as of v8\")]:[];var o=getType(t);if(\"object\"!==o)return[new ValidationError(e,t,\"object expected, %s found\",o)];var n=[];for(var i in t)\"@\"!==i[0]&&n.push(new ValidationError(e+\".\"+i,t[i],'constants must start with \"@\"'));return n};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],129:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?u.values.indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",u.values.join(\", \"),n)):Object.keys(u.values).indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",Object.keys(u.values).join(\", \"),n)),o};\n},{\"../error/validation_error\":102,\"../util/unbundle_jsonlint\":123}],130:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),validateEnum=require(\"./validate_enum\"),getType=require(\"../util/get_type\"),unbundle=require(\"../util/unbundle_jsonlint\");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if(\"array\"!==getType(a))return[new ValidationError(n,a,\"array expected, %s found\",getType(a))];if(a.length<1)return[new ValidationError(n,a,\"filter array must have at least 1 element\")];switch(s=s.concat(validateEnum({key:n+\"[0]\",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case\"<\":case\"<=\":case\">\":case\">=\":a.length>=2&&\"$type\"===unbundle(a[1])&&s.push(new ValidationError(n,a,'\"$type\" cannot be use with operator \"%s\"',a[0]));case\"==\":case\"!=\":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator \"%s\" must have 3 elements',a[0]));case\"in\":case\"!in\":a.length>=2&&(t=getType(a[1]),\"string\"!==t&&s.push(new ValidationError(n+\"[1]\",a[1],\"string expected, %s found\",t)));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,\"stop zoom values must appear in ascending order\")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+\"[0]\",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+\"[0]\",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+\"[1]\",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,\"%s stop domain type must match previous stop domain type %s\",t,n)]}else n=t;if(\"number\"!==t&&\"string\"!==t&&\"boolean\"!==t)return[new ValidationError(e.key,e.value,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==t&&\"categorical\"!==p){var a=\"number expected, %s found\";return u[\"property-function\"]&&void 0===p&&(a+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ValidationError(e.key,e.value,a,t)]}return\"categorical\"!==p||\"number\"!==t||isFinite(r)&&Math.floor(r)===r?\"number\"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec[\"property-function\"]?v.push(new ValidationError(e.key,e.value,\"property functions not supported\")):y&&!e.valueSpec[\"zoom-function\"]&&v.push(new ValidationError(e.key,e.value,\"zoom functions not supported\"))),\"categorical\"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'\"property\" property is required')),v};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"../util/unbundle_jsonlint\":123,\"./validate\":124,\"./validate_array\":125,\"./validate_number\":136,\"./validate_object\":137}],132:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),validateString=require(\"./validate_string\");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(e.indexOf(\"{fontstack}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{fontstack}\" token')),e.indexOf(\"{range}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{range}\" token')),a)};\n},{\"../error/validation_error\":102,\"./validate_string\":141}],133:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\"),validateObject=require(\"./validate_object\"),validateFilter=require(\"./validate_filter\"),validatePaintProperty=require(\"./validate_paint_property\"),validateLayoutProperty=require(\"./validate_layout_property\"),extend=require(\"../util/extend\");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either \"type\" or \"ref\" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,\"%s is greater than the maximum value %s\",i,m.maximum)]:[]};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],137:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),getType=require(\"../util/get_type\"),validateSpec=require(\"./validate\");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if(\"object\"!==u)return[new ValidationError(r,t,\"object expected, %s found\",u)];for(var d in t){var p=d.split(\".\")[0],s=i[p]||i[\"*\"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a[\"*\"])c=a[\"*\"];else{if(!i[\"*\"]){n.push(new ValidationError(r,t[d],'unknown property \"%s\"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+\".\":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property \"%s\"',v));return n};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"./validate\":124}],138:[function(require,module,exports){\n\"use strict\";var validateProperty=require(\"./validate_property\");module.exports=function(r){return validateProperty(r,\"paint\")};\n},{\"./validate_property\":139}],139:[function(require,module,exports){\n\"use strict\";var validate=require(\"./validate\"),ValidationError=require(\"../error/validation_error\"),getType=require(\"../util/get_type\");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+\"_\"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if(\"paint\"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property \"%s\"',o)];var s;if(\"string\"===getType(n)&&p[\"property-function\"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'\"%s\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return\"symbol\"===e.layerType&&\"text-field\"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of \"text-field\" requires a style \"glyphs\" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"./validate\":124}],140:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\"),validateObject=require(\"./validate_object\"),validateEnum=require(\"./validate_enum\");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'\"type\" is required')];var u=unbundle(a.type),i=[];switch(u){case\"vector\":case\"raster\":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),\"url\"in a)for(var s in a)[\"type\",\"url\",\"tileSize\"].indexOf(s)<0&&i.push(new ValidationError(t+\".\"+s,a[s],'a source with a \"url\" property may not include a \"%s\" property',s));return i;case\"geojson\":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case\"video\":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case\"image\":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case\"canvas\":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+\".type\",value:a.type,valueSpec:{values:[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"]},style:l,styleSpec:r})}};\n},{\"../error/validation_error\":102,\"../util/unbundle_jsonlint\":123,\"./validate_enum\":129,\"./validate_object\":137}],141:[function(require,module,exports){\n\"use strict\";var getType=require(\"../util/get_type\"),ValidationError=require(\"../error/validation_error\");module.exports=function(r){var e=r.value,t=r.key,i=getType(e);return\"string\"!==i?[new ValidationError(t,e,\"string expected, %s found\",i)]:[]};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],142:[function(require,module,exports){\n\"use strict\";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:\"\",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,\"*\":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:\"constants\",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=require(\"./validate/validate_constants\"),validate=require(\"./validate/validate\"),latestStyleSpec=require(\"./reference/latest\"),validateGlyphsURL=require(\"./validate/validate_glyphs_url\");validateStyleMin.source=wrapCleanErrors(require(\"./validate/validate_source\")),validateStyleMin.light=wrapCleanErrors(require(\"./validate/validate_light\")),validateStyleMin.layer=wrapCleanErrors(require(\"./validate/validate_layer\")),validateStyleMin.filter=wrapCleanErrors(require(\"./validate/validate_filter\")),validateStyleMin.paintProperty=wrapCleanErrors(require(\"./validate/validate_paint_property\")),validateStyleMin.layoutProperty=wrapCleanErrors(require(\"./validate/validate_layout_property\")),module.exports=validateStyleMin;\n},{\"./reference/latest\":117,\"./validate/validate\":124,\"./validate/validate_constants\":128,\"./validate/validate_filter\":130,\"./validate/validate_glyphs_url\":132,\"./validate/validate_layer\":133,\"./validate/validate_layout_property\":134,\"./validate/validate_light\":135,\"./validate/validate_paint_property\":138,\"./validate/validate_source\":140}],143:[function(require,module,exports){\n\"use strict\";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop;\n},{}],144:[function(require,module,exports){\n\"use strict\";var Evented=require(\"../util/evented\"),ajax=require(\"../util/ajax\"),browser=require(\"../util/browser\"),normalizeURL=require(\"../util/mapbox\").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function i(i,e){var a=this;t.call(this),this.base=i,this.retina=browser.devicePixelRatio>1,this.setEventedParent(e);var r=this.retina?\"@2x\":\"\";ajax.getJSON(normalizeURL(i,r,\".json\"),function(t,i){return t?void a.fire(\"error\",{error:t}):(a.data=i,void(a.imgData&&a.fire(\"data\",{dataType:\"style\"})))}),ajax.getImage(normalizeURL(i,r,\".png\"),function(t,i){if(t)return void a.fire(\"error\",{error:t});a.imgData=browser.getImageData(i);for(var e=0;e1!==this.retina){var e=new i(this.base);e.on(\"data\",function(){t.data=e.data,t.imgData=e.imgData,t.width=e.width,t.retina=e.retina})}},i.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var i=this.data&&this.data[t];return i&&this.imgData?i:new SpritePosition},i}(Evented);module.exports=ImageSprite;\n},{\"../util/ajax\":191,\"../util/browser\":192,\"../util/evented\":200,\"../util/mapbox\":208}],145:[function(require,module,exports){\n\"use strict\";var styleSpec=require(\"../style-spec/reference/latest\"),util=require(\"../util/util\"),Evented=require(\"../util/evented\"),validateStyle=require(\"./validate_style\"),StyleDeclaration=require(\"./style_declaration\"),StyleTransition=require(\"./style_transition\"),TRANSITION_SUFFIX=\"-transition\",Light=function(t){function i(i){t.call(this),this.properties=[\"anchor\",\"color\",\"position\",\"intensity\"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];\"reload\"===a?r._reloadSource(s):\"clear\"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire(\"data\",{dataType:\"style\"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return\"symbol\"===r._layers[e].type}):null;this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;e=util.extend({},e),e.layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error(\"Unimplemented: \"+i.map(function(e){return e.command}).join(\", \")+\".\");return r.forEach(function(e){\"setTransition\"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!t.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(t)+\".\");var o=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"],s=o.indexOf(t.type)>=0;if(!s||!this._validate(validateStyle.source,\"sources.\"+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if(\"object\"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,\"layers.\"+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?\"clear\":\"reload\"}this._updateLayer(o),\"symbol\"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(!r)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")});var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),\"symbol\"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]=\"reload\"))},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(!t)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")});t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),\"symbol\"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,\"layers.\"+r.id+\".filter\",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(!o)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")});if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i);var a=!(r&&MapboxGLFunction.isFunctionDefinition(r)&&\"$zoom\"!==r.property&&void 0!==r.property);a&&s||this._updateLayer(o),this.updateClasses(e,t)}},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||\"all\"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]=\"reload\"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||\"none\"===this.layout.visibility)},i.prototype.updatePaintTransitions=function(t,i,a,e,n){for(var o=this,r=util.extend({},this._paintDeclarations[\"\"]),s=0;s=this.endTime)return e;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((o-this.startTime-this.delay)/this.duration);return this.interp(a,e,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var o=t.zoom,e=this.zoomHistory.lastIntegerZoom,a=o>e?2:.5,n=this.declaration.calculate({zoom:o>e?o-1:o+1},i),r=this.declaration.calculate({zoom:o},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(o-e),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition;\n},{\"../util/interpolate\":204,\"../util/util\":212}],156:[function(require,module,exports){\n\"use strict\";module.exports=require(\"../style-spec/validate_style.min\"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(s--,s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;f
r;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle;\n},{}],159:[function(require,module,exports){\n\"use strict\";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=require(\"point-geometry\");module.exports=clipLine;\n},{\"point-geometry\":26}],160:[function(require,module,exports){\n\"use strict\";var createStructArrayType=require(\"../util/struct_array\"),Point=require(\"point-geometry\"),CollisionBoxArray=createStructArrayType({members:[{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Float32\",name:\"maxScale\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"},{type:\"Int16\",name:\"bbox0\"},{type:\"Int16\",name:\"bbox1\"},{type:\"Int16\",name:\"bbox2\"},{type:\"Int16\",name:\"bbox3\"},{type:\"Float32\",name:\"placementScale\"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,\"anchorPoint\",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray;\n},{\"../util/struct_array\":210,\"point-geometry\":26}],161:[function(require,module,exports){\n\"use strict\";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(m--,m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],C=e[m+1],B=C.sub(p)._unit()._mult(g)._add(p)._round(),M=Math.max(Math.abs(c-h)-d/2,0),y=s/2/M;t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature;\n},{}],162:[function(require,module,exports){\n\"use strict\";var Point=require(\"point-geometry\"),EXTENT=require(\"../data/extent\"),Grid=require(\"grid-index\"),intersectionTests=require(\"../util/intersection_tests\"),CollisionTile=function(t,e,i){if(\"object\"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);S=r.tempCollisionBox,S.anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-(1/0),c=-(1/0),g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+c<=s){var M=new Anchor(k,q,y,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=A}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,h)),x}var interpolate=require(\"../util/interpolate\"),Anchor=require(\"../symbol/anchor\"),checkMaxAngle=require(\"./check_max_angle\");module.exports=getAnchors;\n},{\"../symbol/anchor\":157,\"../util/interpolate\":204,\"./check_max_angle\":158}],164:[function(require,module,exports){\n\"use strict\";var ShelfPack=require(\"@mapbox/shelf-pack\"),util=require(\"../util/util\"),SIZE_GROWTH_RATE=4,DEFAULT_SIZE=128,MAX_SIZE=2048,GlyphAtlas=function(){this.width=DEFAULT_SIZE,this.height=DEFAULT_SIZE,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+\"#\"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,n=1,l=a+2*n,T=E+2*n;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce(\"glyph bitmap overflow\"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=MAX_SIZE||e>=MAX_SIZE)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=SIZE_GROWTH_RATE,this.height*=SIZE_GROWTH_RATE,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a(\"glyphs > 65535 not supported\");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var i=256*e+\"-\"+(256*e+255),r=glyphUrl(t,i,this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},i.prototype.addIcons=function(t,i){for(var e=this,r=0;r1||(b?(clearTimeout(b),b=null,h(\"dblclick\",t)):b=setTimeout(l,300))}function i(e){f(\"touchmove\",e)}function c(e){f(\"touchend\",e)}function d(e){f(\"touchcancel\",e)}function l(){b=null}function s(e){var t=DOM.mousePos(g,e);t.equals(L)&&h(\"click\",e)}function v(e){h(\"dblclick\",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h(\"contextmenu\",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener(\"mouseout\",n,!1),g.addEventListener(\"mousedown\",o,!1),g.addEventListener(\"mouseup\",r,!1),g.addEventListener(\"mousemove\",a,!1),g.addEventListener(\"touchstart\",u,!1),g.addEventListener(\"touchend\",c,!1),g.addEventListener(\"touchmove\",i,!1),g.addEventListener(\"touchcancel\",d,!1),g.addEventListener(\"click\",s,!1),g.addEventListener(\"dblclick\",v,!1),g.addEventListener(\"contextmenu\",m,!1)};\n},{\"../util/dom\":199,\"./handler/box_zoom\":179,\"./handler/dblclick_zoom\":180,\"./handler/drag_pan\":181,\"./handler/drag_rotate\":182,\"./handler/keyboard\":183,\"./handler/scroll_zoom\":184,\"./handler/touch_zoom_rotate\":185,\"point-geometry\":26}],172:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),interpolate=require(\"../util/interpolate\"),browser=require(\"../util/browser\"),LngLat=require(\"../geo/lng_lat\"),LngLatBounds=require(\"../geo/lng_lat_bounds\"),Point=require(\"point-geometry\"),Evented=require(\"../util/evented\"),Camera=function(t){function i(i,e){t.call(this),this.moving=!1,this.transform=i,this._bearingSnap=e.bearingSnap}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i),this},i.prototype.panBy=function(t,i,e){return this.panTo(this.transform.center,util.extend({offset:Point.convert(t).mult(-1)},i),e),this},i.prototype.panTo=function(t,i,e){return this.easeTo(util.extend({center:t},i),e)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,i){return this.jumpTo({zoom:t},i),this},i.prototype.zoomTo=function(t,i,e){return this.easeTo(util.extend({zoom:t},i),e)},i.prototype.zoomIn=function(t,i){return this.zoomTo(this.getZoom()+1,t,i),this},i.prototype.zoomOut=function(t,i){return this.zoomTo(this.getZoom()-1,t,i),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,i){return this.jumpTo({bearing:t},i),this},i.prototype.rotateTo=function(t,i,e){return this.easeTo(util.extend({bearing:t},i),e)},i.prototype.resetNorth=function(t,i){return this.rotateTo(0,util.extend({duration:1e3},t),i),this},i.prototype.snapToNorth=function(t,i){return Math.abs(this.getBearing())i?1:0}),[\"bottom\",\"left\",\"right\",\"top\"]))return void util.warnOnce(\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\");t=LngLatBounds.convert(t);var n=[i.padding.left-i.padding.right,i.padding.top-i.padding.bottom],r=Math.min(i.padding.right,i.padding.left),s=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var a=Point.convert(i.offset),h=this.transform,u=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),c=p.sub(u),g=(h.width-2*r-2*Math.abs(a.x))/c.x,m=(h.height-2*s-2*Math.abs(a.y))/c.y;return m<0||g<0?void util.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\"):(i.center=h.unproject(u.add(p).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,m)),i.maxZoom),i.bearing=0,i.linear?this.easeTo(i,e):this.flyTo(i,e))},i.prototype.jumpTo=function(t,i){this.stop();var e=this.transform,o=!1,n=!1,r=!1;return\"zoom\"in t&&e.zoom!==+t.zoom&&(o=!0,e.zoom=+t.zoom),\"center\"in t&&(e.center=LngLat.convert(t.center)),\"bearing\"in t&&e.bearing!==+t.bearing&&(n=!0,e.bearing=+t.bearing),\"pitch\"in t&&e.pitch!==+t.pitch&&(r=!0,e.pitch=+t.pitch),this.fire(\"movestart\",i).fire(\"move\",i),o&&this.fire(\"zoomstart\",i).fire(\"zoom\",i).fire(\"zoomend\",i),n&&this.fire(\"rotate\",i),r&&this.fire(\"pitch\",i),this.fire(\"moveend\",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),t=util.extend({offset:[0,0],duration:500,easing:util.ease},t);var o,n,r=this.transform,s=Point.convert(t.offset),a=this.getZoom(),h=this.getBearing(),u=this.getPitch(),p=\"zoom\"in t?+t.zoom:a,c=\"bearing\"in t?this._normalizeBearing(t.bearing,h):h,g=\"pitch\"in t?+t.pitch:u;\"center\"in t?(o=LngLat.convert(t.center),n=r.centerPoint.add(s)):\"around\"in t?(o=LngLat.convert(t.around),n=r.locationPoint(o)):(n=r.centerPoint.add(s),o=r.pointLocation(n));var m=r.locationPoint(o);return t.animate===!1&&(t.duration=0),this.zooming=p!==a,this.rotating=h!==c,this.pitching=g!==u,t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration)),t.noMoveStart||(this.moving=!0,this.fire(\"movestart\",i)),this.zooming&&this.fire(\"zoomstart\",i),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(r.zoom=interpolate(a,p,t)),this.rotating&&(r.bearing=interpolate(h,c,t)),this.pitching&&(r.pitch=interpolate(u,g,t)),r.setLocationAtPoint(o,m.add(n.sub(m)._mult(t))),this.fire(\"move\",i),this.zooming&&this.fire(\"zoom\",i),this.rotating&&this.fire(\"rotate\",i),this.pitching&&this.fire(\"pitch\",i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(e._easeToEnd.bind(e,i),t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._easeToEnd=function(t){var i=this.zooming;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire(\"zoomend\",t),this.fire(\"moveend\",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(y*y-z*z+(t?-1:1)*E*E*_*_)/(2*(t?y:z)*E*_);return Math.log(Math.sqrt(i*i+1)-i)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,a=Point.convert(t.offset),h=this.getZoom(),u=this.getBearing(),p=this.getPitch(),c=\"center\"in t?LngLat.convert(t.center):this.getCenter(),g=\"zoom\"in t?+t.zoom:h,m=\"bearing\"in t?this._normalizeBearing(t.bearing,u):u,f=\"pitch\"in t?+t.pitch:p;Math.abs(s.center.lng)+Math.abs(c.lng)>180&&(s.center.lng>0&&c.lng<0?c.lng+=360:s.center.lng<0&&c.lng>0&&(c.lng-=360));var d=s.zoomScale(g-h),l=s.point,v=\"center\"in t?s.project(c).sub(a.div(d)):l,b=t.curve,z=Math.max(s.width,s.height),y=z/d,_=v.sub(l).mag();if(\"minZoom\"in t){var M=util.clamp(Math.min(t.minZoom,h,g),s.minZoom,s.maxZoom),T=z/s.zoomScale(M-h);b=Math.sqrt(T/_*2)}var E=b*b,x=e(0),L=function(t){return n(x)/n(x+b*t)},Z=function(t){return z*((n(x)*r(x+b*t)-o(x))/E)/_},P=(e(1)-x)/b;if(Math.abs(_)<1e-6){if(Math.abs(z-y)<1e-6)return this.easeTo(t,i);var j=y=0)return!1;return!0}),this._container.innerHTML=i.join(\" | \"),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?\"add\":\"remove\"](\"compact\")},module.exports=AttributionControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],174:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};FullscreenControl.prototype.onAdd=function(e){var n=\"mapboxgl-ctrl\",t=this._container=DOM.create(\"div\",n+\" mapboxgl-ctrl-group\"),l=this._fullscreenButton=DOM.create(\"button\",n+\"-icon \"+n+\"-fullscreen\",this._container);return l.setAttribute(\"aria-label\",\"Toggle fullscreen\"),l.type=\"button\",this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),t},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(e){if(e.target===this._mapContainer){this._fullscreen=!this._fullscreen;var n=\"mapboxgl-ctrl\";this._fullscreenButton.classList.toggle(n+\"-shrink\"),this._fullscreenButton.classList.toggle(n+\"-fullscreen\")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&window.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],175:[function(require,module,exports){\n\"use strict\";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:\"geolocation\"}).then(function(o){supportsGeolocation=\"denied\"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var Evented=require(\"../../util/evented\"),DOM=require(\"../../util/dom\"),window=require(\"../../util/window\"),util=require(\"../../util/util\"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},className=\"mapboxgl-ctrl\",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll([\"_onSuccess\",\"_onError\",\"_finish\",\"_setupUI\"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(\"geolocate\",t),this._finish()},o.prototype._onError=function(t){this.fire(\"error\",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){t!==!1&&(this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create(\"button\",className+\"-icon \"+className+\"-geolocate\",this._container),this._geolocateButton.type=\"button\",this._geolocateButton.setAttribute(\"aria-label\",\"Geolocate\"),this.options.watchPosition&&this._geolocateButton.setAttribute(\"aria-pressed\",!1),this._geolocateButton.addEventListener(\"click\",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove(\"watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add(\"watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl;\n},{\"../../util/dom\":199,\"../../util/evented\":200,\"../../util/util\":212,\"../../util/window\":194}],176:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),LogoControl=function(){util.bindAll([\"_updateLogo\"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create(\"div\",\"mapboxgl-ctrl\"),this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"sourcedata\",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},LogoControl.prototype._updateLogo=function(o){if(o&&\"metadata\"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create(\"a\",\"mapboxgl-ctrl-logo\");t.target=\"_blank\",t.href=\"https://www.mapbox.com/\",t.setAttribute(\"aria-label\",\"Mapbox logo\"),this._container.appendChild(t),this._map.off(\"data\",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){var e=o[t].getSource();if(e.mapbox_logo)return!0}return!1}},module.exports=LogoControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],177:[function(require,module,exports){\n\"use strict\";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=require(\"../../util/dom\"),window=require(\"../../util/window\"),util=require(\"../../util/util\"),className=\"mapboxgl-ctrl\",NavigationControl=function(){util.bindAll([\"_rotateCompassArrow\"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t=\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\",t.getContainer()),this._container.addEventListener(\"contextmenu\",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+\"-icon \"+className+\"-zoom-in\",\"Zoom In\",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+\"-icon \"+className+\"-zoom-out\",\"Zoom Out\",t.zoomOut.bind(t)),this._compass=this._createButton(className+\"-icon \"+className+\"-compass\",\"Reset North\",t.resetNorth.bind(t)),this._compassArrow=DOM.create(\"span\",className+\"-compass-arrow\",this._compass),this._compass.addEventListener(\"mousedown\",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"rotate\",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener(\"mousemove\",this._onCompassMove),window.document.addEventListener(\"mouseup\",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener(\"mousemove\",this._onCompassMove),window.document.removeEventListener(\"mouseup\",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create(\"button\",t,this._container);return n.type=\"button\",n.setAttribute(\"aria-label\",o),n.addEventListener(\"click\",function(){e()}),n},module.exports=NavigationControl;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],178:[function(require,module,exports){\n\"use strict\";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&\"imperial\"===o.unit){var r=3.2808*a;if(r>5280){var l=r/5280;setScale(e,n,l,\"mi\")}else setScale(e,n,r,\"ft\")}else setScale(e,n,a,\"m\")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;\"m\"===n&&i>=1e3&&(i/=1e3,n=\"km\"),t.style.width=e*a+\"px\",t.innerHTML=i+n}function getDistance(t,e){var o=6371e3,n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n),l=o*Math.acos(Math.min(r,1));return l}function getRoundNum(t){var e=Math.pow(10,(\"\"+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),ScaleControl=function(t){this.options=t,util.bindAll([\"_onMove\"],this)};ScaleControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},module.exports=ScaleControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],179:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),LngLatBounds=require(\"../../geo/lng_lat_bounds\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll([\"_onMouseDown\",\"_onMouseMove\",\"_onMouseUp\",\"_onKeyDown\"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onMouseDown,!1),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener(\"mousemove\",this._onMouseMove,!1),window.document.addEventListener(\"keydown\",this._onKeyDown,!1),window.document.addEventListener(\"mouseup\",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),r=Math.max(e.y,t.y);DOM.setTransform(this._box,\"translate(\"+n+\"px,\"+s+\"px)\"),this._box.style.width=i-n+\"px\",this._box.style.height=r-s+\"px\"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent(\"boxzoomcancel\",o):this._map.fitBounds(n,{linear:!0}).fire(\"boxzoomend\",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent(\"boxzoomcancel\",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener(\"mousemove\",this._onMouseMove,!1),window.document.removeEventListener(\"keydown\",this._onKeyDown,!1),window.document.removeEventListener(\"mouseup\",this._onMouseUp,!1),this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler;\n},{\"../../geo/lng_lat_bounds\":63,\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],180:[function(require,module,exports){\n\"use strict\";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on(\"dblclick\",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off(\"dblclick\",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler;\n},{}],181:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.3,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=1400,inertiaDeceleration=2500,DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\",\"_onTouchEnd\",\"_onMouseUp\"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._el.addEventListener(\"touchstart\",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._el.removeEventListener(\"touchstart\",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener(\"touchmove\",this._onMove),window.document.addEventListener(\"touchend\",this._onTouchEnd)):(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onMouseUp)),window.addEventListener(\"blur\",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"dragstart\",t),this._fireEvent(\"movestart\",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent(\"drag\",t),this._fireEvent(\"move\",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent(\"dragend\",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent(\"moveend\",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(inertiaLinearity/s),d=u.mag();d>inertiaMaxSpeed&&(d=inertiaMaxSpeed,u._unit()._mult(d));var h=d/(inertiaDeceleration*inertiaLinearity),v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onMouseUp),window.removeEventListener(\"blur\",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var n=1,i=0;return\"mousemove\"===t.type?t.buttons&0===n:t.button&&t.button!==i},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),n=160;t.length>0&&e-t[0][0]>n;)t.shift()},module.exports=DragPanHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],182:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,this._pitchWithRotate=e.pitchWithRotate!==!1,util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onUp),window.addEventListener(\"blur\",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=(i.y-n.y)*-.5,o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,v=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,v[1])]),e.transform.bearing=o,this._pitchWithRotate&&(e.transform.pitch=s),this._fireEvent(\"rotate\",t),this._fireEvent(\"move\",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onUp),window.removeEventListener(\"blur\",this._onUp),this.isActive())){this._active=!1,this._fireEvent(\"rotateend\",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)inertiaMaxSpeed&&(p=inertiaMaxSpeed);var l=p/(inertiaDeceleration*inertiaLinearity),g=u*p*(l/2);v+=g,Math.abs(i._normalizeBearing(v,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return\"undefined\"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0&&(r=0),\"mousemove\"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),i=160;t.length>0&&e-t[0][0]>i;)t.shift()},module.exports=DragRotateHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],183:[function(require,module,exports){\n\"use strict\";function easeOut(e){return e*(2-e)}var panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"keydown\",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"keydown\",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,n=0,a=0,i=0,r=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?a=1:(e.preventDefault(),r=-1);break;case 40:e.shiftKey?a=-1:(r=1,e.preventDefault())}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+n*bearingStep,pitch:s.getPitch()+a*pitchStep,offset:[-i*panStep,-r*panStep],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler;\n},{}],184:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),browser=require(\"../../util/browser\"),window=require(\"../../util/window\"),ua=window.navigator.userAgent.toLowerCase(),firefox=ua.indexOf(\"firefox\")!==-1,safari=ua.indexOf(\"safari\")!==-1&&ua.indexOf(\"chrom\")===-1,ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll([\"_onWheel\",\"_onTimeout\"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener(\"wheel\",this._onWheel,!1),this._el.addEventListener(\"mousewheel\",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&\"center\"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"wheel\",this._onWheel),this._el.removeEventListener(\"mousewheel\",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;\"wheel\"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):\"mousewheel\"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625===0?this._type=\"wheel\":0!==t&&Math.abs(t)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type=\"wheel\",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:\"wheel\"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler;\n},{\"../../util/browser\":192,\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],185:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=4,TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onStart\",\"_onMove\",\"_onEnd\"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener(\"touchstart\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"touchstart\",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener(\"touchmove\",this._onMove,!1),window.document.addEventListener(\"touchend\",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};\"rotate\"===this._gestureIntent&&(h.bearing=this._startBearing+r),\"zoom\"!==this._gestureIntent&&\"rotate\"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>significantScaleThreshold,d=Math.abs(r)>significantRotateThreshold;d?this._gestureIntent=\"rotate\":u&&(this._gestureIntent=\"zoom\"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)return void o.snapToNorth({},{originalEvent:t});var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0===h||a===r)return void o.snapToNorth({},{originalEvent:t});var d=s*inertiaLinearity/h;Math.abs(d)>inertiaMaxSpeed&&(d=d>0?inertiaMaxSpeed:-inertiaMaxSpeed);var l=1e3*Math.abs(d/(inertiaDeceleration*inertiaLinearity)),c=a+d*l/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:l,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),o=160;t.length>2&&e-t[0][0]>o;)t.shift()},module.exports=TouchZoomRotateHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],186:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),window=require(\"../util/window\"),Hash=function(){util.bindAll([\"_onHashChange\",\"_updateHash\"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace(\"#\",\"\").split(\"/\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n=\"#\"+Math.round(100*e)/100+\"/\"+t.lat.toFixed(i)+\"/\"+t.lng.toFixed(i);(a||h)&&(n+=\"/\"+Math.round(10*a)/10),h&&(n+=\"/\"+Math.round(h)),window.history.replaceState(\"\",\"\",n)},module.exports=Hash;\n},{\"../util/util\":212,\"../util/window\":194}],187:[function(require,module,exports){\n\"use strict\";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=require(\"../util/util\"),browser=require(\"../util/browser\"),window=require(\"../util/window\"),DOM=require(\"../util/dom\"),Style=require(\"../style/style\"),AnimationLoop=require(\"../style/animation_loop\"),Painter=require(\"../render/painter\"),Transform=require(\"../geo/transform\"),Hash=require(\"./hash\"),bindHandlers=require(\"./bind_handlers\"),Camera=require(\"./camera\"),LngLat=require(\"../geo/lng_lat\"),LngLatBounds=require(\"../geo/lng_lat_bounds\"),Point=require(\"point-geometry\"),AttributionControl=require(\"./control/attribution_control\"),LogoControl=require(\"./control/logo_control\"),isSupported=require(\"mapbox-gl-supported\"),defaultMinZoom=0,defaultMaxZoom=22,defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(e=util.extend({},defaultOptions,e),null!=e.minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than minZoom\");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,\"string\"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\",\"_update\",\"_render\",\"_onData\",\"_onDataLoading\"],this),this._setupContainer(),this._setupPainter(),this.on(\"move\",this._update.bind(this,!1)),this.on(\"zoom\",this._update.bind(this,!0)),this.on(\"moveend\",function(){o.animationLoop.set(300),o._rerender()}),\"undefined\"!=typeof window&&(window.addEventListener(\"online\",this._onWindowOnline,!1),window.addEventListener(\"resize\",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on(\"style.load\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on(\"data\",this._onData),this.on(\"dataloading\",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\"top-right\");var o=t.onAdd(this),i=this._controlPositions[e];return e.indexOf(\"bottom\")!==-1?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes.indexOf(t)>=0||\"\"===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");var o=this._classes.indexOf(t);return o<0||\"\"===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire(\"movestart\").fire(\"move\").fire(\"resize\").fire(\"moveend\")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if(t=null===t||void 0===t?defaultMinZoom:t,t>=defaultMinZoom&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.queryRenderedFeatures=function(){function t(t){return t instanceof Point||Array.isArray(t)}var e,o={};return 2===arguments.length?(e=arguments[0],o=arguments[1]):1===arguments.length&&t(arguments[0])?e=arguments[0]:1===arguments.length&&(o=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(e),o,this.transform.zoom,this.transform.angle)},e.prototype._makeQueryGeometry=function(t){var e=this;void 0===t&&(t=[Point.convert([0,0]),Point.convert([this.transform.width,this.transform.height])]);var o,i=t instanceof Point||\"number\"==typeof t[0];if(i){var r=Point.convert(t);o=[r]}else{var s=[Point.convert(t[0]),Point.convert(t[1])];o=[s[0],new Point(s[1].x,s[0].y),s[1],new Point(s[0].x,s[1].y),s[0]]}return o=o.map(function(t){return e.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){var o=(!e||e.diff!==!1)&&this.style&&t&&!(t instanceof Style)&&\"string\"!=typeof t;if(o)try{return this.style.setState(t)&&this._update(!0),this}catch(t){util.warnOnce(\"Unable to perform style diff: \"+(t.message||t.error||t)+\". Rebuilding the style from scratch.\")}return this.style&&(this.style.setEventedParent(null),this.style._remove(),this.off(\"rotate\",this.style._redoPlacement),this.off(\"pitch\",this.style._redoPlacement)),t?(t instanceof Style?this.style=t:this.style=new Style(t,this),this.style.setEventedParent(this,{style:this.style}),this.on(\"rotate\",this.style._redoPlacement),this.on(\"pitch\",this.style._redoPlacement),this):(this.style=null,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire(\"error\",{error:new Error(\"There is no source with ID '\"+t+\"'\")}):e.loaded()},e.prototype.addSourceType=function(t,e,o){return this.style.addSourceType(t,e,o)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,o){this.style.spriteAtlas.addImage(t,e,o)},e.prototype.removeImage=function(t){this.style.spriteAtlas.removeImage(t)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,o){return this.style.setLayerZoomRange(t,e,o),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,o,i){return this.style.setPaintProperty(t,e,o,i),this._update(!0),this},e.prototype.getPaintProperty=function(t,e,o){return this.style.getPaintProperty(t,e,o)},e.prototype.setLayoutProperty=function(t,e,o){return this.style.setLayoutProperty(t,e,o),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\");var e=this._canvasContainer=DOM.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=DOM.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.style.position=\"absolute\",this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",0),this._canvas.setAttribute(\"aria-label\",\"Map\");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var i=this._controlContainer=DOM.create(\"div\",\"mapboxgl-control-container\",t),r=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(t){r[t]=DOM.create(\"div\",\"mapboxgl-ctrl-\"+t,i)})},e.prototype._resizeCanvas=function(t,e){var o=window.devicePixelRatio||1;this._canvas.width=o*t,this._canvas.height=o*e,this._canvas.style.width=t+\"px\",this._canvas.style.height=e+\"px\"},e.prototype._setupPainter=function(){var t=util.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},isSupported.webGLContextAttributes),e=this._canvas.getContext(\"webgl\",t)||this._canvas.getContext(\"experimental-webgl\",t);return e?void(this.painter=new Painter(e,this.transform)):void this.fire(\"error\",{error:new Error(\"Failed to initialize WebGL\")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&browser.cancelFrame(this._frameId),this.fire(\"webglcontextlost\",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\"webglcontextrestored\",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},e.prototype._render=function(){return this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming}),this.fire(\"render\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\"load\")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),browser.cancelFrame(this._frameId),this.setStyle(null),\"undefined\"!=typeof window&&(window.removeEventListener(\"resize\",this._onWindowResize,!1),window.removeEventListener(\"online\",this._onWindowOnline,!1));var t=this.painter.gl.getExtension(\"WEBGL_lose_context\");t&&t.loseContext(),removeNode(this._canvasContainer),removeNode(this._controlContainer),this._container.classList.remove(\"mapboxgl-map\"),this.fire(\"remove\")},e.prototype._rerender=function(){this.style&&!this._frameId&&(this._frameId=browser.frame(this._render))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},o.showTileBoundaries.get=function(){return!!this._showTileBoundaries},o.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},o.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},o.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},o.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},o.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},o.repaint.get=function(){return!!this._repaint},o.repaint.set=function(t){this._repaint=t,this._update()},o.vertices.get=function(){return!!this._vertices},o.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update(\"style\"===t.dataType),this.fire(t.dataType+\"data\",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+\"dataloading\",t)},Object.defineProperties(e.prototype,o),e}(Camera);module.exports=Map;\n},{\"../geo/lng_lat\":62,\"../geo/lng_lat_bounds\":63,\"../geo/transform\":64,\"../render/painter\":77,\"../style/animation_loop\":143,\"../style/style\":146,\"../util/browser\":192,\"../util/dom\":199,\"../util/util\":212,\"../util/window\":194,\"./bind_handlers\":171,\"./camera\":172,\"./control/attribution_control\":173,\"./control/logo_control\":176,\"./hash\":186,\"mapbox-gl-supported\":22,\"point-geometry\":26}],188:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../util/dom\"),LngLat=require(\"../geo/lng_lat\"),Point=require(\"point-geometry\"),Marker=function(t,e){this._offset=Point.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this),this._onMapClick=this._onMapClick.bind(this),t||(t=DOM.create(\"div\")),t.classList.add(\"mapboxgl-marker\"),this._element=t,this._popup=null};Marker.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this._update(),this._map.on(\"click\",this._onMapClick),this},Marker.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map=null),DOM.remove(this._element),this._popup&&this._popup.remove(),this},Marker.prototype.getLngLat=function(){return this._lngLat},Marker.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},Marker.prototype.getElement=function(){return this._element},Marker.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(this._popup=t,this._popup.setLngLat(this._lngLat)),this},Marker.prototype._onMapClick=function(t){var e=t.originalEvent.target,p=this._element;this._popup&&(e===p||p.contains(e))&&this.togglePopup()},Marker.prototype.getPopup=function(){return this._popup},Marker.prototype.togglePopup=function(){var t=this._popup;t&&(t.isOpen()?t.remove():t.addTo(this._map))},Marker.prototype._update=function(t){if(this._map){var e=this._map.project(this._lngLat)._add(this._offset);t&&\"moveend\"!==t.type||(e=e.round()),DOM.setTransform(this._element,\"translate(\"+e.x+\"px, \"+e.y+\"px)\")}},module.exports=Marker;\n},{\"../geo/lng_lat\":62,\"../util/dom\":199,\"point-geometry\":26}],189:[function(require,module,exports){\n\"use strict\";function normalizeOffset(t){if(t){if(\"number\"==typeof t){var o=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{top:new Point(0,t),\"top-left\":new Point(o,o),\"top-right\":new Point(-o,o),bottom:new Point(0,-t),\"bottom-left\":new Point(o,-o),\"bottom-right\":new Point(-o,-o),left:new Point(t,0),right:new Point(-t,0)}}if(isPointLike(t)){var e=Point.convert(t);return{top:e,\"top-left\":e,\"top-right\":e,bottom:e,\"bottom-left\":e,\"bottom-right\":e,left:e,right:e}}return{top:Point.convert(t.top||[0,0]),\"top-left\":Point.convert(t[\"top-left\"]||[0,0]),\"top-right\":Point.convert(t[\"top-right\"]||[0,0]),bottom:Point.convert(t.bottom||[0,0]),\"bottom-left\":Point.convert(t[\"bottom-left\"]||[0,0]),\"bottom-right\":Point.convert(t[\"bottom-right\"]||[0,0]),left:Point.convert(t.left||[0,0]),right:Point.convert(t.right||[0,0])}}return normalizeOffset(new Point(0,0))}function isPointLike(t){return t instanceof Point||Array.isArray(t)}var util=require(\"../util/util\"),Evented=require(\"../util/evented\"),DOM=require(\"../util/dom\"),LngLat=require(\"../geo/lng_lat\"),Point=require(\"point-geometry\"),window=require(\"../util/window\"),defaultOptions={closeButton:!0,closeOnClick:!0},Popup=function(t){function o(o){t.call(this),this.options=util.extend(Object.create(defaultOptions),o),util.bindAll([\"_update\",\"_onClickClose\"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.addTo=function(t){return this._map=t,this._map.on(\"move\",this._update),this.options.closeOnClick&&this._map.on(\"click\",this._onClickClose),this._update(),this},o.prototype.isOpen=function(){return!!this._map},o.prototype.remove=function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"click\",this._onClickClose),delete this._map),this.fire(\"close\"),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._update(),this},o.prototype.setText=function(t){return this.setDOMContent(window.document.createTextNode(t))},o.prototype.setHTML=function(t){var o,e=window.document.createDocumentFragment(),n=window.document.createElement(\"body\");for(n.innerHTML=t;;){if(o=n.firstChild,!o)break;e.appendChild(o)}return this.setDOMContent(e)},o.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},o.prototype._createContent=function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=DOM.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=DOM.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClickClose))},o.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=DOM.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=DOM.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content));var t=this.options.anchor,o=normalizeOffset(this.options.offset),e=this._map.project(this._lngLat).round();if(!t){var n=this._container.offsetWidth,i=this._container.offsetHeight;t=e.y+o.bottom.ythis._map.transform.height-i?[\"bottom\"]:[],e.xthis._map.transform.width-n/2&&t.push(\"right\"),t=0===t.length?\"bottom\":t.join(\"-\")}var r=e.add(o[t]),s={top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"},p=this._container.classList;for(var a in s)p.remove(\"mapboxgl-popup-anchor-\"+a);p.add(\"mapboxgl-popup-anchor-\"+t),DOM.setTransform(this._container,s[t]+\" translate(\"+r.x+\"px,\"+r.y+\"px)\")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup;\n},{\"../geo/lng_lat\":62,\"../util/dom\":199,\"../util/evented\":200,\"../util/util\":212,\"../util/window\":194,\"point-geometry\":26}],190:[function(require,module,exports){\n\"use strict\";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(\"message\",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+\":\"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:\"\",id:String(s),error:t?String(t):null,data:e},r)};if(\"\"===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if(\"undefined\"!=typeof r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if(\"undefined\"!=typeof r.id&&this.parent.getWorkerSource){var p=r.type.split(\".\"),d=this.parent.getWorkerSource(r.sourceMapId,p[0]);d[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener(\"message\",this.receive,!1)},module.exports=Actor;\n},{}],191:[function(require,module,exports){\n\"use strict\";function sameOrigin(e){var t=window.document.createElement(\"a\");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=require(\"./window\");exports.getJSON=function(e,t){var n=new window.XMLHttpRequest;return n.open(\"GET\",e,!0),n.setRequestHeader(\"Accept\",\"application/json\"),n.onerror=function(e){t(e)},n.onload=function(){if(n.status>=200&&n.status<300&&n.response){var e;try{e=JSON.parse(n.response)}catch(e){return t(e)}t(null,e)}else t(new Error(n.statusText))},n.send(),n},exports.getArrayBuffer=function(e,t){var n=new window.XMLHttpRequest;return n.open(\"GET\",e,!0),n.responseType=\"arraybuffer\",n.onerror=function(e){t(e)},n.onload=function(){return 0===n.response.byteLength&&200===n.status?t(new Error(\"http status 200 returned without content.\")):void(n.status>=200&&n.status<300&&n.response?t(null,{data:n.response,cacheControl:n.getResponseHeader(\"Cache-Control\"),expires:n.getResponseHeader(\"Expires\")}):t(new Error(n.statusText)))},n.send(),n};var transparentPngUrl=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,n){if(e)return t(e);var r=new window.Image,o=window.URL||window.webkitURL;r.onload=function(){t(null,r),o.revokeObjectURL(r.src)};var a=new window.Blob([new Uint8Array(n.data)],{type:\"image/png\"});r.cacheControl=n.cacheControl,r.expires=n.expires,r.src=n.data.byteLength?o.createObjectURL(a):transparentPngUrl})},exports.getVideo=function(e,t){var n=window.document.createElement(\"video\");n.onloadstart=function(){t(null,n)};for(var r=0;r=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement(\"canvas\"),t=n.getContext(\"2d\");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height).data},exports.supported=require(\"mapbox-gl-supported\"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,\"devicePixelRatio\",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement(\"img\");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\";\n},{\"./window\":194,\"mapbox-gl-supported\":22}],193:[function(require,module,exports){\n\"use strict\";var WebWorkify=require(\"webworkify\"),window=require(\"../window\"),workerURL=window.URL.createObjectURL(new WebWorkify(require(\"../../source/worker\"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)};\n},{\"../../source/worker\":98,\"../window\":194,\"webworkify\":41}],194:[function(require,module,exports){\n\"use strict\";module.exports=self;\n},{}],195:[function(require,module,exports){\n\"use strict\";function compareAreas(e,r){return r.area-e.area}var quickselect=require(\"quickselect\"),calculateSignedArea=require(\"./util\").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented;\n},{\"./util\":212}],201:[function(require,module,exports){\n\"use strict\";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log(\"found best %d after %d probes\",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log(\"num probes: \"+c),console.log(\"best distance: \"+m.d)),m.p};\n},{\"./intersection_tests\":205,\"point-geometry\":26,\"tinyqueue\":30}],202:[function(require,module,exports){\n\"use strict\";var WorkerPool=require(\"./worker_pool\"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool};\n},{\"./worker_pool\":215}],203:[function(require,module,exports){\n\"use strict\";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs;\n},{}],204:[function(require,module,exports){\n\"use strict\";function interpolate(t,e,n){return t*(1-n)+e*n}module.exports=interpolate,interpolate.number=interpolate,interpolate.vec2=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n)]},interpolate.color=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n),interpolate(t[2],e[2],n),interpolate(t[3],e[3],n)]},interpolate.array=function(t,e,n){return t.map(function(t,r){return interpolate(t,e[r],n)})};\n},{}],205:[function(require,module,exports){\n\"use strict\";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i)}return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=require(\"./util\").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared};\n},{\"./util\":212}],206:[function(require,module,exports){\n\"use strict\";var unicodeBlockLookup={\"Latin-1 Supplement\":function(n){return n>=128&&n<=255},\"Hangul Jamo\":function(n){return n>=4352&&n<=4607},\"Unified Canadian Aboriginal Syllabics\":function(n){return n>=5120&&n<=5759},\"Unified Canadian Aboriginal Syllabics Extended\":function(n){return n>=6320&&n<=6399},\"General Punctuation\":function(n){return n>=8192&&n<=8303},\"Letterlike Symbols\":function(n){return n>=8448&&n<=8527},\"Number Forms\":function(n){return n>=8528&&n<=8591},\"Miscellaneous Technical\":function(n){return n>=8960&&n<=9215},\"Control Pictures\":function(n){return n>=9216&&n<=9279},\"Optical Character Recognition\":function(n){return n>=9280&&n<=9311},\"Enclosed Alphanumerics\":function(n){return n>=9312&&n<=9471},\"Geometric Shapes\":function(n){return n>=9632&&n<=9727},\"Miscellaneous Symbols\":function(n){return n>=9728&&n<=9983},\"Miscellaneous Symbols and Arrows\":function(n){return n>=11008&&n<=11263},\"CJK Radicals Supplement\":function(n){return n>=11904&&n<=12031},\"Kangxi Radicals\":function(n){return n>=12032&&n<=12255},\"Ideographic Description Characters\":function(n){return n>=12272&&n<=12287},\"CJK Symbols and Punctuation\":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},\"Hangul Compatibility Jamo\":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},\"Bopomofo Extended\":function(n){return n>=12704&&n<=12735},\"CJK Strokes\":function(n){return n>=12736&&n<=12783},\"Katakana Phonetic Extensions\":function(n){return n>=12784&&n<=12799},\"Enclosed CJK Letters and Months\":function(n){return n>=12800&&n<=13055},\"CJK Compatibility\":function(n){return n>=13056&&n<=13311},\"CJK Unified Ideographs Extension A\":function(n){return n>=13312&&n<=19903},\"Yijing Hexagram Symbols\":function(n){return n>=19904&&n<=19967},\"CJK Unified Ideographs\":function(n){return n>=19968&&n<=40959},\"Yi Syllables\":function(n){return n>=40960&&n<=42127},\"Yi Radicals\":function(n){return n>=42128&&n<=42191},\"Hangul Jamo Extended-A\":function(n){return n>=43360&&n<=43391},\"Hangul Syllables\":function(n){return n>=44032&&n<=55215},\"Hangul Jamo Extended-B\":function(n){return n>=55216&&n<=55295},\"Private Use Area\":function(n){return n>=57344&&n<=63743},\"CJK Compatibility Ideographs\":function(n){return n>=63744&&n<=64255},\"Vertical Forms\":function(n){return n>=65040&&n<=65055},\"CJK Compatibility Forms\":function(n){return n>=65072&&n<=65103},\"Small Form Variants\":function(n){return n>=65104&&n<=65135},\"Halfwidth and Fullwidth Forms\":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup;\n},{}],207:[function(require,module,exports){\n\"use strict\";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){if(!this.has(t))return null;var e=this.data[t];return e},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache;\n},{}],208:[function(require,module,exports){\n\"use strict\";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(e=e||config.ACCESS_TOKEN,!e)throw new Error(\"An API access token is required to use Mapbox GL. \"+help);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+help);return r.params.push(\"access_token=\"+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf(\"mapbox:\")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?\"@2x\":\"\",s=browser.supportsWebp?\".webp\":\"$1\";return o.path=o.path.replace(imageExtensionRe,\"\"+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\\w+):\\/\\/([^\\/?]+)(\\/[^?]+)?\\??(.+)?/;\n},{\"./browser\":192,\"./config\":196}],209:[function(require,module,exports){\n\"use strict\";var isChar=require(\"./is_char_in_unicode_block\");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||(!!isChar[\"CJK Compatibility Ideographs\"](a)||(!!isChar[\"CJK Compatibility\"](a)||(!!isChar[\"CJK Radicals Supplement\"](a)||(!!isChar[\"CJK Strokes\"](a)||(!(!isChar[\"CJK Symbols and Punctuation\"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||(!!isChar[\"CJK Unified Ideographs Extension A\"](a)||(!!isChar[\"CJK Unified Ideographs\"](a)||(!!isChar[\"Enclosed CJK Letters and Months\"](a)||(!!isChar[\"Hangul Compatibility Jamo\"](a)||(!!isChar[\"Hangul Jamo Extended-A\"](a)||(!!isChar[\"Hangul Jamo Extended-B\"](a)||(!!isChar[\"Hangul Jamo\"](a)||(!!isChar[\"Hangul Syllables\"](a)||(!!isChar.Hiragana(a)||(!!isChar[\"Ideographic Description Characters\"](a)||(!!isChar.Kanbun(a)||(!!isChar[\"Kangxi Radicals\"](a)||(!!isChar[\"Katakana Phonetic Extensions\"](a)||(!(!isChar.Katakana(a)||12540===a)||(!(!isChar[\"Halfwidth and Fullwidth Forms\"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||(!(!isChar[\"Small Form Variants\"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||(!!isChar[\"Unified Canadian Aboriginal Syllabics\"](a)||(!!isChar[\"Unified Canadian Aboriginal Syllabics Extended\"](a)||(!!isChar[\"Vertical Forms\"](a)||(!!isChar[\"Yijing Hexagram Symbols\"](a)||(!!isChar[\"Yi Syllables\"](a)||!!isChar[\"Yi Radicals\"](a))))))))))))))))))))))))))))))},exports.charHasNeutralVerticalOrientation=function(a){return!(!isChar[\"Latin-1 Supplement\"](a)||167!==a&&169!==a&&174!==a&&177!==a&&188!==a&&189!==a&&190!==a&&215!==a&&247!==a)||(!(!isChar[\"General Punctuation\"](a)||8214!==a&&8224!==a&&8225!==a&&8240!==a&&8241!==a&&8251!==a&&8252!==a&&8258!==a&&8263!==a&&8264!==a&&8265!==a&&8273!==a)||(!!isChar[\"Letterlike Symbols\"](a)||(!!isChar[\"Number Forms\"](a)||(!(!isChar[\"Miscellaneous Technical\"](a)||!(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215))||(!(!isChar[\"Control Pictures\"](a)||9251===a)||(!!isChar[\"Optical Character Recognition\"](a)||(!!isChar[\"Enclosed Alphanumerics\"](a)||(!!isChar[\"Geometric Shapes\"](a)||(!(!isChar[\"Miscellaneous Symbols\"](a)||a>=9754&&a<=9759)||(!(!isChar[\"Miscellaneous Symbols and Arrows\"](a)||!(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243))||(!!isChar[\"CJK Symbols and Punctuation\"](a)||(!!isChar.Katakana(a)||(!!isChar[\"Private Use Area\"](a)||(!!isChar[\"CJK Compatibility Forms\"](a)||(!!isChar[\"Small Form Variants\"](a)||(!!isChar[\"Halfwidth and Fullwidth Forms\"](a)||(8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)))))))))))))))))},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))};\n},{\"./is_char_in_unicode_block\":206}],210:[function(require,module,exports){\n\"use strict\";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=[\"Uint8\"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0===--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||(\"undefined\"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),\"\"}),t[\"max-age\"]){var n=parseInt(t[\"max-age\"],10);isNaN(n)?delete t[\"max-age\"]:t[\"max-age\"]=n}return t};\n},{\"../geo/coordinate\":61,\"@mapbox/unitbezier\":3,\"point-geometry\":26}],213:[function(require,module,exports){\n\"use strict\";var Feature=function(e,t,r,o){this.type=\"Feature\",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)\"_geometry\"!==r&&\"_vectorTileFeature\"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature;\n},{}],214:[function(require,module,exports){\n\"use strict\";var scriptDetection=require(\"./script_detection\");module.exports=function(t){for(var o=\"\",e=0;e\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};\n},{\"./script_detection\":209}],215:[function(require,module,exports){\n\"use strict\";var WebWorker=require(\"./web_worker\"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=require(\"../\").workerCount;for(this.workers=[];this.workers.length {\n let replyTo = document.querySelector('#in-reply-to');\n replyTo.value = webStorage.getItem('replyTo');\n let content = document.querySelector('#content');\n content.value = webStorage.getItem('content');\n};\n\nconst saveData = () => {\n let replyTo = document.querySelector('#in-reply-to');\n let content = document.querySelector('#content');\n webStorage.setItem('replyTo', replyTo.value);\n webStorage.setItem('content', content.value);\n alertify.success('Auto-saved data');\n};\n\nconst clearData = () => {\n webStorage.removeItem('replyTo');\n webStorage.removeItem('content');\n};\n\nexport default function persistFormData()\n{\n let form = document.querySelector('form[name=\"micropub\"]');\n form.addEventListener('change', saveData);\n form.addEventListener('submit', clearData);\n loadData();\n}\n\n\n\n// WEBPACK FOOTER //\n// ./persist-form.js","//nearby-places.js\n\nimport alertify from 'alertify.js';\nimport addMap from './mapbox-utils';\nimport parseLocation from './parse-location';\nimport makeNewPlaceForm from './newplace-micropub';\n\nconst makeOptionsForForm = (map, position, places = null) => {\n //create the \",message:\"

{{message}}

\",log:\"
{{message}}
\"},defaultDialogs:{buttons:{holder:\"\",ok:\"\",cancel:\"\"},input:\"\",message:\"

{{message}}

\",log:\"
{{message}}
\"},build:function(t){var e=this.dialogs.buttons.ok,o=\"
\"+this.dialogs.message.replace(\"{{message}}\",t.message);return\"confirm\"!==t.type&&\"prompt\"!==t.type||(e=this.dialogs.buttons.cancel+this.dialogs.buttons.ok),\"prompt\"===t.type&&(o+=this.dialogs.input),o=(o+this.dialogs.buttons.holder+\"
\").replace(\"{{buttons}}\",e).replace(\"{{ok}}\",this.okLabel).replace(\"{{cancel}}\",this.cancelLabel)},setCloseLogOnClick:function(t){this.closeLogOnClick=!!t},close:function(t,e){this.closeLogOnClick&&t.addEventListener(\"click\",function(){o(t)}),e=e&&!isNaN(+e)?+e:this.delay,0>e?o(t):e>0&&setTimeout(function(){o(t)},e)},dialog:function(t,e,o,n){return this.setup({type:e,message:t,onOkay:o,onCancel:n})},log:function(t,e,o){var n=document.querySelectorAll(\".alertify-logs > div\");if(n){var i=n.length-this.maxLogItems;if(i>=0)for(var a=0,l=i+1;l>a;a++)this.close(n[a],-1)}this.notify(t,e,o)},setLogPosition:function(t){this.logContainerClass=\"alertify-logs \"+t},setupLogContainer:function(){var t=document.querySelector(\".alertify-logs\"),e=this.logContainerClass;return t||(t=document.createElement(\"div\"),t.className=e,this.parent.appendChild(t)),t.className!==e&&(t.className=e),t},notify:function(e,o,n){var i=this.setupLogContainer(),a=document.createElement(\"div\");a.className=o||\"default\",t.logTemplateMethod?a.innerHTML=t.logTemplateMethod(e):a.innerHTML=e,\"function\"==typeof n&&a.addEventListener(\"click\",n),i.appendChild(a),setTimeout(function(){a.className+=\" show\"},10),this.close(a,this.delay)},setup:function(t){function e(e){\"function\"!=typeof e&&(e=function(){}),i&&i.addEventListener(\"click\",function(i){t.onOkay&&\"function\"==typeof t.onOkay&&(l?t.onOkay(l.value,i):t.onOkay(i)),e(l?{buttonClicked:\"ok\",inputValue:l.value,event:i}:{buttonClicked:\"ok\",event:i}),o(n)}),a&&a.addEventListener(\"click\",function(i){t.onCancel&&\"function\"==typeof t.onCancel&&t.onCancel(i),e({buttonClicked:\"cancel\",event:i}),o(n)}),l&&l.addEventListener(\"keyup\",function(t){13===t.which&&i.click()})}var n=document.createElement(\"div\");n.className=\"alertify hide\",n.innerHTML=this.build(t);var i=n.querySelector(\".ok\"),a=n.querySelector(\".cancel\"),l=n.querySelector(\"input\"),s=n.querySelector(\"label\");l&&(\"string\"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),\"string\"==typeof this.promptValue&&(l.value=this.promptValue));var r;return\"function\"==typeof Promise?r=new Promise(e):e(),this.parent.appendChild(n),setTimeout(function(){n.classList.remove(\"hide\"),l&&t.type&&\"prompt\"===t.type?(l.select(),l.focus()):i&&i.focus()},100),r},okBtn:function(t){return this.okLabel=t,this},setDelay:function(t){return t=t||0,this.delay=isNaN(t)?this.defaultDelay:parseInt(t,10),this},cancelBtn:function(t){return this.cancelLabel=t,this},setMaxLogItems:function(t){this.maxLogItems=parseInt(t||this.defaultMaxLogItems)},theme:function(t){switch(t.toLowerCase()){case\"bootstrap\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\",this.dialogs.input=\"\";break;case\"purecss\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\";break;case\"mdl\":case\"material-design-light\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\",this.dialogs.input=\"
\";break;case\"angular-material\":this.dialogs.buttons.ok=\"\",this.dialogs.buttons.cancel=\"\",this.dialogs.input=\"
\";break;case\"default\":default:this.dialogs.buttons.ok=this.defaultDialogs.buttons.ok,this.dialogs.buttons.cancel=this.defaultDialogs.buttons.cancel,this.dialogs.input=this.defaultDialogs.input}},reset:function(){this.parent=document.body,this.theme(\"default\"),this.okBtn(this.defaultOkLabel),this.cancelBtn(this.defaultCancelLabel),this.setMaxLogItems(),this.promptValue=\"\",this.promptPlaceholder=\"\",this.delay=this.defaultDelay,this.setCloseLogOnClick(this.closeLogOnClickDefault),this.setLogPosition(\"bottom left\"),this.logTemplateMethod=null},injectCSS:function(){if(!document.querySelector(\"#alertifyCSS\")){var t=document.getElementsByTagName(\"head\")[0],e=document.createElement(\"style\");e.type=\"text/css\",e.id=\"alertifyCSS\",e.innerHTML=\".alertify-logs>*{padding:12px 24px;color:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,.2);border-radius:1px}.alertify-logs>*,.alertify-logs>.default{background:rgba(0,0,0,.8)}.alertify-logs>.error{background:rgba(244,67,54,.8)}.alertify-logs>.success{background:rgba(76,175,80,.9)}.alertify{position:fixed;background-color:rgba(0,0,0,.3);left:0;right:0;top:0;bottom:0;width:100%;height:100%;z-index:1}.alertify.hide{opacity:0;pointer-events:none}.alertify,.alertify.show{box-sizing:border-box;transition:all .33s cubic-bezier(.25,.8,.25,1)}.alertify,.alertify *{box-sizing:border-box}.alertify .dialog{padding:12px}.alertify .alert,.alertify .dialog{width:100%;margin:0 auto;position:relative;top:50%;transform:translateY(-50%)}.alertify .alert>*,.alertify .dialog>*{width:400px;max-width:95%;margin:0 auto;text-align:center;padding:12px;background:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.14),0 4px 5px 0 rgba(0,0,0,.098),0 1px 10px 0 rgba(0,0,0,.084)}.alertify .alert .msg,.alertify .dialog .msg{padding:12px;margin-bottom:12px;margin:0;text-align:left}.alertify .alert input:not(.form-control),.alertify .dialog input:not(.form-control){margin-bottom:15px;width:100%;font-size:100%;padding:12px}.alertify .alert input:not(.form-control):focus,.alertify .dialog input:not(.form-control):focus{outline-offset:-2px}.alertify .alert nav,.alertify .dialog nav{text-align:right}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button),.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button){background:transparent;box-sizing:border-box;color:rgba(0,0,0,.87);position:relative;outline:0;border:0;display:inline-block;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:0 6px;margin:6px 8px;line-height:36px;min-height:36px;white-space:nowrap;min-width:88px;text-align:center;text-transform:uppercase;font-size:14px;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:2px}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):active,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):hover{background-color:rgba(0,0,0,.05)}.alertify .alert nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus,.alertify .dialog nav button:not(.btn):not(.pure-button):not(.md-button):not(.mdl-button):focus{border:1px solid rgba(0,0,0,.1)}.alertify .alert nav button.btn,.alertify .dialog nav button.btn{margin:6px 4px}.alertify-logs{position:fixed;z-index:1}.alertify-logs.bottom,.alertify-logs:not(.top){bottom:16px}.alertify-logs.left,.alertify-logs:not(.right){left:16px}.alertify-logs.left>*,.alertify-logs:not(.right)>*{float:left;transform:translateZ(0);height:auto}.alertify-logs.left>.show,.alertify-logs:not(.right)>.show{left:0}.alertify-logs.left>*,.alertify-logs.left>.hide,.alertify-logs:not(.right)>*,.alertify-logs:not(.right)>.hide{left:-110%}.alertify-logs.right{right:16px}.alertify-logs.right>*{float:right;transform:translateZ(0)}.alertify-logs.right>.show{right:0;opacity:1}.alertify-logs.right>*,.alertify-logs.right>.hide{right:-110%;opacity:0}.alertify-logs.top{top:0}.alertify-logs>*{box-sizing:border-box;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;clear:both;backface-visibility:hidden;perspective:1000;max-height:0;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none}.alertify-logs>.show{margin-top:12px;opacity:1;max-height:1000px;padding:12px;pointer-events:auto}\",t.insertBefore(e,t.firstChild)}},removeCSS:function(){var t=document.querySelector(\"#alertifyCSS\");t&&t.parentNode&&t.parentNode.removeChild(t)}};return t.injectCSS(),{_$$alertify:t,parent:function(e){t.parent=e},reset:function(){return t.reset(),this},alert:function(e,o,n){return t.dialog(e,\"alert\",o,n)||this},confirm:function(e,o,n){return t.dialog(e,\"confirm\",o,n)||this},prompt:function(e,o,n){return t.dialog(e,\"prompt\",o,n)||this},log:function(e,o){return t.log(e,\"default\",o),this},theme:function(e){return t.theme(e),this},success:function(e,o){return t.log(e,\"success\",o),this},error:function(e,o){return t.log(e,\"error\",o),this},cancelBtn:function(e){return t.cancelBtn(e),this},okBtn:function(e){return t.okBtn(e),this},delay:function(e){return t.setDelay(e),this},placeholder:function(e){return t.promptPlaceholder=e,this},defaultValue:function(e){return t.promptValue=e,this},maxLogItems:function(e){return t.setMaxLogItems(e),this},closeLogOnClick:function(e){return t.setCloseLogOnClick(!!e),this},logPosition:function(e){return t.setLogPosition(e||\"\"),this},setLogTemplate:function(e){return t.logTemplateMethod=e,this},clearLogs:function(){return t.setupLogContainer().innerHTML=\"\",this},version:t.version}}var e=500,o=function(t){if(t){var o=function(){t&&t.parentNode&&t.parentNode.removeChild(t)};t.classList.remove(\"show\"),t.classList.add(\"hide\"),t.addEventListener(\"transitionend\",o),setTimeout(o,e)}};if(\"undefined\"!=typeof module&&module&&module.exports){module.exports=function(){return new t};var n=new t;for(var i in n)module.exports[i]=n[i]}else\"function\"==typeof define&&define.amd?define(function(){return new t}):window.alertify=new t}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/alertify.js/dist/js/alertify.js\n// module id = 3\n// module chunks = 0","//select-place.js\n\nexport default function selectPlaceInForm(uri) {\n if (document.querySelector('select')) {\n if (uri == 'current-location') {\n document.querySelector('select [id=\"option-coords\"]').selected = true;\n } else {\n document.querySelector('select [value=\"' + uri + '\"]').selected = true;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./select-place.js","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return b64.length * 3 / 4 - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr(len * 3 / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/base64-js/index.js\n// module id = 5\n// module chunks = 0 1","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/buffer/index.js\n// module id = 6\n// module chunks = 0 1","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/buffer/~/isarray/index.js\n// module id = 7\n// module chunks = 0 1","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /home/jonny/git/jonnybarnes.uk/~/ieee754/index.js\n// module id = 8\n// module chunks = 0 1","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.mapboxgl = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o0){for(var o=0,a=0,u=0;uh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i,rn.free)){if(i===n.h)return this.allocShelf(f,t,i,s);i>n.h||ic)&&(p=2*Math.max(t,c)),(uu)&&(l=2*Math.max(i,u)),this.resize(p,l),this.packOne(t,i,s)}return null},t.prototype.allocFreebin=function(t,e,i,s){var h=this.freebins.splice(t,1)[0];return h.id=s,h.w=e,h.h=i,h.refcount=0,this.bins[s]=h,this.ref(h),h},t.prototype.allocShelf=function(t,e,i,s){var h=this.shelves[t],n=h.alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1===++t.refcount){var e=t.h;this.stats[e]=(0|this.stats[e])+1}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0===--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new i(s,h,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t});\n},{}],3:[function(require,module,exports){\nfunction UnitBezier(t,i,e,r){this.cx=3*t,this.bx=3*(e-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(r-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=r,this.p2x=e,this.p2y=r}module.exports=UnitBezier,UnitBezier.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},UnitBezier.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},UnitBezier.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},UnitBezier.prototype.solveCurveX=function(t,i){\"undefined\"==typeof i&&(i=1e-6);var e,r,s,h,n;for(s=t,n=0;n<8;n++){if(h=this.sampleCurveX(s)-t,Math.abs(h)r)return r;for(;eh?e=s:r=s,s=.5*(r-e)+e}return s},UnitBezier.prototype.solve=function(t,i){return this.sampleCurveY(this.solveCurveX(t,i))};\n},{}],4:[function(require,module,exports){\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t(e.WhooTS=e.WhooTS||{})}(this,function(e){function t(e,t,r,n,i,s){s=s||{};var f=e+\"?\"+[\"bbox=\"+o(r,n,i),\"format=\"+(s.format||\"image/png\"),\"service=\"+(s.service||\"WMS\"),\"version=\"+(s.version||\"1.1.1\"),\"request=\"+(s.request||\"GetMap\"),\"srs=\"+(s.srs||\"EPSG:3857\"),\"width=\"+(s.width||256),\"height=\"+(s.height||256),\"layers=\"+t].join(\"&\");return f}function o(e,t,o){t=Math.pow(2,o)-t-1;var n=r(256*e,256*t,o),i=r(256*(e+1),256*(t+1),o);return n[0]+\",\"+n[1]+\",\"+i[0]+\",\"+i[1]}function r(e,t,o){var r=2*Math.PI*6378137/256/Math.pow(2,o),n=e*r-2*Math.PI*6378137/2,i=t*r-2*Math.PI*6378137/2;return[n,i]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,\"__esModule\",{value:!0})});\n},{}],5:[function(require,module,exports){\n\"use strict\";function earcut(e,n,r){r=r||2;var t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;var o,l,u,s,v,f,y;if(t&&(x=eliminateHoles(e,n,x,r)),e.length>80*r){o=u=e[0],l=s=e[1];for(var d=r;du&&(u=v),f>s&&(s=f);y=Math.max(u-o,s-l)}return earcutLinked(x,a,r,o,l,y),a}function linkedList(e,n,r,t,i){var x,a;if(i===signedArea(e,n,r,t)>0)for(x=n;x=n;x-=t)a=insertNode(x,e[x],e[x+1],a);return a&&equals(a,a.next)&&(removeNode(a),a=a.next),a}function filterPoints(e,n){if(!e)return e;n||(n=e);var r,t=e;do if(r=!1,t.steiner||!equals(t,t.next)&&0!==area(t.prev,t,t.next))t=t.next;else{if(removeNode(t),t=n=t.prev,t===t.next)return null;r=!0}while(r||t!==n);return n}function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&indexCurve(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?isEarHashed(e,t,i,x):isEar(e))n.push(o.i/r),n.push(e.i/r),n.push(l.i/r),removeNode(e),e=l.next,u=l.next;else if(e=l,e===u){a?1===a?(e=cureLocalIntersections(e,n,r),earcutLinked(e,n,r,t,i,x,2)):2===a&&splitEarcut(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}function isEar(e){var n=e.prev,r=e,t=e.next;if(area(n,r,t)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(pointInTriangle(n.x,n.y,r.x,r.y,t.x,t.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function isEarHashed(e,n,r,t){var i=e.prev,x=e,a=e.next;if(area(i,x,a)>=0)return!1;for(var o=i.xx.x?i.x>a.x?i.x:a.x:x.x>a.x?x.x:a.x,s=i.y>x.y?i.y>a.y?i.y:a.y:x.y>a.y?x.y:a.y,v=zOrder(o,l,n,r,t),f=zOrder(u,s,n,r,t),y=e.nextZ;y&&y.z<=f;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(y=e.prevZ;y&&y.z>=v;){if(y!==e.prev&&y!==e.next&&pointInTriangle(i.x,i.y,x.x,x.y,a.x,a.y,y.x,y.y)&&area(y.prev,y,y.next)>=0)return!1;y=y.prevZ}return!0}function cureLocalIntersections(e,n,r){var t=e;do{var i=t.prev,x=t.next.next;!equals(i,x)&&intersects(i,t,t.next,x)&&locallyInside(i,x)&&locallyInside(x,i)&&(n.push(i.i/r),n.push(t.i/r),n.push(x.i/r),removeNode(t),removeNode(t.next),t=e=x),t=t.next}while(t!==e);return t}function splitEarcut(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&isValidDiagonal(a,o)){var l=splitPolygon(a,o);return a=filterPoints(a,a.next),l=filterPoints(l,l.next),earcutLinked(a,n,r,t,i,x),void earcutLinked(l,n,r,t,i,x)}o=o.next}a=a.next}while(a!==e)}function eliminateHoles(e,n,r,t){var i,x,a,o,l,u=[];for(i=0,x=n.length;i=t.next.y){var o=t.x+(x-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(o<=i&&o>a){if(a=o,o===i){if(x===t.y)return t;if(x===t.next.y)return t.next}r=t.x=t.x&&t.x>=s&&pointInTriangle(xr.x)&&locallyInside(t,e)&&(r=t,f=l)),t=t.next;return r}function indexCurve(e,n,r,t){var i=e;do null===i.z&&(i.z=zOrder(i.x,i.y,n,r,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,sortLinked(i)}function sortLinked(e){var n,r,t,i,x,a,o,l,u=1;do{for(r=e,e=null,x=null,a=0;r;){for(a++,t=r,o=0,n=0;n0||l>0&&t;)0===o?(i=t,t=t.nextZ,l--):0!==l&&t?r.z<=t.z?(i=r,r=r.nextZ,o--):(i=t,t=t.nextZ,l--):(i=r,r=r.nextZ,o--),x?x.nextZ=i:e=i,i.prevZ=x,x=i;r=t}x.nextZ=null,u*=2}while(a>1);return e}function zOrder(e,n,r,t,i){return e=32767*(e-r)/i,n=32767*(n-t)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),n=16711935&(n|n<<8),n=252645135&(n|n<<4),n=858993459&(n|n<<2),n=1431655765&(n|n<<1),e|n<<1}function getLeftmost(e){var n=e,r=e;do n.x=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}function isValidDiagonal(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!intersectsPolygon(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&middleInside(e,n)}function area(e,n,r){return(n.y-e.y)*(r.x-n.x)-(n.x-e.x)*(r.y-n.y)}function equals(e,n){return e.x===n.x&&e.y===n.y}function intersects(e,n,r,t){return!!(equals(e,n)&&equals(r,t)||equals(e,t)&&equals(r,n))||area(e,n,r)>0!=area(e,n,t)>0&&area(r,t,e)>0!=area(r,t,n)>0}function intersectsPolygon(e,n){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==n.i&&r.next.i!==n.i&&intersects(r,r.next,e,n))return!0;r=r.next}while(r!==e);return!1}function locallyInside(e,n){return area(e.prev,e,e.next)<0?area(e,n,e.next)>=0&&area(e,e.prev,n)>=0:area(e,n,e.prev)<0||area(e,e.next,n)<0}function middleInside(e,n){var r=e,t=!1,i=(e.x+n.x)/2,x=(e.y+n.y)/2;do r.y>x!=r.next.y>x&&i<(r.next.x-r.x)*(x-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next;while(r!==e);return t}function splitPolygon(e,n){var r=new Node(e.i,e.x,e.y),t=new Node(n.i,n.x,n.y),i=e.next,x=n.prev;return e.next=n,n.prev=e,r.next=i,i.prev=r,t.next=r,r.prev=t,x.next=t,t.prev=x,t}function insertNode(e,n,r,t){var i=new Node(e,n,r);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function removeNode(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,n,r){this.i=e,this.x=n,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function signedArea(e,n,r,t){for(var i=0,x=n,a=r-t;x0&&(t+=e[i-1].length,r.holes.push(t))}return r};\n},{}],6:[function(require,module,exports){\nfunction geometry(r){if(\"Polygon\"===r.type)return polygonArea(r.coordinates);if(\"MultiPolygon\"===r.type){for(var e=0,n=0;n0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}var geojsonArea=require(\"geojson-area\");module.exports=rewind;\n},{\"geojson-area\":6}],8:[function(require,module,exports){\n\"use strict\";function clip(e,r,t,n,u,i,l,s){if(t/=r,n/=r,l>=t&&s<=n)return e;if(l>n||s=t&&c<=n)h.push(o);else if(!(a>n||c=r&&s<=t&&u.push(l)}return u}function clipGeometry(e,r,t,n,u,i){for(var l=[],s=0;st?(d.push(u(h,f,r),u(h,f,t)),i||(d=newSlice(l,d,v,m,w))):o>=r&&d.push(u(h,f,r)):c>t?ot&&(d.push(u(h,f,t)),i||(d=newSlice(l,d,v,m,w))));h=g[S-1],c=h[n],c>=r&&c<=t&&d.push(h),a=d[d.length-1],i&&a&&(d[0][0]!==a[0]||d[0][1]!==a[1])&&d.push(d[0]),newSlice(l,d,v,m,w)}return l}function newSlice(e,r,t,n,u){return r.length&&(r.area=t,r.dist=n,void 0!==u&&(r.outer=u),e.push(r)),[]}module.exports=clip;var createFeature=require(\"./feature\");\n},{\"./feature\":10}],9:[function(require,module,exports){\n\"use strict\";function convert(e,t){var r=[];if(\"FeatureCollection\"===e.type)for(var o=0;o1?1:o,[r,o,0]}function calcSize(e){for(var t,r,o=0,a=0,i=0;i1)return!1;var r=n.geometry[0].length;if(5!==r)return!1;for(var s=0;s1&&console.time(\"creation\"),m=this.tiles[d]=createTile(e,p,i,o,f,t===a.maxZoom),this.tileCoords.push({z:t,x:i,y:o}),u)){u>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,i,o,m.numFeatures,m.numPoints,m.numSimplified),console.timeEnd(\"creation\"));var h=\"z\"+t;this.stats[h]=(this.stats[h]||0)+1,this.total++}if(m.source=e,n){if(t===a.maxZoom||t===n)continue;var x=1<1&&console.time(\"clipping\");var g,v,M,T,b,y,S=.5*a.buffer/a.extent,Z=.5-S,q=.5+S,w=1+S;g=v=M=T=null,b=clip(e,p,i-S,i+q,0,intersectX,m.min[0],m.max[0]),y=clip(e,p,i+Z,i+w,0,intersectX,m.min[0],m.max[0]),b&&(g=clip(b,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),v=clip(b,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),y&&(M=clip(y,p,o-S,o+q,1,intersectY,m.min[1],m.max[1]),T=clip(y,p,o+Z,o+w,1,intersectY,m.min[1],m.max[1])),u>1&&console.timeEnd(\"clipping\"),e.length&&(l.push(g||[],t+1,2*i,2*o),l.push(v||[],t+1,2*i,2*o+1),l.push(M||[],t+1,2*i+1,2*o),l.push(T||[],t+1,2*i+1,2*o+1))}else n&&(c=t)}return c},GeoJSONVT.prototype.getTile=function(e,t,i){var o=this.options,n=o.extent,r=o.debug,s=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,i);for(var a,u=e,c=t,p=i;!a&&u>0;)u--,c=Math.floor(c/2),p=Math.floor(p/2),a=this.tiles[toID(u,c,p)];if(!a||!a.source)return null;if(r>1&&console.log(\"found parent tile z%d-%d-%d\",u,c,p),isClippedSquare(a,n,o.buffer))return transform.tile(a,n);r>1&&console.time(\"drilling down\");var d=this.splitTile(a.source,u,c,p,e,t,i);if(r>1&&console.timeEnd(\"drilling down\"),null!==d){var m=1<p&&(s=e,p=r);p>o?(t[s][2]=p,g.push(u),g.push(s),u=s):(n=g.pop(),u=g.pop())}}function getSqSegDist(t,i,e){var p=i[0],r=i[1],s=e[0],o=e[1],f=t[0],u=t[1],n=s-p,g=o-r;if(0!==n||0!==g){var l=((f-p)*n+(u-r)*g)/(n*n+g*g);l>1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return n=f-p,g=u-r,n*n+g*g}module.exports=simplify;\n},{}],13:[function(require,module,exports){\n\"use strict\";function createTile(e,n,r,i,t,u){for(var a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z2:n,transformed:!1,min:[2,1],max:[-1,0]},m=0;ma.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}function addFeature(e,n,r,i){var t,u,a,m,s=n.geometry,l=n.type,o=[],f=r*r;if(1===l)for(t=0;tf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&rewind(d,a.outer),o.push(d)}else e.numPoints+=a.length;if(o.length){var g={geometry:o,type:l,tags:n.tags||null};null!==n.id&&(g.id=n.id),e.features.push(g)}}function rewind(e,n){var r=signedArea(e);r<0===n&&e.reverse()}function signedArea(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;t=a[u+0]&&s>=a[u+1]?(n[f]=!0,h.push(l[f])):n[f]=!1}}},GridIndex.prototype._forEachCell=function(t,r,e,s,i,h,n){for(var o=this._convertToCellCoord(t),l=this._convertToCellCoord(r),a=this._convertToCellCoord(e),d=this._convertToCellCoord(s),f=o;f<=a;f++)for(var u=l;u<=d;u++){var y=this.d*u+f;if(i.call(this,t,r,e,s,y,h,n))return}},GridIndex.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},GridIndex.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,r=NUM_PARAMS+this.cells.length+1+1,e=0,s=0;s>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};\n},{}],18:[function(require,module,exports){\n\"use strict\";function kdbush(t,i,e,s,n){return new KDBush(t,i,e,s,n)}function KDBush(t,i,e,s,n){i=i||defaultGetX,e=e||defaultGetY,n=n||Array,this.nodeSize=s||64,this.points=t,this.ids=new n(t.length),this.coords=new n(2*t.length);for(var r=0;r=s&&a<=h&&t>=u&&t<=e&&f.push(p[i]);else{var c=Math.floor((g+v)/2);a=r[2*c],t=r[2*c+1],a>=s&&a<=h&&t>=u&&t<=e&&f.push(p[c]);var d=(l+1)%2;(0===l?s<=a:u<=t)&&(n.push(g),n.push(c-1),n.push(d)),(0===l?h>=a:e>=t)&&(n.push(c+1),n.push(v),n.push(d))}}return f}module.exports=range;\n},{}],20:[function(require,module,exports){\n\"use strict\";function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);select(t,a,f,s,r,e%2),sortKD(t,a,o,s,f-1,e+1),sortKD(t,a,o,f+1,r,e+1)}}function select(t,a,o,s,r,e){for(;r>s;){if(r-s>600){var f=r-s+1,p=o-s+1,w=Math.log(f),m=.5*Math.exp(2*w/3),n=.5*Math.sqrt(w*m*(f-m)/f)*(p-f/2<0?-1:1),c=Math.max(s,Math.floor(o-p*m/f+n)),h=Math.min(r,Math.floor(o+(f-p)*m/f+n));select(t,a,o,c,h,e)}var i=a[2*o+e],l=s,M=r;for(swapItem(t,a,s,o),a[2*r+e]>i&&swapItem(t,a,s,r);li;)M--}a[2*s+e]===i?swapItem(t,a,s,M):(M++,swapItem(t,a,M,r)),M<=o&&(s=M+1),o<=M&&(r=M-1)}}function swapItem(t,a,o,s){swap(t,o,s),swap(a,2*o,2*s),swap(a,2*o+1,2*s+1)}function swap(t,a,o){var s=t[a];t[a]=t[o],t[o]=s}module.exports=sortKD;\n},{}],21:[function(require,module,exports){\n\"use strict\";function within(s,p,r,t,u,h){for(var i=[0,s.length-1,0],o=[],n=u*u;i.length;){var e=i.pop(),a=i.pop(),f=i.pop();if(a-f<=h)for(var v=f;v<=a;v++)sqDist(p[2*v],p[2*v+1],r,t)<=n&&o.push(s[v]);else{var l=Math.floor((f+a)/2),c=p[2*l],q=p[2*l+1];sqDist(c,q,r,t)<=n&&o.push(s[l]);var D=(e+1)%2;(0===e?r-u<=c:t-u<=q)&&(i.push(f),i.push(l-1),i.push(D)),(0===e?r+u>=c:t+u>=q)&&(i.push(l+1),i.push(a),i.push(D))}}return o}function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=within;\n},{}],22:[function(require,module,exports){\n\"use strict\";function isSupported(e){return!!(isBrowser()&&isArraySupported()&&isFunctionSupported()&&isObjectSupported()&&isJSONSupported()&&isWorkerSupported()&&isUint8ClampedArraySupported()&&isWebGLSupportedCached(e&&e.failIfMajorPerformanceCaveat))}function isBrowser(){return\"undefined\"!=typeof window&&\"undefined\"!=typeof document}function isArraySupported(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function isFunctionSupported(){return Function.prototype&&Function.prototype.bind}function isObjectSupported(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function isJSONSupported(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function isWorkerSupported(){return\"Worker\"in window}function isUint8ClampedArraySupported(){return\"Uint8ClampedArray\"in window}function isWebGLSupportedCached(e){return void 0===isWebGLSupportedCache[e]&&(isWebGLSupportedCache[e]=isWebGLSupported(e)),isWebGLSupportedCache[e]}function isWebGLSupported(e){var t=document.createElement(\"canvas\"),r=Object.create(isSupported.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=e,t.probablySupportsContext?t.probablySupportsContext(\"webgl\",r)||t.probablySupportsContext(\"experimental-webgl\",r):t.supportsContext?t.supportsContext(\"webgl\",r)||t.supportsContext(\"experimental-webgl\",r):t.getContext(\"webgl\",r)||t.getContext(\"experimental-webgl\",r)}\"undefined\"!=typeof module&&module.exports?module.exports=isSupported:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=isSupported);var isWebGLSupportedCache={};isSupported.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};\n},{}],23:[function(require,module,exports){\n(function (process){\nfunction normalizeArray(r,t){for(var e=0,n=r.length-1;n>=0;n--){var s=r[n];\".\"===s?r.splice(n,1):\"..\"===s?(r.splice(n,1),e++):e&&(r.splice(n,1),e--)}if(t)for(;e--;e)r.unshift(\"..\");return r}function filter(r,t){if(r.filter)return r.filter(t);for(var e=[],n=0;n=-1&&!t;e--){var n=e>=0?arguments[e]:process.cwd();if(\"string\"!=typeof n)throw new TypeError(\"Arguments to path.resolve must be strings\");n&&(r=n+\"/\"+r,t=\"/\"===n.charAt(0))}return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),(t?\"/\":\"\")+r||\".\"},exports.normalize=function(r){var t=exports.isAbsolute(r),e=\"/\"===substr(r,-1);return r=normalizeArray(filter(r.split(\"/\"),function(r){return!!r}),!t).join(\"/\"),r||t||(r=\".\"),r&&e&&(r+=\"/\"),(t?\"/\":\"\")+r},exports.isAbsolute=function(r){return\"/\"===r.charAt(0)},exports.join=function(){var r=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(r,function(r,t){if(\"string\"!=typeof r)throw new TypeError(\"Arguments to path.join must be strings\");return r}).join(\"/\"))},exports.relative=function(r,t){function e(r){for(var t=0;t=0&&\"\"===r[e];e--);return t>e?[]:r.slice(t,e-t+1)}r=exports.resolve(r).substr(1),t=exports.resolve(t).substr(1);for(var n=e(r.split(\"/\")),s=e(t.split(\"/\")),i=Math.min(n.length,s.length),o=i,u=0;u55295&&e<57344){if(!r){e>56319||o+1===n?i.push(239,191,189):r=e;continue}if(e<56320){i.push(239,191,189),r=e;continue}e=r-55296<<10|e-56320|65536,r=null}else r&&(i.push(239,191,189),r=null);e<128?i.push(e):e<2048?i.push(e>>6|192,63&e|128):e<65536?i.push(e>>12|224,e>>6&63|128,63&e|128):i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}return i}module.exports=Buffer;var ieee754=require(\"ieee754\"),BufferMethods,lastStr,lastStrEncoded;BufferMethods={readUInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},writeUInt32LE:function(t,e){this[e]=t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24},readInt32LE:function(t){return(this[t]|this[t+1]<<8|this[t+2]<<16)+(this[t+3]<<24)},readFloatLE:function(t){return ieee754.read(this,t,!0,23,4)},readDoubleLE:function(t){return ieee754.read(this,t,!0,52,8)},writeFloatLE:function(t,e){return ieee754.write(this,t,e,!0,23,4)},writeDoubleLE:function(t,e){return ieee754.write(this,t,e,!0,52,8)},toString:function(t,e,r){var n=\"\",i=\"\";e=e||0,r=Math.min(this.length,r||this.length);for(var o=e;o=1;){if(i.pos>=e)throw new Error(\"Given varint doesn't fit into 10 bytes\");var r=255&t;i.buf[i.pos++]=r|(t>=128?128:0),t/=128}}function reallocForRawMessage(t,i,e){var r=i<=16383?1:i<=2097151?2:i<=268435455?3:Math.ceil(Math.log(i)/(7*Math.LN2));e.realloc(r);for(var s=e.pos-1;s>=t;s--)e.buf[s+r]=e.buf[s]}function writePackedVarint(t,i){for(var e=0;e>3,n=this.pos;t(s,i,this),this.pos===n&&this.skip(r)}return i},readMessage:function(t,i){return this.readFields(t,i,this.readVarint()+this.pos)},readFixed32:function(){var t=this.buf.readUInt32LE(this.pos);return this.pos+=4,t},readSFixed32:function(){var t=this.buf.readInt32LE(this.pos);return this.pos+=4,t},readFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readUInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=this.buf.readUInt32LE(this.pos)+this.buf.readInt32LE(this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=this.buf.readFloatLE(this.pos);return this.pos+=4,t},readDouble:function(){var t=this.buf.readDoubleLE(this.pos);return this.pos+=8,t},readVarint:function(){var t,i,e=this.buf;return i=e[this.pos++],t=127&i,i<128?t:(i=e[this.pos++],t|=(127&i)<<7,i<128?t:(i=e[this.pos++],t|=(127&i)<<14,i<128?t:(i=e[this.pos++],t|=(127&i)<<21,i<128?t:readVarintRemainder(t,this))))},readVarint64:function(){var t=this.pos,i=this.readVarint();if(i127;);else if(i===Pbf.Bytes)this.pos=this.readVarint()+this.pos;else if(i===Pbf.Fixed32)this.pos+=4;else{if(i!==Pbf.Fixed64)throw new Error(\"Unimplemented type: \"+i);this.pos+=8}},writeTag:function(t,i){this.writeVarint(t<<3|i)},realloc:function(t){for(var i=this.length||16;i268435455?void writeBigVarint(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),void(t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127)))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t);var i=Buffer.byteLength(t);this.writeVarint(i),this.realloc(i),this.buf.write(t,this.pos),this.pos+=i},writeFloat:function(t){this.realloc(4),this.buf.writeFloatLE(t,this.pos),this.pos+=4},writeDouble:function(t){this.realloc(8),this.buf.writeDoubleLE(t,this.pos),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&reallocForRawMessage(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,i,e){this.writeTag(t,Pbf.Bytes),this.writeRawMessage(i,e)},writePackedVarint:function(t,i){this.writeMessage(t,writePackedVarint,i)},writePackedSVarint:function(t,i){this.writeMessage(t,writePackedSVarint,i)},writePackedBoolean:function(t,i){this.writeMessage(t,writePackedBoolean,i)},writePackedFloat:function(t,i){this.writeMessage(t,writePackedFloat,i)},writePackedDouble:function(t,i){this.writeMessage(t,writePackedDouble,i)},writePackedFixed32:function(t,i){this.writeMessage(t,writePackedFixed32,i)},writePackedSFixed32:function(t,i){this.writeMessage(t,writePackedSFixed32,i)},writePackedFixed64:function(t,i){this.writeMessage(t,writePackedFixed64,i)},writePackedSFixed64:function(t,i){this.writeMessage(t,writePackedSFixed64,i)},writeBytesField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,Pbf.Varint),this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,Pbf.Bytes),this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,Pbf.Fixed32),this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,Pbf.Fixed64),this.writeDouble(i)},writeBooleanField:function(t,i){this.writeVarintField(t,Boolean(i))}};\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"./buffer\":24}],26:[function(require,module,exports){\n\"use strict\";function Point(t,n){this.x=t,this.y=n}module.exports=Point,Point.prototype={clone:function(){return new Point(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var n=t.x-this.x,i=t.y-this.y;return n*n+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,n){return Math.atan2(this.x*n-this.y*t,this.x*t+this.y*n)},_matMult:function(t){var n=t[0]*this.x+t[1]*this.y,i=t[2]*this.x+t[3]*this.y;return this.x=n,this.y=i,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var n=Math.cos(t),i=Math.sin(t),s=n*this.x-i*this.y,r=i*this.x+n*this.y;return this.x=s,this.y=r,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Point.convert=function(t){return t instanceof Point?t:Array.isArray(t)?new Point(t[0],t[1]):t};\n},{}],27:[function(require,module,exports){\nfunction defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex1)for(var u=1;ur;){if(o-r>600){var f=o-r+1,e=t-r+1,l=Math.log(f),s=.5*Math.exp(2*l/3),i=.5*Math.sqrt(l*s*(f-s)/f)*(e-f/2<0?-1:1),n=Math.max(r,Math.floor(t-e*s/f+i)),h=Math.min(o,Math.floor(t+(f-e)*s/f+i));partialSort(a,t,n,h,p)}var u=a[t],M=r,w=o;for(swap(a,r,t),p(a[o],u)>0&&swap(a,r,o);M0;)w--}0===p(a[r],u)?swap(a,r,w):(w++,swap(a,w,o)),w<=t&&(r=w+1),t<=w&&(o=w-1)}}function swap(a,t,r){var o=a[t];a[t]=a[r],a[r]=o}function defaultCompare(a,t){return at?1:0}module.exports=partialSort;\n},{}],29:[function(require,module,exports){\n\"use strict\";function supercluster(t){return new SuperCluster(t)}function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function createCluster(t,e,o,n){return{x:t,y:e,zoom:1/0,id:n,numPoints:o}}function createPointCluster(t,e){var o=t.geometry.coordinates;return createCluster(lngX(o[0]),latY(o[1]),1,e)}function getClusterJSON(t){return{type:\"Feature\",properties:getClusterProperties(t),geometry:{type:\"Point\",coordinates:[xLng(t.x),yLat(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return{cluster:!0,point_count:e,point_count_abbreviated:o}}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function xLng(t){return 360*(t-.5)}function yLat(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function extend(t,e){for(var o in e)t[o]=e[o];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=require(\"kdbush\");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1},load:function(t){var e=this.options.log;e&&console.time(\"total time\");var o=\"prepare \"+t.length+\" points\";e&&console.time(o),this.points=t;var n=t.map(createPointCluster);e&&console.timeEnd(o);for(var r=this.options.maxZoom;r>=this.options.minZoom;r--){var i=+Date.now();this.trees[r+1]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),n=this._cluster(n,r),e&&console.log(\"z%d: %d clusters in %dms\",r,n.length,+Date.now()-i)}return this.trees[this.options.minZoom]=kdbush(n,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd(\"total time\"),this},getClusters:function(t,e){for(var o=this.trees[this._limitZoom(e)],n=o.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),r=[],i=0;i=0;a--)this._down(a)}function defaultCompare(t,i){return ti?1:0}function swap(t,i,a){var n=t[i];t[i]=t[a],t[a]=n}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){var t=this.data[0];return this.data[0]=this.data[this.length-1],this.length--,this.data.pop(),this._down(0),t},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,a=this.compare;t>0;){var n=Math.floor((t-1)/2);if(!(a(i[t],i[n])<0))break;swap(i,n,t),t=n}},_down:function(t){for(var i=this.data,a=this.compare,n=this.length;;){var e=2*t+1,h=e+1,s=t;if(e=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?\"\u001b[\"+inspect.colors[t][0]+\"m\"+e+\"\u001b[\"+inspect.colors[t][1]+\"m\":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?\": \"+r.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),\"regexp\");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),\"date\");if(isError(r))return formatError(r)}var c=\"\",a=!1,l=[\"{\",\"}\"];if(isArray(r)&&(a=!0,l=[\"[\",\"]\"]),isFunction(r)){var p=r.name?\": \"+r.name:\"\";c=\" [Function\"+p+\"]\"}if(isRegExp(r)&&(c=\" \"+RegExp.prototype.toString.call(r)),isDate(r)&&(c=\" \"+Date.prototype.toUTCString.call(r)),isError(r)&&(c=\" \"+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(t<0)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize(\"undefined\",\"undefined\");if(isString(r)){var t=\"'\"+JSON.stringify(r).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(t,\"string\")}return isNumber(r)?e.stylize(\"\"+r,\"number\"):isBoolean(r)?e.stylize(\"\"+r,\"boolean\"):isNull(r)?e.stylize(\"null\",\"null\"):void 0}function formatError(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;s-1&&(u=o?u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\").substr(2):\"\\n\"+u.split(\"\\n\").map(function(e){return\" \"+e}).join(\"\\n\"))):u=e.stylize(\"[Circular]\",\"special\")),isUndefined(s)){if(o&&i.match(/^\\d+$/))return u;s=JSON.stringify(\"\"+i),s.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,\"name\")):(s=s.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),s=e.stylize(s,\"string\"))}return s+\": \"+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf(\"\\n\")>=0&&n++,e+r.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?t[0]+(\"\"===r?\"\":r+\"\\n \")+\" \"+e.join(\",\\n \")+\" \"+t[1]:t[0]+r+\" \"+e.join(\", \")+\" \"+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return\"boolean\"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return\"number\"==typeof e}function isString(e){return\"string\"==typeof e}function isSymbol(e){return\"symbol\"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&\"[object RegExp]\"===objectToString(e)}function isObject(e){return\"object\"==typeof e&&null!==e}function isDate(e){return isObject(e)&&\"[object Date]\"===objectToString(e)}function isError(e){return isObject(e)&&(\"[object Error]\"===objectToString(e)||e instanceof Error)}function isFunction(e){return\"function\"==typeof e}function isPrimitive(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||\"undefined\"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?\"0\"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(\":\");return[e.getDate(),months[e.getMonth()],r].join(\" \")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t=i)return e;switch(e){case\"%s\":return String(n[t++]);case\"%d\":return Number(n[t++]);case\"%j\":try{return JSON.stringify(n[t++])}catch(e){return\"[Circular]\"}default:return e}}),s=n[t];t>3}if(a--,1===i||2===i)o+=e.readSVarint(),n+=e.readSVarint(),1===i&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==i)throw new Error(\"unknown command \"+i);t&&t.push(t[0].clone())}}return t&&s.push(t),s},VectorTileFeature.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,i=0,a=0,o=0,n=1/0,s=-(1/0),p=1/0,h=-(1/0);e.pos>3}if(i--,1===r||2===r)a+=e.readSVarint(),o+=e.readSVarint(),as&&(s=a),oh&&(h=o);else if(7!==r)throw new Error(\"unknown command \"+r)}return[n,p,s,h]},VectorTileFeature.prototype.toGeoJSON=function(e,t,r){function i(e){for(var t=0;t>3;t=1===a?e.readString():2===a?e.readFloat():3===a?e.readDouble():4===a?e.readVarint64():5===a?e.readVarint():6===a?e.readSVarint():7===a?e.readBoolean():null}return t}var VectorTileFeature=require(\"./vectortilefeature.js\");module.exports=VectorTileLayer,VectorTileLayer.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new VectorTileFeature(this._pbf,t,this.extent,this._keys,this._values)};\n},{\"./vectortilefeature.js\":36}],38:[function(require,module,exports){\nfunction fromVectorTileJs(e){var r=[];for(var o in e.layers)r.push(prepareLayer(e.layers[o]));var t=new Pbf;return vtpb.tile.write({layers:r},t),t.finish()}function fromGeojsonVt(e){var r={};for(var o in e)r[o]=new GeoJSONWrapper(e[o].features),r[o].name=o;return fromVectorTileJs({layers:r})}function prepareLayer(e){for(var r={name:e.name||\"\",version:e.version||1,extent:e.extent||4096,keys:[],values:[],features:[]},o={},t={},n=0;n>31}function encodeGeometry(e){for(var r=[],o=0,t=0,n=e.length,a=0;aArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray.length),this.segments.push(e)),e},ArrayGroup.prototype.prepareSegment2=function(r){var e=this.segments2[this.segments2.length-1];return(!e||e.vertexLength+r>ArrayGroup.MAX_VERTEX_ARRAY_LENGTH)&&(e=new Segment(this.layoutVertexArray.length,this.elementArray2.length),this.segments2.push(e)),e},ArrayGroup.prototype.populatePaintArrays=function(r){var e=this;for(var t in e.layerData){var a=e.layerData[t];0!==a.paintVertexArray.bytesPerElement&&a.programConfiguration.populatePaintArray(a.layer,a.paintVertexArray,a.paintPropertyStatistics,e.layoutVertexArray.length,e.globalProperties,r)}},ArrayGroup.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ArrayGroup.prototype.serialize=function(r){return{layoutVertexArray:this.layoutVertexArray.serialize(r),elementArray:this.elementArray&&this.elementArray.serialize(r),elementArray2:this.elementArray2&&this.elementArray2.serialize(r),paintVertexArrays:serializePaintVertexArrays(this.layerData,r),segments:this.segments,segments2:this.segments2}},ArrayGroup.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,module.exports=ArrayGroup;\n},{\"./program_configuration\":58}],45:[function(require,module,exports){\n\"use strict\";var ArrayGroup=require(\"./array_group\"),BufferGroup=require(\"./buffer_group\"),util=require(\"../util/util\"),Bucket=function(r,t){this.zoom=r.zoom,this.overscaling=r.overscaling,this.layers=r.layers,this.index=r.index,r.arrays?this.buffers=new BufferGroup(t,r.layers,r.zoom,r.arrays):this.arrays=new ArrayGroup(t,r.layers,r.zoom)};Bucket.prototype.populate=function(r,t){for(var e=this,i=0,a=r;i=EXTENT||o<0||o>=EXTENT)){var n=r.prepareSegment(4),u=n.vertexLength;addCircleVertex(r.layoutVertexArray,y,o,-1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,-1),addCircleVertex(r.layoutVertexArray,y,o,1,1),addCircleVertex(r.layoutVertexArray,y,o,-1,1),r.elementArray.emplaceBack(u,u+1,u+2),r.elementArray.emplaceBack(u,u+3,u+2),n.vertexLength+=4,n.primitiveLength+=2}}r.populatePaintArrays(e.properties)},r}(Bucket);CircleBucket.programInterface=circleInterface,module.exports=CircleBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60}],47:[function(require,module,exports){\n\"use strict\";var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),earcut=require(\"earcut\"),classifyRings=require(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"}]),elementArrayType:createElementArrayType(3),elementArrayType2:createElementArrayType(2),paintAttributes:[{property:\"fill-color\",type:\"Uint8\"},{property:\"fill-outline-color\",type:\"Uint8\"},{property:\"fill-opacity\",type:\"Uint8\",multiplier:255}]},FillBucket=function(e){function r(r){e.call(this,r,fillInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);tEXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),EXTENT=require(\"../extent\"),earcut=require(\"earcut\"),classifyRings=require(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal\",components:3,type:\"Int16\"},{name:\"a_edgedistance\",components:1,type:\"Int16\"}]),elementArrayType:createElementArrayType(3),paintAttributes:[{property:\"fill-extrusion-base\",type:\"Uint16\"},{property:\"fill-extrusion-height\",type:\"Uint16\"},{property:\"fill-extrusion-color\",type:\"Uint8\"}]},FACTOR=Math.pow(2,13),FillExtrusionBucket=function(e){function r(r){e.call(this,r,fillExtrusionInterface)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addFeature=function(e){for(var r=this.arrays,t=0,a=classifyRings(loadGeometry(e),EARCUT_MAX_RINGS);t=1){var A=d[h-1];if(!isBoundaryEdge(g,A)){var _=g.sub(A)._perp()._unit();addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,g.x,g.y,_.x,_.y,0,1,m),m+=A.dist(g),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,0,m),addVertex(r.layoutVertexArray,A.x,A.y,_.x,_.y,0,1,m);var v=p.vertexLength;r.elementArray.emplaceBack(v,v+1,v+2),r.elementArray.emplaceBack(v+1,v+2,v+3),p.vertexLength+=4,p.primitiveLength+=2}}u.push(g.x),u.push(g.y)}}}for(var E=earcut(u,c),T=0;T>6)}var Bucket=require(\"../bucket\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),loadGeometry=require(\"../load_geometry\"),EXTENT=require(\"../extent\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(37.5*(Math.PI/180)),SHARP_CORNER_OFFSET=15,LINE_DISTANCE_BUFFER_BITS=15,LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,LINE_DISTANCE_BUFFER_BITS-1)/LINE_DISTANCE_SCALE,lineInterface={layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),paintAttributes:[{property:\"line-color\",type:\"Uint8\"},{property:\"line-blur\",multiplier:10,type:\"Uint8\"},{property:\"line-opacity\",multiplier:10,type:\"Uint8\"},{property:\"line-gap-width\",multiplier:10,type:\"Uint8\",name:\"a_gapwidth\"},{property:\"line-offset\",multiplier:1,type:\"Int8\"}],elementArrayType:createElementArrayType()},LineBucket=function(e){function t(t){e.call(this,t,lineInterface)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.addFeature=function(e){for(var t=this,r=this.layers[0].layout,i=r[\"line-join\"],a=r[\"line-cap\"],n=r[\"line-miter-limit\"],d=r[\"line-round-limit\"],s=0,u=loadGeometry(e,LINE_DISTANCE_BUFFER_BITS);s=2&&e[l-1].equals(e[l-2]);)l--;if(!(l<(u?3:2))){\"bevel\"===r&&(a=1.05);var o=SHARP_CORNER_OFFSET*(EXTENT/(512*this.overscaling)),p=e[0],c=this.arrays,_=c.prepareSegment(10*l);this.distance=0;var y,h,m,E,x,C,v,A=i,f=u?\"butt\":i,L=!0;this.e1=this.e2=this.e3=-1,u&&(y=e[l-2],x=p.sub(y)._unit()._perp());for(var V=0;V0){var b=y.dist(h);if(b>2*o){var R=y.sub(y.sub(h)._mult(o/b)._round());d.distance+=R.dist(h),d.addCurrentVertex(R,d.distance,E.mult(1),0,0,!1,_),h=R}}var g=h&&m,F=g?r:m?A:f;if(g&&\"round\"===F&&(Ia&&(F=\"bevel\"),\"bevel\"===F&&(I>2&&(F=\"flipbevel\"),I100)S=x.clone().mult(-1);else{var B=E.x*x.y-E.y*x.x>0?-1:1,k=I*E.add(x).mag()/E.sub(x).mag();S._perp()._mult(k*B)}d.addCurrentVertex(y,d.distance,S,0,0,!1,_),d.addCurrentVertex(y,d.distance,S.mult(-1),0,0,!1,_)}else if(\"bevel\"===F||\"fakeround\"===F){var D=E.x*x.y-E.y*x.x>0,P=-Math.sqrt(I*I-1);if(D?(v=0,C=P):(C=0,v=P),L||d.addCurrentVertex(y,d.distance,E,C,v,!1,_),\"fakeround\"===F){for(var U=Math.floor(8*(.5-(T-.5))),q=void 0,M=0;M=0;O--)q=E.mult((O+1)/(U+1))._add(x)._unit(),d.addPieSliceVertex(y,d.distance,q,D,_)}m&&d.addCurrentVertex(y,d.distance,x,-C,-v,!1,_)}else\"butt\"===F?(L||d.addCurrentVertex(y,d.distance,E,0,0,!1,_),m&&d.addCurrentVertex(y,d.distance,x,0,0,!1,_)):\"square\"===F?(L||(d.addCurrentVertex(y,d.distance,E,1,1,!1,_),d.e1=d.e2=-1),m&&d.addCurrentVertex(y,d.distance,x,-1,-1,!1,_)):\"round\"===F&&(L||(d.addCurrentVertex(y,d.distance,E,0,0,!1,_),d.addCurrentVertex(y,d.distance,E,1,1,!0,_),d.e1=d.e2=-1),m&&(d.addCurrentVertex(y,d.distance,x,-1,-1,!0,_),d.addCurrentVertex(y,d.distance,x,0,0,!1,_)));if(N&&V2*o){var H=y.add(m.sub(y)._mult(o/X)._round());d.distance+=H.dist(y),d.addCurrentVertex(H,d.distance,x.mult(1),0,0,!1,_),y=H}}L=!1}c.populatePaintArrays(s)}},t.prototype.addCurrentVertex=function(e,t,r,i,a,n,d){var s,u=n?1:0,l=this.arrays,o=l.layoutVertexArray,p=l.elementArray;s=r.clone(),i&&s._sub(r.perp()._mult(i)),addLineVertex(o,e,s,u,0,i,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,s=r.mult(-1),a&&s._sub(r.perp()._mult(a)),addLineVertex(o,e,s,u,1,-a,t),this.e3=d.vertexLength++,this.e1>=0&&this.e2>=0&&(p.emplaceBack(this.e1,this.e2,this.e3),d.primitiveLength++),this.e1=this.e2,this.e2=this.e3,t>MAX_LINE_DISTANCE/2&&(this.distance=0,this.addCurrentVertex(e,this.distance,r,i,a,n,d))},t.prototype.addPieSliceVertex=function(e,t,r,i,a){var n=i?1:0;r=r.mult(i?-1:1);var d=this.arrays,s=d.layoutVertexArray,u=d.elementArray;addLineVertex(s,e,r,0,n,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},t}(Bucket);LineBucket.programInterface=lineInterface,module.exports=LineBucket;\n},{\"../bucket\":45,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60,\"vector-tile\":34}],50:[function(require,module,exports){\n\"use strict\";function addVertex(e,t,o,r,a,i,n,l,s,c,y){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i/4,n/4,10*(c||0),y,10*(l||0),10*Math.min(s||25,25))}function addCollisionBoxVertex(e,t,o,r,a){return e.emplaceBack(t.x,t.y,Math.round(o.x),Math.round(o.y),10*r,10*a)}var Point=require(\"point-geometry\"),ArrayGroup=require(\"../array_group\"),BufferGroup=require(\"../buffer_group\"),createVertexArrayType=require(\"../vertex_array_type\"),createElementArrayType=require(\"../element_array_type\"),EXTENT=require(\"../extent\"),Anchor=require(\"../../symbol/anchor\"),getAnchors=require(\"../../symbol/get_anchors\"),resolveTokens=require(\"../../util/token\"),Quads=require(\"../../symbol/quads\"),Shaping=require(\"../../symbol/shaping\"),resolveText=require(\"../../symbol/resolve_text\"),mergeLines=require(\"../../symbol/mergelines\"),clipLine=require(\"../../symbol/clip_line\"),util=require(\"../../util/util\"),scriptDetection=require(\"../../util/script_detection\"),loadGeometry=require(\"../load_geometry\"),CollisionFeature=require(\"../../symbol/collision_feature\"),findPoleOfInaccessibility=require(\"../../util/find_pole_of_inaccessibility\"),classifyRings=require(\"../../util/classify_rings\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,rtlTextPlugin=require(\"../../source/rtl_text_plugin\"),shapeText=Shaping.shapeText,shapeIcon=Shaping.shapeIcon,WritingMode=Shaping.WritingMode,getGlyphQuads=Quads.getGlyphQuads,getIconQuads=Quads.getIconQuads,elementArrayType=createElementArrayType(),layoutVertexArrayType=createVertexArrayType([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_texture_pos\",components:2,type:\"Uint16\"},{name:\"a_data\",components:4,type:\"Uint8\"}]),symbolInterfaces={glyph:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:\"a_fill_color\",property:\"text-color\",type:\"Uint8\"},{name:\"a_halo_color\",property:\"text-halo-color\",type:\"Uint8\"},{name:\"a_halo_width\",property:\"text-halo-width\",type:\"Uint16\",multiplier:10},{name:\"a_halo_blur\",property:\"text-halo-blur\",type:\"Uint16\",multiplier:10},{name:\"a_opacity\",property:\"text-opacity\",type:\"Uint8\",multiplier:255}]},icon:{layoutVertexArrayType:layoutVertexArrayType,elementArrayType:elementArrayType,paintAttributes:[{name:\"a_fill_color\",property:\"icon-color\",type:\"Uint8\"},{name:\"a_halo_color\",property:\"icon-halo-color\",type:\"Uint8\"},{name:\"a_halo_width\",property:\"icon-halo-width\",type:\"Uint16\",multiplier:10},{name:\"a_halo_blur\",property:\"icon-halo-blur\",type:\"Uint16\",multiplier:10},{name:\"a_opacity\",property:\"icon-opacity\",type:\"Uint8\",multiplier:255}]},collisionBox:{layoutVertexArrayType:createVertexArrayType([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"},{name:\"a_data\",components:2,type:\"Uint8\"}]),elementArrayType:createElementArrayType(2)}},SymbolBucket=function(e){var t=this;if(this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.sdfIcons=e.sdfIcons,this.iconsNeedLinear=e.iconsNeedLinear,this.adjustedTextSize=e.adjustedTextSize,this.adjustedIconSize=e.adjustedIconSize,this.fontstack=e.fontstack,e.arrays){this.buffers={};for(var o in e.arrays)e.arrays[o]&&(t.buffers[o]=new BufferGroup(symbolInterfaces[o],e.layers,e.zoom,e.arrays[o]))}};SymbolBucket.prototype.populate=function(e,t){var o=this,r=this.layers[0],a=r.layout,i=a[\"text-font\"],n=a[\"icon-image\"],l=i&&(!r.isLayoutValueFeatureConstant(\"text-field\")||a[\"text-field\"]),s=n;if(this.features=[],l||s){for(var c=t.iconDependencies,y=t.glyphDependencies,p=y[i]=y[i]||{},x=0;xEXTENT||i.y<0||i.y>EXTENT);if(!x||n){var l=n||f;r.addSymbolInstance(i,a,t,o,r.layers[0],l,r.collisionBoxArray,e.index,e.sourceLayerIndex,r.index,s,h,m,y,u,g,{zoom:r.zoom},e.properties)}};if(\"line\"===b)for(var S=0,T=clipLine(e.geometry,0,0,EXTENT,EXTENT);S=0;i--)if(o.dist(a[i])7*Math.PI/4)continue}else if(r&&a&&d<=3*Math.PI/4||d>5*Math.PI/4)continue}else if(r&&a&&(d<=Math.PI/2||d>3*Math.PI/2))continue;var m=u.tl,g=u.tr,f=u.bl,b=u.br,v=u.tex,I=u.anchorPoint,S=Math.max(y+Math.log(u.minScale)/Math.LN2,p),T=Math.min(y+Math.log(u.maxScale)/Math.LN2,25);if(!(T<=S)){S===p&&(S=0);var M=Math.round(u.glyphAngle/(2*Math.PI)*256),B=e.prepareSegment(4),A=B.vertexLength;addVertex(c,I.x,I.y,m.x,m.y,v.x,v.y,S,T,p,M),addVertex(c,I.x,I.y,g.x,g.y,v.x+v.w,v.y,S,T,p,M),addVertex(c,I.x,I.y,f.x,f.y,v.x,v.y+v.h,S,T,p,M),addVertex(c,I.x,I.y,b.x,b.y,v.x+v.w,v.y+v.h,S,T,p,M),s.emplaceBack(A,A+1,A+2),s.emplaceBack(A+1,A+2,A+3),B.vertexLength+=4,B.primitiveLength+=2}}e.populatePaintArrays(n)},SymbolBucket.prototype.addToDebugBuffers=function(e){for(var t=this,o=this.arrays.collisionBox,r=o.layoutVertexArray,a=o.elementArray,i=-e.angle,n=e.yStretch,l=0,s=t.symbolInstances;lSymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),z>SymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\");var _=(o[WritingMode.vertical]?WritingMode.vertical:0)|(o[WritingMode.horizontal]?WritingMode.horizontal:0);this.symbolInstances.push({textBoxStartIndex:M,textBoxEndIndex:B,iconBoxStartIndex:A,iconBoxEndIndex:z,glyphQuads:I,iconQuads:v,anchor:e,featureIndex:l,featureProperties:g,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,module.exports=SymbolBucket;\n},{\"../../source/rtl_text_plugin\":90,\"../../symbol/anchor\":157,\"../../symbol/clip_line\":159,\"../../symbol/collision_feature\":161,\"../../symbol/get_anchors\":163,\"../../symbol/mergelines\":166,\"../../symbol/quads\":167,\"../../symbol/resolve_text\":168,\"../../symbol/shaping\":169,\"../../util/classify_rings\":195,\"../../util/find_pole_of_inaccessibility\":201,\"../../util/script_detection\":209,\"../../util/token\":211,\"../../util/util\":212,\"../array_group\":44,\"../buffer_group\":52,\"../element_array_type\":53,\"../extent\":54,\"../load_geometry\":56,\"../vertex_array_type\":60,\"point-geometry\":26,\"vector-tile\":34}],51:[function(require,module,exports){\n\"use strict\";var AttributeType={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\"},Buffer=function(e,t,r){this.arrayBuffer=e.arrayBuffer,this.length=e.length,this.attributes=t.members,this.itemSize=t.bytesPerElement,this.type=r,this.arrayType=t};Buffer.fromStructArray=function(e,t){return new Buffer(e.serialize(),e.constructor.serialize(),t)},Buffer.prototype.bind=function(e){var t=e[this.type];this.buffer?e.bindBuffer(t,this.buffer):(this.gl=e,this.buffer=e.createBuffer(),e.bindBuffer(t,this.buffer),e.bufferData(t,this.arrayBuffer,e.STATIC_DRAW),this.arrayBuffer=null)},Buffer.prototype.setVertexAttribPointers=function(e,t,r){for(var f=this,i=0;i0?t+2*e:e}function translate(e,t,r,i,a){if(!t[0]&&!t[1])return e;t=Point.convert(t),\"viewport\"===r&&t._rotate(-i);for(var n=[],s=0;sr.max||d.yr.max)&&util.warnOnce(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return u};\n},{\"../util/util\":212,\"./extent\":54}],57:[function(require,module,exports){\n\"use strict\";var createStructArrayType=require(\"../util/struct_array\"),PosArray=createStructArrayType({members:[{name:\"a_pos\",type:\"Int16\",components:2}]});module.exports=PosArray;\n},{\"../util/struct_array\":210}],58:[function(require,module,exports){\n\"use strict\";function getPaintAttributeValue(t,r,e,i){if(!t.zoomStops)return r.getPaintValue(t.property,e,i);var a=t.zoomStops.map(function(a){return r.getPaintValue(t.property,util.extend({},e,{zoom:a}),i)});return 1===a.length?a[0]:a}function normalizePaintAttribute(t,r){var e=t.name;e||(e=t.property.replace(r.type+\"-\",\"\").replace(/-/g,\"_\"));var i=\"color\"===r._paintSpecifications[t.property].type;return util.extend({name:\"a_\"+e,components:i?4:1,multiplier:i?255:1,dimensions:i?4:1},t)}var createVertexArrayType=require(\"./vertex_array_type\"),util=require(\"../util/util\"),ProgramConfiguration=function(){this.attributes=[],this.uniforms=[],this.interpolationUniforms=[],this.pragmas={vertex:{},fragment:{}},this.cacheKey=\"\"};ProgramConfiguration.createDynamic=function(t,r,e){for(var i=new ProgramConfiguration,a=0,n=t;a90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};LngLat.prototype.wrap=function(){return new LngLat(wrap(this.lng,-180,180),this.lat)},LngLat.prototype.toArray=function(){return[this.lng,this.lat]},LngLat.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(t&&t.hasOwnProperty(\"lng\")&&t.hasOwnProperty(\"lat\"))return new LngLat(t.lng,t.lat);if(Array.isArray(t)&&2===t.length)return new LngLat(t[0],t[1]);throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]\")},module.exports=LngLat;\n},{\"../util/util\":212}],63:[function(require,module,exports){\n\"use strict\";var LngLat=require(\"./lng_lat\"),LngLatBounds=function(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};LngLatBounds.prototype.setNorthEast=function(t){return this._ne=LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=LngLat.convert(t),this},LngLatBounds.prototype.extend=function(t){var n,e,s=this._sw,o=this._ne;if(t instanceof LngLat)n=t,e=t;else{if(!(t instanceof LngLatBounds))return Array.isArray(t)?t.every(Array.isArray)?this.extend(LngLatBounds.convert(t)):this.extend(LngLat.convert(t)):this;if(n=t._sw,e=t._ne,!n||!e)return this}return s||o?(s.lng=Math.min(n.lng,s.lng),s.lat=Math.min(n.lat,s.lat),o.lng=Math.max(e.lng,o.lng),o.lat=Math.max(e.lat,o.lat)):(this._sw=new LngLat(n.lng,n.lat),this._ne=new LngLat(e.lng,e.lat)),this},LngLatBounds.prototype.getCenter=function(){return new LngLat((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},LngLatBounds.prototype.getSouthWest=function(){return this._sw},LngLatBounds.prototype.getNorthEast=function(){return this._ne},LngLatBounds.prototype.getNorthWest=function(){return new LngLat(this.getWest(),this.getNorth())},LngLatBounds.prototype.getSouthEast=function(){return new LngLat(this.getEast(),this.getSouth())},LngLatBounds.prototype.getWest=function(){return this._sw.lng},LngLatBounds.prototype.getSouth=function(){return this._sw.lat},LngLatBounds.prototype.getEast=function(){return this._ne.lng},LngLatBounds.prototype.getNorth=function(){return this._ne.lat},LngLatBounds.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},LngLatBounds.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},LngLatBounds.convert=function(t){return!t||t instanceof LngLatBounds?t:new LngLatBounds(t)},module.exports=LngLatBounds;\n},{\"./lng_lat\":62}],64:[function(require,module,exports){\n\"use strict\";var LngLat=require(\"./lng_lat\"),Point=require(\"point-geometry\"),Coordinate=require(\"./coordinate\"),util=require(\"../util/util\"),interp=require(\"../util/interpolate\"),TileCoord=require(\"../source/tile_coord\"),EXTENT=require(\"../data/extent\"),glmatrix=require(\"@mapbox/gl-matrix\"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,i,o){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0},prototypeAccessors={minZoom:{},maxZoom:{},worldSize:{},centerPoint:{},size:{},bearing:{},pitch:{},fov:{},zoom:{},center:{},unmodified:{},x:{},y:{},point:{}};prototypeAccessors.minZoom.get=function(){return this._minZoom},prototypeAccessors.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},prototypeAccessors.maxZoom.get=function(){return this._maxZoom},prototypeAccessors.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},prototypeAccessors.worldSize.get=function(){return this.tileSize*this.scale},prototypeAccessors.centerPoint.get=function(){return this.size._div(2)},prototypeAccessors.size.get=function(){return new Point(this.width,this.height)},prototypeAccessors.bearing.get=function(){return-this.angle/Math.PI*180},prototypeAccessors.bearing.set=function(t){var i=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=mat2.create(),mat2.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},prototypeAccessors.pitch.get=function(){return this._pitch/Math.PI*180},prototypeAccessors.pitch.set=function(t){var i=util.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())},prototypeAccessors.fov.get=function(){return this._fov/Math.PI*180},prototypeAccessors.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},prototypeAccessors.zoom.get=function(){return this._zoom},prototypeAccessors.zoom.set=function(t){var i=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==i&&(this._unmodified=!1,this._zoom=i,this.scale=this.zoomScale(i),this.tileZoom=Math.floor(i),this.zoomFraction=i-this.tileZoom,this._constrain(),this._calcMatrices())},prototypeAccessors.center.get=function(){return this._center},prototypeAccessors.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Transform.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Transform.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),o=i;if(it.maxzoom&&(i=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,i),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),i),this.pointCoordinate(new Point(this.width,0),i),this.pointCoordinate(new Point(this.width,this.height),i),this.pointCoordinate(new Point(0,this.height),i)];return TileCoord.cover(i,n,t.reparseOverscaled?o:i,this._renderWorldCopies).sort(function(t,i){return r.dist(t)-r.dist(i)})},Transform.prototype.resize=function(t,i){this.width=t,this.height=i,this.pixelsToGLUnits=[2/t,-2/i],this._constrain(),this._calcMatrices()},prototypeAccessors.unmodified.get=function(){return this._unmodified},Transform.prototype.zoomScale=function(t){return Math.pow(2,t)},Transform.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Transform.prototype.project=function(t){return new Point(this.lngX(t.lng),this.latY(t.lat))},Transform.prototype.unproject=function(t){return new LngLat(this.xLng(t.x),this.yLat(t.y))},prototypeAccessors.x.get=function(){return this.lngX(this.center.lng)},prototypeAccessors.y.get=function(){return this.latY(this.center.lat)},prototypeAccessors.point.get=function(){return new Point(this.x,this.y)},Transform.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Transform.prototype.latY=function(t){var i=180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360));return(180-i)*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var i=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(i*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,i){var o=this.pointCoordinate(i)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(o))},Transform.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Transform.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Transform.prototype.locationCoordinate=function(t){return new Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Transform.prototype.coordinateLocation=function(t){var i=t.zoomTo(this.zoom);return new LngLat(this.xLng(i.column*this.tileSize),this.yLat(i.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,i){void 0===i&&(i=this.tileZoom);var o=0,e=[t.x,t.y,0,1],r=[t.x,t.y,1,1];vec4.transformMat4(e,e,this.pixelMatrixInverse),vec4.transformMat4(r,r,this.pixelMatrixInverse);var n=e[3],s=r[3],a=e[0]/n,h=r[0]/s,c=e[1]/n,m=r[1]/s,p=e[2]/n,l=r[2]/s,u=p===l?0:(o-p)/(l-p);return new Coordinate(interp(a,h,u)/this.tileSize,interp(c,m,u)/this.tileSize,this.zoom)._zoomTo(i)},Transform.prototype.coordinatePoint=function(t){var i=t.zoomTo(this.zoom),o=[i.column*this.tileSize,i.row*this.tileSize,0,1];return vec4.transformMat4(o,o,this.pixelMatrix),new Point(o[0]/o[3],o[1]/o[3])},Transform.prototype.calculatePosMatrix=function(t,i){var o=t.toCoordinate(i),e=this.worldSize/this.zoomScale(o.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[o.column*e,o.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,i,o,e,r,n,s,a,h=this.size,c=this._unmodified;this.latRange&&(t=this.latY(this.latRange[1]),i=this.latY(this.latRange[0]),r=i-ti&&(a=i-l)}if(this.lngRange){var u=this.x,f=h.x/2;u-fe&&(s=e-f)}void 0===s&&void 0===a||(this.center=this.unproject(new Point(void 0!==s?s:this.x,void 0!==a?a:this.y))),this._unmodified=c,this._constraining=!1}},Transform.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,i=Math.PI/2+this._pitch,o=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-i-t),e=Math.cos(Math.PI/2-this._pitch)*o+this.cameraToCenterDistance,r=1.01*e,n=new Float64Array(16);mat4.perspective(n,this._fov,this.width/this.height,1,r),mat4.scale(n,n,[1,-1,1]),mat4.translate(n,n,[0,0,-this.cameraToCenterDistance]),mat4.rotateX(n,n,this._pitch),mat4.rotateZ(n,n,this.angle),mat4.translate(n,n,[-this.x,-this.y,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));if(mat4.scale(n,n,[1,1,s,1]),this.projMatrix=n,n=mat4.create(),mat4.scale(n,n,[this.width/2,-this.height/2,1]),mat4.translate(n,n,[1,-1,0]),this.pixelMatrix=mat4.multiply(new Float64Array(16),n,this.projMatrix),n=mat4.invert(new Float64Array(16),this.pixelMatrix),!n)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform;\n},{\"../data/extent\":54,\"../source/tile_coord\":94,\"../util/interpolate\":204,\"../util/util\":212,\"./coordinate\":61,\"./lng_lat\":62,\"@mapbox/gl-matrix\":1,\"point-geometry\":26}],65:[function(require,module,exports){\n\"use strict\";var browser=require(\"./util/browser\"),mapboxgl=module.exports={};mapboxgl.version=require(\"../package.json\").version,mapboxgl.workerCount=Math.max(Math.floor(browser.hardwareConcurrency/2),1),mapboxgl.Map=require(\"./ui/map\"),mapboxgl.NavigationControl=require(\"./ui/control/navigation_control\"),mapboxgl.GeolocateControl=require(\"./ui/control/geolocate_control\"),mapboxgl.AttributionControl=require(\"./ui/control/attribution_control\"),mapboxgl.ScaleControl=require(\"./ui/control/scale_control\"),mapboxgl.FullscreenControl=require(\"./ui/control/fullscreen_control\"),mapboxgl.Popup=require(\"./ui/popup\"),mapboxgl.Marker=require(\"./ui/marker\"),mapboxgl.Style=require(\"./style/style\"),mapboxgl.LngLat=require(\"./geo/lng_lat\"),mapboxgl.LngLatBounds=require(\"./geo/lng_lat_bounds\"),mapboxgl.Point=require(\"point-geometry\"),mapboxgl.Evented=require(\"./util/evented\"),mapboxgl.supported=require(\"./util/browser\").supported;var config=require(\"./util/config\");mapboxgl.config=config;var rtlTextPlugin=require(\"./source/rtl_text_plugin\");mapboxgl.setRTLTextPlugin=rtlTextPlugin.setRTLTextPlugin,Object.defineProperty(mapboxgl,\"accessToken\",{get:function(){return config.ACCESS_TOKEN},set:function(o){config.ACCESS_TOKEN=o}});\n},{\"../package.json\":43,\"./geo/lng_lat\":62,\"./geo/lng_lat_bounds\":63,\"./source/rtl_text_plugin\":90,\"./style/style\":146,\"./ui/control/attribution_control\":173,\"./ui/control/fullscreen_control\":174,\"./ui/control/geolocate_control\":175,\"./ui/control/navigation_control\":177,\"./ui/control/scale_control\":178,\"./ui/map\":187,\"./ui/marker\":188,\"./ui/popup\":189,\"./util/browser\":192,\"./util/config\":196,\"./util/evented\":200,\"point-geometry\":26}],66:[function(require,module,exports){\n\"use strict\";function drawBackground(r,t,e){var a=r.gl,i=r.transform,n=i.tileSize,o=e.paint[\"background-color\"],l=e.paint[\"background-pattern\"],u=e.paint[\"background-opacity\"],f=!l&&1===o[3]&&1===u;if(r.isOpaquePass===f){a.disable(a.STENCIL_TEST),r.setDepthSublayer(0);var s;l?(s=r.useProgram(\"fillPattern\",r.basicFillProgramConfiguration),pattern.prepare(l,r,s),r.tileExtentPatternVAO.bind(a,s,r.tileExtentBuffer)):(s=r.useProgram(\"fill\",r.basicFillProgramConfiguration),a.uniform4fv(s.u_color,o),r.tileExtentVAO.bind(a,s,r.tileExtentBuffer)),a.uniform1f(s.u_opacity,u);for(var c=i.coveringTiles({tileSize:n}),g=0,p=c;g\":[24,[4,18,20,9,4,0]],\"?\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\"@\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\"[\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\"\\\\\":[14,[0,21,14,-3]],\"]\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\"^\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\"`\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\"{\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\"|\":[8,[4,25,4,-7]],\"}\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\"~\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]};\n},{\"../data/buffer\":51,\"../data/extent\":54,\"../data/pos_array\":57,\"../util/browser\":192,\"./vertex_array_object\":80,\"@mapbox/gl-matrix\":1}],70:[function(require,module,exports){\n\"use strict\";function drawFill(t,e,r,i){var a=t.gl;a.enable(a.STENCIL_TEST);var l=!r.paint[\"fill-pattern\"]&&r.isPaintValueFeatureConstant(\"fill-color\")&&r.isPaintValueFeatureConstant(\"fill-opacity\")&&1===r.paint[\"fill-color\"][3]&&1===r.paint[\"fill-opacity\"];t.isOpaquePass===l&&(t.setDepthSublayer(1),drawFillTiles(t,e,r,i,drawFillTile)),!t.isOpaquePass&&r.paint[\"fill-antialias\"]&&(t.lineWidth(2),t.depthMask(!1),t.setDepthSublayer(r.getPaintProperty(\"fill-outline-color\")?2:0),drawFillTiles(t,e,r,i,drawStrokeTile))}function drawFillTiles(t,e,r,i,a){for(var l=!0,n=0,o=i;n0?1/(1-r):1+r}function saturationFactor(r){return r>0?1-1/(1.001-r):-r}function getFadeValues(r,t,e,a){var i=e.paint[\"raster-fade-duration\"];if(r.sourceCache&&i>0){var o=Date.now(),n=(o-r.timeAdded)/i,u=t?(o-t.timeAdded)/i:-1,s=r.sourceCache.getSource(),c=a.coveringZoomLevel({tileSize:s.tileSize,roundZoom:s.roundZoom}),f=!t||Math.abs(t.coord.z-c)>Math.abs(r.coord.z-c),d=f&&r.refreshedUponExpiration?1:util.clamp(f?n:1-u,0,1);return r.refreshedUponExpiration&&n>=1&&(r.refreshedUponExpiration=!1),t?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}var util=require(\"../util/util\");module.exports=drawRaster;\n},{\"../util/util\":212}],74:[function(require,module,exports){\n\"use strict\";function drawSymbols(e,t,a,i){if(!e.isOpaquePass){var o=!(a.layout[\"text-allow-overlap\"]||a.layout[\"icon-allow-overlap\"]||a.layout[\"text-ignore-placement\"]||a.layout[\"icon-ignore-placement\"]),r=e.gl;o?r.disable(r.STENCIL_TEST):r.enable(r.STENCIL_TEST),e.setDepthSublayer(0),e.depthMask(!1),drawLayerSymbols(e,t,a,i,!1,a.paint[\"icon-translate\"],a.paint[\"icon-translate-anchor\"],a.layout[\"icon-rotation-alignment\"],a.layout[\"icon-rotation-alignment\"],a.layout[\"icon-size\"]),drawLayerSymbols(e,t,a,i,!0,a.paint[\"text-translate\"],a.paint[\"text-translate-anchor\"],a.layout[\"text-rotation-alignment\"],a.layout[\"text-pitch-alignment\"],a.layout[\"text-size\"]),t.map.showCollisionBoxes&&drawCollisionDebug(e,t,a,i)}}function drawLayerSymbols(e,t,a,i,o,r,n,l,s,u){if(o||!e.style.sprite||e.style.sprite.loaded()){var f=e.gl,m=\"map\"===l,p=\"map\"===s,c=p;c?f.enable(f.DEPTH_TEST):f.disable(f.DEPTH_TEST);for(var d,_,h=0,g=i;hthis.previousZoom;a--)r.changeTimes[a]=e,r.changeOpacities[a]=r.opacities[a];for(a=0;a<256;a++){var s=e-r.changeTimes[a],o=255*(i?s/i:1);a<=t?r.opacities[a]=r.changeOpacities[a]+o:r.opacities[a]=r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.bind=function(e){this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.changed&&(e.texSubImage2D(e.TEXTURE_2D,0,0,0,256,1,e.ALPHA,e.UNSIGNED_BYTE,this.array),this.changed=!1)):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,256,1,0,e.ALPHA,e.UNSIGNED_BYTE,this.array))},module.exports=FrameHistory;\n},{}],76:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),LineAtlas=function(t,i){this.width=t,this.height=i,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};LineAtlas.prototype.setSprite=function(t){this.sprite=t},LineAtlas.prototype.getDash=function(t,i){var e=t.join(\",\")+i;return this.positions[e]||(this.positions[e]=this.addDash(t,i)),this.positions[e]},LineAtlas.prototype.addDash=function(t,i){var e=this,h=i?7:0,s=2*h+1,a=128;if(this.nextRow+s>this.height)return util.warnOnce(\"LineAtlas out of space\"),null;for(var r=0,n=0;n0?r.pop():null},Painter.prototype.getViewportTexture=function(e,r){var t=this.reusableTextures.viewport;if(t)return t.width===e&&t.height===r?t:(this.gl.deleteTexture(t),void(this.reusableTextures.viewport=null))},Painter.prototype.lineWidth=function(e){this.gl.lineWidth(util.clamp(e,this.lineWidthRange[0],this.lineWidthRange[1]))},Painter.prototype.showOverdrawInspector=function(e){if(e||this._showOverdrawInspector){this._showOverdrawInspector=e;var r=this.gl;if(e){r.blendFunc(r.CONSTANT_COLOR,r.ONE);var t=8,i=1/t;r.blendColor(i,i,i,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)}else r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype.createProgram=function(e,r){var t=this.gl,i=t.createProgram(),a=shaders[e],s=\"#define MAPBOX_GL_JS\\n#define DEVICE_PIXEL_RATIO \"+browser.devicePixelRatio.toFixed(1)+\"\\n\";this._showOverdrawInspector&&(s+=\"#define OVERDRAW_INSPECTOR;\\n\");var o=r.applyPragmas(s+shaders.prelude.fragmentSource+a.fragmentSource,\"fragment\"),n=r.applyPragmas(s+shaders.prelude.vertexSource+a.vertexSource,\"vertex\"),l=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(l,o),t.compileShader(l),t.attachShader(i,l);var h=t.createShader(t.VERTEX_SHADER);t.shaderSource(h,n),t.compileShader(h),t.attachShader(i,h),t.linkProgram(i);for(var u=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES),c={program:i,numAttributes:u},p=0;p>16,n>>16),o.uniform2f(i.u_pixel_coord_lower,65535&u,65535&n)};\n},{\"../source/pixels_to_tile_units\":87}],79:[function(require,module,exports){\n\"use strict\";var path=require(\"path\");module.exports={prelude:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\\nfloat evaluate_zoom_function_1(const vec4 values, const float t) {\\n if (t < 1.0) {\\n return mix(values[0], values[1], t);\\n } else if (t < 2.0) {\\n return mix(values[1], values[2], t - 1.0);\\n } else {\\n return mix(values[2], values[3], t - 2.0);\\n }\\n}\\nvec4 evaluate_zoom_function_4(const vec4 value0, const vec4 value1, const vec4 value2, const vec4 value3, const float t) {\\n if (t < 1.0) {\\n return mix(value0, value1, t);\\n } else if (t < 2.0) {\\n return mix(value1, value2, t - 1.0);\\n } else {\\n return mix(value2, value3, t - 2.0);\\n }\\n}\\n\\n\\n// To minimize the number of attributes needed in the mapbox-gl-native shaders,\\n// we encode a 4-component color into a pair of floats (i.e. a vec2) as follows:\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\n// floor(color.b * 255) * 256 + color.g * 255 ]\\nvec4 decode_color(const vec2 encodedColor) {\\n float r = floor(encodedColor[0]/256.0)/255.0;\\n float g = (encodedColor[0] - r*256.0*255.0)/255.0;\\n float b = floor(encodedColor[1]/256.0)/255.0;\\n float a = (encodedColor[1] - b*256.0*255.0)/255.0;\\n return vec4(r, g, b, a);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\n return mix(packedValue[0], packedValue[1], t);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\n vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\n vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\n return mix(minColor, maxColor, t);\\n}\\n\\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\\n// vec2 offset = mod(pixel_coord, size)\\n//\\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\\n//\\n// The pixel_coord is passed in as two 16 bit values:\\n// pixel_coord_upper = floor(pixel_coord / 2^16)\\n// pixel_coord_lower = mod(pixel_coord, 2^16)\\n//\\n// The offset is calculated in a series of steps that should preserve this precision:\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\n const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\n\\n vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\n return (tile_units_to_pixels * pos + offset) / pattern_size;\\n}\\n\"},circle:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n float extrude_length = length(v_extrude);\\n float antialiased_blur = -max(blur, v_antialiasblur);\\n\\n float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\n\\n float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\n antialiased_blur,\\n 0.0,\\n extrude_length - radius / (radius + stroke_width)\\n );\\n\\n gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform bool u_scale_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nattribute vec2 a_pos;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec2 v_extrude;\\nvarying lowp float v_antialiasblur;\\n\\nvoid main(void) {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize mediump float radius\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp vec4 stroke_color\\n #pragma mapbox: initialize mediump float stroke_width\\n #pragma mapbox: initialize lowp float stroke_opacity\\n\\n // unencode the extrusion vector that we snuck into the a_pos vector\\n v_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n vec2 extrude = v_extrude * (radius + stroke_width) * u_extrude_scale;\\n // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n // in extrusion data\\n gl_Position = u_matrix * vec4(floor(a_pos * 0.5), 0, 1);\\n\\n if (u_scale_with_map) {\\n gl_Position.xy += extrude;\\n } else {\\n gl_Position.xy += extrude * gl_Position.w;\\n }\\n\\n // This is a minimum blur distance that serves as a faux-antialiasing for\\n // the circle. since blur is a ratio of the circle's size and the intent is\\n // to keep the blur at roughly 1px, the two are inversely related.\\n v_antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\n}\\n\"},collisionBox:{fragmentSource:\"uniform float u_zoom;\\nuniform float u_maxzoom;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n\\n float alpha = 0.5;\\n\\n gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0) * alpha;\\n\\n if (v_placement_zoom > u_zoom) {\\n gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n }\\n\\n if (u_zoom >= v_max_zoom) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\\n }\\n\\n if (v_placement_zoom >= u_maxzoom) {\\n gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0) * alpha * 0.2;\\n }\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform float u_scale;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos + a_extrude / u_scale, 0.0, 1.0);\\n\\n v_max_zoom = a_data.x;\\n v_placement_zoom = a_data.y;\\n}\\n\"},debug:{fragmentSource:\"uniform lowp vec4 u_color;\\n\\nvoid main() {\\n gl_FragColor = u_color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, step(32767.0, a_pos.x), 1);\\n}\\n\"},fill:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_FragColor = color * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fillOutline:{fragmentSource:\"#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = smoothstep(1.0, 0.0, dist);\\n gl_FragColor = outline_color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillOutlinePattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n // find distance to outline for alpha interpolation\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = smoothstep(1.0, 0.0, dist);\\n\\n\\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n\\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n}\\n\"},fillExtrusion:{fragmentSource:\"varying vec4 v_color;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize lowp vec4 color\\n\\n gl_FragColor = v_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec4 v_color;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\n#pragma mapbox: define lowp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize lowp vec4 color\\n\\n float ed = a_edgedistance; // use each attrib in order to not trip a VAO assert\\n float t = mod(a_normal.x, 2.0);\\n\\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\n\\n // Relative luminance (how dark/bright is the surface color?)\\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\n\\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\\n\\n // Add slight ambient lighting so no extrusions are totally black\\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\n color += ambientlight;\\n\\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\n float directional = clamp(dot(a_normal / 16384.0, u_lightpos), 0.0, 1.0);\\n\\n // Adjust directional so that\\n // the range of values for highlight/shading is narrower\\n // with lower light intensity\\n // and with lighter/brighter surface colors\\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\n\\n // Add gradient along z axis of side surfaces\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\n // with lower bounds adjusted to hue of light\\n // so that shading is tinted with the complementary (opposite) color to the light color\\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\n}\\n\"},fillExtrusionPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n vec2 imagecoord = mod(v_pos_a, 1.0);\\n vec2 pos = mix(u_pattern_tl_a, u_pattern_br_a, imagecoord);\\n vec4 color1 = texture2D(u_image, pos);\\n\\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n vec2 pos2 = mix(u_pattern_tl_b, u_pattern_br_b, imagecoord_b);\\n vec4 color2 = texture2D(u_image, pos2);\\n\\n vec4 mixedColor = mix(color1, color2, u_mix);\\n\\n gl_FragColor = mixedColor * v_lighting;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\nuniform float u_height_factor;\\n\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec3 a_normal;\\nattribute float a_edgedistance;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\nvarying float v_directional;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n\\n float t = mod(a_normal.x, 2.0);\\n float z = t > 0.0 ? height : base;\\n\\n gl_Position = u_matrix * vec4(a_pos, z, 1);\\n\\n vec2 pos = a_normal.x == 1.0 && a_normal.y == 0.0 && a_normal.z == 16384.0\\n ? a_pos // extrusion top\\n : vec2(a_edgedistance, z * u_height_factor); // extrusion side\\n\\n v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\\n v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\\n\\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\n float directional = clamp(dot(a_normal / 16383.0, u_lightpos), 0.0, 1.0);\\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\n\\n if (a_normal.y != 0.0) {\\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n }\\n\\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\n}\\n\"},extrusionTexture:{fragmentSource:\"uniform sampler2D u_texture;\\nuniform float u_opacity;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_FragColor = texture2D(u_texture, v_pos) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform int u_xdim;\\nuniform int u_ydim;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n v_pos.x = a_pos.x / float(u_xdim);\\n v_pos.y = 1.0 - a_pos.y / float(u_ydim);\\n}\\n\"},line:{fragmentSource:\"#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_width2;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"},linePattern:{fragmentSource:\"uniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform float u_fade;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\n float y_a = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_a.y);\\n float y_b = 0.5 + (v_normal.y * v_width2.s / u_pattern_size_b.y);\\n vec2 pos_a = mix(u_pattern_tl_a, u_pattern_br_a, vec2(x_a, y_a));\\n vec2 pos_b = mix(u_pattern_tl_b, u_pattern_br_b, vec2(x_b, y_b));\\n\\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\n\\n gl_FragColor = color * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform mediump float u_width;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float offset\\n #pragma mapbox: initialize mediump float gapwidth\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset; \\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist = outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_linesofar = a_linesofar;\\n v_width2 = vec2(outset, inset);\\n}\\n\"},lineSDF:{fragmentSource:\"\\nuniform sampler2D u_image;\\nuniform float u_sdfgamma;\\nuniform float u_mix;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n\\n // Calculate the distance of the pixel from the line in pixels.\\n float dist = length(v_normal) * v_width2.s;\\n\\n // Calculate the antialiasing fade factor. This is either when fading in\\n // the line in case of an offset line (v_width2.t) or when fading out\\n // (v_width2.s)\\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\n alpha *= smoothstep(0.5 - u_sdfgamma, 0.5 + u_sdfgamma, sdfdist);\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_patternscale_a;\\nuniform float u_tex_y_a;\\nuniform vec2 u_patternscale_b;\\nuniform float u_tex_y_b;\\nuniform vec2 u_gl_units_to_pixels;\\nuniform mediump float u_width;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float gapwidth\\n #pragma mapbox: initialize lowp float offset\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n // We store the texture normals in the most insignificant bit\\n // transform y so that 0 => -1 and 1 => 1\\n // In the texture normal, x is 0 if the normal points straight up/down and 1 if it's a round cap\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = mod(a_pos, 2.0);\\n normal.y = sign(normal.y - 0.5);\\n v_normal = normal;\\n\\n // these transformations used to be applied in the JS and native code bases. \\n // moved them into the shader for clarity and simplicity. \\n gapwidth = gapwidth / 2.0;\\n float width = u_width / 2.0;\\n offset = -1.0 * offset;\\n \\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + width * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n // Scale the extrusion vector down to a normal and then up by the line width\\n // of this vertex.\\n mediump vec2 dist =outset * a_extrude * scale;\\n\\n // Calculate the offset when drawing a line that is to the side of the actual line.\\n // We do this by creating a vector that points towards the extrude, but rotate\\n // it when we're drawing round end points (a_direction = -1 or 1) since their\\n // extrude vector points in another direction.\\n mediump float u = 0.5 * a_direction;\\n mediump float t = 1.0 - abs(u);\\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n // Remove the texture normal bit to get the position\\n vec2 pos = floor(a_pos * 0.5);\\n\\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n // calculate how much the perspective view squishes or stretches the extrude\\n float extrude_length_without_perspective = length(dist);\\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x, normal.y * u_patternscale_a.y + u_tex_y_a);\\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x, normal.y * u_patternscale_b.y + u_tex_y_b);\\n\\n v_width2 = vec2(outset, inset);\\n}\\n\"\n},raster:{fragmentSource:\"uniform float u_fade_t;\\nuniform float u_opacity;\\nuniform sampler2D u_image0;\\nuniform sampler2D u_image1;\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nuniform float u_brightness_low;\\nuniform float u_brightness_high;\\n\\nuniform float u_saturation_factor;\\nuniform float u_contrast_factor;\\nuniform vec3 u_spin_weights;\\n\\nvoid main() {\\n\\n // read and cross-fade colors from the main and parent tiles\\n vec4 color0 = texture2D(u_image0, v_pos0);\\n vec4 color1 = texture2D(u_image1, v_pos1);\\n vec4 color = mix(color0, color1, u_fade_t);\\n color.a *= u_opacity;\\n vec3 rgb = color.rgb;\\n\\n // spin\\n rgb = vec3(\\n dot(rgb, u_spin_weights.xyz),\\n dot(rgb, u_spin_weights.zxy),\\n dot(rgb, u_spin_weights.yzx));\\n\\n // saturation\\n float average = (color.r + color.g + color.b) / 3.0;\\n rgb += (average - rgb) * u_saturation_factor;\\n\\n // contrast\\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\n\\n // brightness\\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\n\\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_tl_parent;\\nuniform float u_scale_parent;\\nuniform float u_buffer_scale;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n v_pos0 = (((a_texture_pos / 32767.0) - 0.5) / u_buffer_scale ) + 0.5;\\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\n}\\n\"},symbolIcon:{fragmentSource:\"uniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n lowp float alpha = texture2D(u_fadetexture, v_fade_tex).a * opacity;\\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\nattribute vec4 a_pos_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n#pragma mapbox: define lowp float opacity\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float opacity\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_texture_pos.xy;\\n mediump float a_labelminzoom = a_data[0];\\n mediump vec2 a_zoom = a_data.pq;\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n // u_zoom is the current zoom level adjusted for the change in font size\\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n if (u_rotate_with_map) {\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n } else {\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"},symbolSDF:{fragmentSource:\"#define SDF_PX 8.0\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\n\\nuniform bool u_is_halo;\\n#pragma mapbox: define lowp vec4 fill_color\\n#pragma mapbox: define lowp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform sampler2D u_texture;\\nuniform sampler2D u_fadetexture;\\nuniform lowp float u_font_scale;\\nuniform highp float u_gamma_scale;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 fill_color\\n #pragma mapbox: initialize lowp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n lowp vec4 color = fill_color;\\n highp float gamma = EDGE_GAMMA / u_gamma_scale;\\n lowp float buff = (256.0 - 64.0) / 256.0;\\n if (u_is_halo) {\\n color = halo_color;\\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / u_gamma_scale;\\n buff = (6.0 - halo_width / u_font_scale) / SDF_PX;\\n }\\n\\n lowp float dist = texture2D(u_texture, v_tex).a;\\n lowp float fade_alpha = texture2D(u_fadetexture, v_fade_tex).a;\\n highp float gamma_scaled = gamma * v_gamma_scale;\\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist) * fade_alpha;\\n\\n gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec2 a_texture_pos;\\nattribute vec4 a_data;\\n\\n#pragma mapbox: define lowp vec4 fill_color\\n#pragma mapbox: define lowp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\n// matrix is for the vertex position.\\nuniform mat4 u_matrix;\\n\\nuniform mediump float u_zoom;\\nuniform bool u_rotate_with_map;\\nuniform bool u_pitch_with_map;\\nuniform mediump float u_pitch;\\nuniform mediump float u_bearing;\\nuniform mediump float u_aspect_ratio;\\nuniform vec2 u_extrude_scale;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying vec2 v_fade_tex;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp vec4 fill_color\\n #pragma mapbox: initialize lowp vec4 halo_color\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize lowp float halo_width\\n #pragma mapbox: initialize lowp float halo_blur\\n\\n vec2 a_pos = a_pos_offset.xy;\\n vec2 a_offset = a_pos_offset.zw;\\n\\n vec2 a_tex = a_texture_pos.xy;\\n mediump float a_labelminzoom = a_data[0];\\n mediump vec2 a_zoom = a_data.pq;\\n mediump float a_minzoom = a_zoom[0];\\n mediump float a_maxzoom = a_zoom[1];\\n\\n // u_zoom is the current zoom level adjusted for the change in font size\\n mediump float z = 2.0 - step(a_minzoom, u_zoom) - (1.0 - step(a_maxzoom, u_zoom));\\n\\n // pitch-alignment: map\\n // rotation-alignment: map | viewport\\n if (u_pitch_with_map) {\\n lowp float angle = u_rotate_with_map ? (a_data[1] / 256.0 * 2.0 * PI) : u_bearing;\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, asin, -1.0 * asin, acos);\\n vec2 offset = RotationMatrix * a_offset;\\n vec2 extrude = u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos + extrude, 0, 1);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: map\\n } else if (u_rotate_with_map) {\\n // foreshortening factor to apply on pitched maps\\n // as a label goes from horizontal <=> vertical in angle\\n // it goes from 0% foreshortening to up to around 70% foreshortening\\n lowp float pitchfactor = 1.0 - cos(u_pitch * sin(u_pitch * 0.75));\\n\\n lowp float lineangle = a_data[1] / 256.0 * 2.0 * PI;\\n\\n // use the lineangle to position points a,b along the line\\n // project the points and calculate the label angle in projected space\\n // this calculation allows labels to be rendered unskewed on pitched maps\\n vec4 a = u_matrix * vec4(a_pos, 0, 1);\\n vec4 b = u_matrix * vec4(a_pos + vec2(cos(lineangle),sin(lineangle)), 0, 1);\\n lowp float angle = atan((b[1]/b[3] - a[1]/a[3])/u_aspect_ratio, b[0]/b[3] - a[0]/a[3]);\\n lowp float asin = sin(angle);\\n lowp float acos = cos(angle);\\n mat2 RotationMatrix = mat2(acos, -1.0 * asin, asin, acos);\\n\\n vec2 offset = RotationMatrix * (vec2((1.0-pitchfactor)+(pitchfactor*cos(angle*2.0)), 1.0) * a_offset);\\n vec2 extrude = u_extrude_scale * (offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n gl_Position.z += z * gl_Position.w;\\n // pitch-alignment: viewport\\n // rotation-alignment: viewport\\n } else {\\n vec2 extrude = u_extrude_scale * (a_offset / 64.0);\\n gl_Position = u_matrix * vec4(a_pos, 0, 1) + vec4(extrude, 0, 0);\\n }\\n\\n v_gamma_scale = gl_Position.w;\\n\\n v_tex = a_tex / u_texsize;\\n v_fade_tex = vec2(a_labelminzoom / 255.0, 0.0);\\n}\\n\"}};\n},{\"path\":23}],80:[function(require,module,exports){\n\"use strict\";var VertexArrayObject=function(){this.boundProgram=null,this.boundVertexBuffer=null,this.boundVertexBuffer2=null,this.boundElementBuffer=null,this.boundVertexOffset=null,this.vao=null};VertexArrayObject.prototype.bind=function(e,t,r,i,n,o){void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension(\"OES_vertex_array_object\"));var s=!this.vao||this.boundProgram!==t||this.boundVertexBuffer!==r||this.boundVertexBuffer2!==n||this.boundElementBuffer!==i||this.boundVertexOffset!==o;!e.extVertexArrayObject||s?(this.freshBind(e,t,r,i,n,o),this.gl=e):e.extVertexArrayObject.bindVertexArrayOES(this.vao)},VertexArrayObject.prototype.freshBind=function(e,t,r,i,n,o){var s,u=t.numAttributes;if(e.extVertexArrayObject)this.vao&&this.destroy(),this.vao=e.extVertexArrayObject.createVertexArrayOES(),e.extVertexArrayObject.bindVertexArrayOES(this.vao),s=0,this.boundProgram=t,this.boundVertexBuffer=r,this.boundVertexBuffer2=n,this.boundElementBuffer=i,this.boundVertexOffset=o;else{s=e.currentNumAttributes||0;for(var b=u;bthis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,r={type:this.type,uid:t.uid,coord:t.coord,zoom:t.coord.z,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,overscaling:i,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(\"loadTile\",r,function(i,r){if(t.unloadVectorData(),!t.aborted)return i?e(i):(t.loadVectorData(r,o.map.painter),t.redoWhenDone&&(t.redoWhenDone=!1,t.redoPlacement(o)),e(null))},this.workerID)},e.prototype.abortTile=function(t){t.aborted=!0},e.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},function(){},t.workerID)},e.prototype.onRemove=function(){this.dispatcher.broadcast(\"removeSource\",{type:this.type,source:this.id},function(){})},e.prototype.serialize=function(){return{type:this.type,data:this._data}},e}(Evented);module.exports=GeoJSONSource;\n},{\"../data/extent\":54,\"../util/evented\":200,\"../util/util\":212,\"../util/window\":194}],83:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),rewind=require(\"geojson-rewind\"),GeoJSONWrapper=require(\"./geojson_wrapper\"),vtpbf=require(\"vt-pbf\"),supercluster=require(\"supercluster\"),geojsonvt=require(\"geojson-vt\"),VectorTileWorkerSource=require(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadVectorData=function(e,r){var t=e.source,o=e.coord;if(!this._geoJSONIndexes[t])return r(null,null);var n=this._geoJSONIndexes[t].getTile(Math.min(o.z,e.maxZoom),o.x,o.y);if(!n)return r(null,null);var u=new GeoJSONWrapper(n.features);u.name=\"_geojsonTileLayer\";var a=vtpbf({layers:{_geojsonTileLayer:u}});0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),u.rawData=a.buffer,r(null,u)},r.prototype.loadData=function(e,r){var t=function(t,o){var n=this;return t?r(t):\"object\"!=typeof o?r(new Error(\"Input data is not a valid GeoJSON object.\")):(rewind(o,!0),void this._indexData(o,e,function(t,o){return t?r(t):(n._geoJSONIndexes[e.source]=o,void r(null))}))}.bind(this);this.loadGeoJSON(e,t)},r.prototype.loadGeoJSON=function(e,r){if(e.url)ajax.getJSON(e.url,r);else{if(\"string\"!=typeof e.data)return r(new Error(\"Input data is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(e.data))}catch(e){return r(new Error(\"Input data is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(e){this._geoJSONIndexes[e.source]&&delete this._geoJSONIndexes[e.source]},r.prototype._indexData=function(e,r,t){try{r.cluster?t(null,supercluster(r.superclusterOptions).load(e.features)):t(null,geojsonvt(e,r.geojsonVtOptions))}catch(e){return t(e)}},r}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource;\n},{\"../util/ajax\":191,\"./geojson_wrapper\":84,\"./vector_tile_worker_source\":96,\"geojson-rewind\":7,\"geojson-vt\":11,\"supercluster\":29,\"vt-pbf\":38}],84:[function(require,module,exports){\n\"use strict\";var Point=require(\"point-geometry\"),VectorTileFeature=require(\"vector-tile\").VectorTileFeature,EXTENT=require(\"../data/extent\"),FeatureWrapper=function(e){var t=this;if(this.type=e.type,1===e.type){this.rawGeometry=[];for(var r=0;rt)){var n=Math.pow(2,Math.min(a.coord.z,i._source.maxzoom)-Math.min(e.z,i._source.maxzoom));if(Math.floor(a.coord.x/n)===e.x&&Math.floor(a.coord.y/n)===e.y)for(o[s]=!0,r=!0;a&&a.coord.z-1>e.z;){var d=a.coord.parent(i._source.maxzoom).id;a=i._tiles[d],a&&a.hasData()&&(delete o[s],o[d]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){e=e.parent(i._source.maxzoom);var s=i._tiles[e.id];if(s&&s.hasData())return o[e.id]=!0,s;if(i._cache.has(e.id))return o[e.id]=!0,i._cache.getWithoutRemoving(e.id)}},t.prototype.updateCacheSize=function(e){var t=Math.ceil(e.width/e.tileSize)+1,o=Math.ceil(e.height/e.tileSize)+1,i=t*o,r=5;this._cache.setMaxSize(Math.floor(i*r))},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded){var i,r,s,a;this.updateCacheSize(e);var n=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),d=Math.max(n-t.maxOverzooming,this._source.minzoom),c=Math.max(n+t.maxUnderzooming,this._source.minzoom),h={};this._coveredTiles={};var u;for(u=this.used?this._source.coord?[this._source.coord]:e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}):[],i=0;i=Date.now())&&(o.findLoadedChildren(r,c,h)&&(h[_]=!0),a=o.findLoadedParent(r,d,l),a&&o.addTile(a.coord))}var f;for(f in l)h[f]||(o._coveredTiles[f]=!0);for(f in l)h[f]=!0;var T=util.keysDifference(this._tiles,h);for(i=0;ithis._source.maxzoom?Math.pow(2,r-this._source.maxzoom):1;t=new Tile(o,this._source.tileSize*s,this._source.maxzoom),this.loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t.uses++,this._tiles[e.id]=t,i||this._source.fire(\"dataloading\",{tile:t,coord:t.coord,dataType:\"source\"}),t},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o.reloadTile(e,\"expired\"),o._timers[e]=void 0},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),o._cacheTimers[e]=void 0},i))},t.prototype.removeTile=function(e){var t=this._tiles[e];if(t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),this._timers[e]=void 0),!(t.uses>0)))if(t.hasData()){var o=t.coord.wrapped().id;this._cache.add(o,t),this._setCacheInvalidationTimer(o,t)}else t.aborted=!0,this.abortTile(t),this.unloadTile(t)},t.prototype.clearTiles=function(){var e=this;for(var t in e._tiles)e.removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var t=this,o={},i=this.getIds(),r=1/0,s=1/0,a=-(1/0),n=-(1/0),d=e[0].zoom,c=0;c=0&&p[1].y>=0){for(var _=[],f=0;fo)r=!1;else if(t)if(this.expirationTimei.row){var o=t;t=i,i=o}return{x0:t.column,y0:t.row,x1:i.column,y1:i.row,dx:i.column-t.column,dy:i.row-t.row}}function scanSpans(t,i,o,r,e){var n=Math.max(o,Math.floor(i.y0)),h=Math.min(r,Math.ceil(i.y1));if(t.x0===i.x0&&t.y0===i.y0?t.x0+i.dy/t.dy*t.dx0,l=i.dx<0,u=n;ua.dy&&(h=s,s=a,a=h),s.dy>d.dy&&(h=s,s=d,d=h),a.dy>d.dy&&(h=a,a=d,d=h),s.dy&&scanSpans(d,s,r,e,n),a.dy&&scanSpans(d,a,r,e,n)}function getQuadkey(t,i,o){for(var r,e=\"\",n=t;n>0;n--)r=1<t?new TileCoord(this.z-1,this.x,this.y,this.w):new TileCoord(this.z-1,Math.floor(this.x/2),Math.floor(this.y/2),this.w)},TileCoord.prototype.wrapped=function(){return new TileCoord(this.z,this.x,this.y,0)},TileCoord.prototype.children=function(t){if(this.z>=t)return[new TileCoord(this.z+1,this.x,this.y,this.w)];var i=this.z+1,o=2*this.x,r=2*this.y;return[new TileCoord(i,o,r,this.w),new TileCoord(i,o+1,r,this.w),new TileCoord(i,o,r+1,this.w),new TileCoord(i,o+1,r+1,this.w)]},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var s,a,d,y;if(e>=0&&e<=n)for(s=t;sthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r={url:normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,showCollisionBoxes:this.map.showCollisionBoxes};e.workerID&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=t:this.dispatcher.send(\"reloadTile\",r,i.bind(this),e.workerID):e.workerID=this.dispatcher.send(\"loadTile\",r,i.bind(this))},t.prototype.abortTile=function(e){this.dispatcher.send(\"abortTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:e.uid,type:this.type,source:this.id},null,e.workerID)},t}(Evented);module.exports=VectorTileSource;\n},{\"../util/evented\":200,\"../util/mapbox\":208,\"../util/util\":212,\"./load_tilejson\":86}],96:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),vt=require(\"vector-tile\"),Protobuf=require(\"pbf\"),WorkerTile=require(\"./worker_tile\"),util=require(\"../util/util\"),VectorTileWorkerSource=function(e,r,t){this.actor=e,this.layerIndex=r,t&&(this.loadVectorData=t),this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){function t(e,t){return delete this.loading[o][i],e?r(e):t?(a.vectorTile=t,a.parse(t,this.layerIndex,this.actor,function(e,o,i){if(e)return r(e);var a={};t.expires&&(a.expires=t.expires),t.cacheControl&&(a.cacheControl=t.cacheControl),r(null,util.extend({rawTileData:t.rawData},o,a),i)}),this.loaded[o]=this.loaded[o]||{},void(this.loaded[o][i]=a)):r(null,null)}var o=e.source,i=e.uid;this.loading[o]||(this.loading[o]={});var a=this.loading[o][i]=new WorkerTile(e);a.abort=this.loadVectorData(e,t.bind(this))},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function t(e,t){if(this.reloadCallback){var o=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,a.layerIndex,a.actor,o)}r(e,t)}var o=this.loaded[e.source],i=e.uid,a=this;if(o&&o[i]){var l=o[i];\"parsing\"===l.status?l.reloadCallback=r:\"done\"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,t.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],t=e.uid;r&&r[t]&&r[t].abort&&(r[t].abort(),delete r[t])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],t=e.uid;r&&r[t]&&delete r[t]},VectorTileWorkerSource.prototype.loadVectorData=function(e,r){function t(e,t){if(e)return r(e);var o=new vt.VectorTile(new Protobuf(t.data));o.rawData=t.data,o.cacheControl=t.cacheControl,o.expires=t.expires,r(e,o)}var o=ajax.getArrayBuffer(e.url,t.bind(this));return function(){o.abort()}},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var t=this.loaded[e.source],o=this.loading[e.source],i=e.uid;if(t&&t[i]){var a=t[i],l=a.redoPlacement(e.angle,e.pitch,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else o&&o[i]&&(o[i].angle=e.angle)},module.exports=VectorTileWorkerSource;\n},{\"../util/ajax\":191,\"../util/util\":212,\"./worker_tile\":99,\"pbf\":25,\"vector-tile\":34}],97:[function(require,module,exports){\n\"use strict\";var ajax=require(\"../util/ajax\"),ImageSource=require(\"./image_source\"),VideoSource=function(t){function e(e,o,i,r){t.call(this,e,o,i,r),this.roundZoom=!0,this.type=\"video\",this.options=o}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.load=function(){var t=this,e=this.options;this.urls=e.urls,ajax.getVideo(e.urls,function(e,o){if(e)return t.fire(\"error\",{error:e});t.video=o,t.video.loop=!0;var i;t.video.addEventListener(\"playing\",function(){i=t.map.style.animationLoop.set(1/0),t.map._rerender()}),t.video.addEventListener(\"pause\",function(){t.map.style.animationLoop.cancel(i)}),t.map&&t.video.play(),t._finishLoading()})},e.prototype.getVideo=function(){return this.video},e.prototype.onAdd=function(t){this.map||(this.load(),this.map=t,this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},e.prototype.prepare=function(){!this.tile||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},e.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},e}(ImageSource);module.exports=VideoSource;\n},{\"../util/ajax\":191,\"./image_source\":85}],98:[function(require,module,exports){\n\"use strict\";var Actor=require(\"../util/actor\"),StyleLayerIndex=require(\"../style/style_layer_index\"),VectorTileWorkerSource=require(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=require(\"./geojson_worker_source\"),globalRTLTextPlugin=require(\"./rtl_text_plugin\"),Worker=function(e){var r=this;this.self=e,this.actor=new Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:VectorTileWorkerSource,geojson:GeoJSONWorkerSource},this.workerSources={},this.self.registerWorkerSource=function(e,o){if(r.workerSourceTypes[e])throw new Error('Worker source with name \"'+e+'\" already registered.');r.workerSourceTypes[e]=o},this.self.registerRTLTextPlugin=function(e){if(globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText)throw new Error(\"RTL text plugin already registered.\");globalRTLTextPlugin.applyArabicShaping=e.applyArabicShaping,globalRTLTextPlugin.processBidirectionalText=e.processBidirectionalText}};Worker.prototype.setLayers=function(e,r){this.getLayerIndex(e).replace(r)},Worker.prototype.updateLayers=function(e,r){this.getLayerIndex(e).update(r.layers,r.removedIds,r.symbolOrder)},Worker.prototype.loadTile=function(e,r,o){this.getWorkerSource(e,r.type).loadTile(r,o)},Worker.prototype.reloadTile=function(e,r,o){this.getWorkerSource(e,r.type).reloadTile(r,o)},Worker.prototype.abortTile=function(e,r){this.getWorkerSource(e,r.type).abortTile(r)},Worker.prototype.removeTile=function(e,r){this.getWorkerSource(e,r.type).removeTile(r)},Worker.prototype.removeSource=function(e,r){var o=this.getWorkerSource(e,r.type);void 0!==o.removeSource&&o.removeSource(r)},Worker.prototype.redoPlacement=function(e,r,o){this.getWorkerSource(e,r.type).redoPlacement(r,o)},Worker.prototype.loadWorkerSource=function(e,r,o){try{this.self.importScripts(r.url),o()}catch(e){o(e)}},Worker.prototype.loadRTLTextPlugin=function(e,r,o){try{globalRTLTextPlugin.applyArabicShaping||globalRTLTextPlugin.processBidirectionalText||this.self.importScripts(r)}catch(e){o(e)}},Worker.prototype.getLayerIndex=function(e){var r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new StyleLayerIndex),r},Worker.prototype.getWorkerSource=function(e,r){var o=this;if(this.workerSources[e]||(this.workerSources[e]={}),!this.workerSources[e][r]){var t={send:function(r,t,i,n){o.actor.send(r,t,i,n,e)}};this.workerSources[e][r]=new this.workerSourceTypes[r](t,this.getLayerIndex(e))}return this.workerSources[e][r]},module.exports=function(e){return new Worker(e)};\n},{\"../style/style_layer_index\":154,\"../util/actor\":190,\"./geojson_worker_source\":83,\"./rtl_text_plugin\":90,\"./vector_tile_worker_source\":96}],99:[function(require,module,exports){\n\"use strict\";function recalculateLayers(e,i){for(var r=0,o=e.layers;r=B.maxzoom||B.layout&&\"none\"===B.layout.visibility)){for(var b=0,k=x;b=0;w--){var A=n[i.symbolOrder[w]];A&&t.symbolBuckets.push(A)}if(0===this.symbolBuckets.length)return T(new CollisionTile(this.angle,this.pitch,this.collisionBoxArray));var D=0,I=Object.keys(c.iconDependencies),O=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)}),L=function(e){if(e)return o(e);if(D++,2===D){for(var i=new CollisionTile(t.angle,t.pitch,t.collisionBoxArray),r=0,s=t.symbolBuckets;r\"===i||\"<=\"===i||\">=\"===i?compileComparisonOp(e[1],e[2],i,!0):\"any\"===i?compileLogicalOp(e.slice(1),\"||\"):\"all\"===i?compileLogicalOp(e.slice(1),\"&&\"):\"none\"===i?compileNegation(compileLogicalOp(e.slice(1),\"||\")):\"in\"===i?compileInOp(e[1],e.slice(2)):\"!in\"===i?compileNegation(compileInOp(e[1],e.slice(2))):\"has\"===i?compileHasOp(e[1]):\"!has\"===i?compileNegation(compileHasOp(e[1])):\"true\";return\"(\"+n+\")\"}function compilePropertyReference(e){return\"$type\"===e?\"f.type\":\"$id\"===e?\"f.id\":\"p[\"+JSON.stringify(e)+\"]\"}function compileComparisonOp(e,i,n,r){var o=compilePropertyReference(e),t=\"$type\"===e?types.indexOf(i):JSON.stringify(i);return(r?\"typeof \"+o+\"=== typeof \"+t+\"&&\":\"\")+o+n+t}function compileLogicalOp(e,i){return e.map(compile).join(i)}function compileInOp(e,i){\"$type\"===e&&(i=i.map(function(e){return types.indexOf(e)}));var n=JSON.stringify(i.sort(compare)),r=compilePropertyReference(e);return i.length<=200?n+\".indexOf(\"+r+\") !== -1\":\"function(v, a, i, j) {while (i <= j) { var m = (i + j) >> 1; if (a[m] === v) return true; if (a[m] > v) j = m - 1; else i = m + 1;}return false; }(\"+r+\", \"+n+\",0,\"+(i.length-1)+\")\"}function compileHasOp(e){return\"$id\"===e?'\"id\" in f':JSON.stringify(e)+\" in p\"}function compileNegation(e){return\"!(\"+e+\")\"}function compare(e,i){return ei?1:0}module.exports=createFilter;var types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];\n},{}],104:[function(require,module,exports){\n\"use strict\";function xyz2lab(r){return r>t3?Math.pow(r,1/3):r/t2+t0}function lab2xyz(r){return r>t1?r*r*r:t2*(r-t0)}function xyz2rgb(r){return 255*(r<=.0031308?12.92*r:1.055*Math.pow(r,1/2.4)-.055)}function rgb2xyz(r){return r/=255,r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function rgbToLab(r){var t=rgb2xyz(r[0]),a=rgb2xyz(r[1]),n=rgb2xyz(r[2]),b=xyz2lab((.4124564*t+.3575761*a+.1804375*n)/Xn),o=xyz2lab((.2126729*t+.7151522*a+.072175*n)/Yn),g=xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn);return[116*o-16,500*(b-o),200*(o-g),r[3]]}function labToRgb(r){var t=(r[0]+16)/116,a=isNaN(r[1])?t:t+r[1]/500,n=isNaN(r[2])?t:t-r[2]/200;return t=Yn*lab2xyz(t),a=Xn*lab2xyz(a),n=Zn*lab2xyz(n),[xyz2rgb(3.2404542*a-1.5371385*t-.4985314*n),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),r[3]]}function rgbToHcl(r){var t=rgbToLab(r),a=t[0],n=t[1],b=t[2],o=Math.atan2(b,n)*rad2deg;return[o<0?o+360:o,Math.sqrt(n*n+b*b),a,r[3]]}function hclToRgb(r){var t=r[0]*deg2rad,a=r[1],n=r[2];return labToRgb([n,Math.cos(t)*a,Math.sin(t)*a,r[3]])}var Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1,deg2rad=Math.PI/180,rad2deg=180/Math.PI;module.exports={lab:{forward:rgbToLab,reverse:labToRgb},hcl:{forward:rgbToHcl,reverse:hclToRgb}};\n},{}],105:[function(require,module,exports){\n\"use strict\";function identityFunction(t){return t}function createFunction(t,e){var o,n=\"color\"===e.type;if(isFunctionDefinition(t)){var r=t.stops&&\"object\"==typeof t.stops[0][0],a=r||void 0!==t.property,i=r||!a,s=t.type||(\"interpolated\"===e.function?\"exponential\":\"interval\");n&&(t=extend({},t),t.stops&&(t.stops=t.stops.map(function(t){return[t[0],parseColor(t[1])]})),t.default?t.default=parseColor(t.default):t.default=parseColor(e.default));var u,p,l;if(\"exponential\"===s)u=evaluateExponentialFunction;else if(\"interval\"===s)u=evaluateIntervalFunction;else if(\"categorical\"===s){u=evaluateCategoricalFunction,p=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var r=binarySearchForIndex(t.stops,o);return t.stops[r][1]}function evaluateExponentialFunction(t,e,o){var n=void 0!==t.base?t.base:1;if(\"number\"!==getType(o))return coalesce(t.default,e.default);var r=t.stops.length;if(1===r)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[r-1][0])return t.stops[r-1][1];var a=binarySearchForIndex(t.stops,o);return interpolate(o,n,t.stops[a][0],t.stops[a+1][0],t.stops[a][1],t.stops[a+1][1])}function evaluateIdentityFunction(t,e,o){return\"color\"===e.type?o=parseColor(o):getType(o)!==e.type&&(o=void 0),coalesce(o,t.default,e.default)}function binarySearchForIndex(t,e){for(var o,n,r=t.length,a=0,i=r-1,s=0;a<=i;){if(s=Math.floor((a+i)/2),o=t[s][0],n=t[s+1][0],e>=o&&ee&&(i=s-1)}return Math.max(s-1,0)}function interpolate(t,e,o,n,r,a){return\"function\"==typeof r?function(){var i=r.apply(void 0,arguments),s=a.apply(void 0,arguments);if(void 0!==i&&void 0!==s)return interpolate(t,e,o,n,i,s)}:r.length?interpolateArray(t,e,o,n,r,a):interpolateNumber(t,e,o,n,r,a)}function interpolateNumber(t,e,o,n,r,a){var i,s=n-o,u=t-o;return i=1===e?u/s:(Math.pow(e,u)-1)/(Math.pow(e,s)-1),r*(1-i)+a*i}function interpolateArray(t,e,o,n,r,a){for(var i=[],s=0;s255?255:e}function clamp_css_float(e){return e<0?0:e>1?1:e}function parse_css_int(e){return clamp_css_byte(\"%\"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function parse_css_float(e){return clamp_css_float(\"%\"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))}function css_hue_to_rgb(e,r,l){return l<0?l+=1:l>1&&(l-=1),6*l<1?e+(r-e)*l*6:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function parseCSSColor(e){var r=e.replace(/ /g,\"\").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if(\"#\"===r[0]){if(4===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=4095?[(3840&l)>>4|(3840&l)>>8,240&l|(240&l)>>4,15&l|(15&l)<<4,1]:null}if(7===r.length){var l=parseInt(r.substr(1),16);return l>=0&&l<=16777215?[(16711680&l)>>16,(65280&l)>>8,255&l,1]:null}return null}var a=r.indexOf(\"(\"),t=r.indexOf(\")\");if(a!==-1&&t+1===r.length){var n=r.substr(0,a),s=r.substr(a+1,t-(a+1)).split(\",\"),o=1;switch(n){case\"rgba\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"rgb\":return 3!==s.length?null:[parse_css_int(s[0]),parse_css_int(s[1]),parse_css_int(s[2]),o];case\"hsla\":if(4!==s.length)return null;o=parse_css_float(s.pop());case\"hsl\":if(3!==s.length)return null;var i=(parseFloat(s[0])%360+360)%360/360,u=parse_css_float(s[1]),g=parse_css_float(s[2]),d=g<=.5?g*(u+1):g+u-g*u,c=2*g-d;return[clamp_css_byte(255*css_hue_to_rgb(c,d,i+1/3)),clamp_css_byte(255*css_hue_to_rgb(c,d,i)),clamp_css_byte(255*css_hue_to_rgb(c,d,i-1/3)),o];default:return null}}return null}var kCSSColorTable={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{exports.parseCSSColor=parseCSSColor}catch(e){}\n},{}],108:[function(require,module,exports){\nfunction sss(r){var e,t,s,n,u,a;switch(typeof r){case\"object\":if(null===r)return null;if(isArray(r)){for(s=\"[\",t=r.length-1,e=0;e-1&&(s+=sss(r[e])),s+\"]\"}for(n=objKeys(r).sort(),t=n.length,s=\"{\",u=n[e=0],a=t>0&&void 0!==r[u];e15?\"\\\\u00\"+e.toString(16):\"\\\\u000\"+e.toString(16)}};module.exports=function(r){if(void 0!==r)return\"\"+sss(r)},module.exports.stringSearch=strReg,module.exports.stringReplace=strReplace;\n},{}],109:[function(require,module,exports){\nfunction isObjectLike(r){return!!r&&\"object\"==typeof r}function arraySome(r,e){for(var a=-1,t=r.length;++as))return!1;for(;++c-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isObject(t){var e=typeof t;return!!t&&(\"object\"==e||\"function\"==e)}function isObjectLike(t){return!!t&&\"object\"==typeof t}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",funcTag=\"[object Function]\",genTag=\"[object GeneratorFunction]\",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objectToString=objectProto.toString,propertyIsEnumerable=objectProto.propertyIsEnumerable;module.exports=isArguments;\n},{}],113:[function(require,module,exports){\nfunction isObjectLike(t){return!!t&&\"object\"==typeof t}function getNative(t,r){var e=null==t?void 0:t[r];return isNative(e)?e:void 0}function isLength(t){return\"number\"==typeof t&&t>-1&&t%1==0&&t<=MAX_SAFE_INTEGER}function isFunction(t){return isObject(t)&&objToString.call(t)==funcTag}function isObject(t){var r=typeof t;return!!t&&(\"object\"==r||\"function\"==r)}function isNative(t){return null!=t&&(isFunction(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}var arrayTag=\"[object Array]\",funcTag=\"[object Function]\",reIsHostCtor=/^\\[object .+?Constructor\\]$/,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp(\"^\"+fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),nativeIsArray=getNative(Array,\"isArray\"),MAX_SAFE_INTEGER=9007199254740991,isArray=nativeIsArray||function(t){return isObjectLike(t)&&isLength(t.length)&&objToString.call(t)==arrayTag};module.exports=isArray;\n},{}],114:[function(require,module,exports){\nfunction isEqual(a,l,i,e){i=\"function\"==typeof i?bindCallback(i,e,3):void 0;var s=i?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}var baseIsEqual=require(\"lodash._baseisequal\"),bindCallback=require(\"lodash._bindcallback\");module.exports=isEqual;\n},{\"lodash._baseisequal\":109,\"lodash._bindcallback\":110}],115:[function(require,module,exports){\nfunction isLength(a){return\"number\"==typeof a&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isObjectLike(a){return!!a&&\"object\"==typeof a}function isTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[objectToString.call(a)]}var MAX_SAFE_INTEGER=9007199254740991,argsTag=\"[object Arguments]\",arrayTag=\"[object Array]\",boolTag=\"[object Boolean]\",dateTag=\"[object Date]\",errorTag=\"[object Error]\",funcTag=\"[object Function]\",mapTag=\"[object Map]\",numberTag=\"[object Number]\",objectTag=\"[object Object]\",regexpTag=\"[object RegExp]\",setTag=\"[object Set]\",stringTag=\"[object String]\",weakMapTag=\"[object WeakMap]\",arrayBufferTag=\"[object ArrayBuffer]\",dataViewTag=\"[object DataView]\",float32Tag=\"[object Float32Array]\",float64Tag=\"[object Float64Array]\",int8Tag=\"[object Int8Array]\",int16Tag=\"[object Int16Array]\",int32Tag=\"[object Int32Array]\",uint8Tag=\"[object Uint8Array]\",uint8ClampedTag=\"[object Uint8ClampedArray]\",uint16Tag=\"[object Uint16Array]\",uint32Tag=\"[object Uint32Array]\",typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var objectProto=Object.prototype,objectToString=objectProto.toString;module.exports=isTypedArray;\n},{}],116:[function(require,module,exports){\nfunction baseProperty(e){return function(t){return null==t?void 0:t[e]}}function isArrayLike(e){return null!=e&&isLength(getLength(e))}function isIndex(e,t){return e=\"number\"==typeof e||reIsUint.test(e)?+e:-1,t=null==t?MAX_SAFE_INTEGER:t,e>-1&&e%1==0&&e-1&&e%1==0&&e<=MAX_SAFE_INTEGER}function shimKeys(e){for(var t=keysIn(e),r=t.length,n=r&&e.length,s=!!n&&isLength(n)&&(isArray(e)||isArguments(e)),o=-1,i=[];++o0;++n\":{},\">=\":{},\"<\":{},\"<=\":{},\"in\":{},\"!in\":{},\"all\":{},\"any\":{},\"none\":{},\"has\":{},\"!has\":{}}},\"geometry_type\":{\"type\":\"enum\",\"values\":{\"Point\":{},\"LineString\":{},\"Polygon\":{}}},\"function\":{\"stops\":{\"type\":\"array\",\"value\":\"function_stop\"},\"base\":{\"type\":\"number\",\"default\":1,\"minimum\":0},\"property\":{\"type\":\"string\",\"default\":\"$zoom\"},\"type\":{\"type\":\"enum\",\"values\":{\"identity\":{},\"exponential\":{},\"interval\":{},\"categorical\":{}},\"default\":\"exponential\"},\"colorSpace\":{\"type\":\"enum\",\"values\":{\"rgb\":{},\"lab\":{},\"hcl\":{}},\"default\":\"rgb\"},\"default\":{\"type\":\"*\",\"required\":false}},\"function_stop\":{\"type\":\"array\",\"minimum\":0,\"maximum\":22,\"value\":[\"number\",\"color\"],\"length\":2},\"light\":{\"anchor\":{\"type\":\"enum\",\"default\":\"viewport\",\"values\":{\"map\":{},\"viewport\":{}},\"transition\":false},\"position\":{\"type\":\"array\",\"default\":[1.15,210,30],\"length\":3,\"value\":\"number\",\"transition\":true,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false},\"color\":{\"type\":\"color\",\"default\":\"#ffffff\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true},\"intensity\":{\"type\":\"number\",\"default\":0.5,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true}},\"paint\":[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_background\"],\"paint_fill\":{\"fill-antialias\":{\"type\":\"boolean\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"default\":true},\"fill-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"}]},\"fill-outline-color\":{\"type\":\"color\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"},{\"fill-antialias\":true}]},\"fill-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-translate\"]},\"fill-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"fill-extrusion-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"fill-extrusion-pattern\"}]},\"fill-extrusion-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"fill-extrusion-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-extrusion-translate\"]},\"fill-extrusion-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"fill-extrusion-height\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true},\"fill-extrusion-base\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true,\"requires\":[\"fill-extrusion-height\"]}},\"paint_line\":{\"line-opacity\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"line-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[{\"!\":\"line-pattern\"}]},\"line-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"line-translate\"]},\"line-width\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-gap-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-offset\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"line-dasharray\":{\"type\":\"array\",\"value\":\"number\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"minimum\":0,\"transition\":true,\"units\":\"line widths\",\"requires\":[{\"!\":\"line-pattern\"}]},\"line-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true}},\"paint_circle\":{\"circle-radius\":{\"type\":\"number\",\"default\":5,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-blur\":{\"type\":\"number\",\"default\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"circle-translate\"]},\"circle-pitch-scale\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\"},\"circle-stroke-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\"},\"circle-stroke-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true},\"circle-stroke-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true}},\"paint_symbol\":{\"icon-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"icon-image\"]},\"icon-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"]},\"icon-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"icon-image\",\"icon-translate\"]},\"text-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"requires\":[\"text-field\"]},\"text-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"]},\"text-translate-anchor\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"text-field\",\"text-translate\"]}},\"paint_raster\":{\"raster-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-hue-rotate\":{\"type\":\"number\",\"default\":0,\"period\":360,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"degrees\"},\"raster-brightness-min\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":0,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-brightness-max\":{\"type\":\"number\",\"function\":\"interpolated\",\"zoom-function\":true,\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true},\"raster-saturation\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-contrast\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true},\"raster-fade-duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"units\":\"milliseconds\"}},\"paint_background\":{\"background-color\":{\"type\":\"color\",\"default\":\"#000000\",\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true,\"requires\":[{\"!\":\"background-pattern\"}]},\"background-pattern\":{\"type\":\"string\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"transition\":true},\"background-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"transition\":true}},\"transition\":{\"duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"units\":\"milliseconds\"},\"delay\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"units\":\"milliseconds\"}}}\n},{}],119:[function(require,module,exports){\n\"use strict\";module.exports=function(r){for(var t=arguments,e=1;e7)return[new ValidationError(u,a,\"constants have been deprecated as of v8\")];if(!(a in l.constants))return[new ValidationError(u,a,'constant \"%s\" not found',a)];e=extend({},e,{value:l.constants[a]})}return n.function&&\"object\"===getType(a)?r(e):n.type&&i[n.type]?i[n.type](e):t(extend({},e,{valueSpec:n.type?o[n.type]:n}))};\n},{\"../error/validation_error\":102,\"../util/extend\":119,\"../util/get_type\":120,\"./validate_array\":125,\"./validate_boolean\":126,\"./validate_color\":127,\"./validate_constants\":128,\"./validate_enum\":129,\"./validate_filter\":130,\"./validate_function\":131,\"./validate_layer\":133,\"./validate_light\":135,\"./validate_number\":136,\"./validate_object\":137,\"./validate_source\":140,\"./validate_string\":141}],125:[function(require,module,exports){\n\"use strict\";var getType=require(\"../util/get_type\"),validate=require(\"./validate\"),ValidationError=require(\"../error/validation_error\");module.exports=function(e){var r=e.value,t=e.valueSpec,a=e.style,n=e.styleSpec,l=e.key,i=e.arrayElementValidator||validate;if(\"array\"!==getType(r))return[new ValidationError(l,r,\"array expected, %s found\",getType(r))];if(t.length&&r.length!==t.length)return[new ValidationError(l,r,\"array length %d expected, length %d found\",t.length,r.length)];if(t[\"min-length\"]&&r.length7)return t?[new ValidationError(e,t,\"constants have been deprecated as of v8\")]:[];var o=getType(t);if(\"object\"!==o)return[new ValidationError(e,t,\"object expected, %s found\",o)];var n=[];for(var i in t)\"@\"!==i[0]&&n.push(new ValidationError(e+\".\"+i,t[i],'constants must start with \"@\"'));return n};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],129:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,o=[];return Array.isArray(u.values)?u.values.indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",u.values.join(\", \"),n)):Object.keys(u.values).indexOf(unbundle(n))===-1&&o.push(new ValidationError(r,n,\"expected one of [%s], %s found\",Object.keys(u.values).join(\", \"),n)),o};\n},{\"../error/validation_error\":102,\"../util/unbundle_jsonlint\":123}],130:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),validateEnum=require(\"./validate_enum\"),getType=require(\"../util/get_type\"),unbundle=require(\"../util/unbundle_jsonlint\");module.exports=function e(r){var t,a=r.value,n=r.key,l=r.styleSpec,s=[];if(\"array\"!==getType(a))return[new ValidationError(n,a,\"array expected, %s found\",getType(a))];if(a.length<1)return[new ValidationError(n,a,\"filter array must have at least 1 element\")];switch(s=s.concat(validateEnum({key:n+\"[0]\",value:a[0],valueSpec:l.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case\"<\":case\"<=\":case\">\":case\">=\":a.length>=2&&\"$type\"===unbundle(a[1])&&s.push(new ValidationError(n,a,'\"$type\" cannot be use with operator \"%s\"',a[0]));case\"==\":case\"!=\":3!==a.length&&s.push(new ValidationError(n,a,'filter array for operator \"%s\" must have 3 elements',a[0]));case\"in\":case\"!in\":a.length>=2&&(t=getType(a[1]),\"string\"!==t&&s.push(new ValidationError(n+\"[1]\",a[1],\"string expected, %s found\",t)));for(var o=2;ounbundle(r[0].zoom))return[new ValidationError(o,r[0].zoom,\"stop zoom values must appear in ascending order\")];unbundle(r[0].zoom)!==l&&(l=unbundle(r[0].zoom),i=void 0,s={}),t=t.concat(validateObject({key:o+\"[0]\",value:r[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:validateNumber,value:a}}))}else t=t.concat(a({key:o+\"[0]\",value:r[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec}));return t.concat(validate({key:o+\"[1]\",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e){var t=getType(e.value),r=unbundle(e.value);if(n){if(t!==n)return[new ValidationError(e.key,e.value,\"%s stop domain type must match previous stop domain type %s\",t,n)]}else n=t;if(\"number\"!==t&&\"string\"!==t&&\"boolean\"!==t)return[new ValidationError(e.key,e.value,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==t&&\"categorical\"!==p){var a=\"number expected, %s found\";return u[\"property-function\"]&&void 0===p&&(a+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ValidationError(e.key,e.value,a,t)]}return\"categorical\"!==p||\"number\"!==t||isFinite(r)&&Math.floor(r)===r?\"number\"===t&&void 0!==i&&r=8&&(d&&!e.valueSpec[\"property-function\"]?v.push(new ValidationError(e.key,e.value,\"property functions not supported\")):y&&!e.valueSpec[\"zoom-function\"]&&v.push(new ValidationError(e.key,e.value,\"zoom functions not supported\"))),\"categorical\"!==p&&!c||void 0!==e.value.property||v.push(new ValidationError(e.key,e.value,'\"property\" property is required')),v};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"../util/unbundle_jsonlint\":123,\"./validate\":124,\"./validate_array\":125,\"./validate_number\":136,\"./validate_object\":137}],132:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),validateString=require(\"./validate_string\");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(e.indexOf(\"{fontstack}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{fontstack}\" token')),e.indexOf(\"{range}\")===-1&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{range}\" token')),a)};\n},{\"../error/validation_error\":102,\"./validate_string\":141}],133:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\"),validateObject=require(\"./validate_object\"),validateFilter=require(\"./validate_filter\"),validatePaintProperty=require(\"./validate_paint_property\"),validateLayoutProperty=require(\"./validate_layout_property\"),extend=require(\"../util/extend\");module.exports=function(e){var r=[],t=e.value,a=e.key,i=e.style,l=e.styleSpec;t.type||t.ref||r.push(new ValidationError(a,t,'either \"type\" or \"ref\" is required'));var u=unbundle(t.type),n=unbundle(t.ref);if(t.id)for(var o=unbundle(t.id),s=0;sm.maximum?[new ValidationError(r,i,\"%s is greater than the maximum value %s\",i,m.maximum)]:[]};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],137:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),getType=require(\"../util/get_type\"),validateSpec=require(\"./validate\");module.exports=function(e){var r=e.key,t=e.value,i=e.valueSpec||{},a=e.objectElementValidators||{},o=e.style,l=e.styleSpec,n=[],u=getType(t);if(\"object\"!==u)return[new ValidationError(r,t,\"object expected, %s found\",u)];for(var d in t){var p=d.split(\".\")[0],s=i[p]||i[\"*\"],c=void 0;if(a[p])c=a[p];else if(i[p])c=validateSpec;else if(a[\"*\"])c=a[\"*\"];else{if(!i[\"*\"]){n.push(new ValidationError(r,t[d],'unknown property \"%s\"',d));continue}c=validateSpec}n=n.concat(c({key:(r?r+\".\":r)+d,value:t[d],valueSpec:s,style:o,styleSpec:l,object:t,objectKey:d}))}for(var v in i)i[v].required&&void 0===i[v].default&&void 0===t[v]&&n.push(new ValidationError(r,t,'missing required property \"%s\"',v));return n};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"./validate\":124}],138:[function(require,module,exports){\n\"use strict\";var validateProperty=require(\"./validate_property\");module.exports=function(r){return validateProperty(r,\"paint\")};\n},{\"./validate_property\":139}],139:[function(require,module,exports){\n\"use strict\";var validate=require(\"./validate\"),ValidationError=require(\"../error/validation_error\"),getType=require(\"../util/get_type\");module.exports=function(e,t){var r=e.key,i=e.style,a=e.styleSpec,n=e.value,o=e.objectKey,l=a[t+\"_\"+e.layerType];if(!l)return[];var y=o.match(/^(.*)-transition$/);if(\"paint\"===t&&y&&l[y[1]]&&l[y[1]].transition)return validate({key:r,value:n,valueSpec:a.transition,style:i,styleSpec:a});var p=e.valueSpec||l[o];if(!p)return[new ValidationError(r,n,'unknown property \"%s\"',o)];var s;if(\"string\"===getType(n)&&p[\"property-function\"]&&!p.tokens&&(s=/^{([^}]+)}$/.exec(n)))return[new ValidationError(r,n,'\"%s\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": %s` }`.',o,JSON.stringify(s[1]))];var u=[];return\"symbol\"===e.layerType&&\"text-field\"===o&&i&&!i.glyphs&&u.push(new ValidationError(r,n,'use of \"text-field\" requires a style \"glyphs\" property')),u.concat(validate({key:e.key,value:n,valueSpec:p,style:i,styleSpec:a}))};\n},{\"../error/validation_error\":102,\"../util/get_type\":120,\"./validate\":124}],140:[function(require,module,exports){\n\"use strict\";var ValidationError=require(\"../error/validation_error\"),unbundle=require(\"../util/unbundle_jsonlint\"),validateObject=require(\"./validate_object\"),validateEnum=require(\"./validate_enum\");module.exports=function(e){var a=e.value,t=e.key,r=e.styleSpec,l=e.style;if(!a.type)return[new ValidationError(t,a,'\"type\" is required')];var u=unbundle(a.type),i=[];switch(u){case\"vector\":case\"raster\":if(i=i.concat(validateObject({key:t,value:a,valueSpec:r.source_tile,style:e.style,styleSpec:r})),\"url\"in a)for(var s in a)[\"type\",\"url\",\"tileSize\"].indexOf(s)<0&&i.push(new ValidationError(t+\".\"+s,a[s],'a source with a \"url\" property may not include a \"%s\" property',s));return i;case\"geojson\":return validateObject({key:t,value:a,valueSpec:r.source_geojson,style:l,styleSpec:r});case\"video\":return validateObject({key:t,value:a,valueSpec:r.source_video,style:l,styleSpec:r});case\"image\":return validateObject({key:t,value:a,valueSpec:r.source_image,style:l,styleSpec:r});case\"canvas\":return validateObject({key:t,value:a,valueSpec:r.source_canvas,style:l,styleSpec:r});default:return validateEnum({key:t+\".type\",value:a.type,valueSpec:{values:[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"]},style:l,styleSpec:r})}};\n},{\"../error/validation_error\":102,\"../util/unbundle_jsonlint\":123,\"./validate_enum\":129,\"./validate_object\":137}],141:[function(require,module,exports){\n\"use strict\";var getType=require(\"../util/get_type\"),ValidationError=require(\"../error/validation_error\");module.exports=function(r){var e=r.value,t=r.key,i=getType(e);return\"string\"!==i?[new ValidationError(t,e,\"string expected, %s found\",i)]:[]};\n},{\"../error/validation_error\":102,\"../util/get_type\":120}],142:[function(require,module,exports){\n\"use strict\";function validateStyleMin(e,a){a=a||latestStyleSpec;var t=[];return t=t.concat(validate({key:\"\",value:e,valueSpec:a.$root,styleSpec:a,style:e,objectElementValidators:{glyphs:validateGlyphsURL,\"*\":function(){return[]}}})),a.$version>7&&e.constants&&(t=t.concat(validateConstants({key:\"constants\",value:e.constants,style:e,styleSpec:a}))),sortErrors(t)}function sortErrors(e){return[].concat(e).sort(function(e,a){return e.line-a.line})}function wrapCleanErrors(e){return function(){return sortErrors(e.apply(this,arguments))}}var validateConstants=require(\"./validate/validate_constants\"),validate=require(\"./validate/validate\"),latestStyleSpec=require(\"./reference/latest\"),validateGlyphsURL=require(\"./validate/validate_glyphs_url\");validateStyleMin.source=wrapCleanErrors(require(\"./validate/validate_source\")),validateStyleMin.light=wrapCleanErrors(require(\"./validate/validate_light\")),validateStyleMin.layer=wrapCleanErrors(require(\"./validate/validate_layer\")),validateStyleMin.filter=wrapCleanErrors(require(\"./validate/validate_filter\")),validateStyleMin.paintProperty=wrapCleanErrors(require(\"./validate/validate_paint_property\")),validateStyleMin.layoutProperty=wrapCleanErrors(require(\"./validate/validate_layout_property\")),module.exports=validateStyleMin;\n},{\"./reference/latest\":117,\"./validate/validate\":124,\"./validate/validate_constants\":128,\"./validate/validate_filter\":130,\"./validate/validate_glyphs_url\":132,\"./validate/validate_layer\":133,\"./validate/validate_layout_property\":134,\"./validate/validate_light\":135,\"./validate/validate_paint_property\":138,\"./validate/validate_source\":140}],143:[function(require,module,exports){\n\"use strict\";var AnimationLoop=function(){this.n=0,this.times=[]};AnimationLoop.prototype.stopped=function(){return this.times=this.times.filter(function(t){return t.time>=(new Date).getTime()}),!this.times.length},AnimationLoop.prototype.set=function(t){return this.times.push({id:this.n,time:t+(new Date).getTime()}),this.n++},AnimationLoop.prototype.cancel=function(t){this.times=this.times.filter(function(i){return i.id!==t})},module.exports=AnimationLoop;\n},{}],144:[function(require,module,exports){\n\"use strict\";var Evented=require(\"../util/evented\"),ajax=require(\"../util/ajax\"),browser=require(\"../util/browser\"),normalizeURL=require(\"../util/mapbox\").normalizeSpriteURL,SpritePosition=function(){this.x=0,this.y=0,this.width=0,this.height=0,this.pixelRatio=1,this.sdf=!1},ImageSprite=function(t){function i(i,e){var a=this;t.call(this),this.base=i,this.retina=browser.devicePixelRatio>1,this.setEventedParent(e);var r=this.retina?\"@2x\":\"\";ajax.getJSON(normalizeURL(i,r,\".json\"),function(t,i){return t?void a.fire(\"error\",{error:t}):(a.data=i,void(a.imgData&&a.fire(\"data\",{dataType:\"style\"})))}),ajax.getImage(normalizeURL(i,r,\".png\"),function(t,i){if(t)return void a.fire(\"error\",{error:t});a.imgData=browser.getImageData(i);for(var e=0;e1!==this.retina){var e=new i(this.base);e.on(\"data\",function(){t.data=e.data,t.imgData=e.imgData,t.width=e.width,t.retina=e.retina})}},i.prototype.getSpritePosition=function(t){if(!this.loaded())return new SpritePosition;var i=this.data&&this.data[t];return i&&this.imgData?i:new SpritePosition},i}(Evented);module.exports=ImageSprite;\n},{\"../util/ajax\":191,\"../util/browser\":192,\"../util/evented\":200,\"../util/mapbox\":208}],145:[function(require,module,exports){\n\"use strict\";var styleSpec=require(\"../style-spec/reference/latest\"),util=require(\"../util/util\"),Evented=require(\"../util/evented\"),validateStyle=require(\"./validate_style\"),StyleDeclaration=require(\"./style_declaration\"),StyleTransition=require(\"./style_transition\"),TRANSITION_SUFFIX=\"-transition\",Light=function(t){function i(i){t.call(this),this.properties=[\"anchor\",\"color\",\"position\",\"intensity\"],this._specifications=styleSpec.light,this.set(i)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.set=function(t){var i=this;if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:this._specifications.anchor.default,color:this._specifications.color.default,position:this._specifications.position.default,intensity:this._specifications.intensity.default},t);for(var e=0,o=i.properties;eMath.floor(e)&&(t.lastIntegerZoom=Math.floor(e+1),t.lastIntegerZoomTime=Date.now()),t.lastZoom=e},t.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},t.prototype.update=function(e,t){var r=this;if(this._changed){var i=Object.keys(this._updatedLayers),o=Object.keys(this._removedLayers);(i.length||o.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(i,o);for(var s in r._updatedSources){var a=r._updatedSources[s];\"reload\"===a?r._reloadSource(s):\"clear\"===a&&r._clearSource(s)}this._applyClasses(e,t),this._resetUpdates(),this.fire(\"data\",{dataType:\"style\"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,i=this._updatedSymbolOrder?this._order.filter(function(e){return\"symbol\"===r._layers[e].type}):null;this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(e),removedIds:t,symbolOrder:i})},t.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSymbolOrder=!1,this._updatedSources={},this._updatedPaintProps={},this._updatedAllPaintProps=!1},t.prototype.setState=function(e){var t=this;if(this._checkLoaded(),validateStyle.emitErrors(this,validateStyle(e)))return!1;e=util.extend({},e),e.layers=deref(e.layers);var r=diff(this.serialize(),e).filter(function(e){return!(e.command in ignoredDiffOperations)});if(0===r.length)return!1;var i=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(i.length>0)throw new Error(\"Unimplemented: \"+i.map(function(e){return e.command}).join(\", \")+\".\");return r.forEach(function(e){\"setTransition\"!==e.command&&t[e.command].apply(t,e.args)}),this.stylesheet=e,!0},t.prototype.addSource=function(e,t,r){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!t.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(t)+\".\");var o=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"],s=o.indexOf(t.type)>=0;if(!s||!this._validate(validateStyle.source,\"sources.\"+e,t,null,r)){var a=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},t.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");var t=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},t.prototype.addLayer=function(e,t,r){this._checkLoaded();var i=e.id;if(\"object\"==typeof e.source&&(this.addSource(i,e.source),e=util.extend(e,{source:i})),!this._validate(validateStyle.layer,\"layers.\"+i,e,{arrayIndex:-1},r)){var o=StyleLayer.create(e);this._validateLayer(o),o.setEventedParent(this,{layer:{id:i}});var s=t?this._order.indexOf(t):this._order.length;if(this._order.splice(s,0,i),this._layers[i]=o,this._removedLayers[i]&&o.source){var a=this._removedLayers[i];delete this._removedLayers[i],this._updatedSources[o.source]=a.type!==o.type?\"clear\":\"reload\"}this._updateLayer(o),\"symbol\"===o.type&&(this._updatedSymbolOrder=!0),this.updateClasses(i)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(!r)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")});var i=this._order.indexOf(e);this._order.splice(i,1);var o=t?this._order.indexOf(t):this._order.length;this._order.splice(o,0,e),\"symbol\"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]=\"reload\"))},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(!t)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")});t.setEventedParent(null);var r=this._order.indexOf(e);this._order.splice(r,1),\"symbol\"===t.type&&(this._updatedSymbolOrder=!0),this._changed=!0,this._removedLayers[e]=t,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(i.minzoom===t&&i.maxzoom===r||(null!=t&&(i.minzoom=t),null!=r&&(i.maxzoom=r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")})},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(e);return r?void(null!==t&&void 0!==t&&this._validate(validateStyle.filter,\"layers.\"+r.id+\".filter\",t)||util.deepEqual(r.filter,t)||(r.filter=util.clone(t),this._updateLayer(r))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")})},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var i=this.getLayer(e);return i?void(util.deepEqual(i.getLayoutProperty(t),r)||(i.setLayoutProperty(t,r),this._updateLayer(i))):void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")})},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r,i){this._checkLoaded();var o=this.getLayer(e);if(!o)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")});if(!util.deepEqual(o.getPaintProperty(t,i),r)){var s=o.isPaintValueFeatureConstant(t);o.setPaintProperty(t,r,i);var a=!(r&&MapboxGLFunction.isFunctionDefinition(r)&&\"$zoom\"!==r.property&&void 0!==r.property);a&&s||this._updateLayer(o),this.updateClasses(e,t)}},t.prototype.getPaintProperty=function(e,t,r){return this.getLayer(e).getPaintProperty(t,r)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updateClasses=function(e,t){if(this._changed=!0,e){var r=this._updatedPaintProps;r[e]||(r[e]={}),r[e][t||\"all\"]=!0}else this._updatedAllPaintProps=!0},t.prototype.serialize=function(){var e=this;return util.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:util.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(e){return void 0!==e})},t.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&(this._updatedSources[e.source]=\"reload\"),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],i=this._order.length-1;i>=0;i--)for(var o=t._order[i],s=0,a=e;s=this.maxzoom)||\"none\"===this.layout.visibility)},i.prototype.updatePaintTransitions=function(t,i,a,e,n){for(var o=this,r=util.extend({},this._paintDeclarations[\"\"]),s=0;s=this.endTime)return e;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((o-this.startTime-this.delay)/this.duration);return this.interp(a,e,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var o=t.zoom,e=this.zoomHistory.lastIntegerZoom,a=o>e?2:.5,n=this.declaration.calculate({zoom:o>e?o-1:o+1},i),r=this.declaration.calculate({zoom:o},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(o-e),u=interpolate(s,1,l);return void 0!==n&&void 0!==r?{from:n,fromScale:a,to:r,toScale:1,t:u}:void 0},module.exports=StyleTransition;\n},{\"../util/interpolate\":204,\"../util/util\":212}],156:[function(require,module,exports){\n\"use strict\";module.exports=require(\"../style-spec/validate_style.min\"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0;t-a/2;){if(s--,s<0)return!1;f-=e[s].dist(i),i=e[s]}f+=e[s].dist(e[s+1]),s++;for(var l=[],o=0;f
r;)o-=l.shift().angleDelta;if(o>n)return!1;s++,f+=c.dist(g)}return!0}module.exports=checkMaxAngle;\n},{}],159:[function(require,module,exports){\n\"use strict\";function clipLine(n,x,y,o,e){for(var r=[],t=0;t=o&&w.x>=o||(P.x>=o?P=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round():w.x>=o&&(w=new Point(o,P.y+(w.y-P.y)*((o-P.x)/(w.x-P.x)))._round()),P.y>=e&&w.y>=e||(P.y>=e?P=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round():w.y>=e&&(w=new Point(P.x+(w.x-P.x)*((e-P.y)/(w.y-P.y)),e)._round()),u&&P.equals(u[u.length-1])||(u=[P],r.push(u)),u.push(w)))))}return r}var Point=require(\"point-geometry\");module.exports=clipLine;\n},{\"point-geometry\":26}],160:[function(require,module,exports){\n\"use strict\";var createStructArrayType=require(\"../util/struct_array\"),Point=require(\"point-geometry\"),CollisionBoxArray=createStructArrayType({members:[{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Float32\",name:\"maxScale\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"},{type:\"Int16\",name:\"bbox0\"},{type:\"Int16\",name:\"bbox1\"},{type:\"Int16\",name:\"bbox2\"},{type:\"Int16\",name:\"bbox3\"},{type:\"Float32\",name:\"placementScale\"}]});Object.defineProperty(CollisionBoxArray.prototype.StructType.prototype,\"anchorPoint\",{get:function(){return new Point(this.anchorPointX,this.anchorPointY)}}),module.exports=CollisionBoxArray;\n},{\"../util/struct_array\":210,\"point-geometry\":26}],161:[function(require,module,exports){\n\"use strict\";var CollisionFeature=function(t,e,i,o,s,a,n,r,l,d,u){var h=n.top*r-l,x=n.bottom*r+l,f=n.left*r-l,m=n.right*r+l;if(this.boxStartIndex=t.length,d){var _=x-h,b=m-f;if(_>0)if(_=Math.max(10*r,_),u){var v=e[i.segment+1].sub(e[i.segment])._unit()._mult(b),c=[i.sub(v),i.add(v)];this._addLineCollisionBoxes(t,c,i,0,b,_,o,s,a)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,s,a)}else t.emplaceBack(i.x,i.y,f,h,m,x,1/0,o,s,a,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,s,a,n,r,l){var d=a/2,u=Math.floor(s/d),h=-a/2,x=this.boxes,f=i,m=o+1,_=h;do{if(m--,m<0)return x;_-=e[m].dist(f),f=e[m]}while(_>-s/2);for(var b=e[m].dist(e[m+1]),v=0;v=e.length)return x;b=e[m].dist(e[m+1])}var g=c-_,p=e[m],C=e[m+1],B=C.sub(p)._unit()._mult(g)._add(p)._round(),M=Math.max(Math.abs(c-h)-d/2,0),y=s/2/M;t.emplaceBack(B.x,B.y,-a/2,-a/2,a/2,a/2,y,n,r,l,0,0,0,0,0)}return x},module.exports=CollisionFeature;\n},{}],162:[function(require,module,exports){\n\"use strict\";var Point=require(\"point-geometry\"),EXTENT=require(\"../data/extent\"),Grid=require(\"grid-index\"),intersectionTests=require(\"../util/intersection_tests\"),CollisionTile=function(t,e,i){if(\"object\"==typeof t){var r=t;i=e,t=r.angle,e=r.pitch,this.grid=new Grid(r.grid),this.ignoredGrid=new Grid(r.ignoredGrid)}else this.grid=new Grid(EXTENT,12,6),this.ignoredGrid=new Grid(EXTENT,12,0);this.minScale=.5,this.maxScale=2,this.angle=t,this.pitch=e;var a=Math.sin(t),o=Math.cos(t);if(this.rotationMatrix=[o,-a,a,o],this.reverseRotationMatrix=[o,a,-a,o],this.yStretch=1/Math.cos(e/180*Math.PI),this.yStretch=Math.pow(this.yStretch,1.3),this.collisionBoxArray=i,0===i.length){i.emplaceBack();var n=32767;i.emplaceBack(0,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(EXTENT,0,0,-n,0,n,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,0,-n,0,n,0,n,0,0,0,0,0,0,0,0,0),i.emplaceBack(0,EXTENT,-n,0,n,0,n,0,0,0,0,0,0,0,0,0)}this.tempCollisionBox=i.get(0),this.edges=[i.get(1),i.get(2),i.get(3),i.get(4)]};CollisionTile.prototype.serialize=function(t){var e=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return t&&(t.push(e),t.push(i)),{angle:this.angle,pitch:this.pitch,grid:e,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(t,e,i){for(var r=this,a=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,l=this.yStretch,h=t.boxStartIndex;h=r.maxScale)return o}if(i){var S=void 0;if(r.angle){var P=r.reverseRotationMatrix,b=new Point(s.x1,s.y1).matMult(P),T=new Point(s.x2,s.y1).matMult(P),w=new Point(s.x1,s.y2).matMult(P),N=new Point(s.x2,s.y2).matMult(P);S=r.tempCollisionBox,S.anchorPointX=s.anchorPoint.x,S.anchorPointY=s.anchorPoint.y,S.x1=Math.min(b.x,T.x,w.x,N.x),S.y1=Math.min(b.y,T.x,w.x,N.x),S.x2=Math.max(b.x,T.x,w.x,N.x),S.y2=Math.max(b.y,T.x,w.x,N.x),S.maxScale=s.maxScale}else S=s;for(var B=0;B=r.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(t,e){var i={},r=[];if(0===t.length||0===this.grid.length&&0===this.ignoredGrid.length)return r;for(var a=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,l=[],h=1/0,s=1/0,x=-(1/0),c=-(1/0),g=0;gS.maxScale)){var T=S.anchorPoint.matMult(o),w=T.x+S.x1/e,N=T.y+S.y1/e*n,B=T.x+S.x2/e,G=T.y+S.y2/e*n,E=[new Point(w,N),new Point(B,N),new Point(B,G),new Point(w,G)];intersectionTests.polygonIntersectsPolygon(l,E)&&(i[P][b]=!0,r.push(u[v]))}}return r},CollisionTile.prototype.getPlacementScale=function(t,e,i,r,a){var o=e.x-r.x,n=e.y-r.y,l=(a.x1-i.x2)/o,h=(a.x2-i.x1)/o,s=(a.y1-i.y2)*this.yStretch/n,x=(a.y2-i.y1)*this.yStretch/n;(isNaN(l)||isNaN(h))&&(l=h=1),(isNaN(s)||isNaN(x))&&(s=x=1);var c=Math.min(Math.max(l,h),Math.max(s,x)),g=a.maxScale,y=i.maxScale;return c>g&&(c=g),c>y&&(c=y),c>t&&c>=a.placementScale&&(t=c),t},CollisionTile.prototype.insertCollisionFeature=function(t,e,i){for(var r=this,a=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=t.boxStartIndex;n=0&&k=0&&q=0&&p+c<=s){var M=new Anchor(k,q,y,f)._round();n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=A}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,h)),x}var interpolate=require(\"../util/interpolate\"),Anchor=require(\"../symbol/anchor\"),checkMaxAngle=require(\"./check_max_angle\");module.exports=getAnchors;\n},{\"../symbol/anchor\":157,\"../util/interpolate\":204,\"./check_max_angle\":158}],164:[function(require,module,exports){\n\"use strict\";var ShelfPack=require(\"@mapbox/shelf-pack\"),util=require(\"../util/util\"),SIZE_GROWTH_RATE=4,DEFAULT_SIZE=128,MAX_SIZE=2048,GlyphAtlas=function(){this.width=DEFAULT_SIZE,this.height=DEFAULT_SIZE,this.atlas=new ShelfPack(this.width,this.height),this.index={},this.ids={},this.data=new Uint8Array(this.width*this.height)};GlyphAtlas.prototype.getGlyphs=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]=[]),r[i].push(e);return r},GlyphAtlas.prototype.getRects=function(){var t,i,e,h=this,r={};for(var s in h.ids)t=s.split(\"#\"),i=t[0],e=t[1],r[i]||(r[i]={}),r[i][e]=h.index[s];return r},GlyphAtlas.prototype.addGlyph=function(t,i,e,h){var r=this;if(!e)return null;var s=i+\"#\"+e.id;if(this.index[s])return this.ids[s].indexOf(t)<0&&this.ids[s].push(t),this.index[s];if(!e.bitmap)return null;var a=e.width+2*h,E=e.height+2*h,n=1,l=a+2*n,T=E+2*n;l+=4-l%4,T+=4-T%4;var u=this.atlas.packOne(l,T);if(u||(this.resize(),u=this.atlas.packOne(l,T)),!u)return util.warnOnce(\"glyph bitmap overflow\"),null;this.index[s]=u,this.ids[s]=[t];for(var d=this.data,p=e.bitmap,A=0;A=MAX_SIZE||e>=MAX_SIZE)){this.texture&&(this.gl&&this.gl.deleteTexture(this.texture),this.texture=null),this.width*=SIZE_GROWTH_RATE,this.height*=SIZE_GROWTH_RATE,this.atlas.resize(this.width,this.height);for(var h=new ArrayBuffer(this.width*this.height),r=0;r65535)return a(\"glyphs > 65535 not supported\");void 0===this.loading[t]&&(this.loading[t]={});var l=this.loading[t];if(l[e])l[e].push(a);else{l[e]=[a];var i=256*e+\"-\"+(256*e+255),r=glyphUrl(t,i,this.url);ajax.getArrayBuffer(r,function(t,a){for(var i=!t&&new Glyphs(new Protobuf(a.data)),r=0;r1?2:1,this.canvas&&(this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio)),this.sprite=t},i.prototype.addIcons=function(t,i){for(var e=this,r=0;r1||(b?(clearTimeout(b),b=null,h(\"dblclick\",t)):b=setTimeout(l,300))}function i(e){f(\"touchmove\",e)}function c(e){f(\"touchend\",e)}function d(e){f(\"touchcancel\",e)}function l(){b=null}function s(e){var t=DOM.mousePos(g,e);t.equals(L)&&h(\"click\",e)}function v(e){h(\"dblclick\",e),e.preventDefault()}function m(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h(\"contextmenu\",t),t.preventDefault()}function h(t,n){var o=DOM.mousePos(g,n);return e.fire(t,{lngLat:e.unproject(o),point:o,originalEvent:n})}function f(t,n){var o=DOM.touchPos(g,n),r=o.reduce(function(e,t,n,o){return e.add(t.div(o.length))},new Point(0,0));return e.fire(t,{lngLat:e.unproject(r),point:r,lngLats:o.map(function(t){return e.unproject(t)},this),points:o,originalEvent:n})}var g=e.getCanvasContainer(),p=null,E=!1,L=null,b=null;for(var q in handlers)e[q]=new handlers[q](e,t),t.interactive&&t[q]&&e[q].enable(t[q]);g.addEventListener(\"mouseout\",n,!1),g.addEventListener(\"mousedown\",o,!1),g.addEventListener(\"mouseup\",r,!1),g.addEventListener(\"mousemove\",a,!1),g.addEventListener(\"touchstart\",u,!1),g.addEventListener(\"touchend\",c,!1),g.addEventListener(\"touchmove\",i,!1),g.addEventListener(\"touchcancel\",d,!1),g.addEventListener(\"click\",s,!1),g.addEventListener(\"dblclick\",v,!1),g.addEventListener(\"contextmenu\",m,!1)};\n},{\"../util/dom\":199,\"./handler/box_zoom\":179,\"./handler/dblclick_zoom\":180,\"./handler/drag_pan\":181,\"./handler/drag_rotate\":182,\"./handler/keyboard\":183,\"./handler/scroll_zoom\":184,\"./handler/touch_zoom_rotate\":185,\"point-geometry\":26}],172:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),interpolate=require(\"../util/interpolate\"),browser=require(\"../util/browser\"),LngLat=require(\"../geo/lng_lat\"),LngLatBounds=require(\"../geo/lng_lat_bounds\"),Point=require(\"point-geometry\"),Evented=require(\"../util/evented\"),Camera=function(t){function i(i,e){t.call(this),this.moving=!1,this.transform=i,this._bearingSnap=e.bearingSnap}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i),this},i.prototype.panBy=function(t,i,e){return this.panTo(this.transform.center,util.extend({offset:Point.convert(t).mult(-1)},i),e),this},i.prototype.panTo=function(t,i,e){return this.easeTo(util.extend({center:t},i),e)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,i){return this.jumpTo({zoom:t},i),this},i.prototype.zoomTo=function(t,i,e){return this.easeTo(util.extend({zoom:t},i),e)},i.prototype.zoomIn=function(t,i){return this.zoomTo(this.getZoom()+1,t,i),this},i.prototype.zoomOut=function(t,i){return this.zoomTo(this.getZoom()-1,t,i),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,i){return this.jumpTo({bearing:t},i),this},i.prototype.rotateTo=function(t,i,e){return this.easeTo(util.extend({bearing:t},i),e)},i.prototype.resetNorth=function(t,i){return this.rotateTo(0,util.extend({duration:1e3},t),i),this},i.prototype.snapToNorth=function(t,i){return Math.abs(this.getBearing())i?1:0}),[\"bottom\",\"left\",\"right\",\"top\"]))return void util.warnOnce(\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\");t=LngLatBounds.convert(t);var n=[i.padding.left-i.padding.right,i.padding.top-i.padding.bottom],r=Math.min(i.padding.right,i.padding.left),s=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var a=Point.convert(i.offset),h=this.transform,u=h.project(t.getNorthWest()),p=h.project(t.getSouthEast()),c=p.sub(u),g=(h.width-2*r-2*Math.abs(a.x))/c.x,m=(h.height-2*s-2*Math.abs(a.y))/c.y;return m<0||g<0?void util.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\"):(i.center=h.unproject(u.add(p).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(g,m)),i.maxZoom),i.bearing=0,i.linear?this.easeTo(i,e):this.flyTo(i,e))},i.prototype.jumpTo=function(t,i){this.stop();var e=this.transform,o=!1,n=!1,r=!1;return\"zoom\"in t&&e.zoom!==+t.zoom&&(o=!0,e.zoom=+t.zoom),\"center\"in t&&(e.center=LngLat.convert(t.center)),\"bearing\"in t&&e.bearing!==+t.bearing&&(n=!0,e.bearing=+t.bearing),\"pitch\"in t&&e.pitch!==+t.pitch&&(r=!0,e.pitch=+t.pitch),this.fire(\"movestart\",i).fire(\"move\",i),o&&this.fire(\"zoomstart\",i).fire(\"zoom\",i).fire(\"zoomend\",i),n&&this.fire(\"rotate\",i),r&&this.fire(\"pitch\",i),this.fire(\"moveend\",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),t=util.extend({offset:[0,0],duration:500,easing:util.ease},t);var o,n,r=this.transform,s=Point.convert(t.offset),a=this.getZoom(),h=this.getBearing(),u=this.getPitch(),p=\"zoom\"in t?+t.zoom:a,c=\"bearing\"in t?this._normalizeBearing(t.bearing,h):h,g=\"pitch\"in t?+t.pitch:u;\"center\"in t?(o=LngLat.convert(t.center),n=r.centerPoint.add(s)):\"around\"in t?(o=LngLat.convert(t.around),n=r.locationPoint(o)):(n=r.centerPoint.add(s),o=r.pointLocation(n));var m=r.locationPoint(o);return t.animate===!1&&(t.duration=0),this.zooming=p!==a,this.rotating=h!==c,this.pitching=g!==u,t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration)),t.noMoveStart||(this.moving=!0,this.fire(\"movestart\",i)),this.zooming&&this.fire(\"zoomstart\",i),clearTimeout(this._onEaseEnd),this._ease(function(t){this.zooming&&(r.zoom=interpolate(a,p,t)),this.rotating&&(r.bearing=interpolate(h,c,t)),this.pitching&&(r.pitch=interpolate(u,g,t)),r.setLocationAtPoint(o,m.add(n.sub(m)._mult(t))),this.fire(\"move\",i),this.zooming&&this.fire(\"zoom\",i),this.rotating&&this.fire(\"rotate\",i),this.pitching&&this.fire(\"pitch\",i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(e._easeToEnd.bind(e,i),t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._easeToEnd=function(t){var i=this.zooming;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire(\"zoomend\",t),this.fire(\"moveend\",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(y*y-z*z+(t?-1:1)*E*E*_*_)/(2*(t?y:z)*E*_);return Math.log(Math.sqrt(i*i+1)-i)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function n(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/n(t)}this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,a=Point.convert(t.offset),h=this.getZoom(),u=this.getBearing(),p=this.getPitch(),c=\"center\"in t?LngLat.convert(t.center):this.getCenter(),g=\"zoom\"in t?+t.zoom:h,m=\"bearing\"in t?this._normalizeBearing(t.bearing,u):u,f=\"pitch\"in t?+t.pitch:p;Math.abs(s.center.lng)+Math.abs(c.lng)>180&&(s.center.lng>0&&c.lng<0?c.lng+=360:s.center.lng<0&&c.lng>0&&(c.lng-=360));var d=s.zoomScale(g-h),l=s.point,v=\"center\"in t?s.project(c).sub(a.div(d)):l,b=t.curve,z=Math.max(s.width,s.height),y=z/d,_=v.sub(l).mag();if(\"minZoom\"in t){var M=util.clamp(Math.min(t.minZoom,h,g),s.minZoom,s.maxZoom),T=z/s.zoomScale(M-h);b=Math.sqrt(T/_*2)}var E=b*b,x=e(0),L=function(t){return n(x)/n(x+b*t)},Z=function(t){return z*((n(x)*r(x+b*t)-o(x))/E)/_},P=(e(1)-x)/b;if(Math.abs(_)<1e-6){if(Math.abs(z-y)<1e-6)return this.easeTo(t,i);var j=y=0)return!1;return!0}),this._container.innerHTML=i.join(\" | \"),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){var t=this._map.getCanvasContainer().offsetWidth<=640;this._container.classList[t?\"add\":\"remove\"](\"compact\")},module.exports=AttributionControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],174:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),FullscreenControl=function(){this._fullscreen=!1,util.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};FullscreenControl.prototype.onAdd=function(e){var n=\"mapboxgl-ctrl\",t=this._container=DOM.create(\"div\",n+\" mapboxgl-ctrl-group\"),l=this._fullscreenButton=DOM.create(\"button\",n+\"-icon \"+n+\"-fullscreen\",this._container);return l.setAttribute(\"aria-label\",\"Toggle fullscreen\"),l.type=\"button\",this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),this._mapContainer=e.getContainer(),window.document.addEventListener(this._fullscreenchange,this._changeIcon),t},FullscreenControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(e){if(e.target===this._mapContainer){this._fullscreen=!this._fullscreen;var n=\"mapboxgl-ctrl\";this._fullscreenButton.classList.toggle(n+\"-shrink\"),this._fullscreenButton.classList.toggle(n+\"-fullscreen\")}},FullscreenControl.prototype._onClickFullscreen=function(){this._isFullscreen()?window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen&&window.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()},module.exports=FullscreenControl;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],175:[function(require,module,exports){\n\"use strict\";function checkGeolocationSupport(t){void 0!==supportsGeolocation?t(supportsGeolocation):void 0!==window.navigator.permissions?window.navigator.permissions.query({name:\"geolocation\"}).then(function(o){supportsGeolocation=\"denied\"!==o.state,t(supportsGeolocation)}):(supportsGeolocation=!!window.navigator.geolocation,t(supportsGeolocation))}var Evented=require(\"../../util/evented\"),DOM=require(\"../../util/dom\"),window=require(\"../../util/window\"),util=require(\"../../util/util\"),defaultGeoPositionOptions={enableHighAccuracy:!1,timeout:6e3},className=\"mapboxgl-ctrl\",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=o||{},util.bindAll([\"_onSuccess\",\"_onError\",\"_finish\",\"_setupUI\"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\"),checkGeolocationSupport(this._setupUI),this._container},o.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map=void 0},o.prototype._onSuccess=function(t){this._map.jumpTo({center:[t.coords.longitude,t.coords.latitude],zoom:17,bearing:0,pitch:0}),this.fire(\"geolocate\",t),this._finish()},o.prototype._onError=function(t){this.fire(\"error\",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){t!==!1&&(this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create(\"button\",className+\"-icon \"+className+\"-geolocate\",this._container),this._geolocateButton.type=\"button\",this._geolocateButton.setAttribute(\"aria-label\",\"Geolocate\"),this.options.watchPosition&&this._geolocateButton.setAttribute(\"aria-pressed\",!1),this._geolocateButton.addEventListener(\"click\",this._onClickGeolocate.bind(this)))},o.prototype._onClickGeolocate=function(){var t=util.extend(defaultGeoPositionOptions,this.options&&this.options.positionOptions||{});this.options.watchPosition?void 0!==this._geolocationWatchID?(this._geolocateButton.classList.remove(\"watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!1),window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0):(this._geolocateButton.classList.add(\"watching\"),this._geolocateButton.setAttribute(\"aria-pressed\",!0),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)):(window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,t),this._timeoutId=setTimeout(this._finish,1e4))},o}(Evented);module.exports=GeolocateControl;\n},{\"../../util/dom\":199,\"../../util/evented\":200,\"../../util/util\":212,\"../../util/window\":194}],176:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),LogoControl=function(){util.bindAll([\"_updateLogo\"],this)};LogoControl.prototype.onAdd=function(o){return this._map=o,this._container=DOM.create(\"div\",\"mapboxgl-ctrl\"),this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"sourcedata\",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},LogoControl.prototype._updateLogo=function(o){if(o&&\"metadata\"===o.sourceDataType)if(!this._container.childNodes.length&&this._logoRequired()){var t=DOM.create(\"a\",\"mapboxgl-ctrl-logo\");t.target=\"_blank\",t.href=\"https://www.mapbox.com/\",t.setAttribute(\"aria-label\",\"Mapbox logo\"),this._container.appendChild(t),this._map.off(\"data\",this._updateLogo)}else this._container.childNodes.length&&!this._logoRequired()&&this.onRemove()},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){var e=o[t].getSource();if(e.mapbox_logo)return!0}return!1}},module.exports=LogoControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],177:[function(require,module,exports){\n\"use strict\";function copyMouseEvent(t){return new window.MouseEvent(t.type,{button:2,buttons:2,bubbles:!0,cancelable:!0,detail:t.detail,view:t.view,screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,movementX:t.movementX,movementY:t.movementY,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey})}var DOM=require(\"../../util/dom\"),window=require(\"../../util/window\"),util=require(\"../../util/util\"),className=\"mapboxgl-ctrl\",NavigationControl=function(){util.bindAll([\"_rotateCompassArrow\"],this)};NavigationControl.prototype._rotateCompassArrow=function(){var t=\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassArrow.style.transform=t},NavigationControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",className+\" \"+className+\"-group\",t.getContainer()),this._container.addEventListener(\"contextmenu\",this._onContextMenu.bind(this)),this._zoomInButton=this._createButton(className+\"-icon \"+className+\"-zoom-in\",\"Zoom In\",t.zoomIn.bind(t)),this._zoomOutButton=this._createButton(className+\"-icon \"+className+\"-zoom-out\",\"Zoom Out\",t.zoomOut.bind(t)),this._compass=this._createButton(className+\"-icon \"+className+\"-compass\",\"Reset North\",t.resetNorth.bind(t)),this._compassArrow=DOM.create(\"span\",className+\"-compass-arrow\",this._compass),this._compass.addEventListener(\"mousedown\",this._onCompassDown.bind(this)),this._onCompassMove=this._onCompassMove.bind(this),this._onCompassUp=this._onCompassUp.bind(this),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._container},NavigationControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"rotate\",this._rotateCompassArrow),this._map=void 0},NavigationControl.prototype._onContextMenu=function(t){t.preventDefault()},NavigationControl.prototype._onCompassDown=function(t){0===t.button&&(DOM.disableDrag(),window.document.addEventListener(\"mousemove\",this._onCompassMove),window.document.addEventListener(\"mouseup\",this._onCompassUp),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassMove=function(t){0===t.button&&(this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._onCompassUp=function(t){0===t.button&&(window.document.removeEventListener(\"mousemove\",this._onCompassMove),window.document.removeEventListener(\"mouseup\",this._onCompassUp),DOM.enableDrag(),this._map.getCanvasContainer().dispatchEvent(copyMouseEvent(t)),t.stopPropagation())},NavigationControl.prototype._createButton=function(t,o,e){var n=DOM.create(\"button\",t,this._container);return n.type=\"button\",n.setAttribute(\"aria-label\",o),n.addEventListener(\"click\",function(){e()}),n},module.exports=NavigationControl;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],178:[function(require,module,exports){\n\"use strict\";function updateScale(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=getDistance(t.unproject([0,i]),t.unproject([n,i]));if(o&&\"imperial\"===o.unit){var r=3.2808*a;if(r>5280){var l=r/5280;setScale(e,n,l,\"mi\")}else setScale(e,n,r,\"ft\")}else setScale(e,n,a,\"m\")}function setScale(t,e,o,n){var i=getRoundNum(o),a=i/o;\"m\"===n&&i>=1e3&&(i/=1e3,n=\"km\"),t.style.width=e*a+\"px\",t.innerHTML=i+n}function getDistance(t,e){var o=6371e3,n=Math.PI/180,i=t.lat*n,a=e.lat*n,r=Math.sin(i)*Math.sin(a)+Math.cos(i)*Math.cos(a)*Math.cos((e.lng-t.lng)*n),l=o*Math.acos(Math.min(r,1));return l}function getRoundNum(t){var e=Math.pow(10,(\"\"+Math.floor(t)).length-1),o=t/e;return o=o>=10?10:o>=5?5:o>=3?3:o>=2?2:1,e*o}var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),ScaleControl=function(t){this.options=t,util.bindAll([\"_onMove\"],this)};ScaleControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},ScaleControl.prototype._onMove=function(){updateScale(this._map,this._container,this.options)},ScaleControl.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},ScaleControl.prototype.onRemove=function(){this._container.parentNode.removeChild(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},module.exports=ScaleControl;\n},{\"../../util/dom\":199,\"../../util/util\":212}],179:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),LngLatBounds=require(\"../../geo/lng_lat_bounds\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),BoxZoomHandler=function(o){this._map=o,this._el=o.getCanvasContainer(),this._container=o.getContainer(),util.bindAll([\"_onMouseDown\",\"_onMouseMove\",\"_onMouseUp\",\"_onKeyDown\"],this)};BoxZoomHandler.prototype.isEnabled=function(){return!!this._enabled},BoxZoomHandler.prototype.isActive=function(){return!!this._active},BoxZoomHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onMouseDown,!1),this._enabled=!0)},BoxZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onMouseDown),this._enabled=!1)},BoxZoomHandler.prototype._onMouseDown=function(o){o.shiftKey&&0===o.button&&(window.document.addEventListener(\"mousemove\",this._onMouseMove,!1),window.document.addEventListener(\"keydown\",this._onKeyDown,!1),window.document.addEventListener(\"mouseup\",this._onMouseUp,!1),DOM.disableDrag(),this._startPos=DOM.mousePos(this._el,o),this._active=!0)},BoxZoomHandler.prototype._onMouseMove=function(o){var e=this._startPos,t=DOM.mousePos(this._el,o);this._box||(this._box=DOM.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",o));var n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),s=Math.min(e.y,t.y),r=Math.max(e.y,t.y);DOM.setTransform(this._box,\"translate(\"+n+\"px,\"+s+\"px)\"),this._box.style.width=i-n+\"px\",this._box.style.height=r-s+\"px\"},BoxZoomHandler.prototype._onMouseUp=function(o){if(0===o.button){var e=this._startPos,t=DOM.mousePos(this._el,o),n=(new LngLatBounds).extend(this._map.unproject(e)).extend(this._map.unproject(t));this._finish(),e.x===t.x&&e.y===t.y?this._fireEvent(\"boxzoomcancel\",o):this._map.fitBounds(n,{linear:!0}).fire(\"boxzoomend\",{originalEvent:o,boxZoomBounds:n})}},BoxZoomHandler.prototype._onKeyDown=function(o){27===o.keyCode&&(this._finish(),this._fireEvent(\"boxzoomcancel\",o))},BoxZoomHandler.prototype._finish=function(){this._active=!1,window.document.removeEventListener(\"mousemove\",this._onMouseMove,!1),window.document.removeEventListener(\"keydown\",this._onKeyDown,!1),window.document.removeEventListener(\"mouseup\",this._onMouseUp,!1),this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(this._box.parentNode.removeChild(this._box),this._box=null),DOM.enableDrag()},BoxZoomHandler.prototype._fireEvent=function(o,e){return this._map.fire(o,{originalEvent:e})},module.exports=BoxZoomHandler;\n},{\"../../geo/lng_lat_bounds\":63,\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],180:[function(require,module,exports){\n\"use strict\";var DoubleClickZoomHandler=function(o){this._map=o,this._onDblClick=this._onDblClick.bind(this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.enable=function(){this.isEnabled()||(this._map.on(\"dblclick\",this._onDblClick),this._enabled=!0)},DoubleClickZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._map.off(\"dblclick\",this._onDblClick),this._enabled=!1)},DoubleClickZoomHandler.prototype._onDblClick=function(o){this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},module.exports=DoubleClickZoomHandler;\n},{}],181:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.3,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=1400,inertiaDeceleration=2500,DragPanHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\",\"_onTouchEnd\",\"_onMouseUp\"],this)};DragPanHandler.prototype.isEnabled=function(){return!!this._enabled},DragPanHandler.prototype.isActive=function(){return!!this._active},DragPanHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._el.addEventListener(\"touchstart\",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._el.removeEventListener(\"touchstart\",this._onDown),this._enabled=!1)},DragPanHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(t.touches?(window.document.addEventListener(\"touchmove\",this._onMove),window.document.addEventListener(\"touchend\",this._onTouchEnd)):(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onMouseUp)),window.addEventListener(\"blur\",this._onMouseUp),this._active=!1,this._startPos=this._pos=DOM.mousePos(this._el,t),this._inertia=[[Date.now(),this._pos]])},DragPanHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"dragstart\",t),this._fireEvent(\"movestart\",t));var e=DOM.mousePos(this._el,t),n=this._map;n.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),e]),n.transform.setLocationAtPoint(n.transform.pointLocation(this._pos),e),this._fireEvent(\"drag\",t),this._fireEvent(\"move\",t),this._pos=e,t.preventDefault()}},DragPanHandler.prototype._onUp=function(t){var e=this;if(this.isActive()){this._active=!1,this._fireEvent(\"dragend\",t),this._drainInertiaBuffer();var n=function(){e._map.moving=!1,e._fireEvent(\"moveend\",t)},i=this._inertia;if(i.length<2)return void n();var o=i[i.length-1],r=i[0],a=o[1].sub(r[1]),s=(o[0]-r[0])/1e3;if(0===s||o[1].equals(r[1]))return void n();var u=a.mult(inertiaLinearity/s),d=u.mag();d>inertiaMaxSpeed&&(d=inertiaMaxSpeed,u._unit()._mult(d));var h=d/(inertiaDeceleration*inertiaLinearity),v=u.mult(-h/2);this._map.panBy(v,{duration:1e3*h,easing:inertiaEasing,noMoveStart:!0},{originalEvent:t})}},DragPanHandler.prototype._onMouseUp=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onMouseUp),window.removeEventListener(\"blur\",this._onMouseUp))},DragPanHandler.prototype._onTouchEnd=function(t){this._ignoreEvent(t)||(this._onUp(t),window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onTouchEnd))},DragPanHandler.prototype._fireEvent=function(t,e){return this._map.fire(t,{originalEvent:e})},DragPanHandler.prototype._ignoreEvent=function(t){var e=this._map;if(e.boxZoom&&e.boxZoom.isActive())return!0;if(e.dragRotate&&e.dragRotate.isActive())return!0;if(t.touches)return t.touches.length>1;if(t.ctrlKey)return!0;var n=1,i=0;return\"mousemove\"===t.type?t.buttons&0===n:t.button&&t.button!==i},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),n=160;t.length>0&&e-t[0][0]>n;)t.shift()},module.exports=DragPanHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],182:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._bearingSnap=e.bearingSnap,this._pitchWithRotate=e.pitchWithRotate!==!1,util.bindAll([\"_onDown\",\"_onMove\",\"_onUp\"],this)};DragRotateHandler.prototype.isEnabled=function(){return!!this._enabled},DragRotateHandler.prototype.isActive=function(){return!!this._active},DragRotateHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"mousedown\",this._onDown),this._enabled=!0)},DragRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"mousedown\",this._onDown),this._enabled=!1)},DragRotateHandler.prototype._onDown=function(t){this._ignoreEvent(t)||this.isActive()||(window.document.addEventListener(\"mousemove\",this._onMove),window.document.addEventListener(\"mouseup\",this._onUp),window.addEventListener(\"blur\",this._onUp),this._active=!1,this._inertia=[[Date.now(),this._map.getBearing()]],this._startPos=this._pos=DOM.mousePos(this._el,t),this._center=this._map.transform.centerPoint,t.preventDefault())},DragRotateHandler.prototype._onMove=function(t){if(!this._ignoreEvent(t)){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=(i.y-n.y)*-.5,o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,v=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,v[1])]),e.transform.bearing=o,this._pitchWithRotate&&(e.transform.pitch=s),this._fireEvent(\"rotate\",t),this._fireEvent(\"move\",t),this._pos=n}},DragRotateHandler.prototype._onUp=function(t){var e=this;if(!this._ignoreEvent(t)&&(window.document.removeEventListener(\"mousemove\",this._onMove),window.document.removeEventListener(\"mouseup\",this._onUp),window.removeEventListener(\"blur\",this._onUp),this.isActive())){this._active=!1,this._fireEvent(\"rotateend\",t),this._drainInertiaBuffer();var i=this._map,n=i.getBearing(),r=this._inertia,a=function(){Math.abs(n)inertiaMaxSpeed&&(p=inertiaMaxSpeed);var l=p/(inertiaDeceleration*inertiaLinearity),g=u*p*(l/2);v+=g,Math.abs(i._normalizeBearing(v,0))1;var i=t.ctrlKey?1:2,n=t.ctrlKey?0:2,r=t.button;return\"undefined\"!=typeof InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0&&(r=0),\"mousemove\"===t.type?t.buttons&0===i:!this.isActive()&&r!==n},DragRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),i=160;t.length>0&&e-t[0][0]>i;)t.shift()},module.exports=DragRotateHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],183:[function(require,module,exports){\n\"use strict\";function easeOut(e){return e*(2-e)}var panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),this._onKeyDown=this._onKeyDown.bind(this)};KeyboardHandler.prototype.isEnabled=function(){return!!this._enabled},KeyboardHandler.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"keydown\",this._onKeyDown,!1),this._enabled=!0)},KeyboardHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"keydown\",this._onKeyDown),this._enabled=!1)},KeyboardHandler.prototype._onKeyDown=function(e){if(!(e.altKey||e.ctrlKey||e.metaKey)){var t=0,n=0,a=0,i=0,r=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?a=1:(e.preventDefault(),r=-1);break;case 40:e.shiftKey?a=-1:(r=1,e.preventDefault())}var s=this._map,o=s.getZoom(),d={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+n*bearingStep,pitch:s.getPitch()+a*pitchStep,offset:[-i*panStep,-r*panStep],center:s.getCenter()};s.easeTo(d,{originalEvent:e})}},module.exports=KeyboardHandler;\n},{}],184:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),browser=require(\"../../util/browser\"),window=require(\"../../util/window\"),ua=window.navigator.userAgent.toLowerCase(),firefox=ua.indexOf(\"firefox\")!==-1,safari=ua.indexOf(\"safari\")!==-1&&ua.indexOf(\"chrom\")===-1,ScrollZoomHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll([\"_onWheel\",\"_onTimeout\"],this)};ScrollZoomHandler.prototype.isEnabled=function(){return!!this._enabled},ScrollZoomHandler.prototype.enable=function(e){this.isEnabled()||(this._el.addEventListener(\"wheel\",this._onWheel,!1),this._el.addEventListener(\"mousewheel\",this._onWheel,!1),this._enabled=!0,this._aroundCenter=e&&\"center\"===e.around)},ScrollZoomHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"wheel\",this._onWheel),this._el.removeEventListener(\"mousewheel\",this._onWheel),this._enabled=!1)},ScrollZoomHandler.prototype._onWheel=function(e){var t;\"wheel\"===e.type?(t=e.deltaY,firefox&&e.deltaMode===window.WheelEvent.DOM_DELTA_PIXEL&&(t/=browser.devicePixelRatio),e.deltaMode===window.WheelEvent.DOM_DELTA_LINE&&(t*=40)):\"mousewheel\"===e.type&&(t=-e.wheelDeltaY,safari&&(t/=3));var o=browser.now(),i=o-(this._time||0);this._pos=DOM.mousePos(this._el,e),this._time=o,0!==t&&t%4.000244140625===0?this._type=\"wheel\":0!==t&&Math.abs(t)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40)):this._type||(this._type=Math.abs(i*t)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&this._zoom(-t,e),e.preventDefault()},ScrollZoomHandler.prototype._onTimeout=function(){this._type=\"wheel\",this._zoom(-this._lastValue)},ScrollZoomHandler.prototype._zoom=function(e,t){if(0!==e){var o=this._map,i=2/(1+Math.exp(-Math.abs(e/100)));e<0&&0!==i&&(i=1/i);var l=o.ease?o.ease.to:o.transform.scale,s=o.transform.scaleZoom(l*i);o.zoomTo(s,{duration:\"wheel\"===this._type?200:0,around:this._aroundCenter?o.getCenter():o.unproject(this._pos),delayEndEvents:200,smoothEasing:!0},{originalEvent:t})}},module.exports=ScrollZoomHandler;\n},{\"../../util/browser\":192,\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],185:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../../util/dom\"),util=require(\"../../util/util\"),window=require(\"../../util/window\"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=4,TouchZoomRotateHandler=function(t){this._map=t,this._el=t.getCanvasContainer(),util.bindAll([\"_onStart\",\"_onMove\",\"_onEnd\"],this)};TouchZoomRotateHandler.prototype.isEnabled=function(){return!!this._enabled},TouchZoomRotateHandler.prototype.enable=function(t){this.isEnabled()||(this._el.addEventListener(\"touchstart\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"touchstart\",this._onStart),this._enabled=!1)},TouchZoomRotateHandler.prototype.disableRotation=function(){this._rotationDisabled=!0},TouchZoomRotateHandler.prototype.enableRotation=function(){this._rotationDisabled=!1},TouchZoomRotateHandler.prototype._onStart=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]);this._startVec=e.sub(o),this._startScale=this._map.transform.scale,this._startBearing=this._map.transform.bearing,this._gestureIntent=void 0,this._inertia=[],window.document.addEventListener(\"touchmove\",this._onMove,!1),window.document.addEventListener(\"touchend\",this._onEnd,!1)}},TouchZoomRotateHandler.prototype._onMove=function(t){if(2===t.touches.length){var e=DOM.mousePos(this._el,t.touches[0]),o=DOM.mousePos(this._el,t.touches[1]),i=e.add(o).div(2),n=e.sub(o),a=n.mag()/this._startVec.mag(),r=this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI,s=this._map;if(this._gestureIntent){var h={duration:0,around:s.unproject(i)};\"rotate\"===this._gestureIntent&&(h.bearing=this._startBearing+r),\"zoom\"!==this._gestureIntent&&\"rotate\"!==this._gestureIntent||(h.zoom=s.transform.scaleZoom(this._startScale*a)),s.stop(),this._drainInertiaBuffer(),this._inertia.push([Date.now(),a,i]),s.easeTo(h,{originalEvent:t})}else{var u=Math.abs(1-a)>significantScaleThreshold,d=Math.abs(r)>significantRotateThreshold;d?this._gestureIntent=\"rotate\":u&&(this._gestureIntent=\"zoom\"),this._gestureIntent&&(this._startVec=n,this._startScale=s.transform.scale,this._startBearing=s.transform.bearing)}t.preventDefault()}},TouchZoomRotateHandler.prototype._onEnd=function(t){window.document.removeEventListener(\"touchmove\",this._onMove),window.document.removeEventListener(\"touchend\",this._onEnd),this._drainInertiaBuffer();var e=this._inertia,o=this._map;if(e.length<2)return void o.snapToNorth({},{originalEvent:t});var i=e[e.length-1],n=e[0],a=o.transform.scaleZoom(this._startScale*i[1]),r=o.transform.scaleZoom(this._startScale*n[1]),s=a-r,h=(i[0]-n[0])/1e3,u=i[2];if(0===h||a===r)return void o.snapToNorth({},{originalEvent:t});var d=s*inertiaLinearity/h;Math.abs(d)>inertiaMaxSpeed&&(d=d>0?inertiaMaxSpeed:-inertiaMaxSpeed);var l=1e3*Math.abs(d/(inertiaDeceleration*inertiaLinearity)),c=a+d*l/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:l,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now(),o=160;t.length>2&&e-t[0][0]>o;)t.shift()},module.exports=TouchZoomRotateHandler;\n},{\"../../util/dom\":199,\"../../util/util\":212,\"../../util/window\":194}],186:[function(require,module,exports){\n\"use strict\";var util=require(\"../util/util\"),window=require(\"../util/window\"),Hash=function(){util.bindAll([\"_onHashChange\",\"_updateHash\"],this)};Hash.prototype.addTo=function(t){return this._map=t,window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Hash.prototype.remove=function(){return window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),delete this._map,this},Hash.prototype._onHashChange=function(){var t=window.location.hash.replace(\"#\",\"\").split(\"/\");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)},Hash.prototype._updateHash=function(){var t=this._map.getCenter(),e=this._map.getZoom(),a=this._map.getBearing(),h=this._map.getPitch(),i=Math.max(0,Math.ceil(Math.log(e)/Math.LN2)),n=\"#\"+Math.round(100*e)/100+\"/\"+t.lat.toFixed(i)+\"/\"+t.lng.toFixed(i);(a||h)&&(n+=\"/\"+Math.round(10*a)/10),h&&(n+=\"/\"+Math.round(h)),window.history.replaceState(\"\",\"\",n)},module.exports=Hash;\n},{\"../util/util\":212,\"../util/window\":194}],187:[function(require,module,exports){\n\"use strict\";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=require(\"../util/util\"),browser=require(\"../util/browser\"),window=require(\"../util/window\"),DOM=require(\"../util/dom\"),Style=require(\"../style/style\"),AnimationLoop=require(\"../style/animation_loop\"),Painter=require(\"../render/painter\"),Transform=require(\"../geo/transform\"),Hash=require(\"./hash\"),bindHandlers=require(\"./bind_handlers\"),Camera=require(\"./camera\"),LngLat=require(\"../geo/lng_lat\"),LngLatBounds=require(\"../geo/lng_lat_bounds\"),Point=require(\"point-geometry\"),AttributionControl=require(\"./control/attribution_control\"),LogoControl=require(\"./control/logo_control\"),isSupported=require(\"mapbox-gl-supported\"),defaultMinZoom=0,defaultMaxZoom=22,defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:defaultMinZoom,maxZoom:defaultMaxZoom,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0},Map=function(t){function e(e){var o=this;if(e=util.extend({},defaultOptions,e),null!=e.minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than minZoom\");var i=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);if(t.call(this,i,e),this._interactive=e.interactive,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,\"string\"==typeof e.container){if(this._container=window.document.getElementById(e.container),!this._container)throw new Error(\"Container '\"+e.container+\"' not found.\")}else this._container=e.container;this.animationLoop=new AnimationLoop,e.maxBounds&&this.setMaxBounds(e.maxBounds),util.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\",\"_update\",\"_render\",\"_onData\",\"_onDataLoading\"],this),this._setupContainer(),this._setupPainter(),this.on(\"move\",this._update.bind(this,!1)),this.on(\"zoom\",this._update.bind(this,!0)),this.on(\"moveend\",function(){o.animationLoop.set(300),o._rerender()}),\"undefined\"!=typeof window&&(window.addEventListener(\"online\",this._onWindowOnline,!1),window.addEventListener(\"resize\",this._onWindowResize,!1)),bindHandlers(this,e),this._hash=e.hash&&(new Hash).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this._classes=[],this.resize(),e.classes&&this.setClasses(e.classes),e.style&&this.setStyle(e.style),e.attributionControl&&this.addControl(new AttributionControl),this.addControl(new LogoControl,e.logoPosition),this.on(\"style.load\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this.style.update(this._classes,{transition:!1})}),this.on(\"data\",this._onData),this.on(\"dataloading\",this._onDataLoading)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var o={showTileBoundaries:{},showCollisionBoxes:{},showOverdrawInspector:{},repaint:{},vertices:{}};return e.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\"top-right\");var o=t.onAdd(this),i=this._controlPositions[e];return e.indexOf(\"bottom\")!==-1?i.insertBefore(o,i.firstChild):i.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},e.prototype.addClass=function(t,e){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes.indexOf(t)>=0||\"\"===t?this:(this._classes.push(t),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.removeClass=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");var o=this._classes.indexOf(t);return o<0||\"\"===t?this:(this._classes.splice(o,1),this._classOptions=e,this.style&&this.style.updateClasses(),this._update(!0))},e.prototype.setClasses=function(t,e){util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\");for(var o={},i=0;i=0},e.prototype.getClasses=function(){return util.warnOnce(\"Style classes are deprecated and will be removed in an upcoming release of Mapbox GL JS.\"),this._classes},e.prototype.resize=function(){var t=this._containerDimensions(),e=t[0],o=t[1];return this._resizeCanvas(e,o),this.transform.resize(e,o),this.painter.resize(e,o),this.fire(\"movestart\").fire(\"move\").fire(\"resize\").fire(\"moveend\")},e.prototype.getBounds=function(){var t=new LngLatBounds(this.transform.pointLocation(new Point(0,this.transform.height)),this.transform.pointLocation(new Point(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(t.extend(this.transform.pointLocation(new Point(this.transform.size.x,0))),t.extend(this.transform.pointLocation(new Point(0,this.transform.size.y)))),t},e.prototype.setMaxBounds=function(t){if(t){var e=LngLatBounds.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null!==t&&void 0!==t||(this.transform.lngRange=[],this.transform.latRange=[],this._update());return this},e.prototype.setMinZoom=function(t){if(t=null===t||void 0===t?defaultMinZoom:t,t>=defaultMinZoom&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(t){return this.transform.locationPoint(LngLat.convert(t))},e.prototype.unproject=function(t){return this.transform.pointLocation(Point.convert(t))},e.prototype.queryRenderedFeatures=function(){function t(t){return t instanceof Point||Array.isArray(t)}var e,o={};return 2===arguments.length?(e=arguments[0],o=arguments[1]):1===arguments.length&&t(arguments[0])?e=arguments[0]:1===arguments.length&&(o=arguments[0]),this.style.queryRenderedFeatures(this._makeQueryGeometry(e),o,this.transform.zoom,this.transform.angle)},e.prototype._makeQueryGeometry=function(t){var e=this;void 0===t&&(t=[Point.convert([0,0]),Point.convert([this.transform.width,this.transform.height])]);var o,i=t instanceof Point||\"number\"==typeof t[0];if(i){var r=Point.convert(t);o=[r]}else{var s=[Point.convert(t[0]),Point.convert(t[1])];o=[s[0],new Point(s[1].x,s[0].y),s[1],new Point(s[0].x,s[1].y),s[0]]}return o=o.map(function(t){return e.transform.pointCoordinate(t)})},e.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},e.prototype.setStyle=function(t,e){var o=(!e||e.diff!==!1)&&this.style&&t&&!(t instanceof Style)&&\"string\"!=typeof t;if(o)try{return this.style.setState(t)&&this._update(!0),this}catch(t){util.warnOnce(\"Unable to perform style diff: \"+(t.message||t.error||t)+\". Rebuilding the style from scratch.\")}return this.style&&(this.style.setEventedParent(null),this.style._remove(),this.off(\"rotate\",this.style._redoPlacement),this.off(\"pitch\",this.style._redoPlacement)),t?(t instanceof Style?this.style=t:this.style=new Style(t,this),this.style.setEventedParent(this,{style:this.style}),this.on(\"rotate\",this.style._redoPlacement),this.on(\"pitch\",this.style._redoPlacement),this):(this.style=null,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},e.prototype.isSourceLoaded=function(t){var e=this.style&&this.style.sourceCaches[t];return void 0===e?void this.fire(\"error\",{error:new Error(\"There is no source with ID '\"+t+\"'\")}):e.loaded()},e.prototype.addSourceType=function(t,e,o){return this.style.addSourceType(t,e,o)},e.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},e.prototype.getSource=function(t){return this.style.getSource(t)},e.prototype.addImage=function(t,e,o){this.style.spriteAtlas.addImage(t,e,o)},e.prototype.removeImage=function(t){this.style.spriteAtlas.removeImage(t)},e.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},e.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},e.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},e.prototype.getLayer=function(t){return this.style.getLayer(t)},e.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},e.prototype.setLayerZoomRange=function(t,e,o){return this.style.setLayerZoomRange(t,e,o),this._update(!0),this},e.prototype.getFilter=function(t){return this.style.getFilter(t)},e.prototype.setPaintProperty=function(t,e,o,i){return this.style.setPaintProperty(t,e,o,i),this._update(!0),this},e.prototype.getPaintProperty=function(t,e,o){return this.style.getPaintProperty(t,e,o)},e.prototype.setLayoutProperty=function(t,e,o){return this.style.setLayoutProperty(t,e,o),this._update(!0),this},e.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},e.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},e.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\");var e=this._canvasContainer=DOM.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=DOM.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.style.position=\"absolute\",this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",0),this._canvas.setAttribute(\"aria-label\",\"Map\");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var i=this._controlContainer=DOM.create(\"div\",\"mapboxgl-control-container\",t),r=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(t){r[t]=DOM.create(\"div\",\"mapboxgl-ctrl-\"+t,i)})},e.prototype._resizeCanvas=function(t,e){var o=window.devicePixelRatio||1;this._canvas.width=o*t,this._canvas.height=o*e,this._canvas.style.width=t+\"px\",this._canvas.style.height=e+\"px\"},e.prototype._setupPainter=function(){var t=util.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},isSupported.webGLContextAttributes),e=this._canvas.getContext(\"webgl\",t)||this._canvas.getContext(\"experimental-webgl\",t);return e?void(this.painter=new Painter(e,this.transform)):void this.fire(\"error\",{error:new Error(\"Failed to initialize WebGL\")})},e.prototype._contextLost=function(t){t.preventDefault(),this._frameId&&browser.cancelFrame(this._frameId),this.fire(\"webglcontextlost\",{originalEvent:t})},e.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire(\"webglcontextrestored\",{originalEvent:t})},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},e.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender(),this):this},e.prototype._render=function(){return this.style&&this._styleDirty&&(this._styleDirty=!1,this.style.update(this._classes,this._classOptions),this._classOptions=null,this.style._recalculate(this.transform.zoom)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.rotating,zooming:this.zooming}),this.fire(\"render\"),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(\"load\")),this._frameId=null,this.animationLoop.stopped()||(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty)&&this._rerender(),this},e.prototype.remove=function(){this._hash&&this._hash.remove(),browser.cancelFrame(this._frameId),this.setStyle(null),\"undefined\"!=typeof window&&(window.removeEventListener(\"resize\",this._onWindowResize,!1),window.removeEventListener(\"online\",this._onWindowOnline,!1));var t=this.painter.gl.getExtension(\"WEBGL_lose_context\");t&&t.loseContext(),removeNode(this._canvasContainer),removeNode(this._controlContainer),this._container.classList.remove(\"mapboxgl-map\"),this.fire(\"remove\")},e.prototype._rerender=function(){this.style&&!this._frameId&&(this._frameId=browser.frame(this._render))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},o.showTileBoundaries.get=function(){return!!this._showTileBoundaries},o.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},o.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},o.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,this.style._redoPlacement())},o.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},o.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},o.repaint.get=function(){return!!this._repaint},o.repaint.set=function(t){this._repaint=t,this._update()},o.vertices.get=function(){return!!this._vertices},o.vertices.set=function(t){this._vertices=t,this._update()},e.prototype._onData=function(t){this._update(\"style\"===t.dataType),this.fire(t.dataType+\"data\",t)},e.prototype._onDataLoading=function(t){this.fire(t.dataType+\"dataloading\",t)},Object.defineProperties(e.prototype,o),e}(Camera);module.exports=Map;\n},{\"../geo/lng_lat\":62,\"../geo/lng_lat_bounds\":63,\"../geo/transform\":64,\"../render/painter\":77,\"../style/animation_loop\":143,\"../style/style\":146,\"../util/browser\":192,\"../util/dom\":199,\"../util/util\":212,\"../util/window\":194,\"./bind_handlers\":171,\"./camera\":172,\"./control/attribution_control\":173,\"./control/logo_control\":176,\"./hash\":186,\"mapbox-gl-supported\":22,\"point-geometry\":26}],188:[function(require,module,exports){\n\"use strict\";var DOM=require(\"../util/dom\"),LngLat=require(\"../geo/lng_lat\"),Point=require(\"point-geometry\"),Marker=function(t,e){this._offset=Point.convert(e&&e.offset||[0,0]),this._update=this._update.bind(this),this._onMapClick=this._onMapClick.bind(this),t||(t=DOM.create(\"div\")),t.classList.add(\"mapboxgl-marker\"),this._element=t,this._popup=null};Marker.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this._update(),this._map.on(\"click\",this._onMapClick),this},Marker.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map=null),DOM.remove(this._element),this._popup&&this._popup.remove(),this},Marker.prototype.getLngLat=function(){return this._lngLat},Marker.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},Marker.prototype.getElement=function(){return this._element},Marker.prototype.setPopup=function(t){return this._popup&&(this._popup.remove(),this._popup=null),t&&(this._popup=t,this._popup.setLngLat(this._lngLat)),this},Marker.prototype._onMapClick=function(t){var e=t.originalEvent.target,p=this._element;this._popup&&(e===p||p.contains(e))&&this.togglePopup()},Marker.prototype.getPopup=function(){return this._popup},Marker.prototype.togglePopup=function(){var t=this._popup;t&&(t.isOpen()?t.remove():t.addTo(this._map))},Marker.prototype._update=function(t){if(this._map){var e=this._map.project(this._lngLat)._add(this._offset);t&&\"moveend\"!==t.type||(e=e.round()),DOM.setTransform(this._element,\"translate(\"+e.x+\"px, \"+e.y+\"px)\")}},module.exports=Marker;\n},{\"../geo/lng_lat\":62,\"../util/dom\":199,\"point-geometry\":26}],189:[function(require,module,exports){\n\"use strict\";function normalizeOffset(t){if(t){if(\"number\"==typeof t){var o=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{top:new Point(0,t),\"top-left\":new Point(o,o),\"top-right\":new Point(-o,o),bottom:new Point(0,-t),\"bottom-left\":new Point(o,-o),\"bottom-right\":new Point(-o,-o),left:new Point(t,0),right:new Point(-t,0)}}if(isPointLike(t)){var e=Point.convert(t);return{top:e,\"top-left\":e,\"top-right\":e,bottom:e,\"bottom-left\":e,\"bottom-right\":e,left:e,right:e}}return{top:Point.convert(t.top||[0,0]),\"top-left\":Point.convert(t[\"top-left\"]||[0,0]),\"top-right\":Point.convert(t[\"top-right\"]||[0,0]),bottom:Point.convert(t.bottom||[0,0]),\"bottom-left\":Point.convert(t[\"bottom-left\"]||[0,0]),\"bottom-right\":Point.convert(t[\"bottom-right\"]||[0,0]),left:Point.convert(t.left||[0,0]),right:Point.convert(t.right||[0,0])}}return normalizeOffset(new Point(0,0))}function isPointLike(t){return t instanceof Point||Array.isArray(t)}var util=require(\"../util/util\"),Evented=require(\"../util/evented\"),DOM=require(\"../util/dom\"),LngLat=require(\"../geo/lng_lat\"),Point=require(\"point-geometry\"),window=require(\"../util/window\"),defaultOptions={closeButton:!0,closeOnClick:!0},Popup=function(t){function o(o){t.call(this),this.options=util.extend(Object.create(defaultOptions),o),util.bindAll([\"_update\",\"_onClickClose\"],this)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.addTo=function(t){return this._map=t,this._map.on(\"move\",this._update),this.options.closeOnClick&&this._map.on(\"click\",this._onClickClose),this._update(),this},o.prototype.isOpen=function(){return!!this._map},o.prototype.remove=function(){return this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._container&&(this._container.parentNode.removeChild(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"click\",this._onClickClose),delete this._map),this.fire(\"close\"),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(t){return this._lngLat=LngLat.convert(t),this._update(),this},o.prototype.setText=function(t){return this.setDOMContent(window.document.createTextNode(t))},o.prototype.setHTML=function(t){var o,e=window.document.createDocumentFragment(),n=window.document.createElement(\"body\");for(n.innerHTML=t;;){if(o=n.firstChild,!o)break;e.appendChild(o)}return this.setDOMContent(e)},o.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},o.prototype._createContent=function(){this._content&&this._content.parentNode&&this._content.parentNode.removeChild(this._content),this._content=DOM.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=DOM.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClickClose))},o.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=DOM.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=DOM.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content));var t=this.options.anchor,o=normalizeOffset(this.options.offset),e=this._map.project(this._lngLat).round();if(!t){var n=this._container.offsetWidth,i=this._container.offsetHeight;t=e.y+o.bottom.ythis._map.transform.height-i?[\"bottom\"]:[],e.xthis._map.transform.width-n/2&&t.push(\"right\"),t=0===t.length?\"bottom\":t.join(\"-\")}var r=e.add(o[t]),s={top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"},p=this._container.classList;for(var a in s)p.remove(\"mapboxgl-popup-anchor-\"+a);p.add(\"mapboxgl-popup-anchor-\"+t),DOM.setTransform(this._container,s[t]+\" translate(\"+r.x+\"px,\"+r.y+\"px)\")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup;\n},{\"../geo/lng_lat\":62,\"../util/dom\":199,\"../util/evented\":200,\"../util/util\":212,\"../util/window\":194,\"point-geometry\":26}],190:[function(require,module,exports){\n\"use strict\";var Actor=function(t,e,a){this.target=t,this.parent=e,this.mapId=a,this.callbacks={},this.callbackID=0,this.receive=this.receive.bind(this),this.target.addEventListener(\"message\",this.receive,!1)};Actor.prototype.send=function(t,e,a,r,s){var i=a?this.mapId+\":\"+this.callbackID++:null;a&&(this.callbacks[i]=a),this.target.postMessage({targetMapId:s,sourceMapId:this.mapId,type:t,id:String(i),data:e},r)},Actor.prototype.receive=function(t){var e,a=this,r=t.data,s=r.id;if(!r.targetMapId||this.mapId===r.targetMapId){var i=function(t,e,r){a.target.postMessage({sourceMapId:a.mapId,type:\"\",id:String(s),error:t?String(t):null,data:e},r)};if(\"\"===r.type)e=this.callbacks[r.id],delete this.callbacks[r.id],e&&e(r.error||null,r.data);else if(\"undefined\"!=typeof r.id&&this.parent[r.type])this.parent[r.type](r.sourceMapId,r.data,i);else if(\"undefined\"!=typeof r.id&&this.parent.getWorkerSource){var p=r.type.split(\".\"),d=this.parent.getWorkerSource(r.sourceMapId,p[0]);d[p[1]](r.data,i)}else this.parent[r.type](r.data)}},Actor.prototype.remove=function(){this.target.removeEventListener(\"message\",this.receive,!1)},module.exports=Actor;\n},{}],191:[function(require,module,exports){\n\"use strict\";function sameOrigin(e){var t=window.document.createElement(\"a\");return t.href=e,t.protocol===window.document.location.protocol&&t.host===window.document.location.host}var window=require(\"./window\");exports.getJSON=function(e,t){var n=new window.XMLHttpRequest;return n.open(\"GET\",e,!0),n.setRequestHeader(\"Accept\",\"application/json\"),n.onerror=function(e){t(e)},n.onload=function(){if(n.status>=200&&n.status<300&&n.response){var e;try{e=JSON.parse(n.response)}catch(e){return t(e)}t(null,e)}else t(new Error(n.statusText))},n.send(),n},exports.getArrayBuffer=function(e,t){var n=new window.XMLHttpRequest;return n.open(\"GET\",e,!0),n.responseType=\"arraybuffer\",n.onerror=function(e){t(e)},n.onload=function(){return 0===n.response.byteLength&&200===n.status?t(new Error(\"http status 200 returned without content.\")):void(n.status>=200&&n.status<300&&n.response?t(null,{data:n.response,cacheControl:n.getResponseHeader(\"Cache-Control\"),expires:n.getResponseHeader(\"Expires\")}):t(new Error(n.statusText)))},n.send(),n};var transparentPngUrl=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,n){if(e)return t(e);var r=new window.Image,o=window.URL||window.webkitURL;r.onload=function(){t(null,r),o.revokeObjectURL(r.src)};var a=new window.Blob([new Uint8Array(n.data)],{type:\"image/png\"});r.cacheControl=n.cacheControl,r.expires=n.expires,r.src=n.data.byteLength?o.createObjectURL(a):transparentPngUrl})},exports.getVideo=function(e,t){var n=window.document.createElement(\"video\");n.onloadstart=function(){t(null,n)};for(var r=0;r=a+n?e.call(t,1):(e.call(t,(i-a)/n),exports.frame(o)))}if(!n)return e.call(t,1),null;var r=!1,a=module.exports.now();return exports.frame(o),function(){r=!0}},exports.getImageData=function(e){var n=window.document.createElement(\"canvas\"),t=n.getContext(\"2d\");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0),t.getImageData(0,0,e.width,e.height).data},exports.supported=require(\"mapbox-gl-supported\"),exports.hardwareConcurrency=window.navigator.hardwareConcurrency||4,Object.defineProperty(exports,\"devicePixelRatio\",{get:function(){return window.devicePixelRatio}}),exports.supportsWebp=!1;var webpImgTest=window.document.createElement(\"img\");webpImgTest.onload=function(){exports.supportsWebp=!0},webpImgTest.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\";\n},{\"./window\":194,\"mapbox-gl-supported\":22}],193:[function(require,module,exports){\n\"use strict\";var WebWorkify=require(\"webworkify\"),window=require(\"../window\"),workerURL=window.URL.createObjectURL(new WebWorkify(require(\"../../source/worker\"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)};\n},{\"../../source/worker\":98,\"../window\":194,\"webworkify\":41}],194:[function(require,module,exports){\n\"use strict\";module.exports=self;\n},{}],195:[function(require,module,exports){\n\"use strict\";function compareAreas(e,r){return r.area-e.area}var quickselect=require(\"quickselect\"),calculateSignedArea=require(\"./util\").calculateSignedArea;module.exports=function(e,r){var a=e.length;if(a<=1)return[e];for(var t,u,c=[],i=0;i1)for(var n=0;n0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Evented.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this},module.exports=Evented;\n},{\"./util\":212}],201:[function(require,module,exports){\n\"use strict\";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,r){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,r),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,r=1/0,o=0;oe.y!=h.y>e.y&&e.x<(h.x-a.x)*(e.y-a.y)/(h.y-a.y)+a.x&&(n=!n),r=Math.min(r,distToSegmentSquared(e,a,h))}return(n?1:-1)*Math.sqrt(r)}function getCentroidCell(e){for(var t=0,n=0,r=0,o=e[0],i=0,l=o.length,u=l-1;ii)&&(i=a.x),(!s||a.y>l)&&(l=a.y)}var h=i-r,p=l-o,y=Math.min(h,p),x=y/2,d=new Queue(null,compareMax);if(0===y)return[r,o];for(var g=r;gm.d||!m.d)&&(m=v,n&&console.log(\"found best %d after %d probes\",Math.round(1e4*v.d)/1e4,c)),v.max-m.d<=t||(x=v.h/2,d.push(new Cell(v.p.x-x,v.p.y-x,x,e)),d.push(new Cell(v.p.x+x,v.p.y-x,x,e)),d.push(new Cell(v.p.x-x,v.p.y+x,x,e)),d.push(new Cell(v.p.x+x,v.p.y+x,x,e)),c+=4)}return n&&(console.log(\"num probes: \"+c),console.log(\"best distance: \"+m.d)),m.p};\n},{\"./intersection_tests\":205,\"point-geometry\":26,\"tinyqueue\":30}],202:[function(require,module,exports){\n\"use strict\";var WorkerPool=require(\"./worker_pool\"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool};\n},{\"./worker_pool\":215}],203:[function(require,module,exports){\n\"use strict\";function Glyphs(a,e){this.stacks=a.readFields(readFontstacks,[],e)}function readFontstacks(a,e,r){if(1===a){var t=r.readMessage(readFontstack,{glyphs:{}});e.push(t)}}function readFontstack(a,e,r){if(1===a)e.name=r.readString();else if(2===a)e.range=r.readString();else if(3===a){var t=r.readMessage(readGlyph,{});e.glyphs[t.id]=t}}function readGlyph(a,e,r){1===a?e.id=r.readVarint():2===a?e.bitmap=r.readBytes():3===a?e.width=r.readVarint():4===a?e.height=r.readVarint():5===a?e.left=r.readSVarint():6===a?e.top=r.readSVarint():7===a&&(e.advance=r.readVarint())}module.exports=Glyphs;\n},{}],204:[function(require,module,exports){\n\"use strict\";function interpolate(t,e,n){return t*(1-n)+e*n}module.exports=interpolate,interpolate.number=interpolate,interpolate.vec2=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n)]},interpolate.color=function(t,e,n){return[interpolate(t[0],e[0],n),interpolate(t[1],e[1],n),interpolate(t[2],e[2],n),interpolate(t[3],e[3],n)]},interpolate.array=function(t,e,n){return t.map(function(t,r){return interpolate(t,e[r],n)})};\n},{}],205:[function(require,module,exports){\n\"use strict\";function polygonIntersectsPolygon(n,t){for(var e=0;e=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r1?n.distSqr(e):n.distSqr(e.sub(t)._mult(o)._add(t))}function multiPolygonContainsPoint(n,t){for(var e,r,o,i=!1,l=0;lt.y!=o.y>t.y&&t.x<(o.x-r.x)*(t.y-r.y)/(o.y-r.y)+r.x&&(i=!i)}return i}function polygonContainsPoint(n,t){for(var e=!1,r=0,o=n.length-1;rt.y!=l.y>t.y&&t.x<(l.x-i.x)*(t.y-i.y)/(l.y-i.y)+i.x&&(e=!e)}return e}var isCounterClockwise=require(\"./util\").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared};\n},{\"./util\":212}],206:[function(require,module,exports){\n\"use strict\";var unicodeBlockLookup={\"Latin-1 Supplement\":function(n){return n>=128&&n<=255},\"Hangul Jamo\":function(n){return n>=4352&&n<=4607},\"Unified Canadian Aboriginal Syllabics\":function(n){return n>=5120&&n<=5759},\"Unified Canadian Aboriginal Syllabics Extended\":function(n){return n>=6320&&n<=6399},\"General Punctuation\":function(n){return n>=8192&&n<=8303},\"Letterlike Symbols\":function(n){return n>=8448&&n<=8527},\"Number Forms\":function(n){return n>=8528&&n<=8591},\"Miscellaneous Technical\":function(n){return n>=8960&&n<=9215},\"Control Pictures\":function(n){return n>=9216&&n<=9279},\"Optical Character Recognition\":function(n){return n>=9280&&n<=9311},\"Enclosed Alphanumerics\":function(n){return n>=9312&&n<=9471},\"Geometric Shapes\":function(n){return n>=9632&&n<=9727},\"Miscellaneous Symbols\":function(n){return n>=9728&&n<=9983},\"Miscellaneous Symbols and Arrows\":function(n){return n>=11008&&n<=11263},\"CJK Radicals Supplement\":function(n){return n>=11904&&n<=12031},\"Kangxi Radicals\":function(n){return n>=12032&&n<=12255},\"Ideographic Description Characters\":function(n){return n>=12272&&n<=12287},\"CJK Symbols and Punctuation\":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},\"Hangul Compatibility Jamo\":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},\"Bopomofo Extended\":function(n){return n>=12704&&n<=12735},\"CJK Strokes\":function(n){return n>=12736&&n<=12783},\"Katakana Phonetic Extensions\":function(n){return n>=12784&&n<=12799},\"Enclosed CJK Letters and Months\":function(n){return n>=12800&&n<=13055},\"CJK Compatibility\":function(n){return n>=13056&&n<=13311},\"CJK Unified Ideographs Extension A\":function(n){return n>=13312&&n<=19903},\"Yijing Hexagram Symbols\":function(n){return n>=19904&&n<=19967},\"CJK Unified Ideographs\":function(n){return n>=19968&&n<=40959},\"Yi Syllables\":function(n){return n>=40960&&n<=42127},\"Yi Radicals\":function(n){return n>=42128&&n<=42191},\"Hangul Jamo Extended-A\":function(n){return n>=43360&&n<=43391},\"Hangul Syllables\":function(n){return n>=44032&&n<=55215},\"Hangul Jamo Extended-B\":function(n){return n>=55216&&n<=55295},\"Private Use Area\":function(n){return n>=57344&&n<=63743},\"CJK Compatibility Ideographs\":function(n){return n>=63744&&n<=64255},\"Vertical Forms\":function(n){return n>=65040&&n<=65055},\"CJK Compatibility Forms\":function(n){return n>=65072&&n<=65103},\"Small Form Variants\":function(n){return n>=65104&&n<=65135},\"Halfwidth and Fullwidth Forms\":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup;\n},{}],207:[function(require,module,exports){\n\"use strict\";var LRUCache=function(t,e){this.max=t,this.onRemove=e,this.reset()};LRUCache.prototype.reset=function(){var t=this;for(var e in t.data)t.onRemove(t.data[e]);return this.data={},this.order=[],this},LRUCache.prototype.add=function(t,e){if(this.has(t))this.order.splice(this.order.indexOf(t),1),this.data[t]=e,this.order.push(t);else if(this.data[t]=e,this.order.push(t),this.order.length>this.max){var r=this.get(this.order[0]);r&&this.onRemove(r)}return this},LRUCache.prototype.has=function(t){return t in this.data},LRUCache.prototype.keys=function(){return this.order},LRUCache.prototype.get=function(t){if(!this.has(t))return null;var e=this.data[t];return delete this.data[t],this.order.splice(this.order.indexOf(t),1),e},LRUCache.prototype.getWithoutRemoving=function(t){if(!this.has(t))return null;var e=this.data[t];return e},LRUCache.prototype.remove=function(t){if(!this.has(t))return this;var e=this.data[t];return delete this.data[t],this.onRemove(e),this.order.splice(this.order.indexOf(t),1),this},LRUCache.prototype.setMaxSize=function(t){var e=this;for(this.max=t;this.order.length>this.max;){var r=e.get(e.order[0]);r&&e.onRemove(r)}return this},module.exports=LRUCache;\n},{}],208:[function(require,module,exports){\n\"use strict\";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(e=e||config.ACCESS_TOKEN,!e)throw new Error(\"An API access token is required to use Mapbox GL. \"+help);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+help);return r.params.push(\"access_token=\"+e),formatUrl(r)}function isMapboxURL(r){return 0===r.indexOf(\"mapbox:\")}function replaceTempAccessToken(r){for(var e=0;e=2||512===t?\"@2x\":\"\",s=browser.supportsWebp?\".webp\":\"$1\";return o.path=o.path.replace(imageExtensionRe,\"\"+a+s),replaceTempAccessToken(o.params),formatUrl(o)};var urlRe=/^(\\w+):\\/\\/([^\\/?]+)(\\/[^?]+)?\\??(.+)?/;\n},{\"./browser\":192,\"./config\":196}],209:[function(require,module,exports){\n\"use strict\";var isChar=require(\"./is_char_in_unicode_block\");module.exports.allowsIdeographicBreaking=function(a){for(var i=0,r=a;i=65097&&a<=65103)||(!!isChar[\"CJK Compatibility Ideographs\"](a)||(!!isChar[\"CJK Compatibility\"](a)||(!!isChar[\"CJK Radicals Supplement\"](a)||(!!isChar[\"CJK Strokes\"](a)||(!(!isChar[\"CJK Symbols and Punctuation\"](a)||a>=12296&&a<=12305||a>=12308&&a<=12319||12336===a)||(!!isChar[\"CJK Unified Ideographs Extension A\"](a)||(!!isChar[\"CJK Unified Ideographs\"](a)||(!!isChar[\"Enclosed CJK Letters and Months\"](a)||(!!isChar[\"Hangul Compatibility Jamo\"](a)||(!!isChar[\"Hangul Jamo Extended-A\"](a)||(!!isChar[\"Hangul Jamo Extended-B\"](a)||(!!isChar[\"Hangul Jamo\"](a)||(!!isChar[\"Hangul Syllables\"](a)||(!!isChar.Hiragana(a)||(!!isChar[\"Ideographic Description Characters\"](a)||(!!isChar.Kanbun(a)||(!!isChar[\"Kangxi Radicals\"](a)||(!!isChar[\"Katakana Phonetic Extensions\"](a)||(!(!isChar.Katakana(a)||12540===a)||(!(!isChar[\"Halfwidth and Fullwidth Forms\"](a)||65288===a||65289===a||65293===a||a>=65306&&a<=65310||65339===a||65341===a||65343===a||a>=65371&&a<=65503||65507===a||a>=65512&&a<=65519)||(!(!isChar[\"Small Form Variants\"](a)||a>=65112&&a<=65118||a>=65123&&a<=65126)||(!!isChar[\"Unified Canadian Aboriginal Syllabics\"](a)||(!!isChar[\"Unified Canadian Aboriginal Syllabics Extended\"](a)||(!!isChar[\"Vertical Forms\"](a)||(!!isChar[\"Yijing Hexagram Symbols\"](a)||(!!isChar[\"Yi Syllables\"](a)||!!isChar[\"Yi Radicals\"](a))))))))))))))))))))))))))))))},exports.charHasNeutralVerticalOrientation=function(a){return!(!isChar[\"Latin-1 Supplement\"](a)||167!==a&&169!==a&&174!==a&&177!==a&&188!==a&&189!==a&&190!==a&&215!==a&&247!==a)||(!(!isChar[\"General Punctuation\"](a)||8214!==a&&8224!==a&&8225!==a&&8240!==a&&8241!==a&&8251!==a&&8252!==a&&8258!==a&&8263!==a&&8264!==a&&8265!==a&&8273!==a)||(!!isChar[\"Letterlike Symbols\"](a)||(!!isChar[\"Number Forms\"](a)||(!(!isChar[\"Miscellaneous Technical\"](a)||!(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||9003===a||a>=9085&&a<=9114||a>=9150&&a<=9165||9167===a||a>=9169&&a<=9179||a>=9186&&a<=9215))||(!(!isChar[\"Control Pictures\"](a)||9251===a)||(!!isChar[\"Optical Character Recognition\"](a)||(!!isChar[\"Enclosed Alphanumerics\"](a)||(!!isChar[\"Geometric Shapes\"](a)||(!(!isChar[\"Miscellaneous Symbols\"](a)||a>=9754&&a<=9759)||(!(!isChar[\"Miscellaneous Symbols and Arrows\"](a)||!(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243))||(!!isChar[\"CJK Symbols and Punctuation\"](a)||(!!isChar.Katakana(a)||(!!isChar[\"Private Use Area\"](a)||(!!isChar[\"CJK Compatibility Forms\"](a)||(!!isChar[\"Small Form Variants\"](a)||(!!isChar[\"Halfwidth and Fullwidth Forms\"](a)||(8734===a||8756===a||8757===a||a>=9984&&a<=10087||a>=10102&&a<=10131||65532===a||65533===a)))))))))))))))))},exports.charHasRotatedVerticalOrientation=function(a){return!(exports.charHasUprightVerticalOrientation(a)||exports.charHasNeutralVerticalOrientation(a))};\n},{\"./is_char_in_unicode_block\":206}],210:[function(require,module,exports){\n\"use strict\";function createStructArrayType(t){var e=JSON.stringify(t);if(structArrayTypeCache[e])return structArrayTypeCache[e];var r=void 0===t.alignment?1:t.alignment,i=0,n=0,a=[\"Uint8\"],o=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var e=sizeOf(t.type),o=i=align(i,Math.max(r,e)),s=t.components||1;return n=Math.max(n,e),i+=e*s,{name:t.name,type:t.type,components:s,offset:o}}),s=align(i,Math.max(n,r)),p=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Struct);p.prototype.alignment=r,p.prototype.size=s;for(var y=0,c=o;ythis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},StructArray.prototype._refreshViews=function(){for(var t=this,e=0,r=t._usedTypes;e=1)return 1;var e=r*r,t=e*r;return 4*(r<.5?t:3*(r-e)+t-.75)},exports.bezier=function(r,e,t,n){var o=new UnitBezier(r,e,t,n);return function(r){return o.solve(r)}},exports.ease=exports.bezier(.25,.1,.25,1),exports.clamp=function(r,e,t){return Math.min(t,Math.max(e,r))},exports.wrap=function(r,e,t){var n=t-e,o=((r-e)%n+n)%n+e;return o===e?t:o},exports.asyncAll=function(r,e,t){if(!r.length)return t(null,[]);var n=r.length,o=new Array(r.length),a=null;r.forEach(function(r,i){e(r,function(r,e){r&&(a=r),o[i]=e,0===--n&&t(a,o)})})},exports.values=function(r){var e=[];for(var t in r)e.push(r[t]);return e},exports.keysDifference=function(r,e){var t=[];for(var n in r)n in e||t.push(n);return t},exports.extend=function(r,e,t,n){for(var o=arguments,a=1;a=0)return!0;return!1};var warnOnceHistory={};exports.warnOnce=function(r){warnOnceHistory[r]||(\"undefined\"!=typeof console&&console.warn(r),warnOnceHistory[r]=!0)},exports.isCounterClockwise=function(r,e,t){return(t.y-r.y)*(e.x-r.x)>(e.y-r.y)*(t.x-r.x)},exports.calculateSignedArea=function(r){for(var e=0,t=0,n=r.length,o=n-1,a=void 0,i=void 0;t0||Math.abs(e.y-t.y)>0)&&Math.abs(exports.calculateSignedArea(r))>.01},exports.sphericalToCartesian=function(r){var e=r[0],t=r[1],n=r[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,[e*Math.cos(t)*Math.sin(n),e*Math.sin(t)*Math.sin(n),e*Math.cos(n)]},exports.parseCacheControl=function(r){var e=/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,t={};if(r.replace(e,function(r,e,n,o){var a=n||o;return t[e]=!a||a.toLowerCase(),\"\"}),t[\"max-age\"]){var n=parseInt(t[\"max-age\"],10);isNaN(n)?delete t[\"max-age\"]:t[\"max-age\"]=n}return t};\n},{\"../geo/coordinate\":61,\"@mapbox/unitbezier\":3,\"point-geometry\":26}],213:[function(require,module,exports){\n\"use strict\";var Feature=function(e,t,r,o){this.type=\"Feature\",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=o,this.properties=e.properties,null!=e.id&&(this.id=e.id)},prototypeAccessors={geometry:{}};prototypeAccessors.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},prototypeAccessors.geometry.set=function(e){this._geometry=e},Feature.prototype.toJSON=function(){var e=this,t={geometry:this.geometry};for(var r in e)\"_geometry\"!==r&&\"_vectorTileFeature\"!==r&&(t[r]=e[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature;\n},{}],214:[function(require,module,exports){\n\"use strict\";var scriptDetection=require(\"./script_detection\");module.exports=function(t){for(var o=\"\",e=0;e\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};\n},{\"./script_detection\":209}],215:[function(require,module,exports){\n\"use strict\";var WebWorker=require(\"./web_worker\"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=require(\"../\").workerCount;for(this.workers=[];this.workers.length {\n let replyTo = document.querySelector('#in-reply-to');\n replyTo.value = webStorage.getItem('replyTo');\n let content = document.querySelector('#content');\n content.value = webStorage.getItem('content');\n};\n\nconst saveData = () => {\n let replyTo = document.querySelector('#in-reply-to');\n let content = document.querySelector('#content');\n webStorage.setItem('replyTo', replyTo.value);\n webStorage.setItem('content', content.value);\n alertify.success('Auto-saved data');\n};\n\nconst clearData = () => {\n webStorage.removeItem('replyTo');\n webStorage.removeItem('content');\n};\n\nexport default function persistFormData()\n{\n let form = document.querySelector('form[name=\"micropub\"]');\n form.addEventListener('change', saveData);\n form.addEventListener('submit', clearData);\n loadData();\n}\n\n\n\n// WEBPACK FOOTER //\n// ./persist-form.js","//nearby-places.js\n\nimport alertify from 'alertify.js';\nimport addMap from './mapbox-utils';\nimport parseLocation from './parse-location';\nimport makeNewPlaceForm from './newplace-micropub';\n\nconst makeOptionsForForm = (map, position, places = null) => {\n //create the