diff --git a/app/Http/Controllers/Admin/LikesController.php b/app/Http/Controllers/Admin/LikesController.php new file mode 100644 index 00000000..f44c94af --- /dev/null +++ b/app/Http/Controllers/Admin/LikesController.php @@ -0,0 +1,61 @@ + normalize_url(request()->input('like_url')), + ]); + ProcessLike::dispatch($like); + + return redirect('/admin/likes'); + } + + public function edit(int $likeId): View + { + $like = Like::findOrFail($likeId); + + return view('admin.likes.edit', [ + 'id' => $like->id, + 'like_url' => $like->url, + ]); + } + + public function update(int $likeId): RedirectResponse + { + $like = Like::findOrFail($likeId); + $like->url = normalize_url(request()->input('like_url')); + $like->save(); + ProcessLike::dispatch($like); + + return redirect('/admin/likes'); + } + + public function destroy(int $likeId): RedirectResponse + { + Like::where('id', $likeId)->delete(); + + return redirect('/admin/likes'); + } +} diff --git a/app/Jobs/ProcessLike.php b/app/Jobs/ProcessLike.php index 22a4eece..6b7e80bd 100644 --- a/app/Jobs/ProcessLike.php +++ b/app/Jobs/ProcessLike.php @@ -5,8 +5,10 @@ namespace App\Jobs; use App\Models\Like; use GuzzleHttp\Client; use Illuminate\Bus\Queueable; +use Thujohn\Twitter\Facades\Twitter; use Illuminate\Queue\SerializesModels; use Illuminate\Queue\InteractsWithQueue; +use GuzzleHttp\Exception\ClientException; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Jonnybarnes\WebmentionsParser\Authorship; @@ -35,6 +37,32 @@ class ProcessLike implements ShouldQueue */ public function handle(Client $client, Authorship $authorship) { + if ($this->isTweet($this->like->url)) { + $tweet = Twitter::getOembed(['url' => $this->like->url]); + $this->like->author_name = $tweet->author_name; + $this->like->author_url = $tweet->author_url; + $this->like->content = $tweet->html; + $this->like->save(); + + //POSSE like + try { + $response = $client->request( + 'POST', + 'https://brid.gy/publish/webmention', + [ + 'form_params' => [ + 'source' => $this->like->url, + 'target' => 'https://brid.gy/publish/twitter', + ], + ] + ); + } catch(ClientException $exception) { + //no biggie + } + + return 0; + } + $response = $client->request('GET', $this->like->url); $mf2 = \Mf2\parse((string) $response->getBody(), $this->like->url); if (array_has($mf2, 'items.0.properties.content')) { @@ -51,9 +79,17 @@ class ProcessLike implements ShouldQueue $this->like->author_name = $author; } } catch (AuthorshipParserException $exception) { - return; + return 1; } $this->like->save(); } + + private function isTweet(string $url): bool + { + $host = parse_url($url, PHP_URL_HOST); + $parts = array_reverse(explode('.', $host)); + + return $parts[0] === 'com' && $parts[1] === 'twitter'; + } } diff --git a/app/Models/Like.php b/app/Models/Like.php index 54afba03..ac8f57c3 100644 --- a/app/Models/Like.php +++ b/app/Models/Like.php @@ -29,7 +29,13 @@ class Like extends Model $mf2 = Mf2\parse($value, $this->url); - return $this->filterHTML($mf2['items'][0]['properties']['content'][0]['html']); + if (array_get($mf2, 'items.0.properties.content.0.html')) { + return $this->filterHTML( + $mf2['items'][0]['properties']['content'][0]['html'] + ); + } + + return $value; } public function filterHTML($html) diff --git a/changelog.md b/changelog.md index 5465d704..84b6ce07 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,9 @@ # Changelog +## Version {next} + - Improve `likes`, including adding a new section in the admin cp + - Add the ability to POSSE the like of a Tweet + ## Version 0.15.2 (2018-01-11) - Update micropub endpoint to support access tokens being sent in either acceptable form - Improve admin control panel forms diff --git a/database/seeds/LikesTableSeeder.php b/database/seeds/LikesTableSeeder.php index c8a14ea9..a90fd009 100644 --- a/database/seeds/LikesTableSeeder.php +++ b/database/seeds/LikesTableSeeder.php @@ -14,6 +14,7 @@ class LikesTableSeeder extends Seeder public function run() { factory(Like::class, 10)->create(); + sleep(1); $faker = new Generator(); $faker->addProvider(new \Faker\Provider\en_US\Person($faker)); @@ -24,5 +25,8 @@ class LikesTableSeeder extends Seeder 'author_url' => $faker->url, 'author_name' => $faker->name, ]); + sleep(1); + + Like::create(['url' => 'https://example.com']); } } diff --git a/public/assets/css/app.css b/public/assets/css/app.css index 6f17eef1..c644a42d 100644 --- a/public/assets/css/app.css +++ b/public/assets/css/app.css @@ -1,2 +1,2 @@ -html{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}html{font-size:10px;font-family:"filson-soft", serif}a.u-syndication{text-decoration:none}#topheader{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row;flex-flow:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;min-height:5rem}#topheader h1{font-size:2rem;padding:0 2rem}#topheader nav{font-size:2rem}main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;max-width:512px;margin:0 auto;padding:0 0.5rem;font-size:2rem}.top-space{padding-top:2rem}.mini-h-card{position:relative}.mini-h-card .p-name{position:relative}.mini-h-card:hover .p-name{z-index:100}.hovercard{position:absolute;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;background:white;width:30rem;left:-10px;top:-10px;z-index:50;padding:2rem 1rem 1rem;border-radius:2px;-webkit-box-shadow:3px 3px 2px 1px #101314;box-shadow:3px 3px 2px 1px #101314;display:none}.mini-h-card:hover .hovercard{display:-webkit-box;display:-ms-flexbox;display:flex}.mini-h-card .social-icon{width:auto;height:2rem}.mini-h-card .u-photo{height:10rem}.note{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;font-size:2rem}.note img{max-width:100%;max-height:80vh}.note-metadata{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.icon{width:auto;height:1em}.pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;font-size:2rem;list-style-type:none}main .contact{font-size:2rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-top:2rem}.contact .u-photo{width:auto;height:8rem}#projects{font-size:2rem}body>div.h-card{max-width:512px;margin:0 auto;font-size:1.5rem}footer{max-width:512px;margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.admin-form{margin-top:2rem;margin-bottom:2rem}.form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.form>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}div.form-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.p-bridgy-twitter-content,.p-bridgy-facebook-content{display:none}span[role=img][aria-label]{position:relative}span[role=img][aria-label]:focus::after,span[role=img][aria-label]:hover::after{position:absolute;display:block;z-index:1;bottom:1.5em;left:0;max-width:5em;padding:0.5em 0.75em;border:0.05em solid #fff;border-radius:0.2em;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000;content:attr(aria-label);background-color:rgba(0,0,0,0.85);color:#fff;font-size:80%;-webkit-animation:TOOLTIP 0.1s ease-out 1;animation:TOOLTIP 0.1s ease-out 1}@-webkit-keyframes TOOLTIP{from{bottom:0.5em;background-color:transparent;border:0.05em solid rgba(255,255,255,0);color:rgba(255,255,255,0);-webkit-box-shadow:0 0 0 #000;box-shadow:0 0 0 #000}to{bottom:1.5em;background-color:rgba(0,0,0,0.85);border:0.05em solid #fff;color:#fff;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000}}@keyframes TOOLTIP{from{bottom:0.5em;background-color:transparent;border:0.05em solid rgba(255,255,255,0);color:rgba(255,255,255,0);-webkit-box-shadow:0 0 0 #000;box-shadow:0 0 0 #000}to{bottom:1.5em;background-color:rgba(0,0,0,0.85);border:0.05em solid #fff;color:#fff;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000}}@media print{span[role=img][aria-label]::after{content:" (" attr(aria-label) ") "}}.map{height:200px}.mapboxgl-ctrl-logo{border-bottom:none}.marker{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsTAAALEwEAmpwYAAACxFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMyaeDAAAA63RSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ozw9Pj9AQUJERUZHSElKS05PUlNVVldYWVpbXF1fYGFiY2RmZ2hpa2xtbm9wcXJzdHV2d3h5ent8fX+AgYKDhIWGh4iJiouMjo+QkZOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqutrq+xsrO0tbe4ubq7vL2+v8DBwsPExcbHyMnKy8zP0NHS09TV1tfY2drb3N3f4OHi4+Tl5ujp6uvs7e7v8PHy8/T19vf4+fr7/P3+xn8cLwAAB2BJREFUGBntwYtjlWUdB/Dvuwtjo23CGPcxtlGAFhgWFCINSZciCYGKwLSbMwuQi4lgbkSTgYOAiYEI5a0JmQhRAYKBgmzJbSwgGTDYxs45nO8/0d0Mzu897+V53kv1+QD/9z8jd9T9ize/tfdw04VY+9mjf9hV/1xFWXEKQiV11Nytp5nIlfdq781HOBRWvHaBZuLvPVuWhoDLmbkjTgvOVN+CABu/qZ2WHZrTA4Fk3L2X9lxa2geBkzLlIO3rqBmIYBl/mM5ElmUjOPpuonPNkxEQqRUX6cqbn0EQFL1Dtzor4L9JF6jAK93hr4zlVOP4aPhpwH6qEvkO/DPsJBWqhF++9BGVqkuDL8raqNgvs+CDSVEqtysLniu9Qg3q0+Cxz7dSixcMeKrkNDVZCi/1PEptHoV3jDeoT3QMPDOXtnTEaEdTHjwyJkpLLm+rmjGm4IY0ILPXsImz1zXQmnoDnshrogVHnhiTjmv0v2/LFVowG554iUldXjEaid1Qvo9JRYfDAxOYzPlFeTAxYSeT+a0B7TIaaS72k1wkcfsRJjEd2i2gud+PQHJd5rXT1Nnu0KyonWauPpECS246TFPPQbMNNHN6PKzKep5mrg6BViUxmmgohA3zaaYOWv2UJvblw5ZZMcqihdBoQCdl+7Nh09Q4ZSuh0bOUNebDtgrKrvSFNjltFJ0ZBAeWUrYE2syg6OoEOJG6k6ITBnTZQdFiONPvLEWl0KQwTsm+VDg0kaJ10GQBJVe/AMdeo6Q1E3ocoWQlnBvUTskUaDGIkkt5cOFpStZDixmULIUb+W0UnIQWGyjo6ANXqikZDB2aKaiDO4VxCsqhwRBKSuHSDgpeggYzKThhwKWZFDRDgx9TUAW3cqIU5EC91ym4A67tpuCLUK+RiUW6wbUlFNwH5dKjTOx3cO92Cp6CckMpqIV7vSnYAuXupOBRKHCeib0D5e6loAwK7GFiR6DcTAo+CwW2MLFmKFdBQSEUWMvEWqHcQgp6QIFqJhY3oFolBRlQYDEFn4Jq1RRkQ4GlFORBtSUU9IMCtRRkQLW5FAyBAhuZWATKPUzBGCiwjYn9GcrdRcGDUOA4E9sP5YZS8Azcy4wzsc1QLiPOxF6FeyMo+BHUO8bEzhpw7VsUTId6L1PwObj2CwqGQ735FDwCt4xzTKwjDeqVUbAdbo2lYC806ElBfCBcWkNBDXQ4RME8uNP1AgVfhw4rKTiaClemU9IbOkymZBrcSGmg4ANo0YeS9w24MJmSWuhxgJKpcC79MCX3QI9nKPlTDhybTUkkG3qMo6gaThVcpuRtaJJ2kZLYWDhjbKPoB9Dl5xSd6glH5lN2E3SZRtkbKXBgXIyiRmiTG6GsBvYNO0dZJfTZShMLYdeAkzQxGvqU08xjsKfgA5poNqBPrxjNVBmw4cYmmqmBTr+mqZ9lwrLSFpq6FTrNormDQ2FNyg+v0tRJAzp176S5y+UGLCjaziSqoNfrTGb3zUgmY2E7kxkJvb7BpGJrSmAm7YE/MqkGaJbVyuRiG0dCkv3NY7RgAXRbR0ven1OA66Xf+WI7rYgXQrdxtKqxdvKwdHwsf+zcX7XRorehnXGMNkQb33x5fc3qTfV7WmjHg9BvEfVry4Z+xXFq9wK88Ba1uw1emErdGuCJri3UbA68sZx6RXvDG8Op1yvwyh5qdQe8Mp06HTXglcwWajQH3qmmPp358M5Q6rMJXtpObW6DlyZRlwPwVFoTNSmHtxZQj/NZ8FavTmqxDF7bQB3iJfDaKOpQD+/tpgZfhfemUL1D8EHaKSr3EPzwOFVryYIf8tqpWCX8sYpqRQvgj6FxKvUi/FJPpW6BX8ZTpZ3wz7tU6G74536q02jAP+mnqMzD8NP3qcqZrvBTzkUqshD+qqIabXnwV/8IlVgOv9VRhVgR/HZjnApsgv9epQI3w39fpntbEQS/oWulCIK76NZeBMMBunQPgmEq3TlsIBhSP6QrDyAoyunG8TQERZdmuvBtBMf36NyZTARHt4/o2OMIkoV0qiUHQZJ7gQ49iWBZQmdaeyBYel6mI5UImmV0or0XgqZvBx2oRvDU0L4r/RA8Azpp2woE0Sra1VmAICqM0KZVCKa1tCc6CMFUEqUtaxFUdbQjWoSgGhyjDWsRXM/TumgxgmtwjJatQ5Ctp1XREgTZ4BgtWodgq6M10WIEW3GUlqxB0K2lFZFBCLqiCC1YjeBbzeQ6ByL4BnYyqRUIg5VMpqM/wqB/B5OoRjhU01xbH4RD7zaaqkJYVNJMax7CIq+VJp5CeCyirCUX4ZF7jqJ5CJO5lJzphjDJOk1BBcLlESbWlIFwyTjJhB5C2MxiIh+mI2zSGpjANITPFF7vYArCx3iX15mIMPoar7UH4bSL1/gKwulW/qdtCKt6flJ8JMJqRJyfsBnhtZH/Fv00wqs4wo/VIsyW81/a+iHMel3iPz2NcHuS/3AuF+GWfZZ/9xjC7rv8mxMZCLsuR/lX0xF+U0geTEH4GfvIMvw3KOV2aPcXaWsyKghlwmgAAAAASUVORK5CYII=);background-size:contain;width:20px;height:20px}.map-menu{position:absolute;top:0;left:0;background:white;padding:0.4rem}.map-menu label{margin-left:3px;margin-right:3px}body{background-color:var(--brwhite);color:var(--black)}#topheader{background-color:var(--black);color:var(--white)}a,a:visited{color:var(--blue)}h1 a{text-decoration:none}#topheader a{text-decoration:none}.tags{margin:0;overflow:hidden;padding:0}.tags li{float:left;list-style-type:none}.tag,.tag:visited{background:var(--white);border-radius:3px 0 0 3px;color:var(--black);display:inline-block;height:2.6rem;line-height:2.6rem;padding:0 2rem 0 1rem;position:relative;margin:0 1rem 1rem 0;text-decoration:none;-webkit-transition:color 0.2s;transition:color 0.2s}.tag::after{background:var(--brwhite);border-bottom:1.3rem solid transparent;border-left:1rem solid var(--white);border-top:1.3rem solid transparent;content:'';position:absolute;right:0;top:0}.tag:hover{background-color:var(--red);color:var(--black)}.tag:hover::after{border-left-color:var(--red)} +html{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}html{font-size:10px;font-family:"filson-soft", serif}a.u-syndication{text-decoration:none}#topheader{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row;flex-flow:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;min-height:5rem}#topheader h1{font-size:2rem;padding:0 2rem}#topheader nav{font-size:2rem}main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;max-width:512px;margin:0 auto;padding:0 0.5rem;font-size:2rem}.top-space{padding-top:2rem}.mini-h-card{position:relative}.mini-h-card .p-name{position:relative}.mini-h-card:hover .p-name{z-index:100}.hovercard{position:absolute;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;background:white;width:30rem;left:-10px;top:-10px;z-index:50;padding:2rem 1rem 1rem;border-radius:2px;-webkit-box-shadow:3px 3px 2px 1px #101314;box-shadow:3px 3px 2px 1px #101314;display:none}.mini-h-card:hover .hovercard{display:-webkit-box;display:-ms-flexbox;display:flex}.mini-h-card .social-icon{width:auto;height:2rem}.mini-h-card .u-photo{height:10rem}.note{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;font-size:2rem}.note img{max-width:100%;max-height:80vh}.note-metadata{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.icon{width:auto;height:1em}.pagination{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;font-size:2rem;list-style-type:none}main .contact{font-size:2rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-top:2rem}.contact .u-photo{width:auto;height:8rem}#projects{font-size:2rem}body>div.h-card{max-width:512px;margin:0 auto;font-size:1.5rem}footer{max-width:512px;margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.admin-form{margin-top:2rem;margin-bottom:2rem}.form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.form>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}div.form-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.u-like-of{margin-top:1rem}.p-bridgy-twitter-content,.p-bridgy-facebook-content{display:none}span[role=img][aria-label]{position:relative}span[role=img][aria-label]:focus::after,span[role=img][aria-label]:hover::after{position:absolute;display:block;z-index:1;bottom:1.5em;left:0;max-width:5em;padding:0.5em 0.75em;border:0.05em solid #fff;border-radius:0.2em;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000;content:attr(aria-label);background-color:rgba(0,0,0,0.85);color:#fff;font-size:80%;-webkit-animation:TOOLTIP 0.1s ease-out 1;animation:TOOLTIP 0.1s ease-out 1}@-webkit-keyframes TOOLTIP{from{bottom:0.5em;background-color:transparent;border:0.05em solid rgba(255,255,255,0);color:rgba(255,255,255,0);-webkit-box-shadow:0 0 0 #000;box-shadow:0 0 0 #000}to{bottom:1.5em;background-color:rgba(0,0,0,0.85);border:0.05em solid #fff;color:#fff;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000}}@keyframes TOOLTIP{from{bottom:0.5em;background-color:transparent;border:0.05em solid rgba(255,255,255,0);color:rgba(255,255,255,0);-webkit-box-shadow:0 0 0 #000;box-shadow:0 0 0 #000}to{bottom:1.5em;background-color:rgba(0,0,0,0.85);border:0.05em solid #fff;color:#fff;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000}}@media print{span[role=img][aria-label]::after{content:" (" attr(aria-label) ") "}}.map{height:200px}.mapboxgl-ctrl-logo{border-bottom:none}.marker{background-image:url(data:image/png;base64,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);background-size:contain;width:20px;height:20px}.map-menu{position:absolute;top:0;left:0;background:white;padding:0.4rem}.map-menu label{margin-left:3px;margin-right:3px}body{background-color:var(--brwhite);color:var(--black)}#topheader{background-color:var(--black);color:var(--white)}a,a:visited{color:var(--blue)}h1 a{text-decoration:none}#topheader a{text-decoration:none}.tags{margin:0;overflow:hidden;padding:0}.tags li{float:left;list-style-type:none}.tag,.tag:visited{background:var(--white);border-radius:3px 0 0 3px;color:var(--black);display:inline-block;height:2.6rem;line-height:2.6rem;padding:0 2rem 0 1rem;position:relative;margin:0 1rem 1rem 0;text-decoration:none;-webkit-transition:color 0.2s;transition:color 0.2s}.tag::after{background:var(--brwhite);border-bottom:1.3rem solid transparent;border-left:1rem solid var(--white);border-top:1.3rem solid transparent;content:'';position:absolute;right:0;top:0}.tag:hover{background-color:var(--red);color:var(--black)}.tag:hover::after{border-left-color:var(--red)} /*# sourceMappingURL=app.css.map */ \ No newline at end of file diff --git a/public/assets/css/app.css.br b/public/assets/css/app.css.br index a232de4c..2b595609 100644 Binary files a/public/assets/css/app.css.br and b/public/assets/css/app.css.br differ diff --git a/public/assets/css/app.css.gz b/public/assets/css/app.css.gz index 6876e4a1..af204958 100644 Binary files a/public/assets/css/app.css.gz and b/public/assets/css/app.css.gz differ diff --git a/public/assets/css/app.css.map b/public/assets/css/app.css.map index 6d567cfd..6fca2c17 100644 --- a/public/assets/css/app.css.map +++ b/public/assets/css/app.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../../resources/assets/sass/_border-box.scss","../../../resources/assets/sass/_base-font.scss","../../../resources/assets/sass/_header.scss","../../../resources/assets/sass/_variables.scss","../../../resources/assets/sass/_main.scss","../../../resources/assets/sass/_hovercard.scss","../../../resources/assets/sass/_notes.scss","../../../resources/assets/sass/_pagination.scss","../../../resources/assets/sass/_contacts-page.scss","../../../resources/assets/sass/_projects.scss","../../../resources/assets/sass/_footer.scss","../../../resources/assets/sass/_admin-form.scss","../../../resources/assets/sass/_form.scss","../../../resources/assets/sass/_bridgy-links.scss","../../../resources/assets/sass/_emoji.scss","../../../resources/assets/sass/_mapbox.scss","../../../resources/assets/sass/_colors.scss","../../../resources/assets/sass/_styles.scss","../../../resources/assets/sass/_tags.scss"],"names":[],"mappings":"AAKA,KACI,8BAAsB,AAAtB,qBAAsB,CACzB,qBAKG,2BAAmB,AAAnB,kBAAmB,CACtB,KCVG,eACA,gCAAiC,CACpC,gBAGG,oBAAqB,CACxB,WCNG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,kBACA,AADA,cACA,yBACA,AADA,sBACA,AADA,mBACA,WACA,eCJgB,CDKnB,cAGG,eACA,cAAe,CAClB,eAGG,cAAe,CAClB,KEdG,oBACA,AADA,oBACA,AADA,aACA,4BACA,AADA,6BACA,AADA,0BACA,AADA,sBACA,0BACA,AADA,uBACA,AADA,oBACA,gBACA,cACA,iBACA,cAAe,CAClB,WAIG,gBAAiB,CACpB,aCZG,iBAAkB,CACrB,qBAGG,iBAAkB,CACrB,2BAGG,WAAY,CACf,WAGG,kBACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,yBACA,AADA,sBACA,AADA,8BACA,sBACA,AADA,mBACA,AADA,qBACA,iBACA,YACA,WACA,UACA,WACA,uBACA,kBACA,2CACA,AADA,mCACA,YAAa,CAChB,8BAGG,oBAAa,AAAb,oBAAa,AAAb,YAAa,CAChB,0BAGG,WACA,WAAY,CACf,sBAGG,YAAa,CCnCjB,MACI,oBACA,AADA,oBACA,AADA,aACA,4BACA,AADA,6BACA,AADA,0BACA,AADA,sBACA,cAAe,CAClB,UAGG,eACA,eAAgB,CACnB,eAGG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,yBAA8B,AAA9B,sBAA8B,AAA9B,6BAA8B,CACjC,MAGG,WACA,UAAW,CACd,YCtBG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,8BACA,AADA,2BACA,AADA,6BACA,eACA,oBAAqB,CACxB,cCLG,eACA,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,8BACA,AADA,+BACA,AADA,2BACA,yBACA,AADA,sBACA,AADA,8BACA,eAAgB,CACnB,kBAGG,WACA,WAAY,CACf,UCVG,cAAe,CAClB,gBCDG,gBACA,cACA,gBAAiB,CACpB,OAGG,gBACA,cACA,oBACA,AADA,oBACA,AADA,aACA,4BACA,AADA,6BACA,AADA,0BACA,AADA,sBACA,yBAAmB,AAAnB,sBAAmB,AAAnB,kBAAmB,CACtB,YCXG,gBACA,kBAAmB,CACtB,MCFG,oBACA,AADA,oBACA,AADA,aACA,4BAAsB,AAAtB,6BAAsB,AAAtB,0BAAsB,AAAtB,qBAAsB,CACzB,UAGG,oBACA,AADA,oBACA,AADA,aACA,4BAAsB,AAAtB,6BAAsB,AAAtB,0BAAsB,AAAtB,qBAAsB,CACzB,aAGG,8BAAmB,AAAnB,6BAAmB,AAAnB,uBAAmB,AAAnB,kBAAmB,CACtB,qDCVG,YAAa,CAChB,2BCAG,iBAAkB,CACrB,gFAIG,kBACA,cACA,UACA,aACA,OACA,cACA,qBACA,yBACA,oBACA,4CACA,AADA,oCACA,yBACA,kCACA,WACA,cACA,0CAAkC,AAAlC,iCAAkC,CACrC,2BAGG,KACI,aACA,6BACA,wCACA,0BACA,8BAAkC,AAAlC,qBAAkC,CAGtC,GACI,aACA,kCACA,yBACA,WACA,4CAAgD,AAAhD,mCAAgD,CAAA,CAIxD,AApBC,mBAGG,KACI,aACA,6BACA,wCACA,0BACA,8BAAkC,AAAlC,qBAAkC,CAGtC,GACI,aACA,kCACA,yBACA,WACA,4CAAgD,AAAhD,mCAAgD,CAAA,CAIxD,aACI,kCACI,kCAAmC,CACtC,CC9CL,KACI,YAAa,CAChB,oBAGG,kBAAmB,CACtB,QAGG,y4HACA,wBACA,WACA,WAAY,CACf,UAGG,kBACA,MACA,OACA,iBACA,cAAe,CAClB,gBAGG,gBACA,gBAAiB,CACpB,KCzBG,gCACA,kBAAmB,CACtB,WAGG,8BACA,kBAAmB,CACtB,YAIG,iBAAkB,CACrB,KCZG,oBAAqB,CACxB,aAGG,oBAAqB,CACxB,MCHG,SACA,gBACA,SAAU,CACb,SAGG,WACA,oBAAqB,CACxB,kBAIG,wBACA,0BACA,mBACA,qBACA,cACA,mBACA,sBACA,kBACA,qBACA,qBACA,8BAAsB,AAAtB,qBAAsB,CACzB,YAGG,0BACA,uCACA,oCACA,oCACA,WACA,kBACA,QACA,KAAM,CACT,WAGG,4BACA,kBAAmB,CACtB,kBAGG,4BAA6B,CAChC","file":"app.css"} \ No newline at end of file +{"version":3,"sources":["../../../resources/assets/sass/_border-box.scss","../../../resources/assets/sass/_base-font.scss","../../../resources/assets/sass/_header.scss","../../../resources/assets/sass/_variables.scss","../../../resources/assets/sass/_main.scss","../../../resources/assets/sass/_hovercard.scss","../../../resources/assets/sass/_notes.scss","../../../resources/assets/sass/_pagination.scss","../../../resources/assets/sass/_contacts-page.scss","../../../resources/assets/sass/_projects.scss","../../../resources/assets/sass/_footer.scss","../../../resources/assets/sass/_admin-form.scss","../../../resources/assets/sass/_form.scss","../../../resources/assets/sass/_likes.scss","../../../resources/assets/sass/_bridgy-links.scss","../../../resources/assets/sass/_emoji.scss","../../../resources/assets/sass/_mapbox.scss","../../../resources/assets/sass/_colors.scss","../../../resources/assets/sass/_styles.scss","../../../resources/assets/sass/_tags.scss"],"names":[],"mappings":"AAKA,KACI,8BAAsB,AAAtB,qBAAsB,CACzB,qBAKG,2BAAmB,AAAnB,kBAAmB,CACtB,KCVG,eACA,gCAAiC,CACpC,gBAGG,oBAAqB,CACxB,WCNG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,kBACA,AADA,cACA,yBACA,AADA,sBACA,AADA,mBACA,WACA,eCJgB,CDKnB,cAGG,eACA,cAAe,CAClB,eAGG,cAAe,CAClB,KEdG,oBACA,AADA,oBACA,AADA,aACA,4BACA,AADA,6BACA,AADA,0BACA,AADA,sBACA,0BACA,AADA,uBACA,AADA,oBACA,gBACA,cACA,iBACA,cAAe,CAClB,WAIG,gBAAiB,CACpB,aCZG,iBAAkB,CACrB,qBAGG,iBAAkB,CACrB,2BAGG,WAAY,CACf,WAGG,kBACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,yBACA,AADA,sBACA,AADA,8BACA,sBACA,AADA,mBACA,AADA,qBACA,iBACA,YACA,WACA,UACA,WACA,uBACA,kBACA,2CACA,AADA,mCACA,YAAa,CAChB,8BAGG,oBAAa,AAAb,oBAAa,AAAb,YAAa,CAChB,0BAGG,WACA,WAAY,CACf,sBAGG,YAAa,CCnCjB,MACI,oBACA,AADA,oBACA,AADA,aACA,4BACA,AADA,6BACA,AADA,0BACA,AADA,sBACA,cAAe,CAClB,UAGG,eACA,eAAgB,CACnB,eAGG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,yBAA8B,AAA9B,sBAA8B,AAA9B,6BAA8B,CACjC,MAGG,WACA,UAAW,CACd,YCtBG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,8BACA,AADA,2BACA,AADA,6BACA,eACA,oBAAqB,CACxB,cCLG,eACA,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,8BACA,AADA,+BACA,AADA,2BACA,yBACA,AADA,sBACA,AADA,8BACA,eAAgB,CACnB,kBAGG,WACA,WAAY,CACf,UCVG,cAAe,CAClB,gBCDG,gBACA,cACA,gBAAiB,CACpB,OAGG,gBACA,cACA,oBACA,AADA,oBACA,AADA,aACA,4BACA,AADA,6BACA,AADA,0BACA,AADA,sBACA,yBAAmB,AAAnB,sBAAmB,AAAnB,kBAAmB,CACtB,YCXG,gBACA,kBAAmB,CACtB,MCFG,oBACA,AADA,oBACA,AADA,aACA,4BAAsB,AAAtB,6BAAsB,AAAtB,0BAAsB,AAAtB,qBAAsB,CACzB,UAGG,oBACA,AADA,oBACA,AADA,aACA,4BAAsB,AAAtB,6BAAsB,AAAtB,0BAAsB,AAAtB,qBAAsB,CACzB,aAGG,8BAAmB,AAAnB,6BAAmB,AAAnB,uBAAmB,AAAnB,kBAAmB,CACtB,WCXG,eAAgB,CACnB,qDCAG,YAAa,CAChB,2BCAG,iBAAkB,CACrB,gFAIG,kBACA,cACA,UACA,aACA,OACA,cACA,qBACA,yBACA,oBACA,4CACA,AADA,oCACA,yBACA,kCACA,WACA,cACA,0CAAkC,AAAlC,iCAAkC,CACrC,2BAGG,KACI,aACA,6BACA,wCACA,0BACA,8BAAkC,AAAlC,qBAAkC,CAGtC,GACI,aACA,kCACA,yBACA,WACA,4CAAgD,AAAhD,mCAAgD,CAAA,CAIxD,AApBC,mBAGG,KACI,aACA,6BACA,wCACA,0BACA,8BAAkC,AAAlC,qBAAkC,CAGtC,GACI,aACA,kCACA,yBACA,WACA,4CAAgD,AAAhD,mCAAgD,CAAA,CAIxD,aACI,kCACI,kCAAmC,CACtC,CC9CL,KACI,YAAa,CAChB,oBAGG,kBAAmB,CACtB,QAGG,y4HACA,wBACA,WACA,WAAY,CACf,UAGG,kBACA,MACA,OACA,iBACA,cAAe,CAClB,gBAGG,gBACA,gBAAiB,CACpB,KCzBG,gCACA,kBAAmB,CACtB,WAGG,8BACA,kBAAmB,CACtB,YAIG,iBAAkB,CACrB,KCZG,oBAAqB,CACxB,aAGG,oBAAqB,CACxB,MCHG,SACA,gBACA,SAAU,CACb,SAGG,WACA,oBAAqB,CACxB,kBAIG,wBACA,0BACA,mBACA,qBACA,cACA,mBACA,sBACA,kBACA,qBACA,qBACA,8BAAsB,AAAtB,qBAAsB,CACzB,YAGG,0BACA,uCACA,oCACA,oCACA,WACA,kBACA,QACA,KAAM,CACT,WAGG,4BACA,kBAAmB,CACtB,kBAGG,4BAA6B,CAChC","file":"app.css"} \ No newline at end of file diff --git a/public/assets/js/newnote.js b/public/assets/js/newnote.js index 5cd60cbb..230f8faf 100644 --- a/public/assets/js/newnote.js +++ b/public/assets/js/newnote.js @@ -1,2 +1,2 @@ -!function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=7)}([function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(text){var coords=/POINT\((.*)\)/.exec(text),parsedLongitude=coords[1].split(" ")[0];return{latitude:coords[1].split(" ")[1],longitude:parsedLongitude}}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(div){var position=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,places=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,data=void 0,dataLatitude=div.dataset.latitude,dataLongitude=div.dataset.longitude,dataName=div.dataset.name,dataMarker=div.dataset.marker;if(""==dataMarker&&(dataMarker="circle"),data=null==dataName?{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[dataLongitude,dataLatitude]},properties:{title:"Current Location",icon:"circle-stroked",uri:"current-location"}}]}:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[dataLongitude,dataLatitude]},properties:{title:dataName,icon:dataMarker}}]},null!=places){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=places[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var place=_step.value,placeLongitude=(0,_parseLocation2.default)(place.location).longitude,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=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}null!=position&&(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(null==position&&map.scrollZoom.disable(),map.addControl(new _mapboxGl2.default.NavigationControl),div.appendChild(makeMapMenu(map)),map.on("load",function(){map.addLayer({id:"points",type:"symbol",source:{type:"geojson",data:data},layout:{"icon-image":"{icon}-15","text-field":"{title}","text-offset":[0,1]}})}),null!=position&&map.on("click",function(e){var features=map.queryRenderedFeatures(e.point,{layer:["points"]});features.length&&(map.flyTo({center:features[0].geometry.coordinates}),(0,_selectPlace2.default)(features[0].properties.uri))}),data.features&&data.features.length>1){var bounds=new _mapboxGl2.default.LngLatBounds,_iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=data.features[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var feature=_step2.value;bounds.extend(feature.geometry.coordinates)}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}map.fitBounds(bounds,{padding:65})}return map};var _mapboxGl2=_interopRequireDefault(__webpack_require__(2)),_parseLocation2=_interopRequireDefault(__webpack_require__(0)),_selectPlace2=_interopRequireDefault(__webpack_require__(3));_mapboxGl2.default.accessToken="pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw";var addMapTypeOption=function(map,menu,option){var checked=arguments.length>3&&void 0!==arguments[3]&&arguments[3],input=document.createElement("input");input.setAttribute("id",option),input.setAttribute("type","radio"),input.setAttribute("name","toggle"),input.setAttribute("value",option),1==checked&&input.setAttribute("checked","checked"),input.addEventListener("click",function(){var source=map.getSource("points");map.setStyle("mapbox://styles/mapbox/"+option+"-v9"),map.on("style.load",function(){map.addLayer({id:"points",type:"symbol",source:{type:"geojson",data:source._data},layout:{"icon-image":"{icon}-15","text-field":"{title}","text-offset":[0,1]}})})});var label=document.createElement("label");label.setAttribute("for",option),label.appendChild(document.createTextNode(option.split("-").map(function(_ref){var arr,_ref2=(arr=_ref,Array.isArray(arr)?arr:Array.from(arr)),first=_ref2[0],rest=_ref2.slice(1);return first.toUpperCase()+rest.join("").toLowerCase()}).join(" "))),menu.appendChild(input),menu.appendChild(label)},makeMapMenu=function(map){var mapMenu=document.createElement("div");return mapMenu.classList.add("map-menu"),addMapTypeOption(map,mapMenu,"streets",!0),addMapTypeOption(map,mapMenu,"satellite-streets"),mapMenu}},function(module,exports){!function(f){"object"==typeof exports&&void 0!==module?module.exports=f():"function"==typeof define&&define.amd?define([],f):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).mapboxgl=f()}(function(){return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&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){return s(t[o][1][e]||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;oh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i)n.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)):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 n=this.shelves[t].alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new function(t,e,i,s,h,n,r){this.id=t,this.x=e,this.y=i,this.w=s,this.h=h,this.maxw=n||s,this.maxh=r||h,this.refcount=0}(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},"object"==typeof exports&&void 0!==module?module.exports=e():this.ShelfPack=e()},{}],4:[function(_dereq_,module,exports){"use strict";function TinySDF(t,i,s,e,h,r){this.fontSize=t||24,this.buffer=void 0===i?3:i,this.cutoff=e||.25,this.fontFamily=h||"sans-serif",this.fontWeight=r||"normal",this.radius=s||8;var a=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=a,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textBaseline="middle",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.d=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Int16Array(a),this.middle=Math.round(a/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function edt(t,i,s,e,h,r,a){for(var n=0;nr)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))}},{}],6:[function(_dereq_,module,exports){module.exports.VectorTile=_dereq_("./lib/vectortile.js"),module.exports.VectorTileFeature=_dereq_("./lib/vectortilefeature.js"),module.exports.VectorTileLayer=_dereq_("./lib/vectortilelayer.js")},{"./lib/vectortile.js":7,"./lib/vectortilefeature.js":8,"./lib/vectortilelayer.js":9}],7:[function(_dereq_,module,exports){"use strict";var VectorTileLayer=_dereq_("./vectortilelayer");module.exports=function(e,r){this.layers=e.readFields(function(e,r,i){if(3===e){var t=new VectorTileLayer(i,i.readVarint()+i.pos);t.length&&(r[t.name]=t)}},{},r)}},{"./vectortilelayer":9}],8:[function(_dereq_,module,exports){"use strict";function VectorTileFeature(e,t,r,a,i){this.properties={},this.extent=r,this.type=0,this._pbf=e,this._geometry=-1,this._keys=a,this._values=i,e.readFields(function(e,t,r){1==e?t.id=r.readVarint():2==e?function(e,t){for(var r=e.readVarint()+e.pos;e.pos>3}if(i--,1===a||2===a)o+=e.readSVarint(),n+=e.readSVarint(),1===a&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==a)throw new Error("unknown command "+a);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,a=0,i=0,o=0,n=1/0,s=-1/0,p=1/0,h=-1/0;e.pos>3}if(a--,1===r||2===r)i+=e.readSVarint(),o+=e.readSVarint(),is&&(s=i),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 a(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}(r))},this,t),this.length=this._features.length}var VectorTileFeature=_dereq_("./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":8}],10:[function(_dereq_,module,exports){var e;e=this,function(e){function o(e,t,o){var n=r(256*e,256*(t=Math.pow(2,o)-t-1),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);return[e*r-2*Math.PI*6378137/2,t*r-2*Math.PI*6378137/2]}e.getURL=function(e,t,r,n,i,s){return s=s||{},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("&")},e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof exports&&void 0!==module?exports:e.WhooTS=e.WhooTS||{})},{}],11:[function(_dereq_,module,exports){function clamp_css_byte(e){return(e=Math.round(e))<0?0:e>255?255: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 function(e){return e<0?0:e>1?1:e}("%"===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}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=function(e){var r=e.replace(/ /g,"").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if("#"===r[0]){if(4===r.length)return(l=parseInt(r.substr(1),16))>=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(-1!==a&&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}}catch(e){}},{}],12:[function(_dereq_,module,exports){"use strict";function earcut(e,n,r){r=r||2;var o,l,u,s,v,f,y,t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;if(t&&(x=function(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}(e,n)){var r=splitPolygon(n,e);filterPoints(r,r.next)}})(u[i],r),r=filterPoints(r,r.next);return r}(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 function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&function(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,function(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)}(i)}(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?function(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}(e,t,i,x):function(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}(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)===u){a?1===a?earcutLinked(e=function(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}(e,n,r),n,r,t,i,x,2):2===a&&function(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&function(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!function(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}(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&function(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}(e,n)}(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)}(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}(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.next)return null;r=!0}}while(r||t!==n);return n}function zOrder(e,n,r,t,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-r)/i)|e<<8))|e<<4))|e<<2))|e<<1))|(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n=32767*(n-t)/i)|n<<8))|n<<4))|n<<2))|n<<1))<<1}function pointInTriangle(e,n,r,t,i,x,a,o){return(i-a)*(n-o)-(e-a)*(x-o)>=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}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 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 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}},{}],13:[function(_dereq_,module,exports){function polygonArea(r){var e=0;if(r&&r.length>0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}(r)===e?r:r.reverse()}var geojsonArea=_dereq_("geojson-area");module.exports=function rewind(r,e){switch(r&&r.type||null){case"FeatureCollection":return r.features=r.features.map(curryOuter(rewind,e)),r;case"Feature":return r.geometry=rewind(r.geometry,e),r;case"Polygon":case"MultiPolygon":return function(r,e){return"Polygon"===r.type?r.coordinates=correctRings(r.coordinates,e):"MultiPolygon"===r.type&&(r.coordinates=r.coordinates.map(curryOuter(correctRings,e))),r}(r,e);default:return r}}},{"geojson-area":13}],15:[function(_dereq_,module,exports){"use strict";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=function(e,r,t,n,u,i,l,s){if(n/=r,l>=(t/=r)&&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}(f,t,n,u):function(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))));(c=(h=g[S-1])[n])>=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}(f,t,n,u,i,3===g);v.length&&h.push(createFeature(o.tags,g,v,o.id))}}return h.length?h:null};var createFeature=_dereq_("./feature")},{"./feature":17}],16:[function(_dereq_,module,exports){"use strict";function convertFeature(e,t,r){if(null!==t.geometry){var o,a,i,n,u=t.geometry,c=u.type,l=u.coordinates,s=t.properties,p=t.id;if("Point"===c)e.push(createFeature(s,1,[projectPoint(l)],p));else if("MultiPoint"===c)e.push(createFeature(s,1,project(l),p));else if("LineString"===c)e.push(createFeature(s,2,[project(l,r)],p));else if("MultiLineString"===c||"Polygon"===c){for(i=[],o=0;o1?1:o,0]}module.exports=function(e,t){var r=[];if("FeatureCollection"===e.type)for(var o=0;o1)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<1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return(n=f-p)*n+(g=u-r)*g}(t[e],t[u],t[n]))>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())}}},{}],20:[function(_dereq_,module,exports){"use strict";module.exports=function(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;mf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&function(e,n){(function(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;ta.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}},{}],21:[function(_dereq_,module,exports){"use strict";function transformPoint(r,t,n,e,o){return[Math.round(t*(r[0]*n-e)),Math.round(t*(r[1]*n-o))]}exports.tile=function(r,t){if(r.transformed)return r;var n,e,o,f=r.z2,a=r.x,s=r.y;for(n=0;n=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:1/0*(s?-1:1);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))*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}},{}],25:[function(_dereq_,module,exports){"use strict";function KDBush(t,i,e,s,n){i=i||function(t){return t[0]},e=e||function(t){return t[1]},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}},{}],27:[function(_dereq_,module,exports){"use strict";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=function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);(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);select(t,a,o,Math.max(s,Math.floor(o-p*m/f+n)),Math.min(r,Math.floor(o+(f-p)*m/f+n)),e)}var c=a[2*o+e],h=s,i=r;for(swapItem(t,a,s,o),a[2*r+e]>c&&swapItem(t,a,s,r);hc;)i--}a[2*s+e]===c?swapItem(t,a,s,i):swapItem(t,a,++i,r),i<=o&&(s=i+1),o<=i&&(r=i-1)}})(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)}}},{}],28:[function(_dereq_,module,exports){"use strict";function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=function(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}},{}],29:[function(_dereq_,module,exports){var isArray=_dereq_("lodash.isarray"),isTypedArray=_dereq_("lodash.istypedarray"),keys=_dereq_("lodash.keys"),objectTag="[object Object]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString;module.exports=function baseIsEqual(r,e,a,t,o,n){return r===e||(null!=r&&null!=e&&(function(r){var e=typeof r;return!!r&&("object"==e||"function"==e)}(r)||e&&"object"==typeof e)?function(r,e,a,t,o,n,u){var c=isArray(r),s=isArray(e),i="[object Array]",g="[object Array]";c||("[object Arguments]"==(i=objToString.call(r))?i=objectTag:i!=objectTag&&(c=isTypedArray(r))),s||("[object Arguments]"==(g=objToString.call(e))?g=objectTag:g!=objectTag&&(s=isTypedArray(e)));var b=i==objectTag,l=g==objectTag,f=i==g;if(f&&!c&&!b)return function(r,e,a){switch(i){case"[object Boolean]":case"[object Date]":return+r==+e;case"[object Error]":return r.name==e.name&&r.message==e.message;case"[object Number]":return r!=+r?e!=+e:r==+e;case"[object RegExp]":case"[object String]":return r==e+""}return!1}(r,e);if(!o){var y=b&&hasOwnProperty.call(r,"__wrapped__"),T=l&&hasOwnProperty.call(e,"__wrapped__");if(y||T)return a(y?r.value():r,T?e.value():e,t,o,n,u)}if(!f)return!1;n||(n=[]),u||(u=[]);for(var j=n.length;j--;)if(n[j]==r)return u[j]==e;n.push(r),u.push(e);var p=(c?function(r,e,a,t,o,n,u){var c=-1,s=r.length,i=e.length;if(s!=i&&!(o&&i>s))return!1;for(;++c-1&&t%1==0&&t<=9007199254740991}(t.length)&&!function(t){var e=function(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}(t)?objectToString.call(t):"";return"[object Function]"==e||"[object GeneratorFunction]"==e}(t)}(t)}(t)&&hasOwnProperty.call(t,"callee")&&(!propertyIsEnumerable.call(t,"callee")||"[object Arguments]"==objectToString.call(t))}},{}],33:[function(_dereq_,module,exports){function isObjectLike(t){return!!t&&"object"==typeof t}var t,e,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.*?")+"$"),isArray=(t=Array,(function(t){return null!=t&&(function(t){return function(t){var r=typeof t;return!!t&&("object"==r||"function"==r)}(t)&&"[object Function]"==objToString.call(t)}(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}(e=null==t?void 0:t.isArray)?e:void 0)||function(t){return isObjectLike(t)&&function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}(t.length)&&"[object Array]"==objToString.call(t)});module.exports=isArray},{}],34:[function(_dereq_,module,exports){var baseIsEqual=_dereq_("lodash._baseisequal"),bindCallback=_dereq_("lodash._bindcallback");module.exports=function(a,l,i,e){var s=(i="function"==typeof i?bindCallback(i,e,3):void 0)?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}},{"lodash._baseisequal":29,"lodash._bindcallback":30}],35:[function(_dereq_,module,exports){var typedArrayTags={};typedArrayTags["[object Float32Array]"]=typedArrayTags["[object Float64Array]"]=typedArrayTags["[object Int8Array]"]=typedArrayTags["[object Int16Array]"]=typedArrayTags["[object Int32Array]"]=typedArrayTags["[object Uint8Array]"]=typedArrayTags["[object Uint8ClampedArray]"]=typedArrayTags["[object Uint16Array]"]=typedArrayTags["[object Uint32Array]"]=!0,typedArrayTags["[object Arguments]"]=typedArrayTags["[object Array]"]=typedArrayTags["[object ArrayBuffer]"]=typedArrayTags["[object Boolean]"]=typedArrayTags["[object DataView]"]=typedArrayTags["[object Date]"]=typedArrayTags["[object Error]"]=typedArrayTags["[object Function]"]=typedArrayTags["[object Map]"]=typedArrayTags["[object Number]"]=typedArrayTags["[object Object]"]=typedArrayTags["[object RegExp]"]=typedArrayTags["[object Set]"]=typedArrayTags["[object String]"]=typedArrayTags["[object WeakMap]"]=!1;var objectToString=Object.prototype.toString;module.exports=function(a){return function(a){return!!a&&"object"==typeof a}(a)&&function(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=9007199254740991}(a.length)&&!!typedArrayTags[objectToString.call(a)]}},{}],36:[function(_dereq_,module,exports){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=function(e){if(null==e)return[];isObject(e)||(e=Object(e));var t=e.length;t=t&&isLength(t)&&(isArray(e)||isArguments(e))&&t||0;for(var r=e.constructor,n=-1,s="function"==typeof r&&r.prototype===e,o=Array(t),i=t>0;++n>>0):4294967296*(i>>>0)+(t>>>0)}function makeRoomForExtraLength(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 readUInt32(t,i){return(t[i]|t[i+1]<<8|t[i+2]<<16)+16777216*t[i+3]}function writeInt32(t,i,e){t[e]=i,t[e+1]=i>>>8,t[e+2]=i>>>16,t[e+3]=i>>>24}function readInt32(t,i){return(t[i]|t[i+1]<<8|t[i+2]<<16)+(t[i+3]<<24)}module.exports=Pbf;var ieee754=_dereq_("ieee754");Pbf.Varint=0,Pbf.Fixed64=1,Pbf.Bytes=2,Pbf.Fixed32=5,Pbf.prototype={destroy:function(){this.buf=null},readFields:function(t,i,e){for(e=e||this.length;this.pos>3,n=this.pos;this.type=7&r,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=readUInt32(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=readInt32(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=readUInt32(this.buf,this.pos)+4294967296*readUInt32(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=readUInt32(this.buf,this.pos)+4294967296*readInt32(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=ieee754.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=ieee754.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var i,e,r=this.buf;return i=127&(e=r[this.pos++]),e<128?i:(i|=(127&(e=r[this.pos++]))<<7,e<128?i:(i|=(127&(e=r[this.pos++]))<<14,e<128?i:(i|=(127&(e=r[this.pos++]))<<21,e<128?i:function(t,i,e){var r,s,n=e.buf;if(r=(112&(s=n[e.pos++]))>>4,s<128)return toNum(t,r,i);if(r|=(127&(s=n[e.pos++]))<<3,s<128)return toNum(t,r,i);if(r|=(127&(s=n[e.pos++]))<<10,s<128)return toNum(t,r,i);if(r|=(127&(s=n[e.pos++]))<<17,s<128)return toNum(t,r,i);if(r|=(127&(s=n[e.pos++]))<<24,s<128)return toNum(t,r,i);if(r|=(1&(s=n[e.pos++]))<<31,s<128)return toNum(t,r,i);throw new Error("Expected varint not more than 10 bytes")}(i|=(15&(e=r[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,i=function(t,i,e){for(var r="",s=i;s239?4:n>223?3:n>191?2:1;if(s+a>e)break;1===a?n<128&&(o=n):2===a?128==(192&(h=t[s+1]))&&(o=(31&n)<<6|63&h)<=127&&(o=null):3===a?(h=t[s+1],u=t[s+2],128==(192&h)&&128==(192&u)&&((o=(15&n)<<12|(63&h)<<6|63&u)<=2047||o>=55296&&o<=57343)&&(o=null)):4===a&&(h=t[s+1],u=t[s+2],f=t[s+3],128==(192&h)&&128==(192&u)&&128==(192&f)&&((o=(15&n)<<18|(63&h)<<12|(63&u)<<6|63&f)<=65535||o>=1114112)&&(o=null)),null===o?(o=65533,a=1):o>65535&&(o-=65536,r+=String.fromCharCode(o>>>10&1023|55296),o=56320|1023&o),r+=String.fromCharCode(o),s+=a}return r}(this.buf,this.pos,t);return this.pos=t,i},readBytes:function(){var t=this.readVarint()+this.pos,i=this.buf.subarray(this.pos,t);return this.pos=t,i},readPackedVarint:function(t,i){var e=readPackedEnd(this);for(t=t||[];this.pos127;);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||t<0?function(t,i){var e,r;if(t>=0?(e=t%4294967296|0,r=t/4294967296|0):(r=~(-t/4294967296),4294967295^(e=~(-t%4294967296))?e=e+1|0:(e=0,r=r+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");i.realloc(10),function(t,i,e){e.buf[e.pos++]=127&t|128,t>>>=7,e.buf[e.pos++]=127&t|128,t>>>=7,e.buf[e.pos++]=127&t|128,t>>>=7,e.buf[e.pos++]=127&t|128,t>>>=7,e.buf[e.pos]=127&t}(e,0,i),function(t,i){var e=(7&t)<<4;i.buf[i.pos++]|=e|((t>>>=3)?128:0),t&&(i.buf[i.pos++]=127&t|((t>>>=7)?128:0),t&&(i.buf[i.pos++]=127&t|((t>>>=7)?128:0),t&&(i.buf[i.pos++]=127&t|((t>>>=7)?128:0),t&&(i.buf[i.pos++]=127&t|((t>>>=7)?128:0),t&&(i.buf[i.pos++]=127&t)))))}(r,i)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),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),this.realloc(4*t.length),this.pos++;var i=this.pos;this.pos=function(t,i,e){for(var r,s,n=0;n55295&&r<57344){if(!s){r>56319||n+1===i.length?(t[e++]=239,t[e++]=191,t[e++]=189):s=r;continue}if(r<56320){t[e++]=239,t[e++]=191,t[e++]=189,s=r;continue}r=s-55296<<10|r-56320|65536,s=null}else s&&(t[e++]=239,t[e++]=191,t[e++]=189,s=null);r<128?t[e++]=r:(r<2048?t[e++]=r>>6|192:(r<65536?t[e++]=r>>12|224:(t[e++]=r>>18|240,t[e++]=r>>12&63|128),t[e++]=r>>6&63|128),t[e++]=63&r|128)}return e}(this.buf,t,this.pos);var e=this.pos-i;e>=128&&makeRoomForExtraLength(i,e,this),this.pos=i-1,this.writeVarint(e),this.pos+=e},writeFloat:function(t){this.realloc(4),ieee754.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),ieee754.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&makeRoomForExtraLength(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,function(t,i){for(var e=0;e1)for(var r=1;rt?1:0};o>r;){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);partialSort(a,t,Math.max(r,Math.floor(t-e*s/f+i)),Math.min(o,Math.floor(t+(f-e)*s/f+i)),p)}var n=a[t],h=r,u=o;for(swap(a,r,t),p(a[o],n)>0&&swap(a,r,o);h0;)u--}0===p(a[r],n)?swap(a,r,u):swap(a,++u,o),u<=t&&(r=u+1),t<=u&&(o=u-1)}}},{}],41:[function(_dereq_,module,exports){"use strict";function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function getClusterJSON(t){return{type:"Feature",properties:getClusterProperties(t),geometry:{type:"Point",coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,n=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return extend(extend({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:n})}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n<0?0:n>1?1:n}function extend(t,e){for(var n in e)t[n]=e[n];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=_dereq_("kdbush");module.exports=function(t){return new SuperCluster(t)},SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time("total time");var n="prepare "+t.length+" points";e&&console.time(n),this.points=t;var o=t.map(function(t,e){var n=t.geometry.coordinates;return{x:lngX(n[0]),y:latY(n[1]),zoom:1/0,id:e,parentId:-1}});e&&console.timeEnd(n);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var r=+Date.now();this.trees[i+1]=kdbush(o,getX,getY,this.options.nodeSize,Float32Array),o=this._cluster(o,i),e&&console.log("z%d: %d clusters in %dms",i,o.length,+Date.now()-r)}return this.trees[this.options.minZoom]=kdbush(o,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd("total time"),this},getClusters:function(t,e){for(var n=this.trees[this._limitZoom(e)],o=n.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),i=[],r=0;ri?1:0},this.length>0)for(var e=this.length>>1;e>=0;e--)this._down(e)}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,e=this.compare,h=i[t];t>0;){var n=t-1>>1,a=i[n];if(e(h,a)>=0)break;i[t]=a,t=n}i[t]=h},_down:function(t){for(var i=this.data,e=this.compare,h=this.length,n=h>>1,a=i[t];t=0)break;i[t]=r,t=s}i[t]=a}}},{}],43:[function(_dereq_,module,exports){"function"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}},{}],44:[function(_dereq_,module,exports){module.exports=function(o){return o&&"object"==typeof o&&"function"==typeof o.copy&&"function"==typeof o.fill&&"function"==typeof o.readUInt8}},{}],45:[function(_dereq_,module,exports){(function(process,global){function inspect(e,r){var t={seen:[],stylize:function(e,r){return e}};return arguments.length>=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=function(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}),formatValue(t,e,t.depth)}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=function(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}(e,r);if(i)return i;var o=Object.keys(r),s=function(e){var r={};return o.forEach(function(e,t){r[e]=!0}),r}();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 p,c="",a=!1,l=["{","}"];return isArray(r)&&(a=!0,l=["[","]"]),isFunction(r)&&(c=" [Function"+(r.name?": "+r.name:"")+"]"),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?t<0?isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),p=a?function(e,r,t,n,i){for(var o=[],s=0,u=r.length;s60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}(p,c,l)):l[0]+c+l[1]}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatProperty(e,r,t,n,i,o){var s,u,c;if((c=Object.getOwnPropertyDescriptor(r,i)||{value:r[i]}).get?u=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(u=e.stylize("[Setter]","special")),hasOwnProperty(n,i)||(s="["+i+"]"),u||(e.seen.indexOf(c.value)<0?(u=isNull(t)?formatValue(e,c.value,null):formatValue(e,c.value,t-1)).indexOf("\n")>-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)).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 isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==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 objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}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>31}var Pbf=_dereq_("pbf"),GeoJSONWrapper=_dereq_("./lib/geojson_wrapper");module.exports=fromVectorTileJs,module.exports.fromVectorTileJs=fromVectorTileJs,module.exports.fromGeojsonVt=function(e){var r={};for(var t in e)r[t]=new GeoJSONWrapper(e[t].features),r[t].name=t;return fromVectorTileJs({layers:r})},module.exports.GeoJSONWrapper=GeoJSONWrapper},{"./lib/geojson_wrapper":47,pbf:38}],47:[function(_dereq_,module,exports){"use strict";function GeoJSONWrapper(e){this.features=e,this.length=e.length}function FeatureWrapper(e){this.id="number"==typeof e.id?e.id:void 0,this.type=e.type,this.rawGeometry=1===e.type?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=4096}var Point=_dereq_("@mapbox/point-geometry"),VectorTileFeature=_dereq_("@mapbox/vector-tile").VectorTileFeature;module.exports=GeoJSONWrapper,GeoJSONWrapper.prototype.feature=function(e){return new FeatureWrapper(this.features[e])},FeatureWrapper.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var t=0;t=EXTENT||c<0||c>=EXTENT)){var l=t.segments.prepareSegment(4,t.layoutVertexArray,t.indexArray),p=l.vertexLength;addCircleVertex(t.layoutVertexArray,s,c,-1,-1),addCircleVertex(t.layoutVertexArray,s,c,1,-1),addCircleVertex(t.layoutVertexArray,s,c,1,1),addCircleVertex(t.layoutVertexArray,s,c,-1,1),t.indexArray.emplaceBack(p,p+1,p+2),t.indexArray.emplaceBack(p,p+3,p+2),l.vertexLength+=4,l.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)},CircleBucket.programInterface=circleInterface,module.exports=CircleBucket},{"../../gl/index_buffer":71,"../../gl/vertex_buffer":72,"../extent":58,"../index_array_type":60,"../load_geometry":61,"../program_configuration":63,"../segment":65,"../vertex_array_type":66}],53:[function(_dereq_,module,exports){"use strict";var SegmentVector=_dereq_("../segment").SegmentVector,VertexBuffer=_dereq_("../../gl/vertex_buffer"),IndexBuffer=_dereq_("../../gl/index_buffer"),ProgramConfigurationSet=_dereq_("../program_configuration").ProgramConfigurationSet,createVertexArrayType=_dereq_("../vertex_array_type"),ref$2=_dereq_("../index_array_type"),LineIndexArray=ref$2.LineIndexArray,TriangleIndexArray=ref$2.TriangleIndexArray,loadGeometry=_dereq_("../load_geometry"),earcut=_dereq_("earcut"),classifyRings=_dereq_("../../util/classify_rings"),fillInterface={layoutAttributes:[{name:"a_pos",components:2,type:"Int16"}],indexArrayType:TriangleIndexArray,indexArrayType2:LineIndexArray,paintAttributes:[{property:"fill-color"},{property:"fill-outline-color"},{property:"fill-opacity"}]},LayoutVertexArrayType=createVertexArrayType(fillInterface.layoutAttributes),FillBucket=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.layoutVertexArray=new LayoutVertexArrayType(e.layoutVertexArray),this.indexArray=new TriangleIndexArray(e.indexArray),this.indexArray2=new LineIndexArray(e.indexArray2),this.programConfigurations=new ProgramConfigurationSet(fillInterface,e.layers,e.zoom,e.programConfigurations),this.segments=new SegmentVector(e.segments),this.segments2=new SegmentVector(e.segments2)};FillBucket.prototype.populate=function(e,r){for(var t=this,i=0,a=e;i=1){var h=f[p-1];if(!function(e,r){return e.x===r.x&&(e.x<0||e.x>EXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}(d,h)){y.vertexLength+4>MAX_VERTEX_ARRAY_LENGTH&&(y=t.segments.prepareSegment(4,t.layoutVertexArray,t.indexArray));var A=d.sub(h)._perp()._unit();addVertex(t.layoutVertexArray,d.x,d.y,A.x,A.y,0,0,g),addVertex(t.layoutVertexArray,d.x,d.y,A.x,A.y,0,1,g),g+=h.dist(d),addVertex(t.layoutVertexArray,h.x,h.y,A.x,A.y,0,0,g),addVertex(t.layoutVertexArray,h.x,h.y,A.x,A.y,0,1,g);var c=y.vertexLength;t.indexArray.emplaceBack(c,c+1,c+2),t.indexArray.emplaceBack(c+1,c+2,c+3),y.vertexLength+=4,y.primitiveLength+=2}}}}y.vertexLength+o>MAX_VERTEX_ARRAY_LENGTH&&(y=t.segments.prepareSegment(o,t.layoutVertexArray,t.indexArray));for(var m=[],V=[],E=y.vertexLength,_=0,v=n;_>6)}var SegmentVector=_dereq_("../segment").SegmentVector,VertexBuffer=_dereq_("../../gl/vertex_buffer"),IndexBuffer=_dereq_("../../gl/index_buffer"),ProgramConfigurationSet=_dereq_("../program_configuration").ProgramConfigurationSet,createVertexArrayType=_dereq_("../vertex_array_type"),TriangleIndexArray=_dereq_("../index_array_type").TriangleIndexArray,loadGeometry=_dereq_("../load_geometry"),EXTENT=_dereq_("../extent"),vectorTileFeatureTypes=_dereq_("@mapbox/vector-tile").VectorTileFeature.types,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(Math.PI/180*37.5),LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,14)/LINE_DISTANCE_SCALE,lineInterface={layoutAttributes:[{name:"a_pos_normal",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],paintAttributes:[{property:"line-color"},{property:"line-blur"},{property:"line-opacity"},{property:"line-gap-width",name:"gapwidth"},{property:"line-offset"},{property:"line-width"},{property:"line-width",name:"floorwidth",useIntegerZoom:!0}],indexArrayType:TriangleIndexArray},LayoutVertexArrayType=createVertexArrayType(lineInterface.layoutAttributes),LineBucket=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.layoutVertexArray=new LayoutVertexArrayType(e.layoutVertexArray),this.indexArray=new TriangleIndexArray(e.indexArray),this.programConfigurations=new ProgramConfigurationSet(lineInterface,e.layers,e.zoom,e.programConfigurations),this.segments=new SegmentVector(e.segments)};LineBucket.prototype.populate=function(e,t){for(var r=this,i=0,a=e;i=2&&e[u-1].equals(e[u-2]);)u--;for(var d=0;dd){var T=p.dist(_);if(T>2*l){var B=p.sub(p.sub(_)._mult(l/T)._round());s.distance+=B.dist(_),s.addCurrentVertex(B,s.distance,v.mult(1),0,0,!1,h),_=B}}var b=_&&A,N=b?r:A?x:m;if(b&&"round"===N&&(Sa&&(N="bevel"),"bevel"===N&&(S>2&&(N="flipbevel"),S100)L=V.clone().mult(-1);else{var k=v.x*V.y-v.y*V.x>0?-1:1,R=S*v.add(V).mag()/v.sub(V).mag();L._perp()._mult(R*k)}s.addCurrentVertex(p,s.distance,L,0,0,!1,h),s.addCurrentVertex(p,s.distance,L.mult(-1),0,0,!1,h)}else if("bevel"===N||"fakeround"===N){var F=v.x*V.y-v.y*V.x>0,q=-Math.sqrt(S*S-1);if(F?(f=0,c=q):(c=0,f=q),g||s.addCurrentVertex(p,s.distance,v,c,f,!1,h),"fakeround"===N){for(var P=Math.floor(8*(.5-(E-.5))),z=void 0,w=0;w=0;D--)z=v.mult((D+1)/(P+1))._add(V)._unit(),s.addPieSliceVertex(p,s.distance,z,F,h)}A&&s.addCurrentVertex(p,s.distance,V,-c,-f,!1,h)}else"butt"===N?(g||s.addCurrentVertex(p,s.distance,v,0,0,!1,h),A&&s.addCurrentVertex(p,s.distance,V,0,0,!1,h)):"square"===N?(g||(s.addCurrentVertex(p,s.distance,v,1,1,!1,h),s.e1=s.e2=-1),A&&s.addCurrentVertex(p,s.distance,V,-1,-1,!1,h)):"round"===N&&(g||(s.addCurrentVertex(p,s.distance,v,0,0,!1,h),s.addCurrentVertex(p,s.distance,v,1,1,!0,h),s.e1=s.e2=-1),A&&(s.addCurrentVertex(p,s.distance,V,-1,-1,!0,h),s.addCurrentVertex(p,s.distance,V,0,0,!1,h)));if(I&&C2*l){var O=p.add(A.sub(p)._mult(l/M)._round());s.distance+=O.dist(p),s.addCurrentVertex(O,s.distance,V.mult(1),0,0,!1,h),p=O}}g=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)}},LineBucket.prototype.addCurrentVertex=function(e,t,r,i,a,n,s){var o,u=this.layoutVertexArray,d=this.indexArray;o=r.clone(),i&&o._sub(r.perp()._mult(i)),addLineVertex(u,e,o,n,!1,i,t),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(d.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,o=r.mult(-1),a&&o._sub(r.perp()._mult(a)),addLineVertex(u,e,o,n,!0,-a,t),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(d.emplaceBack(this.e1,this.e2,this.e3),s.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,s))},LineBucket.prototype.addPieSliceVertex=function(e,t,r,i,a){r=r.mult(i?-1:1);var n=this.layoutVertexArray,s=this.indexArray;addLineVertex(n,e,r,!1,i,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},LineBucket.programInterface=lineInterface,module.exports=LineBucket},{"../../gl/index_buffer":71,"../../gl/vertex_buffer":72,"../extent":58,"../index_array_type":60,"../load_geometry":61,"../program_configuration":63,"../segment":65,"../vertex_array_type":66,"@mapbox/vector-tile":6}],57:[function(_dereq_,module,exports){"use strict";function addVertex(e,t,o,r,a,i,n,l){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i,n,l?l[0]:void 0,l?l[1]:void 0)}function addDynamicAttributes(e,t,o,r){var a=2*Math.PI,i=packUint8ToFloat((o+a)%a/a*255,10*r);e.emplaceBack(t.x,t.y,i),e.emplaceBack(t.x,t.y,i),e.emplaceBack(t.x,t.y,i),e.emplaceBack(t.x,t.y,i)}function addCollisionBoxVertex(e,t,o,r,a,i){return e.emplaceBack(t.x,t.y,o.x,o.y,Math.round(r.x),Math.round(r.y),10*a,10*i)}function getSizeVertexData(e,t,o,r,a){if("source"===o.functionType)return[10*e.getLayoutValue(r,{},a)];if("composite"===o.functionType){var i=o.coveringZoomRange;return[10*e.getLayoutValue(r,{zoom:i[0]},a),10*e.getLayoutValue(r,{zoom:i[1]},a)]}return null}var Point=_dereq_("@mapbox/point-geometry"),SegmentVector=_dereq_("../segment").SegmentVector,VertexBuffer=_dereq_("../../gl/vertex_buffer"),IndexBuffer=_dereq_("../../gl/index_buffer"),ProgramConfigurationSet=_dereq_("../program_configuration").ProgramConfigurationSet,createVertexArrayType=_dereq_("../vertex_array_type"),ref$2=_dereq_("../index_array_type"),TriangleIndexArray=ref$2.TriangleIndexArray,LineIndexArray=ref$2.LineIndexArray,EXTENT=_dereq_("../extent"),packUint8ToFloat=_dereq_("../../shaders/encode_attribute").packUint8ToFloat,Anchor=_dereq_("../../symbol/anchor"),getAnchors=_dereq_("../../symbol/get_anchors"),resolveTokens=_dereq_("../../util/token"),ref$4=_dereq_("../../symbol/quads"),getGlyphQuads=ref$4.getGlyphQuads,getIconQuads=ref$4.getIconQuads,ref$5=_dereq_("../../symbol/shaping"),shapeText=ref$5.shapeText,shapeIcon=ref$5.shapeIcon,WritingMode=ref$5.WritingMode,transformText=_dereq_("../../symbol/transform_text"),mergeLines=_dereq_("../../symbol/mergelines"),clipLine=_dereq_("../../symbol/clip_line"),util=_dereq_("../../util/util"),scriptDetection=_dereq_("../../util/script_detection"),loadGeometry=_dereq_("../load_geometry"),CollisionFeature=_dereq_("../../symbol/collision_feature"),findPoleOfInaccessibility=_dereq_("../../util/find_pole_of_inaccessibility"),classifyRings=_dereq_("../../util/classify_rings"),vectorTileFeatureTypes=_dereq_("@mapbox/vector-tile").VectorTileFeature.types,createStructArrayType=_dereq_("../../util/struct_array"),verticalizePunctuation=_dereq_("../../util/verticalize_punctuation"),getSizeData=_dereq_("../../symbol/symbol_size").getSizeData,PlacedSymbolArray=createStructArrayType({members:[{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Float32",name:"placementZoom"},{type:"Uint8",name:"vertical"}]}),GlyphOffsetArray=createStructArrayType({members:[{type:"Float32",name:"offsetX"}]}),LineVertexArray=createStructArrayType({members:[{type:"Int16",name:"x"},{type:"Int16",name:"y"}]}),layoutAttributes=[{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"}],dynamicLayoutAttributes=[{name:"a_projected_pos",components:3,type:"Float32"}],symbolInterfaces={text:{layoutAttributes:layoutAttributes,dynamicLayoutAttributes:dynamicLayoutAttributes,indexArrayType:TriangleIndexArray,paintAttributes:[{property:"text-color",name:"fill_color"},{property:"text-halo-color",name:"halo_color"},{property:"text-halo-width",name:"halo_width"},{property:"text-halo-blur",name:"halo_blur"},{property:"text-opacity",name:"opacity"}]},icon:{layoutAttributes:layoutAttributes,dynamicLayoutAttributes:dynamicLayoutAttributes,indexArrayType:TriangleIndexArray,paintAttributes:[{property:"icon-color",name:"fill_color"},{property:"icon-halo-color",name:"halo_color"},{property:"icon-halo-width",name:"halo_width"},{property:"icon-halo-blur",name:"halo_blur"},{property:"icon-opacity",name:"opacity"}]},collisionBox:{layoutAttributes:[{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"},{name:"a_data",components:2,type:"Uint8"}],indexArrayType:LineIndexArray}},SymbolBuffers=function(e,t,o,r){this.programInterface=e;var a=createVertexArrayType(e.layoutAttributes),i=e.indexArrayType;if(this.layoutVertexArray=new a(r&&r.layoutVertexArray),this.indexArray=new i(r&&r.indexArray),this.programConfigurations=new ProgramConfigurationSet(e,t,o,r&&r.programConfigurations),this.segments=new SegmentVector(r&&r.segments),e.dynamicLayoutAttributes){var n=createVertexArrayType(e.dynamicLayoutAttributes);this.dynamicLayoutVertexArray=new n(r&&r.dynamicLayoutVertexArray)}};SymbolBuffers.prototype.serialize=function(e){return{layoutVertexArray:this.layoutVertexArray.serialize(e),indexArray:this.indexArray.serialize(e),programConfigurations:this.programConfigurations.serialize(e),segments:this.segments.get(),dynamicLayoutVertexArray:this.dynamicLayoutVertexArray&&this.dynamicLayoutVertexArray.serialize(e)}},SymbolBuffers.prototype.upload=function(e){this.layoutVertexBuffer=new VertexBuffer(e,this.layoutVertexArray),this.indexBuffer=new IndexBuffer(e,this.indexArray),this.programConfigurations.upload(e),this.programInterface.dynamicLayoutAttributes&&(this.dynamicLayoutVertexBuffer=new VertexBuffer(e,this.dynamicLayoutVertexArray,!0))},SymbolBuffers.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer&&this.dynamicLayoutVertexBuffer.destroy())};var SymbolBucket=function(e){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.pixelRatio=e.pixelRatio,e.text)this.text=new SymbolBuffers(symbolInterfaces.text,e.layers,e.zoom,e.text),this.icon=new SymbolBuffers(symbolInterfaces.icon,e.layers,e.zoom,e.icon),this.collisionBox=new SymbolBuffers(symbolInterfaces.collisionBox,e.layers,e.zoom,e.collisionBox),this.textSizeData=e.textSizeData,this.iconSizeData=e.iconSizeData,this.placedGlyphArray=new PlacedSymbolArray(e.placedGlyphArray),this.placedIconArray=new PlacedSymbolArray(e.placedIconArray),this.glyphOffsetArray=new GlyphOffsetArray(e.glyphOffsetArray),this.lineVertexArray=new LineVertexArray(e.lineVertexArray);else{var t=this.layers[0];this.textSizeData=getSizeData(this.zoom,t,"text-size"),this.iconSizeData=getSizeData(this.zoom,t,"icon-size")}};SymbolBucket.prototype.populate=function(e,t){var r=this.layers[0],a=r.layout,i=a["text-font"],n=(!r.isLayoutValueFeatureConstant("text-field")||a["text-field"])&&i,l=!r.isLayoutValueFeatureConstant("icon-image")||a["icon-image"];if(this.features=[],n||l){for(var s=t.iconDependencies,y=t.glyphDependencies,c=y[i]=y[i]||{},u={zoom:this.zoom},x=0,m=e;xEXTENT||n.y<0||n.y>EXTENT);if(!d||y){var c=y||I;a.addSymbolInstance(n,i,t,o,a.layers[0],c,a.collisionBoxArray,e.index,e.sourceLayerIndex,a.index,x,f,A,l,p,g,v,s,{zoom:a.zoom},e,r)}};if("line"===c["symbol-placement"])for(var V=0,L=clipLine(e.geometry,0,0,EXTENT,EXTENT);V=0;i--)if(o.dist(a[i])1*Math.PI/4&&v<=3*Math.PI/4||v>5*Math.PI/4&&v<=7*Math.PI/4,S=Boolean(y&WritingMode.vertical)&&I,B=0,z=t;BSymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),M>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:L,textBoxEndIndex:T,iconBoxStartIndex:w,iconBoxEndIndex:M,glyphQuads:B,iconQuads:S,textOffset:m,iconOffset:f,anchor:e,line:t,featureIndex:l,feature:b,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,SymbolBucket.addDynamicAttributes=addDynamicAttributes,module.exports=SymbolBucket},{"../../gl/index_buffer":71,"../../gl/vertex_buffer":72,"../../shaders/encode_attribute":97,"../../symbol/anchor":196,"../../symbol/clip_line":198,"../../symbol/collision_feature":200,"../../symbol/get_anchors":202,"../../symbol/mergelines":203,"../../symbol/quads":205,"../../symbol/shaping":206,"../../symbol/symbol_size":207,"../../symbol/transform_text":208,"../../util/classify_rings":234,"../../util/find_pole_of_inaccessibility":240,"../../util/script_detection":247,"../../util/struct_array":249,"../../util/token":251,"../../util/util":252,"../../util/verticalize_punctuation":254,"../extent":58,"../index_array_type":60,"../load_geometry":61,"../program_configuration":63,"../segment":65,"../vertex_array_type":66,"@mapbox/point-geometry":2,"@mapbox/vector-tile":6}],58:[function(_dereq_,module,exports){"use strict";module.exports=8192},{}],59:[function(_dereq_,module,exports){"use strict";_dereq_("@mapbox/point-geometry");var loadGeometry=_dereq_("./load_geometry"),EXTENT=_dereq_("./extent"),featureFilter=_dereq_("../style-spec/feature_filter"),createStructArrayType=_dereq_("../util/struct_array"),Grid=_dereq_("grid-index"),DictionaryCoder=_dereq_("../util/dictionary_coder"),vt=_dereq_("@mapbox/vector-tile"),Protobuf=_dereq_("pbf"),GeoJSONFeature=_dereq_("../util/vectortile_to_geojson"),arraysIntersect=_dereq_("../util/util").arraysIntersect,FeatureIndexArray=createStructArrayType({members:[{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]}),FeatureIndex=function(e,r,t,a){this.coord=e,this.overscaling=r,this.x=e.x,this.y=e.y,this.z=e.z-Math.log(r)/Math.LN2,this.grid=t||new Grid(EXTENT,16,0),this.featureIndexArray=a||new FeatureIndexArray};FeatureIndex.deserialize=function(e,r,t){var a=new FeatureIndex(e.coord,e.overscaling,new Grid(e.grid),new FeatureIndexArray(e.featureIndexArray));return a.rawTileData=r,a.bucketLayerIDs=e.bucketLayerIDs,a.setCollisionTile(t),a},FeatureIndex.prototype.insert=function(e,r,t,a,i){var n=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(t,a,i);for(var s=0;sbounds_max||a.ybounds_max)&&util.warnOnce("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}},{"../util/util":252,"./extent":58}],62:[function(_dereq_,module,exports){"use strict";var PosArray=_dereq_("../util/struct_array")({members:[{name:"a_pos",type:"Int16",components:2}]});module.exports=PosArray},{"../util/struct_array":249}],63:[function(_dereq_,module,exports){"use strict";function packColor(r){return[packUint8ToFloat(255*r[0],255*r[1]),packUint8ToFloat(255*r[2],255*r[3])]}var createVertexArrayType=_dereq_("./vertex_array_type"),packUint8ToFloat=_dereq_("../shaders/encode_attribute").packUint8ToFloat,VertexBuffer=_dereq_("../gl/vertex_buffer"),ConstantBinder=function(r,t,o,e){this.name=r,this.type=t,this.property=o,this.useIntegerZoom=e};ConstantBinder.prototype.defines=function(){return["#define HAS_UNIFORM_u_"+this.name]},ConstantBinder.prototype.populatePaintArray=function(){},ConstantBinder.prototype.setUniforms=function(r,t,o,e){var n=e.zoom,i=o.getPaintValue(this.property,{zoom:this.useIntegerZoom?Math.floor(n):n});"color"===this.type?r.uniform4fv(t.uniforms["u_"+this.name],i):r.uniform1f(t.uniforms["u_"+this.name],i)};var SourceFunctionBinder=function(r,t,o){this.name=r,this.type=t,this.property=o};SourceFunctionBinder.prototype.defines=function(){return[]},SourceFunctionBinder.prototype.populatePaintArray=function(r,t,o,e,n,i){var a=this,s=r.getPaintValue(this.property,{zoom:0},i);if("color"===this.type)for(var p=packColor(s),u=e;uMAX_VERTEX_ARRAY_LENGTH&&warnOnce("Max vertices per segment is "+MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+e),(!n||n.vertexLength+e>module.exports.MAX_VERTEX_ARRAY_LENGTH)&&(n={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},this.segments.push(n)),n},SegmentVector.prototype.get=function(){return this.segments},SegmentVector.prototype.destroy=function(){for(var t=0,r=this.segments;t90||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.prototype.toBounds=function(t){var n=360*t/40075017,r=n/Math.cos(Math.PI/180*this.lat);return new(_dereq_("./lng_lat_bounds"))(new LngLat(this.lng-r,this.lat-n),new LngLat(this.lng+r,this.lat+n))},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(Array.isArray(t)&&2===t.length)return new LngLat(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new LngLat(Number(t.lng),Number(t.lat));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":252,"./lng_lat_bounds":69}],69:[function(_dereq_,module,exports){"use strict";var LngLat=_dereq_("./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=t instanceof LngLat?new LngLat(t.lng,t.lat):LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=t instanceof LngLat?new LngLat(t.lng,t.lat):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":68}],70:[function(_dereq_,module,exports){"use strict";var LngLat=_dereq_("./lng_lat"),Point=_dereq_("@mapbox/point-geometry"),Coordinate=_dereq_("./coordinate"),util=_dereq_("../util/util"),interp=_dereq_("../style-spec/util/interpolate"),TileCoord=_dereq_("../source/tile_coord"),EXTENT=_dereq_("../data/extent"),glmatrix=_dereq_("@mapbox/gl-matrix"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,o,i){this.tileSize=512,this._renderWorldCopies=void 0===i||i,this._minZoom=t||0,this._maxZoom=o||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:{},renderWorldCopies:{},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.renderWorldCopies.get=function(){return this._renderWorldCopies},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 o=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==o&&(this._unmodified=!1,this.angle=o,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 o=util.clamp(t,0,60)/180*Math.PI;this._pitch!==o&&(this._unmodified=!1,this._pitch=o,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 o=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==o&&(this._unmodified=!1,this._zoom=o,this.scale=this.zoomScale(o),this.tileZoom=Math.floor(o),this.zoomFraction=o-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.getVisibleWrappedCoordinates=function(t){for(var o=this.pointCoordinate(new Point(0,0),0),i=this.pointCoordinate(new Point(this.width,0),0),e=Math.floor(o.column),r=Math.floor(i.column),n=[t],s=e;s<=r;s++)0!==s&&n.push(new TileCoord(t.z,t.x,t.y,s));return n},Transform.prototype.coveringTiles=function(t){var o=this.coveringZoomLevel(t),i=o;if(void 0!==t.minzoom&&ot.maxzoom&&(o=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,o),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),o),this.pointCoordinate(new Point(this.width,0),o),this.pointCoordinate(new Point(this.width,this.height),o),this.pointCoordinate(new Point(0,this.height),o)];return TileCoord.cover(o,n,t.reparseOverscaled?i:o,this._renderWorldCopies).sort(function(t,o){return r.dist(t)-r.dist(o)})},Transform.prototype.resize=function(t,o){this.width=t,this.height=o,this.pixelsToGLUnits=[2/t,-2/o],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){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var o=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(o*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,o){var i=this.pointCoordinate(o)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(i)),this._renderWorldCopies&&(this.center=this.center.wrap())},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 o=t.zoomTo(this.zoom);return new LngLat(this.xLng(o.column*this.tileSize),this.yLat(o.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,o){void 0===o&&(o=this.tileZoom);var i=[t.x,t.y,0,1],e=[t.x,t.y,1,1];vec4.transformMat4(i,i,this.pixelMatrixInverse),vec4.transformMat4(e,e,this.pixelMatrixInverse);var r=i[3],n=e[3],h=i[1]/r,c=e[1]/n,m=i[2]/r,p=e[2]/n,l=m===p?0:(0-m)/(p-m);return new Coordinate(interp(i[0]/r,e[0]/n,l)/this.tileSize,interp(h,c,l)/this.tileSize,this.zoom)._zoomTo(o)},Transform.prototype.coordinatePoint=function(t){var o=t.zoomTo(this.zoom),i=[o.column*this.tileSize,o.row*this.tileSize,0,1];return vec4.transformMat4(i,i,this.pixelMatrix),new Point(i[0]/i[3],i[1]/i[3])},Transform.prototype.calculatePosMatrix=function(t,o){var i=t.toCoordinate(o),e=this.worldSize/this.zoomScale(i.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[i.column*e,i.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype.cameraToTileDistance=function(t){var o=this.calculatePosMatrix(t.coord,t.sourceMaxZoom),i=[t.tileSize/2,t.tileSize/2,0,1];return vec4.transformMat4(i,i,o),i[3]},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,o,i,e,r=-90,n=90,s=-180,a=180,h=this.size,c=this._unmodified;if(this.latRange){var m=this.latRange;r=this.latY(m[1]),t=(n=this.latY(m[0]))-rn&&(e=n-f)}if(this.lngRange){var d=this.x,g=h.x/2;d-ga&&(i=a-g)}void 0===i&&void 0===e||(this.center=this.unproject(new Point(void 0!==i?i:this.x,void 0!==e?e: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,o=Math.PI/2+this._pitch,i=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-o-t),r=1.01*(Math.cos(Math.PI/2-this._pitch)*i+this.cameraToCenterDistance),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)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform},{"../data/extent":58,"../source/tile_coord":113,"../style-spec/util/interpolate":152,"../util/util":252,"./coordinate":67,"./lng_lat":68,"@mapbox/gl-matrix":1,"@mapbox/point-geometry":2}],71:[function(_dereq_,module,exports){"use strict";var IndexBuffer=function(e,r){this.gl=e,this.buffer=e.createBuffer(),void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension("OES_vertex_array_object")),e.extVertexArrayObject&&e.extVertexArrayObject.bindVertexArrayOES(null),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.buffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,r.arrayBuffer,e.STATIC_DRAW),delete r.arrayBuffer};IndexBuffer.prototype.bind=function(){this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,this.buffer)},IndexBuffer.prototype.destroy=function(){this.buffer&&(this.gl.deleteBuffer(this.buffer),delete this.buffer)},module.exports=IndexBuffer},{}],72:[function(_dereq_,module,exports){"use strict";var AttributeType={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},VertexBuffer=function(t,e,r){this.length=e.length,this.attributes=e.members,this.itemSize=e.bytesPerElement,this.dynamicDraw=r,this.gl=t,this.buffer=t.createBuffer(),this.gl.bindBuffer(t.ARRAY_BUFFER,this.buffer),this.gl.bufferData(t.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?t.DYNAMIC_DRAW:t.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};VertexBuffer.prototype.bind=function(){this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffer)},VertexBuffer.prototype.updateData=function(t){this.bind(),this.gl.bufferSubData(this.gl.ARRAY_BUFFER,0,t.arrayBuffer)},VertexBuffer.prototype.enableAttributes=function(t,e){for(var i=0;i":[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/extent":58,"../data/pos_array":62,"../gl/vertex_buffer":72,"../util/browser":231,"./vertex_array_object":96,"@mapbox/gl-matrix":1}],78:[function(_dereq_,module,exports){"use strict";function drawFillTiles(r,t,e,i,a){if(!pattern.isPatternMissing(e.paint["fill-pattern"],r))for(var l=!0,n=0,o=i;n0?1-1/(1.001-r):-r}(t.paint["raster-saturation"])),i.uniform1f(n.uniforms.u_contrast_factor,function(r){return r>0?1/(1-r):1+r}(t.paint["raster-contrast"])),i.uniform3fv(n.uniforms.u_spin_weights,function(r){r*=Math.PI/180;var e=Math.sin(r),t=Math.cos(r);return[(2*t+1)/3,(-Math.sqrt(3)*e-t+1)/3,(Math.sqrt(3)*e-t+1)/3]}(t.paint["raster-hue-rotate"])),i.uniform1f(n.uniforms.u_buffer_scale,1),i.uniform1i(n.uniforms.u_image0,0),i.uniform1i(n.uniforms.u_image1,1);for(var s=a.length&&a[0].z,u=0,f=a;u0){var n=Date.now(),s=(n-r.timeAdded)/o,u=e?(n-e.timeAdded)/o:-1,f=t.getSource(),d=i.coveringZoomLevel({tileSize:f.tileSize,roundZoom:f.roundZoom}),m=!e||Math.abs(e.coord.z-d)>Math.abs(r.coord.z-d),c=m&&r.refreshedUponExpiration?1:util.clamp(m?s:1-u,0,1);return r.refreshedUponExpiration&&s>=1&&(r.refreshedUponExpiration=!1),e?{opacity:1,mix:1-c}:{opacity:c,mix:0}}return{opacity:1,mix:0}}(m,_,e,t,r.transform),E=void 0,l=void 0;if(i.activeTexture(i.TEXTURE0),m.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),i.activeTexture(i.TEXTURE1),_?(_.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),E=Math.pow(2,_.coord.z-m.coord.z),l=[m.coord.x*E%1,m.coord.y*E%1]):m.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),i.uniform2fv(n.uniforms.u_tl_parent,l||[0,0]),i.uniform1f(n.uniforms.u_scale_parent,E||1),i.uniform1f(n.uniforms.u_fade_t,p.mix),i.uniform1f(n.uniforms.u_opacity,p.opacity*t.paint["raster-opacity"]),o instanceof ImageSource){var g=o.boundsBuffer;o.boundsVAO.bind(i,n,g),i.drawArrays(i.TRIANGLE_STRIP,0,g.length)}else if(m.maskedBoundsBuffer&&m.maskedIndexBuffer&&m.segments)n.draw(i,i.TRIANGLES,t.id,m.maskedBoundsBuffer,m.maskedIndexBuffer,m.segments);else{var h=r.rasterBoundsBuffer;r.rasterBoundsVAO.bind(i,n,h),i.drawArrays(i.TRIANGLE_STRIP,0,h.length)}}i.depthFunc(i.LEQUAL)}}},{"../source/image_source":103,"../util/util":252}],83:[function(_dereq_,module,exports){"use strict";function drawLayerSymbols(t,o,i,e,a,r,n,s,u,l){var m=t.gl,f=t.transform,c="map"===s,_="map"===u,y=c&&"line"===i.layout["symbol-placement"],p=c&&!_&&!y,x=_;x?m.enable(m.DEPTH_TEST):m.disable(m.DEPTH_TEST);for(var T,b=0,d=e;bthis.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);r.opacities[a]=a<=t?r.changeOpacities[a]+o:r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.isVisible=function(e){return 0!==this.opacities[Math.floor(10*e)]},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},{}],85:[function(_dereq_,module,exports){"use strict";var ShelfPack=_dereq_("@mapbox/shelf-pack"),AlphaImage=_dereq_("../util/image").AlphaImage;module.exports={makeGlyphAtlas:function(a){var e=AlphaImage.create({width:0,height:0}),i={},t=new ShelfPack(0,0,{autoResize:!0});for(var h in a){var p=a[h],r=i[h]={};for(var m in p){var g=p[+m];if(g&&0!==g.bitmap.width&&0!==g.bitmap.height){var l=t.packOne(g.bitmap.width+2,g.bitmap.height+2);AlphaImage.resize(e,{width:t.w,height:t.h}),AlphaImage.copy(g.bitmap,e,{x:0,y:0},{x:l.x+1,y:l.y+1},g.bitmap),r[m]={rect:l,metrics:g.metrics}}}}return t.shrink(),AlphaImage.resize(e,{width:t.w,height:t.h}),{image:e,positions:i}}}},{"../util/image":242,"@mapbox/shelf-pack":3}],86:[function(_dereq_,module,exports){"use strict";var loadGlyphRange=_dereq_("../style/load_glyph_range"),TinySDF=_dereq_("@mapbox/tiny-sdf"),isChar=_dereq_("../util/is_char_in_unicode_block"),asyncAll=_dereq_("../util/util").asyncAll,AlphaImage=_dereq_("../util/image").AlphaImage,GlyphManager=function(r,e){this.requestTransform=r,this.localIdeographFontFamily=e,this.entries={}};GlyphManager.prototype.setURL=function(r){this.url=r},GlyphManager.prototype.getGlyphs=function(r,e){var t=this,i=[];for(var a in r)for(var l=0,n=r[a];l65535)e(new Error("glyphs > 65535 not supported"));else{var o=l.requests[s];o||(o=l.requests[s]=[],loadGlyphRange(i,s,t.url,t.requestTransform,function(r,e){if(e)for(var t in e)l.glyphs[+t]=e[+t];for(var i=0,a=o;ithis.height)return util.warnOnce("LineAtlas out of space"),null;for(var a=0,r=0;r=0;this.currentLayer--){var E=t.style._layers[s[t.currentLayer]];E.source!==(g&&g.id)&&(f=[],(g=t.style.sourceCaches[E.source])&&(t.clearStencil(),f=g.getVisibleCoordinates(),g.getSource().isTileClipped&&t._renderTileClippingMasks(f))),t.renderLayer(t,g,E,f)}this.renderPass="translucent";var T,_=[];for(this.gl.enable(this.gl.BLEND),this.currentLayer=0,this.currentLayer;this.currentLayer0?r.pop():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;e?(r.blendFunc(r.CONSTANT_COLOR,r.ONE),r.blendColor(1/8,1/8,1/8,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)):r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype._createProgramCached=function(e,r){this.cache=this.cache||{};var t=""+e+(r.cacheKey||"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[t]||(this.cache[t]=new Program(this.gl,shaders[e],r,this._showOverdrawInspector)),this.cache[t]},Painter.prototype.useProgram=function(e,r){var t=this.gl,i=this._createProgramCached(e,r||this.emptyProgramConfiguration);return this.currentProgram!==i&&(t.useProgram(i.program),this.currentProgram=i),i},module.exports=Painter},{"../data/extent":58,"../data/pos_array":62,"../data/program_configuration":63,"../data/raster_bounds_array":64,"../gl/vertex_buffer":72,"../shaders":98,"../source/pixels_to_tile_units":105,"../source/source_cache":110,"../util/browser":231,"../util/util":252,"./draw_background":74,"./draw_circle":75,"./draw_debug":77,"./draw_fill":78,"./draw_fill_extrusion":79,"./draw_heatmap":80,"./draw_line":81,"./draw_raster":82,"./draw_symbol":83,"./frame_history":84,"./program":92,"./render_texture":93,"./tile_mask":95,"./vertex_array_object":96,"@mapbox/gl-matrix":1}],91:[function(_dereq_,module,exports){"use strict";var pixelsToTileUnits=_dereq_("../source/pixels_to_tile_units");exports.isPatternMissing=function(r,i){if(!r)return!1;var e=i.imageManager.getPattern(r.from),o=i.imageManager.getPattern(r.to);return!e||!o},exports.prepare=function(r,i,e){var o=i.gl,t=i.imageManager.getPattern(r.from),n=i.imageManager.getPattern(r.to);o.uniform1i(e.uniforms.u_image,0),o.uniform2fv(e.uniforms.u_pattern_tl_a,t.tl),o.uniform2fv(e.uniforms.u_pattern_br_a,t.br),o.uniform2fv(e.uniforms.u_pattern_tl_b,n.tl),o.uniform2fv(e.uniforms.u_pattern_br_b,n.br);var u=i.imageManager.getPixelSize(),a=u.width,f=u.height;o.uniform2fv(e.uniforms.u_texsize,[a,f]),o.uniform1f(e.uniforms.u_mix,r.t),o.uniform2fv(e.uniforms.u_pattern_size_a,t.displaySize),o.uniform2fv(e.uniforms.u_pattern_size_b,n.displaySize),o.uniform1f(e.uniforms.u_scale_a,r.fromScale),o.uniform1f(e.uniforms.u_scale_b,r.toScale),o.activeTexture(o.TEXTURE0),i.imageManager.bind(o)},exports.setTile=function(r,i,e){var o=i.gl;o.uniform1f(e.uniforms.u_tile_units_to_pixels,1/pixelsToTileUnits(r,1,i.transform.tileZoom));var t=Math.pow(2,r.coord.z),n=r.tileSize*Math.pow(2,i.transform.tileZoom)/t,u=n*(r.coord.x+r.coord.w*t),a=n*r.coord.y;o.uniform2f(e.uniforms.u_pixel_coord_upper,u>>16,a>>16),o.uniform2f(e.uniforms.u_pixel_coord_lower,65535&u,65535&a)}},{"../source/pixels_to_tile_units":105}],92:[function(_dereq_,module,exports){"use strict";var browser=_dereq_("../util/browser"),shaders=_dereq_("../shaders"),VertexArrayObject=(_dereq_("../data/program_configuration").ProgramConfiguration,_dereq_("./vertex_array_object")),Program=function(r,e,t,a){var o=this;this.gl=r,this.program=r.createProgram();var i=t.defines().concat("#define DEVICE_PIXEL_RATIO "+browser.devicePixelRatio.toFixed(1));a&&i.push("#define OVERDRAW_INSPECTOR;");var n=i.concat(shaders.prelude.fragmentSource,e.fragmentSource).join("\n"),s=i.concat(shaders.prelude.vertexSource,e.vertexSource).join("\n"),m=r.createShader(r.FRAGMENT_SHADER);r.shaderSource(m,n),r.compileShader(m),r.attachShader(this.program,m);var g=r.createShader(r.VERTEX_SHADER);r.shaderSource(g,s),r.compileShader(g),r.attachShader(this.program,g);for(var c=t.interface?t.interface.layoutAttributes:[],u=0;u= v_max_zoom + v_perspective_zoom_adjust) {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\n }\n\n // Faded blue = the placement scale for this label is beyond the CollisionTile\n // max scale, so it's impossible for this label to show without collision detection\n // being run again (the label's glyphs haven't even been added to the symbol bucket)\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_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_data;\n\nuniform mat4 u_matrix;\nuniform float u_scale;\nuniform float u_pitch;\nuniform float u_collision_y_stretch;\nuniform float u_camera_to_center_distance;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\nvarying float v_perspective_zoom_adjust;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = 1.0 + 0.5 * ((camera_to_anchor_distance / u_camera_to_center_distance) - 1.0);\n\n highp float incidence_stretch = camera_to_anchor_distance / (u_camera_to_center_distance * cos(u_pitch));\n highp float collision_adjustment = max(1.0, incidence_stretch / u_collision_y_stretch);\n\n gl_Position = u_matrix * vec4(a_pos + a_extrude * collision_perspective_ratio * collision_adjustment / u_scale, 0.0, 1.0);\n\n v_max_zoom = a_data.x;\n v_placement_zoom = a_data.y;\n\n v_perspective_zoom_adjust = floor(log2(collision_perspective_ratio * collision_adjustment) * 10.0);\n v_fade_tex = vec2((v_placement_zoom + v_perspective_zoom_adjust) / 255.0, 0.0);\n}\n"},debug:{fragmentSource:"uniform highp 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, 0, 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp 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 highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp 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 highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.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 highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp 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 vec2 u_texsize;\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_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, 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 = 1.0 - smoothstep(0.0, 1.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 vec2 u_texsize;\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_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, 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 highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp 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 highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n base = max(0.0, base);\n height = max(0.0, height);\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 vec2 u_texsize;\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_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, 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 base = max(0.0, base);\n height = max(0.0, 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_image;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_image, 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 vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n v_pos.x = a_pos.x;\n v_pos.y = 1.0 - a_pos.y;\n}\n"},line:{fragmentSource:"#pragma mapbox: define highp 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 highp 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 vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\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 highp 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#pragma mapbox: define mediump float width\n\nvoid main() {\n #pragma mapbox: initialize highp 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 #pragma mapbox: initialize mediump float width\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\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 halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (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 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 vec2 u_texsize;\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_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, 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 vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\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#pragma mapbox: define mediump float width\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 #pragma mapbox: initialize mediump float width\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 vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\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 halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (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 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 highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\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 / floorwidth, 0.5 + u_sdfgamma / floorwidth, 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 vec4 a_pos_normal;\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;\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 highp 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#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp 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 #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\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 vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\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 halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (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 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 / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, 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 if (color0.a > 0.0) {\n color0.rgb = color0.rgb / color0.a;\n }\n if (color1.a > 0.0) {\n color1.rgb = color1.rgb / color1.a;\n }\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 // We are using Int16 for texture position coordinates to give us enough precision for\n // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\n // as an arbitrarily high number to preserve adequate precision when rendering.\n // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\n // so math for modifying either is consistent.\n v_pos0 = (((a_texture_pos / 8192.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:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\n\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\nuniform highp float u_camera_to_center_distance;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform highp float u_collision_y_stretch;\n\n#pragma mapbox: define lowp float opacity\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\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_data.xy;\n vec2 a_size = a_data.zw;\n\n highp vec2 angle_labelminzoom = unpack_float(a_projected_pos[2]);\n highp float segment_angle = -angle_labelminzoom[0] / 255.0 * 2.0 * PI;\n mediump float a_labelminzoom = angle_labelminzoom[1];\n\n float size;\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // See comments in symbol_sdf.vertex\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // See comments in symbol_sdf.vertex\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\n\n v_tex = a_tex / u_texsize;\n // See comments in symbol_sdf.vertex\n highp float incidence_stretch = camera_to_anchor_distance / (u_camera_to_center_distance * cos(u_pitch));\n highp float collision_adjustment = max(1.0, incidence_stretch / u_collision_y_stretch);\n\n highp float collision_perspective_ratio = 1.0 + 0.5*((camera_to_anchor_distance / u_camera_to_center_distance) - 1.0);\n highp float perspective_zoom_adjust = floor(log2(collision_perspective_ratio * collision_adjustment) * 10.0);\n v_fade_tex = vec2((a_labelminzoom + perspective_zoom_adjust) / 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 highp vec4 fill_color\n#pragma mapbox: define highp 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 highp float u_gamma_scale;\nuniform bool u_is_text;\n\nvarying vec4 v_data0;\nvarying vec2 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp 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 tex = v_data0.xy;\n vec2 fade_tex = v_data0.zw;\n float gamma_scale = v_data1.x;\n float size = v_data1.y;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / (fontScale * 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) / (fontScale * u_gamma_scale);\n buff = (6.0 - halo_width / fontScale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, tex).a;\n lowp float fade_alpha = texture2D(u_fadetexture, fade_tex).a;\n highp float gamma_scaled = gamma * 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 vec4 a_data;\nattribute vec3 a_projected_pos;\n\n// contents of a_size vary based on the type of property value\n// used for {text,icon}-size.\n// For constants, a_size is disabled.\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\n// For composite functions:\n// [ text-size(lowerZoomStop, feature),\n// text-size(upperZoomStop, feature) ]\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\n\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp 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 mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform highp float u_camera_to_center_distance;\nuniform highp float u_collision_y_stretch;\n\nuniform vec2 u_texsize;\n\nvarying vec4 v_data0;\nvarying vec2 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp 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_data.xy;\n vec2 a_size = a_data.zw;\n\n highp vec2 angle_labelminzoom = unpack_float(a_projected_pos[2]);\n highp float segment_angle = -angle_labelminzoom[0] / 255.0 * 2.0 * PI;\n mediump float a_labelminzoom = angle_labelminzoom[1];\n float size;\n\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // If the label is pitched with the map, layout is done in pitched space,\n // which makes labels in the distance smaller relative to viewport space.\n // We counteract part of that effect by multiplying by the perspective ratio.\n // If the label isn't pitched with the map, we do layout in viewport space,\n // which makes labels in the distance larger relative to the features around\n // them. We counteract part of that effect by dividing by the perspective ratio.\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\n // To figure out that angle in projected space, we draw a short horizontal line in tile\n // space, project it, and measure its angle in projected space.\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\n float gamma_scale = gl_Position.w;\n\n vec2 tex = a_tex / u_texsize;\n // incidence_stretch is the ratio of how much y space a label takes up on a tile while drawn perpendicular to the viewport vs\n // how much space it would take up if it were drawn flat on the tile\n // Using law of sines, camera_to_anchor/sin(ground_angle) = camera_to_center/sin(incidence_angle)\n // sin(incidence_angle) = 1/incidence_stretch\n // Incidence angle 90 -> head on, sin(incidence_angle) = 1, no incidence stretch\n // Incidence angle 1 -> very oblique, sin(incidence_angle) =~ 0, lots of incidence stretch\n // ground_angle = u_pitch + PI/2 -> sin(ground_angle) = cos(u_pitch)\n // This 2D calculation is only exactly correct when gl_Position.x is in the center of the viewport,\n // but it's a close enough approximation for our purposes\n highp float incidence_stretch = camera_to_anchor_distance / (u_camera_to_center_distance * cos(u_pitch));\n // incidence_stretch only applies to the y-axis, but without re-calculating the collision tile, we can't\n // adjust the size of only one axis. So, we do a crude approximation at placement time to get the aspect ratio\n // about right, and then do the rest of the adjustment here: there will be some extra padding on the x-axis,\n // but hopefully not too much.\n // Never make the adjustment less than 1.0: instead of allowing collisions on the x-axis, be conservative on\n // the y-axis.\n highp float collision_adjustment = max(1.0, incidence_stretch / u_collision_y_stretch);\n\n // Floor to 1/10th zoom to dodge precision issues that can cause partially hidden labels\n highp float collision_perspective_ratio = 1.0 + 0.5*((camera_to_anchor_distance / u_camera_to_center_distance) - 1.0);\n highp float perspective_zoom_adjust = floor(log2(collision_perspective_ratio * collision_adjustment) * 10.0);\n vec2 fade_tex = vec2((a_labelminzoom + perspective_zoom_adjust) / 255.0, 0.0);\n\n v_data0 = vec4(tex.x, tex.y, fade_tex.x, fade_tex.y);\n v_data1 = vec2(gamma_scale, size);\n}\n"}},re=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g;for(var programName in shaders)!function(e){var n=shaders[programName],a={};n.fragmentSource=n.fragmentSource.replace(re,function(e,n,t,o,i){return a[i]=!0,"define"===n?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+t+" "+o+" "+i+";\n#else\nuniform "+t+" "+o+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+t+" "+o+" "+i+" = u_"+i+";\n#endif\n"}),n.vertexSource=n.vertexSource.replace(re,function(e,n,t,o,i){var r="float"===o?"vec2":"vec4";return a[i]?"define"===n?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float a_"+i+"_t;\nattribute "+t+" "+r+" a_"+i+";\nvarying "+t+" "+o+" "+i+";\n#else\nuniform "+t+" "+o+" u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+r+"(a_"+i+", a_"+i+"_t);\n#else\n "+t+" "+o+" "+i+" = u_"+i+";\n#endif\n":"define"===n?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float a_"+i+"_t;\nattribute "+t+" "+r+" a_"+i+";\n#else\nuniform "+t+" "+o+" u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+t+" "+o+" "+i+" = unpack_mix_"+r+"(a_"+i+", a_"+i+"_t);\n#else\n "+t+" "+o+" "+i+" = u_"+i+";\n#endif\n"})}();module.exports=shaders},{}],99:[function(_dereq_,module,exports){"use strict";var ImageSource=_dereq_("./image_source"),window=_dereq_("../util/window"),CanvasSource=function(t){function i(i,a,s,n){t.call(this,i,a,s,n),this.options=a,this.animate=void 0===a.animate||a.animate}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.load=function(){if(this.canvas=this.canvas||window.document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions())return this.fire("error",new Error("Canvas dimensions cannot be less than or equal to zero."));var t;this.play=function(){void 0===t&&(t=this.map.style.animationLoop.set(1/0),this.map._rerender())},this.pause=function(){void 0!==t&&(t=this.map.style.animationLoop.cancel(t))},this._finishLoading()},i.prototype.getCanvas=function(){return this.canvas},i.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},i.prototype.onRemove=function(){this.pause()},i.prototype.prepare=function(){var t=!1;this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions()||0!==Object.keys(this.tiles).length&&this._prepareImage(this.map.painter.gl,this.canvas,t)},i.prototype.serialize=function(){return{type:"canvas",canvas:this.canvas,coordinates:this.coordinates}},i.prototype._hasInvalidDimensions=function(){for(var i=0,a=[this.canvas.width,this.canvas.height];ithis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,angle:this.map.transform.angle,pitch:this.map.transform.pitch,cameraToCenterDistance:this.map.transform.cameraToCenterDistance,cameraToTileDistance:this.map.transform.cameraToTileDistance(t),showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(r,i,function(r,i){if(t.unloadVectorData(),!t.aborted)return r?e(r):(t.loadVectorData(i,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 util.extend({},this._options,{type:this.type,data:this._data})},e}(Evented);module.exports=GeoJSONSource},{"../data/extent":58,"../util/ajax":230,"../util/browser":231,"../util/evented":239,"../util/util":252,"../util/window":233}],101:[function(_dereq_,module,exports){"use strict";var ajax=_dereq_("../util/ajax"),rewind=_dereq_("geojson-rewind"),GeoJSONWrapper=_dereq_("./geojson_wrapper"),vtpbf=_dereq_("vt-pbf"),supercluster=_dereq_("supercluster"),geojsonvt=_dereq_("geojson-vt"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t,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),i=vtpbf(u);0===i.byteOffset&&i.byteLength===i.buffer.byteLength||(i=new Uint8Array(i)),r(null,{vectorTile:u,rawData:i.buffer})}),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.loadData=function(e,r){var t=this;this.loadGeoJSON(e,function(o,n){if(o||!n)return r(o);if("object"!=typeof n)return r(new Error("Input data is not a valid GeoJSON object."));rewind(n,!0);try{t._geoJSONIndexes[e.source]=e.cluster?supercluster(e.superclusterOptions).load(n.features):geojsonvt(n,e.geojsonVtOptions)}catch(o){return r(o)}t.loaded[e.source]={},r(null)})},r.prototype.reloadTile=function(r,t){var o=this.loaded[r.source],n=r.uid;return o&&o[n]?e.prototype.reloadTile.call(this,r,t):this.loadTile(r,t)},r.prototype.loadGeoJSON=function(e,r){if(e.request)ajax.getJSON(e.request,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}(_dereq_("./vector_tile_worker_source"));module.exports=GeoJSONWorkerSource},{"../util/ajax":230,"./geojson_wrapper":102,"./vector_tile_worker_source":115,"geojson-rewind":14,"geojson-vt":18,supercluster:41,"vt-pbf":46}],102:[function(_dereq_,module,exports){"use strict";var Point=_dereq_("@mapbox/point-geometry"),toGeoJSON=_dereq_("@mapbox/vector-tile").VectorTileFeature.prototype.toGeoJSON,EXTENT=_dereq_("../data/extent"),FeatureWrapper=function(e){this._feature=e,this.extent=EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};FeatureWrapper.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],r=0,o=this._feature.geometry;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);if(!d)break;(a=i._tiles[d.id])&&a.hasData()&&(delete o[s],o[d.id]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){var s=e.parent(i._source.maxzoom);if(!s)return;e=s;var a=String(e.id),n=i._tiles[a];if(n&&n.hasData())return o[a]=!0,n;if(i._cache.has(a))return o[a]=!0,i._cache.getWithoutRemoving(a)}},t.prototype.updateCacheSize=function(e){var i=(Math.ceil(e.width/e.tileSize)+1)*(Math.ceil(e.height/e.tileSize)+1),r=Math.floor(5*i),s="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(s)},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this._coveredTiles={},this.used?this._source.coord?i=e.getVisibleWrappedCoordinates(this._source.coord):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter(function(e){return o._source.hasTile(e)}))):i=[];var p,r=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),s=Math.max(r-t.maxOverzooming,this._source.minzoom),a=Math.max(r+t.maxUnderzooming,this._source.minzoom),n=this._updateRetainedTiles(i,r),d={};if(function(e){return"raster"===e||"image"===e||"video"===e}(this._source.type))for(var h=Object.keys(n),u=0;u=Date.now())){o._findLoadedChildren(l,a,n)&&(n[c]=!0);var m=o.findLoadedParent(l,s,d);m&&o._addTile(m.coord)}}for(p in d)n[p]||(o._coveredTiles[p]=!0);for(p in d)n[p]=!0;for(var f=util.keysDifference(this._tiles,n),T=0;Tn._source.maxzoom){var l=r.children(n._source.maxzoom)[0],_=n.getTile(l);_&&_.hasData()?d[l.id]=!0:a=!1}else for(var m=r.children(n._source.maxzoom),p=0;p=u;--v){var y=r.scaledTo(v,n._source.maxzoom);if(h[y.id])break;if(h[y.id]=!0,!(s=n.getTile(y))&&c&&(s=n._addTile(y)),s&&(d[y.id]=!0,c=s.wasRequested(),s.hasData()))break}}}return d},t.prototype._addTile=function(e){var t=this._tiles[e.id];if(t)return t;(t=this._cache.get(e.id))&&(t.redoPlacement(this._source),this._cacheTimers[e.id]&&(clearTimeout(this._cacheTimers[e.id]),delete this._cacheTimers[e.id],this._setTileReloadTimer(e.id,t)));var o=Boolean(t);if(!o){var i=e.z,r=i>this._source.maxzoom?Math.pow(2,i-this._source.maxzoom):1;t=new Tile(e,this._source.tileSize*r,this._source.maxzoom),this._loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t?(t.uses++,this._tiles[e.id]=t,o||this._source.fire("dataloading",{tile:t,coord:t.coord,dataType:"source"}),t):null},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o._reloadTile(e,"expired"),delete o._timers[e]},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),delete o._cacheTimers[e]},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]),delete this._timers[e]),!(t.uses>0)))if(t.stopPlacementThrottler(),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(){this._shouldReloadOnResume=!1,this._paused=!1;for(var t in this._tiles)this._removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var o=[],i=this.getIds(),r=1/0,s=1/0,a=-1/0,n=-1/0,d=e[0].zoom,h=0;h=0&&m[1].y>=0){for(var p=[],f=0;f>n.z,h=new Point(n.x*l,n.y*l),u=new Point(h.x+l,h.y+l),c=this.segments.prepareSegment(4,a,r);a.emplaceBack(h.x,h.y,h.x,h.y),a.emplaceBack(u.x,h.y,u.x,h.y),a.emplaceBack(h.x,u.y,h.x,u.y),a.emplaceBack(u.x,u.y,u.x,u.y);var d=c.vertexLength;r.emplaceBack(d,d+1,d+2),r.emplaceBack(d+1,d+2,d+3),c.vertexLength+=4,c.primitiveLength+=2}this.maskedBoundsBuffer=new VertexBuffer(t,a),this.maskedIndexBuffer=new IndexBuffer(t,r)}},Tile.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state},Tile.prototype.setExpiryData=function(e){var t=this.expirationTime;if(e.cacheControl){var i=util.parseCacheControl(e.cacheControl);i["max-age"]&&(this.expirationTime=Date.now()+1e3*i["max-age"])}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){var a=Date.now(),r=!1;if(this.expirationTime>a)r=!1;else if(t)if(this.expirationTime=a_minX&&t.x=a_minY&&t.yi.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 h=Math.max(o,Math.floor(i.y0)),s=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,x=h;xd.dy&&(s=n,n=d,d=s),n.dy>a.dy&&(s=n,n=a,a=s),d.dy>a.dy&&(s=d,d=a,a=s),n.dy&&scanSpans(a,n,r,e,h),d.dy&&scanSpans(a,d,r,e,h)}var WhooTS=_dereq_("@mapbox/whoots-js"),Coordinate=_dereq_("../geo/coordinate"),TileCoord=function(t,i,o,r){(void 0===r||isNaN(r))&&(r=0),this.z=+t,this.x=+i,this.y=+o,this.w=+r,(r*=2)<0&&(r=-1*r-1);var e=1<0;h--)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.isLessThan=function(t){return this.wt.w)&&(this.zt.z)&&(this.xt.x)&&this.y=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.prototype.scaledTo=function(t,i){return this.z>i?new TileCoord(t,this.x,this.y,this.w):t<=this.z?new TileCoord(t,this.x>>this.z-t,this.y>>this.z-t,this.w):new TileCoord(t,this.x<>this.z-t.z&&t.y===this.y>>this.z-t.z},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var n,d,a,y;if(e>=0&&e<=h)for(n=t;nthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r=normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),s={request:this.map._transformRequest(r,ResourceType.Tile),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,pixelRatio:browser.devicePixelRatio,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,cameraToCenterDistance:this.map.transform.cameraToCenterDistance,cameraToTileDistance:this.map.transform.cameraToTileDistance(e),showCollisionBoxes:this.map.showCollisionBoxes};void 0===e.workerID||"expired"===e.state?e.workerID=this.dispatcher.send("loadTile",s,i.bind(this)):"loading"===e.state?e.reloadCallback=t:this.dispatcher.send("reloadTile",s,i.bind(this),e.workerID)},t.prototype.abortTile=function(e){this.dispatcher.send("abortTile",{uid:e.uid,type:this.type,source:this.id},void 0,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send("removeTile",{uid:e.uid,type:this.type,source:this.id},void 0,e.workerID)},t}(Evented);module.exports=VectorTileSource},{"../util/ajax":230,"../util/browser":231,"../util/evented":239,"../util/mapbox":246,"../util/util":252,"./load_tilejson":104,"./tile_bounds":112}],115:[function(_dereq_,module,exports){"use strict";var ajax=_dereq_("../util/ajax"),vt=_dereq_("@mapbox/vector-tile"),Protobuf=_dereq_("pbf"),WorkerTile=_dereq_("./worker_tile"),util=_dereq_("../util/util"),VectorTileWorkerSource=function(e,r,o){this.actor=e,this.layerIndex=r,this.loadVectorData=o||function(e,r){var o=ajax.getArrayBuffer(e.request,function(e,o){e?r(e):o&&r(null,{vectorTile:new vt.VectorTile(new Protobuf(o.data)),rawData:o.data,cacheControl:o.cacheControl,expires:o.expires})});return function(){o.abort()}},this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){var o=this,t=e.source,a=e.uid;this.loading[t]||(this.loading[t]={});var i=this.loading[t][a]=new WorkerTile(e);i.abort=this.loadVectorData(e,function(e,l){if(delete o.loading[t][a],e||!l)return r(e);var c=l.rawData,n={};l.expires&&(n.expires=l.expires),l.cacheControl&&(n.cacheControl=l.cacheControl),i.vectorTile=l.vectorTile,i.parse(l.vectorTile,o.layerIndex,o.actor,function(e,o,t){if(e||!o)return r(e);r(null,util.extend({rawTileData:c},o,n),t)}),o.loaded[t]=o.loaded[t]||{},o.loaded[t][a]=i})},VectorTileWorkerSource.prototype.reloadTile=function(e,r){var t=this.loaded[e.source],a=e.uid,i=this;if(t&&t[a]){var l=t[a];"parsing"===l.status?l.reloadCallback=r:"done"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,function(e,o){if(this.reloadCallback){var t=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,i.layerIndex,i.actor,t)}r(e,o)}.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],o=e.uid;r&&r[o]&&r[o].abort&&(r[o].abort(),delete r[o])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],o=e.uid;r&&r[o]&&delete r[o]},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var o=this.loaded[e.source],t=this.loading[e.source],a=e.uid;if(o&&o[a]){var l=o[a].redoPlacement(e.angle,e.pitch,e.cameraToCenterDistance,e.cameraToTileDistance,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else t&&t[a]&&(t[a].angle=e.angle)},module.exports=VectorTileWorkerSource},{"../util/ajax":230,"../util/util":252,"./worker_tile":118,"@mapbox/vector-tile":6,pbf:38}],116:[function(_dereq_,module,exports){"use strict";var ajax=_dereq_("../util/ajax"),VideoSource=function(e){function t(t,o,i,r){e.call(this,t,o,i,r),this.roundZoom=!0,this.type="video",this.options=o}return e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t,t.prototype.load=function(){var e=this,t=this.options;this.urls=t.urls,ajax.getVideo(t.urls,function(t,o){if(t)e.fire("error",{error:t});else if(o){var i;e.video=o,e.video.loop=!0,e.video.addEventListener("playing",function(){i=e.map.style.animationLoop.set(1/0),e.map._rerender()}),e.video.addEventListener("pause",function(){e.map.style.animationLoop.cancel(i)}),e.map&&e.video.play(),e._finishLoading()}})},t.prototype.getVideo=function(){return this.video},t.prototype.onAdd=function(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},t.prototype.prepare=function(){0===Object.keys(this.tiles).length||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},t.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},t}(_dereq_("./image_source"));module.exports=VideoSource},{"../util/ajax":230,"./image_source":103}],117:[function(_dereq_,module,exports){"use strict";var Actor=_dereq_("../util/actor"),StyleLayerIndex=_dereq_("../style/style_layer_index"),VectorTileWorkerSource=_dereq_("./vector_tile_worker_source"),GeoJSONWorkerSource=_dereq_("./geojson_worker_source"),globalRTLTextPlugin=_dereq_("./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),globalRTLTextPlugin.applyArabicShaping&&globalRTLTextPlugin.processBidirectionalText||o(new Error("RTL Text Plugin failed to import scripts from "+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":193,"../util/actor":229,"./geojson_worker_source":101,"./rtl_text_plugin":108,"./vector_tile_worker_source":115}],118:[function(_dereq_,module,exports){"use strict";function recalculateLayers(e,i){for(var r=0,t=e.layers;r=b.maxzoom||b.layout&&"none"===b.layout.visibility)){for(var x=0,T=k;x=0;z--){var B=n[i.symbolOrder[z]];B&&o.symbolBuckets.push(B)}var D,A,C,I=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)});Object.keys(I).length?r.send("getGlyphs",{uid:this.uid,stacks:I},function(e,i){D||(D=e,A=i,a.call(o))}):A={};var w=Object.keys(c.iconDependencies);w.length?r.send("getImages",{icons:w},function(e,i){D||(D=e,C=i,a.call(o))}):C={},a.call(this)},WorkerTile.prototype.redoPlacement=function(e,i,r,t,a){if(this.angle=e,this.pitch=i,this.cameraToCenterDistance=r,this.cameraToTileDistance=t,"done"!==this.status)return{};for(var s=new CollisionTile(this.angle,this.pitch,this.cameraToCenterDistance,this.cameraToTileDistance,this.collisionBoxArray),l=0,n=this.symbolBuckets;l0;)t[o]=arguments[o+2];this.message=(r?r+": ":"")+format.apply(format,t),null!==i&&void 0!==i&&i.__line__&&(this.line=i.__line__)}},{util:45}],122:[function(_dereq_,module,exports){"use strict";var toString=_dereq_("./types").toString,ParsingContext=_dereq_("./parsing_context"),CompoundExpression=(_dereq_("./evaluation_context"),function(r,e,n,t,o){this.key=r,this.name=e,this.type=n,this._evaluate=t,this.args=o});CompoundExpression.prototype.evaluate=function(r){return this._evaluate(r,this.args)},CompoundExpression.prototype.eachChild=function(r){this.args.forEach(r)},CompoundExpression.parse=function(r,e){var n=r[0],t=CompoundExpression.definitions[n];if(!t)return e.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0);for(var o=Array.isArray(t)?t[0]:t.type,i=Array.isArray(t)?[[t[1],t[2]]]:t.overloads.filter(function(e){return!Array.isArray(e[0][0])||e[0][0].length===r.length-1}),s=[],a=1;a4)return r.error("Expected 1, 2, or 3 arguments, but found "+(e.length-1)+" instead.");var t,n;if(e.length>2){var i=e[1];if("string"!=typeof i||!(i in types))return r.error('The item type argument of "array" must be one of string, number, boolean',1);t=types[i]}else t=ValueType;if(e.length>3){if("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2]))return r.error('The length argument to "array" must be a positive integer literal',2);n=e[2]}var o=array(t,n),a=r.parse(e[e.length-1],e.length-1,ValueType);return a?new ArrayAssertion(r.key,o,a):null},ArrayAssertion.prototype.evaluate=function(e){var r=this.input.evaluate(e);if(checkSubtype(this.type,typeOf(r)))throw new RuntimeError("Expected value to be of type "+toString(this.type)+", but found "+toString(typeOf(r))+" instead.");return r},ArrayAssertion.prototype.eachChild=function(e){e(this.input)},module.exports=ArrayAssertion},{"../runtime_error":140,"../types":142,"../values":143}],124:[function(_dereq_,module,exports){"use strict";var ref=_dereq_("../types"),ObjectType=ref.ObjectType,ValueType=ref.ValueType,StringType=ref.StringType,NumberType=ref.NumberType,BooleanType=ref.BooleanType,RuntimeError=_dereq_("../runtime_error"),ref$1=_dereq_("../types"),checkSubtype=ref$1.checkSubtype,toString=ref$1.toString,typeOf=_dereq_("../values").typeOf,types={string:StringType,number:NumberType,boolean:BooleanType,object:ObjectType},Assertion=function(e,r,t){this.key=e,this.type=r,this.args=t};Assertion.parse=function(e,r){if(e.length<2)return r.error("Expected at least one argument.");for(var t=e[0],n=types[t],o=[],p=1;p=t.length)throw new RuntimeError("Array index out of bounds: "+r+" > "+t.length+".");if(r!==Math.floor(r))throw new RuntimeError("Array index must be an integer, but found "+r+" instead.");return t[r]},At.prototype.eachChild=function(e){e(this.index),e(this.input)},module.exports=At},{"../runtime_error":140,"../types":142}],126:[function(_dereq_,module,exports){"use strict";var BooleanType=_dereq_("../types").BooleanType,Case=function(e,r,t,a){this.key=e,this.type=r,this.branches=t,this.otherwise=a};Case.parse=function(e,r){if(e.length<4)return r.error("Expected at least 3 arguments, but found only "+(e.length-1)+".");if(e.length%2!=0)return r.error("Expected an odd number of arguments.");var t;r.expectedType&&"value"!==r.expectedType.kind&&(t=r.expectedType);for(var a=[],n=1;n4?"Invalid rbga value "+JSON.stringify(o)+": expected an array containing either three or four numeric values.":validateRGBA(o[0],o[1],o[2],o[3])))return new Color(o[0]/255,o[1]/255,o[2]/255,o[3]);throw new RuntimeError(t||"Could not parse color from value '"+("string"==typeof o?o:JSON.stringify(o))+"'")}for(var u=null,l=0,s=this.args;l1}))return r.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);t={name:"cubic-bezier",controlPoints:o}}var u="step"===t.name,l=u?5:4;if(e.length-1c)return r.error('Input/output pairs for "curve" expressions must be arranged with input values in strictly ascending order.',m);var d=r.parse(h,b,v);if(!d)return null;v=v||d.type,s.push([c,d])}return"step"===t.name||"number"===v.kind||"color"===v.kind||"array"===v.kind&&"number"===v.itemType.kind?new Curve(r.key,v,t,n,s):r.error("Type "+toString(v)+" is not interpolatable, and thus cannot be used as a "+t.name+" curve's output type.")},Curve.prototype.evaluate=function(e){var r=this.labels,t=this.outputs;if(1===r.length)return t[0].evaluate(e);var n=this.input.evaluate(e);if(n<=r[0])return t[0].evaluate(e);var i=r.length;if(n>=r[i-1])return t[i-1].evaluate(e);var a=function(e,r){for(var t,n,a=0,o=e.length-1,u=0;a<=o;){if(t=e[u=Math.floor((a+o)/2)],n=e[u+1],r===t||r>t&&rr&&(o=u-1)}return Math.max(u-1,0)}(r,n);if("step"===this.interpolation.name)return t[a].evaluate(e);var o=r[a],u=r[a+1],l=Curve.interpolationFactor(this.interpolation,n,o,u),p=t[a].evaluate(e),s=t[a+1].evaluate(e),v=this.type.kind.toLowerCase();return"color"===v?new(Function.prototype.bind.apply(Color,[null].concat(interpolate.color(p.value,s.value,l)))):interpolate[v](p,s,l)},Curve.prototype.eachChild=function(e){e(this.input);for(var t=0,n=this.outputs;ta.evaluate(e)}function lteq(e,r){var t=r[0],a=r[1];return t.evaluate(e)<=a.evaluate(e)}function gteq(e,r){var t=r[0],a=r[1];return t.evaluate(e)>=a.evaluate(e)}var ref=_dereq_("../types"),NullType=ref.NullType,NumberType=ref.NumberType,StringType=ref.StringType,BooleanType=ref.BooleanType,ColorType=ref.ColorType,ObjectType=ref.ObjectType,ValueType=ref.ValueType,ErrorType=ref.ErrorType,array=ref.array,toString=ref.toString,ref$1=_dereq_("../values"),typeOf=ref$1.typeOf,Color=ref$1.Color,validateRGBA=ref$1.validateRGBA,ref$2=_dereq_("../compound_expression"),CompoundExpression=ref$2.CompoundExpression,varargs=ref$2.varargs,RuntimeError=_dereq_("../runtime_error"),Let=_dereq_("./let"),Var=_dereq_("./var"),Literal=_dereq_("./literal"),Assertion=_dereq_("./assertion"),ArrayAssertion=_dereq_("./array"),Coercion=_dereq_("./coercion"),At=_dereq_("./at"),Match=_dereq_("./match"),Case=_dereq_("./case"),Curve=_dereq_("./curve"),expressions={let:Let,var:Var,literal:Literal,string:Assertion,number:Assertion,boolean:Assertion,object:Assertion,array:ArrayAssertion,"to-number":Coercion,"to-color":Coercion,at:At,case:Case,match:Match,coalesce:_dereq_("./coalesce"),curve:Curve};CompoundExpression.register(expressions,{error:[ErrorType,[StringType],function(e,r){var t=r[0];throw new RuntimeError(t.evaluate(e))}],typeof:[StringType,[ValueType],function(e,r){var t=r[0];return toString(typeOf(t.evaluate(e)))}],"to-string":[StringType,[ValueType],function(e,r){var t=r[0],a=typeof(t=t.evaluate(e));if(null===t||"string"===a||"number"===a||"boolean"===a)return String(t);if(t instanceof Color){var n=t.value;return"rgba("+255*n[0]+", "+255*n[1]+", "+255*n[2]+", "+n[3]+")"}return JSON.stringify(t)}],"to-boolean":[BooleanType,[ValueType],function(e,r){var t=r[0];return Boolean(t.evaluate(e))}],"to-rgba":[array(NumberType,4),[ColorType],function(e,r){return r[0].evaluate(e).value}],rgb:[ColorType,[NumberType,NumberType,NumberType],rgba],rgba:[ColorType,[NumberType,NumberType,NumberType,NumberType],rgba],length:{type:NumberType,overloads:[[[StringType],length],[[array(ValueType)],length]]},has:{type:BooleanType,overloads:[[[StringType],function(e,r){return has(r[0].evaluate(e),e.properties())}],[[StringType,ObjectType],function(e,r){var t=r[0],a=r[1];return has(t.evaluate(e),a.evaluate(e))}]]},get:{type:ValueType,overloads:[[[StringType],function(e,r){return get(r[0].evaluate(e),e.properties())}],[[StringType,ObjectType],function(e,r){var t=r[0],a=r[1];return get(t.evaluate(e),a.evaluate(e))}]]},properties:[ObjectType,[],function(e){return e.properties()}],"geometry-type":[StringType,[],function(e){return e.geometryType()}],id:[ValueType,[],function(e){return e.id()}],zoom:[NumberType,[],function(e){return e.globals.zoom}],"heatmap-density":[NumberType,[],function(e){return e.globals.heatmapDensity||0}],"+":[NumberType,varargs(NumberType),function(e,r){for(var t=0,a=0,n=r;a":{type:BooleanType,overloads:[[[NumberType,NumberType],gt],[[StringType,StringType],gt]]},"<":{type:BooleanType,overloads:[[[NumberType,NumberType],lt],[[StringType,StringType],lt]]},">=":{type:BooleanType,overloads:[[[NumberType,NumberType],gteq],[[StringType,StringType],gteq]]},"<=":{type:BooleanType,overloads:[[[NumberType,NumberType],lteq],[[StringType,StringType],lteq]]},all:{type:BooleanType,overloads:[[[BooleanType,BooleanType],function(e,r){var t=r[0],a=r[1];return t.evaluate(e)&&a.evaluate(e)}],[varargs(BooleanType),function(e,r){for(var t=0,a=r;tNumber.MAX_SAFE_INTEGER)return l.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof c&&Math.floor(c)!==c)return l.error("Numeric branch labels must be integer values.");if(r){if(l.checkSubtype(r,typeOf(c)))return null}else r=typeOf(c);if(void 0!==a[String(c)])return l.error("Branch labels must be unique.");a[String(c)]=u.length}var f=t.parse(h,s,n);if(!f)return null;n=n||f.type,u.push(f)}var y=t.parse(e[1],1,r);if(!y)return null;var b=t.parse(e[e.length-1],e.length-1,n);return b?new Match(t.key,r,n,y,a,u,b):null},Match.prototype.evaluate=function(e){var t=this.input.evaluate(e);return(this.outputs[this.cases[t]]||this.otherwise).evaluate(e)},Match.prototype.eachChild=function(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)},module.exports=Match},{"../values":143}],134:[function(_dereq_,module,exports){"use strict";var Var=function(e,r,t){this.key=e,this.type=t,this.name=r};Var.parse=function(e,r){if(2!==e.length||"string"!=typeof e[1])return r.error("'var' expression requires exactly one string literal argument.");var t=e[1];return r.scope.has(t)?new Var(r.key,t,r.scope.get(t).type):r.error('Unknown variable "'+t+'". Make sure "'+t+'" has been bound in an enclosing "let" expression before using it.',1)},Var.prototype.evaluate=function(e){return e.scope.get(this.name).evaluate(e)},Var.prototype.eachChild=function(){},module.exports=Var},{}],135:[function(_dereq_,module,exports){"use strict";var Scope=_dereq_("./scope"),parseColor=_dereq_("../util/parse_color"),Color=_dereq_("./values").Color,geometryTypes=["Unknown","Point","LineString","Polygon"],EvaluationContext=function(){this.scope=new Scope,this._parseColorCache={}};EvaluationContext.prototype.id=function(){return this.feature&&"id"in this.feature?this.feature.id:null},EvaluationContext.prototype.geometryType=function(){return this.feature?"number"==typeof this.feature.type?geometryTypes[this.feature.type]:this.feature.type:null},EvaluationContext.prototype.properties=function(){return this.feature&&this.feature.properties||{}},EvaluationContext.prototype.pushScope=function(e){this.scope=this.scope.concat(e)},EvaluationContext.prototype.popScope=function(){this.scope=this.scope.parent},EvaluationContext.prototype.parseColor=function(e){var t=this._parseColorCache[e];if(!t){var o=parseColor(e);t=this._parseColorCache[e]=o?new Color(o[0],o[1],o[2],o[3]):null}return t},module.exports=EvaluationContext},{"../util/parse_color":153,"./scope":141,"./values":143}],136:[function(_dereq_,module,exports){"use strict";var ParsingError=_dereq_("./parsing_error"),ParsingContext=_dereq_("./parsing_context"),EvaluationContext=_dereq_("./evaluation_context"),CompoundExpression=_dereq_("./compound_expression").CompoundExpression,Curve=_dereq_("./definitions/curve"),Coalesce=_dereq_("./definitions/coalesce"),Let=_dereq_("./definitions/let"),definitions=_dereq_("./definitions"),isConstant=_dereq_("./is_constant"),unwrap=_dereq_("./values").unwrap;module.exports.createExpression=function(e,r,n,o){void 0===o&&(o={});var t=new ParsingContext(definitions,[],function(e){var r={color:ColorType,string:StringType,number:NumberType,enum:StringType,boolean:BooleanType};return"array"===e.type?array(r[e.value]||ValueType,e.length):r[e.type]||null}(r)),s=t.parse(e);if(!s)return{result:"error",errors:t.errors};var i,a=new EvaluationContext;if(!1===o.handleErrors)i=function(e,r){return a.globals=e,a.feature=r,s.evaluate(a)};else{var u={},l=function(e){var r=e.default;if("color"===e.type&&isFunction(r))return[0,0,0,0];if("color"===e.type){var n=parseColor(r);return new Color(n[0],n[1],n[2],n[3])}return void 0===r?null:r}(r);i=function(e,r){a.globals=e,a.feature=r;try{var n=s.evaluate(a);return unwrap(null===n||void 0===n?l:n)}catch(e){return u[e.message]||(u[e.message]=!0,"undefined"!=typeof console&&console.warn(e.message)),unwrap(l)}}}var p=isConstant.isFeatureConstant(s);if(!p&&"property"===n&&!r["property-function"])return{result:"error",errors:[new ParsingError("","property expressions not supported")]};if(isConstant.isGlobalPropertyConstant(s,["zoom"]))return{result:"success",context:n,isZoomConstant:!0,isFeatureConstant:p,evaluate:i,parsed:s};if("filter"===n)return{result:"success",context:"filter",isZoomConstant:!1,isFeatureConstant:p,evaluate:i,parsed:s};var f=function findZoomCurve(e){if(e instanceof Curve){var r=e.input;return r instanceof CompoundExpression&&"zoom"===r.name?e:null}if(e instanceof Let)return findZoomCurve(e.result);if(e instanceof Coalesce){for(var n=null,o=0,t=e.args;o0&&"string"==typeof e[0]&&e[0]in definitions};var ref$2=_dereq_("./types"),ColorType=ref$2.ColorType,StringType=ref$2.StringType,NumberType=ref$2.NumberType,BooleanType=ref$2.BooleanType,ValueType=ref$2.ValueType,array=ref$2.array,isFunction=_dereq_("../function").isFunction,parseColor=_dereq_("../util/parse_color"),Color=_dereq_("./values").Color},{"../function":145,"../util/parse_color":153,"./compound_expression":122,"./definitions":130,"./definitions/coalesce":127,"./definitions/curve":129,"./definitions/let":131,"./evaluation_context":135,"./is_constant":137,"./parsing_context":138,"./parsing_error":139,"./types":142,"./values":143}],137:[function(_dereq_,module,exports){"use strict";var CompoundExpression=_dereq_("./compound_expression").CompoundExpression;module.exports={isFeatureConstant:function isFeatureConstant(n){if(n instanceof CompoundExpression){if("get"===n.name&&1===n.args.length)return!1;if("has"===n.name&&1===n.args.length)return!1;if("properties"===n.name||"geometry-type"===n.name||"id"===n.name)return!1}var e=!0;return n.eachChild(function(n){e&&!isFeatureConstant(n)&&(e=!1)}),e},isGlobalPropertyConstant:function isGlobalPropertyConstant(n,e){if(n instanceof CompoundExpression&&e.indexOf(n.name)>=0)return!1;var t=!0;return n.eachChild(function(n){t&&!isGlobalPropertyConstant(n,e)&&(t=!1)}),t}}},{"./compound_expression":122}],138:[function(_dereq_,module,exports){"use strict";var Scope=_dereq_("./scope"),checkSubtype=_dereq_("./types").checkSubtype,ParsingError=_dereq_("./parsing_error"),Literal=_dereq_("./definitions/literal"),ParsingContext=function(e,r,t,n,i){void 0===r&&(r=[]),void 0===n&&(n=new Scope),void 0===i&&(i=[]),this.definitions=e,this.path=r,this.key=r.map(function(e){return"["+e+"]"}).join(""),this.scope=n,this.errors=i,this.expectedType=t};ParsingContext.prototype.parse=function(e,r,t,n){var i=this;if(r&&(i=i.concat(r,t,n)),null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return i.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var o=e[0];if("string"!=typeof o)return i.error("Expression name must be a string, but found "+typeof o+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var a=i.definitions[o];if(a){var s=a.parse(e,i);if(!s)return null;var u=i.expectedType,l=s.type;if(u&&("string"!==u.kind&&"number"!==u.kind&&"boolean"!==u.kind||"value"!==l.kind?"color"!==u.kind||"value"!==l.kind&&"string"!==l.kind||(s=new(_dereq_("./definitions/coercion"))(s.key,u,[s])):s=new(_dereq_("./definitions/assertion"))(s.key,u,[s]),i.checkSubtype(u,s.type)))return null;if(!(s instanceof Literal)&&function(e){var t=_dereq_("./compound_expression").CompoundExpression,n=_dereq_("./is_constant"),i=n.isGlobalPropertyConstant,o=n.isFeatureConstant;if(e instanceof _dereq_("./definitions/var"))return!1;if(e instanceof t&&"error"===e.name)return!1;var a=!0;return e.eachChild(function(e){e instanceof Literal||(a=!1)}),!!a&&o(e)&&i(e,["zoom","heatmap-density"])}(s)){var c=new(_dereq_("./evaluation_context"));try{s=new Literal(s.key,s.type,s.evaluate(c))}catch(e){return i.error(e.message),null}}return s}return i.error('Unknown expression "'+o+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===e?i.error("'undefined' value invalid. Use null instead."):"object"==typeof e?i.error('Bare objects invalid. Use ["literal", {...}] instead.'):i.error("Expected an array, but found "+typeof e+" instead.")},ParsingContext.prototype.concat=function(e,r,t){var n="number"==typeof e?this.path.concat(e):this.path,i=t?this.scope.concat(t):this.scope;return new ParsingContext(this.definitions,n,r||null,i,this.errors)},ParsingContext.prototype.error=function(e){for(var r=[],t=arguments.length-1;t-- >0;)r[t]=arguments[t+1];var n=""+this.key+r.map(function(e){return"["+e+"]"}).join("");this.errors.push(new ParsingError(n,e))},ParsingContext.prototype.checkSubtype=function(e,r){var t=checkSubtype(e,r);return t&&this.error(t),t},module.exports=ParsingContext},{"./compound_expression":122,"./definitions/assertion":124,"./definitions/coercion":128,"./definitions/literal":132,"./definitions/var":134,"./evaluation_context":135,"./is_constant":137,"./parsing_error":139,"./scope":141,"./types":142}],139:[function(_dereq_,module,exports){"use strict";var ParsingError=function(r){function t(t,o){r.call(this,o),this.message=o,this.key=t}return r&&(t.__proto__=r),(t.prototype=Object.create(r&&r.prototype)).constructor=t,t}(Error);module.exports=ParsingError},{}],140:[function(_dereq_,module,exports){"use strict";var RuntimeError=function(r){this.name="ExpressionEvaluationError",this.message=r};RuntimeError.prototype.toJSON=function(){return this.message},module.exports=RuntimeError},{}],141:[function(_dereq_,module,exports){"use strict";var Scope=function(t,n){void 0===n&&(n=[]),this.parent=t,this.bindings={};for(var e=0,r=n;e":"value"===e.itemType.kind?"array":"array<"+r+">"}return e.kind}var NullType={kind:"null"},NumberType={kind:"number"},StringType={kind:"string"},BooleanType={kind:"boolean"},ColorType={kind:"color"},ObjectType={kind:"object"},ValueType={kind:"value"},valueMemberTypes=[NullType,NumberType,StringType,BooleanType,ColorType,ObjectType,array(ValueType)];module.exports={NullType:NullType,NumberType:NumberType,StringType:StringType,BooleanType:BooleanType,ColorType:ColorType,ObjectType:ObjectType,ValueType:ValueType,array:array,ErrorType:{kind:"error"},toString:toString,checkSubtype:function checkSubtype(e,r){if("error"===r.kind)return null;if("array"===e.kind){if("array"===r.kind&&!checkSubtype(e.itemType,r.itemType)&&("number"!=typeof e.N||e.N===r.N))return null}else{if(e.kind===r.kind)return null;if("value"===e.kind)for(var n=0,y=valueMemberTypes;n=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255&&"number"==typeof n&&n>=0&&n<=255?void 0===t||"number"==typeof t&&t>=0&&t<=1?null:"Invalid rgba value ["+[e,r,n,t].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof t?[e,r,n,t]:[e,r,n]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."},isValue:function isValue(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof Color)return!0;if(Array.isArray(e)){for(var r=0,n=e;r=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3===e.length&&(Array.isArray(e[1])||Array.isArray(e[2]));case"any":case"all":for(var r=0,i=e.slice(1);r"===r||"<="===r||">="===r?compileComparisonOp(e[1],e[2],r,!0):"any"===r?compileLogicalOp(e.slice(1),"||"):"all"===r?compileLogicalOp(e.slice(1),"&&"):"none"===r?compileNegation(compileLogicalOp(e.slice(1),"||")):"in"===r?compileInOp(e[1],e.slice(2)):"!in"===r?compileNegation(compileInOp(e[1],e.slice(2))):"has"===r?compileHasOp(e[1]):"!has"===r?compileNegation(compileHasOp(e[1])):"true")+")"}function compilePropertyReference(e){return"$type"===e?"f.type":"$id"===e?"f.id":"p["+JSON.stringify(e)+"]"}function compileComparisonOp(e,r,i,n){var t=compilePropertyReference(e),o="$type"===e?types.indexOf(r):JSON.stringify(r);return(n?"typeof "+t+"=== typeof "+o+"&&":"")+t+i+o}function compileLogicalOp(e,r){return e.map(compile).join(r)}function compileInOp(e,r){"$type"===e&&(r=r.map(function(e){return types.indexOf(e)}));var i=JSON.stringify(r.sort(function(e,r){return er?1:0})),n=compilePropertyReference(e);return r.length<=200?i+".indexOf("+n+") !== -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; }("+n+", "+i+",0,"+(r.length-1)+")"}function compileHasOp(e){return"$id"===e?'"id" in f':JSON.stringify(e)+" in p"}function compileNegation(e){return"!("+e+")"}var createExpression=_dereq_("../expression").createExpression;module.exports=function(e){if(!e)return function(){return!0};if(!isExpressionFilter(e))return new Function("g","f","var p = (f && f.properties || {}); return "+compile(e));var r=createExpression(e,filterSpec,"filter");if("success"===r.result)return r.evaluate;throw new Error(r.errors.map(function(e){return e.key+": "+e.message}).join(", "))},module.exports.isExpressionFilter=isExpressionFilter;var types=["Unknown","Point","LineString","Polygon"],filterSpec={type:"boolean",default:!1,function:!0,"property-function":!0}},{"../expression":136}],145:[function(_dereq_,module,exports){"use strict";function identityFunction(t){return t}function coalesce(t,e,o){return void 0!==t?t:void 0!==e?e:void 0!==o?o:void 0}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=findStopLessThanOrEqualTo(t.stops,o),i=function(t,e,o,n){var r=n-o,a=t-o;return 0===r?0:1===e?a/r:(Math.pow(e,a)-1)/(Math.pow(e,r)-1)}(o,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],u=t.stops[a+1][1],p=interpolate[e.type]||identityFunction;return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var o=s.evaluate.apply(void 0,t),n=u.evaluate.apply(void 0,t);if(void 0!==o&&void 0!==n)return p(o,n,i)}}:p(s,u,i)}function findStopLessThanOrEqualTo(t,e){for(var o,n,a=0,i=t.length-1,s=0;a<=i;){if(o=t[s=Math.floor((a+i)/2)][0],n=t[s+1][0],e===o||e>o&&ee&&(i=s-1)}return Math.max(s-1,0)}var colorSpaces=_dereq_("../util/color_spaces"),parseColor=_dereq_("../util/parse_color"),extend=_dereq_("../util/extend"),getType=_dereq_("../util/get_type"),interpolate=_dereq_("../util/interpolate");module.exports={createFunction:function createFunction(t,e,o){var u,p,l,d,q,n="color"===e.type,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");if(n&&((t=extend({},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)),"exponential"===s)u=evaluateExponentialFunction;else if("interval"===s)u=function(t,e,o){if("number"!==getType(o))return coalesce(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[n-1][0])return t.stops[n-1][1];var r=findStopLessThanOrEqualTo(t.stops,o);return t.stops[r][1]};else if("categorical"===s){u=function(t,e,o,n,r){return coalesce(typeof o===r?n[o]:void 0,t.default,e.default)},p=Object.create(null);for(var c=0,f=t.stops;c":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},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:!1}},function_stop:{type:"array",minimum:0,maximum:22,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},curve:{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"}}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},transition:!1,"zoom-function":!0,"property-function":!1,function:"piecewise-constant"},position:{type:"array",default:[1.15,210,30],length:3,value:"number",transition:!0,function:"interpolated","zoom-function":!0,"property-function":!1},color:{type:"color",default:"#ffffff",function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},intensity:{type:"number",default:.5,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!0},"fill-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"fill-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"}]},"fill-outline-color":{type:"color",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}]},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-translate"]},"fill-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!1,default:1,minimum:0,maximum:1,transition:!0},"fill-extrusion-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-extrusion-pattern"}]},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-extrusion-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"]},"fill-extrusion-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"fill-extrusion-height":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,units:"meters",transition:!0},"fill-extrusion-base":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"]}},paint_line:{"line-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"line-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"line-pattern"}]},"line-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"line-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["line-translate"]},"line-width":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-gap-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-offset":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-dasharray":{type:"array",value:"number",function:"piecewise-constant","zoom-function":!0,minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}]},"line-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-blur":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"circle-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["circle-translate"]},"circle-pitch-scale":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map"},"circle-pitch-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"viewport"},"circle-stroke-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-stroke-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0,units:"pixels"},"heatmap-weight":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!1},"heatmap-intensity":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},"heatmap-color":{type:"color",default:{stops:[[0,"rgba(0, 0, 255, 0)"],[.1,"royalblue"],[.3,"cyan"],[.5,"lime"],[.7,"yellow"],[1,"red"]]},function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"]},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,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":!0,transition:!0},"raster-hue-rotate":{type:"number",default:0,period:360,function:"interpolated","zoom-function":!0,transition:!0,units:"degrees"},"raster-brightness-min":{type:"number",function:"interpolated","zoom-function":!0,default:0,minimum:0,maximum:1,transition:!0},"raster-brightness-max":{type:"number",function:"interpolated","zoom-function":!0,default:1,minimum:0,maximum:1,transition:!0},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-fade-duration":{type:"number",default:300,minimum:0,function:"interpolated","zoom-function":!0,transition:!0,units:"milliseconds"}},paint_background:{"background-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0,requires:[{"!":"background-pattern"}]},"background-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}}}},{}],149:[function(_dereq_,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)<=.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);return[116*o-16,500*(b-o),200*(o-xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn)),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),[xyz2rgb(3.2404542*(a=Xn*lab2xyz(a))-1.5371385*t-.4985314*(n=Zn*lab2xyz(n))),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),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:function(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]]},reverse:function(r){var t=r[0]*deg2rad,a=r[1];return labToRgb([r[2],Math.cos(t)*a,Math.sin(t)*a,r[3]])}}}},{}],150:[function(_dereq_,module,exports){"use strict";module.exports=function(r){for(var t=[],e=arguments.length-1;e-- >0;)t[e]=arguments[e+1];for(var n=0,o=t;n7)return[new ValidationError(o,a,"constants have been deprecated as of v8")];if(!(a in s.constants))return[new ValidationError(o,a,'constant "%s" not found',a)];e=extend({},e,{value:s.constants[a]})}return u.function&&isFunction(unbundle(a))?r(e):u.function&&isExpression(unbundle.deep(a))?i(e):u.type&&n[u.type]?n[u.type](e):t(extend({},e,{valueSpec:u.type?l[u.type]:u}))}},{"../error/validation_error":121,"../expression":136,"../function":145,"../util/extend":150,"../util/get_type":151,"../util/unbundle_jsonlint":155,"./validate_array":157,"./validate_boolean":158,"./validate_color":159,"./validate_constants":160,"./validate_enum":161,"./validate_expression":162,"./validate_filter":163,"./validate_function":164,"./validate_layer":166,"./validate_light":168,"./validate_number":169,"./validate_object":170,"./validate_source":173,"./validate_string":174}],157:[function(_dereq_,module,exports){"use strict";var getType=_dereq_("../util/get_type"),validate=_dereq_("./validate"),ValidationError=_dereq_("../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 a=getType(t);if("object"!==a)return[new ValidationError(e,t,"object expected, %s found",a)];var o=[];for(var n in t)"@"!==n[0]&&o.push(new ValidationError(e+"."+n,t[n],'constants must start with "@"'));return o}},{"../error/validation_error":121,"../util/get_type":151}],161:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),unbundle=_dereq_("../util/unbundle_jsonlint");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,i=[];return Array.isArray(u.values)?-1===u.values.indexOf(unbundle(n))&&i.push(new ValidationError(r,n,"expected one of [%s], %s found",u.values.join(", "),JSON.stringify(n))):-1===Object.keys(u.values).indexOf(unbundle(n))&&i.push(new ValidationError(r,n,"expected one of [%s], %s found",Object.keys(u.values).join(", "),JSON.stringify(n))),i}},{"../error/validation_error":121,"../util/unbundle_jsonlint":155}],162:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),createExpression=_dereq_("../expression").createExpression,unbundle=_dereq_("../util/unbundle_jsonlint");module.exports=function(e){var r=createExpression(unbundle.deep(e.value),e.valueSpec,e.expressionContext);return"success"===r.result?[]:r.errors.map(function(r){return new ValidationError(""+e.key+r.key,e.value,r.message)})}},{"../error/validation_error":121,"../expression":136,"../util/unbundle_jsonlint":155}],163:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),validateExpression=_dereq_("./validate_expression"),validateEnum=_dereq_("./validate_enum"),getType=_dereq_("../util/get_type"),unbundle=_dereq_("../util/unbundle_jsonlint"),extend=_dereq_("../util/extend"),isExpressionFilter=_dereq_("../feature_filter").isExpressionFilter;module.exports=function e(r){var t,a=r.value,n=r.key,s=r.styleSpec,l=[];if("array"!==getType(a))return[new ValidationError(n,a,"array expected, %s found",getType(a))];if(isExpressionFilter(unbundle.deep(a)))return validateExpression(extend({},r,{expressionContext:"filter",valueSpec:{value:"boolean"}}));if(a.length<1)return[new ValidationError(n,a,"filter array must have at least 1 element")];switch(l=l.concat(validateEnum({key:n+"[0]",value:a[0],valueSpec:s.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case"<":case"<=":case">":case">=":a.length>=2&&"$type"===unbundle(a[1])&&l.push(new ValidationError(n,a,'"$type" cannot be use with operator "%s"',a[0]));case"==":case"!=":3!==a.length&&l.push(new ValidationError(n,a,'filter array for operator "%s" must have 3 elements',a[0]));case"in":case"!in":a.length>=2&&"string"!==(t=getType(a[1]))&&l.push(new ValidationError(n+"[1]",a[1],"string expected, %s found",t));for(var i=2;iunbundle(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},r));return t.concat(validate({key:o+"[1]",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e,t){var r=getType(e.value),a=unbundle(e.value),o=null!==e.value?e.value:t;if(n){if(r!==n)return[new ValidationError(e.key,o,"%s stop domain type must match previous stop domain type %s",r,n)]}else n=r;if("number"!==r&&"string"!==r&&"boolean"!==r)return[new ValidationError(e.key,o,"stop domain value must be a number, string, or boolean")];if("number"!==r&&"categorical"!==p){var l="number expected, %s found";return u["property-function"]&&void 0===p&&(l+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new ValidationError(e.key,o,l,r)]}return"categorical"!==p||"number"!==r||isFinite(a)&&Math.floor(a)===a?"categorical"!==p&&"number"===r&&void 0!==i&&a=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":121,"../util/get_type":151,"../util/unbundle_jsonlint":155,"./validate":156,"./validate_array":157,"./validate_number":169,"./validate_object":170}],165:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),validateString=_dereq_("./validate_string");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(-1===e.indexOf("{fontstack}")&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{range}" token')),a)}},{"../error/validation_error":121,"./validate_string":174}],166:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),unbundle=_dereq_("../util/unbundle_jsonlint"),validateObject=_dereq_("./validate_object"),validateFilter=_dereq_("./validate_filter"),validatePaintProperty=_dereq_("./validate_paint_property"),validateLayoutProperty=_dereq_("./validate_layout_property"),extend=_dereq_("../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 y,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":121,"../util/get_type":151}],170:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),getType=_dereq_("../util/get_type"),validateSpec=_dereq_("./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},t))}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":121,"../util/get_type":151,"./validate":156}],171:[function(_dereq_,module,exports){"use strict";var validateProperty=_dereq_("./validate_property");module.exports=function(r){return validateProperty(r,"paint")}},{"./validate_property":172}],172:[function(_dereq_,module,exports){"use strict";var validate=_dereq_("./validate"),ValidationError=_dereq_("../error/validation_error"),getType=_dereq_("../util/get_type");module.exports=function(e,t){var r=e.key,i=e.style,n=e.styleSpec,a=e.value,o=e.objectKey,p=n[t+"_"+e.layerType];if(!p)return[];var y=o.match(/^(.*)-transition$/);if("paint"===t&&y&&p[y[1]]&&p[y[1]].transition)return validate({key:r,value:a,valueSpec:n.transition,style:i,styleSpec:n});var s,l=e.valueSpec||p[o];if(!l)return[new ValidationError(r,a,'unknown property "%s"',o)];if("string"===getType(a)&&l["property-function"]&&!l.tokens&&(s=/^{([^}]+)}$/.exec(a)))return[new ValidationError(r,a,'"%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,a,'use of "text-field" requires a style "glyphs" property')),u.concat(validate({key:e.key,value:a,valueSpec:l,style:i,styleSpec:n,expressionContext:"property"}))}},{"../error/validation_error":121,"../util/get_type":151,"./validate":156}],173:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),unbundle=_dereq_("../util/unbundle_jsonlint"),validateObject=_dereq_("./validate_object"),validateEnum=_dereq_("./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 i=[];switch(unbundle(a.type)){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":121,"../util/unbundle_jsonlint":155,"./validate_enum":161,"./validate_object":170}],174:[function(_dereq_,module,exports){"use strict";var getType=_dereq_("../util/get_type"),ValidationError=_dereq_("../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":121,"../util/get_type":151}],175:[function(_dereq_,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=_dereq_("./validate/validate_constants"),validate=_dereq_("./validate/validate"),latestStyleSpec=_dereq_("./reference/latest"),validateGlyphsURL=_dereq_("./validate/validate_glyphs_url");validateStyleMin.source=wrapCleanErrors(_dereq_("./validate/validate_source")),validateStyleMin.light=wrapCleanErrors(_dereq_("./validate/validate_light")),validateStyleMin.layer=wrapCleanErrors(_dereq_("./validate/validate_layer")),validateStyleMin.filter=wrapCleanErrors(_dereq_("./validate/validate_filter")),validateStyleMin.paintProperty=wrapCleanErrors(_dereq_("./validate/validate_paint_property")),validateStyleMin.layoutProperty=wrapCleanErrors(_dereq_("./validate/validate_layout_property")),module.exports=validateStyleMin},{"./reference/latest":147,"./validate/validate":156,"./validate/validate_constants":160,"./validate/validate_filter":163,"./validate/validate_glyphs_url":165,"./validate/validate_layer":166,"./validate/validate_layout_property":167,"./validate/validate_light":168,"./validate/validate_paint_property":171,"./validate/validate_source":173}],176:[function(_dereq_,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},{}],177:[function(_dereq_,module,exports){"use strict";var styleSpec=_dereq_("../style-spec/reference/latest"),util=_dereq_("../util/util"),Evented=_dereq_("../util/evented"),validateStyle=_dereq_("./validate_style"),StyleDeclaration=_dereq_("./style_declaration"),StyleTransition=_dereq_("./style_transition"),properties=["anchor","color","position","intensity"],specifications=styleSpec.light,Light=function(t){function i(i){t.call(this),this.set(i)}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.set=function(t){if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:specifications.anchor.default,color:specifications.color.default,position:specifications.position.default,intensity:specifications.intensity.default},t);for(var e=0,o=properties;e1?"@2x":"";ajax.getJSON(r(normalizeSpriteURL(e,n,".json"),ajax.ResourceType.SpriteJSON),function(e,r){u||(u=e,t=r,a())}),ajax.getImage(r(normalizeSpriteURL(e,n,".png"),ajax.ResourceType.SpriteImage),function(e,r){u||(u=e,o=r,a())})}},{"../util/ajax":230,"../util/browser":231,"../util/image":242,"../util/mapbox":246}],180:[function(_dereq_,module,exports){"use strict";var AlphaImage=_dereq_("../util/image").AlphaImage,Protobuf=_dereq_("pbf");module.exports=function(e){return new Protobuf(e).readFields(function(e,a,r){1===e&&r.readMessage(function(e,a,r){if(3===e){var t=r.readMessage(function(e,a,r){1===e?a.id=r.readVarint():2===e?a.bitmap=r.readBytes():3===e?a.width=r.readVarint():4===e?a.height=r.readVarint():5===e?a.left=r.readSVarint():6===e?a.top=r.readSVarint():7===e&&(a.advance=r.readVarint())},{}),d=t.id,i=t.bitmap,n=t.width,o=t.height,h=t.left,s=t.top,p=t.advance;a.push({id:d,bitmap:AlphaImage.create({width:n+6,height:o+6},i),metrics:{width:n,height:o,left:h,top:s,advance:p}})}},a)},[])},module.exports.GLYPH_PBF_BORDER=3},{"../util/image":242,pbf:38}],181:[function(_dereq_,module,exports){"use strict";var Point=_dereq_("@mapbox/point-geometry");module.exports={getMaximumPaintValue:function(t,a,e){return a.isPaintValueFeatureConstant(t)?a.paint[t]:e.programConfigurations.get(a.id).paintPropertyStatistics[t].max},translateDistance:function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},translate:function(t,a,e,n,r){if(!a[0]&&!a[1])return t;var i=Point.convert(a);"viewport"===e&&i._rotate(-n);for(var u=[],s=0;sMath.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){var t=this;if(this._changed){var r=Object.keys(this._updatedLayers),a=Object.keys(this._removedLayers);(r.length||a.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(r,a);for(var i in t._updatedSources){var o=t._updatedSources[i];"reload"===o?t._reloadSource(i):"clear"===o&&t._clearSource(i)}this._applyPaintPropertyUpdates(e),this._resetUpdates(),this.fire("data",{dataType:"style"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,a=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:a})},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.clone(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 a=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(a.length>0)throw new Error("Unimplemented: "+a.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.addImage=function(e,t){if(this.imageManager.getImage(e))return this.fire("error",{error:new Error("An image with this name already exists.")});this.imageManager.addImage(e,t),this.fire("data",{dataType:"style"})},t.prototype.removeImage=function(e){if(!this.imageManager.getImage(e))return this.fire("error",{error:new Error("No image with this name exists.")});this.imageManager.removeImage(e),this.fire("data",{dataType:"style"})},t.prototype.addSource=function(e,t,r){var a=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).join(", ")+".");if(!(["vector","raster","geojson","video","image","canvas"].indexOf(t.type)>=0&&this._validate(validateStyle.source,"sources."+e,t,null,r))){var i=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:a.loaded(),source:i.serialize(),sourceId:e}}),i.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.fire("data",{sourceDataType:"metadata",dataType:"source",sourceId:e}),t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.setGeoJSONSourceData=function(e,t){this._checkLoaded(),this.sourceCaches[e].getSource().setData(t),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 a=e.id;if("object"==typeof e.source&&(this.addSource(a,e.source),e=util.clone(e),e=util.extend(e,{source:a})),!this._validate(validateStyle.layer,"layers."+a,e,{arrayIndex:-1},r)){var i=StyleLayer.create(e);this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}});var o=t?this._order.indexOf(t):this._order.length;if(t&&-1===o)return void this.fire("error",{message:new Error('Layer with id "'+t+'" does not exist on this map.')});if(this._order.splice(o,0,a),this._layers[a]=i,this._removedLayers[a]&&i.source){var s=this._removedLayers[a];delete this._removedLayers[a],s.type!==i.type?this._updatedSources[i.source]="clear":(this._updatedSources[i.source]="reload",this.sourceCaches[i.source].pause())}this._updateLayer(i),"symbol"===i.type&&(this._updatedSymbolOrder=!0),this.updatePaintProperties(a)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(r){var a=this._order.indexOf(e);this._order.splice(a,1);var i=t?this._order.indexOf(t):this._order.length;this._order.splice(i,0,e),"symbol"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]="reload",this.sourceCaches[r.source].pause()))}else this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")})},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(t){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]}else this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")})},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var a=this.getLayer(e);a?a.minzoom===t&&a.maxzoom===r||(null!=t&&(a.minzoom=t),null!=r&&(a.maxzoom=r),this._updateLayer(a)):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);r?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)):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 a=this.getLayer(e);a?util.deepEqual(a.getLayoutProperty(t),r)||(a.setLayoutProperty(t,r),this._updateLayer(a)):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){this._checkLoaded();var a=this.getLayer(e);if(a){if(!util.deepEqual(a.getPaintProperty(t),r)){var i=a.isPaintValueFeatureConstant(t);a.setPaintProperty(t,r),a.isPaintValueFeatureConstant(t)&&i||this._updateLayer(a),this.updatePaintProperties(e,t)}}else this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")})},t.prototype.getPaintProperty=function(e,t){return this.getLayer(e).getPaintProperty(t)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updatePaintProperties=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.sourceCaches[e.source].pause()),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var r=[],a=this._order.length-1;a>=0;a--)for(var i=this._order[a],o=0,s=e;o=this.maxzoom)||"none"===this.layout.visibility},e.prototype.updatePaintTransitions=function(t,e,i,a){var o,n=this;for(o in n._paintDeclarations)n._applyPaintDeclaration(o,n._paintDeclarations[o],t,e,i,a);for(o in n._paintTransitions)o in n._paintDeclarations||n._applyPaintDeclaration(o,null,t,e,i,a)},e.prototype.updatePaintTransition=function(t,e,i,a,o){var n=this._paintDeclarations[t];this._applyPaintDeclaration(t,n,e,i,a,o)},e.prototype.recalculate=function(t){var e=this;for(var i in e._paintTransitions)e.paint[i]=e.getPaintValue(i,{zoom:t});for(var a in e._layoutFunctions)e.layout[a]=e.getLayoutValue(a,{zoom:t})},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:util.mapObject(this._layoutDeclarations,getDeclarationValue),paint:util.mapObject(this._paintDeclarations,getDeclarationValue)};return util.filterObject(t,function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)})},e.prototype._applyPaintDeclaration=function(t,e,i,a,o,n){var r=i.transition?this._paintTransitions[t]:void 0,s=this._paintSpecifications[t];if(null!==e&&void 0!==e||(e=new StyleDeclaration(s,s.default,t)),!r||r.declaration.json!==e.json){var l=util.extend({duration:300,delay:0},a,this.getPaintProperty(t+"-transition")),u=this._paintTransitions[t]=new StyleTransition(s,e,r,l,n);o&&(u.instant()||(u.loopID=o.set(u.endTime-Date.now())),r&&o.cancel(r.loopID))}},e.prototype._updateLayoutValue=function(t){var e=this._layoutDeclarations[t];!e||e.expression.isZoomConstant&&e.expression.isFeatureConstant?(delete this._layoutFunctions[t],this.layout[t]=this.getLayoutValue(t,{zoom:0})):this._layoutFunctions[t]=!0},e.prototype._validate=function(t,e,i,a,o){return(!o||!1!==o.validate)&&validateStyle.emitErrors(this,t.call(validateStyle,{key:e,layerType:this.type,objectKey:i,value:a,styleSpec:styleSpec,style:{glyphs:!0,sprite:!0}}))},e.prototype.has3DPass=function(){return!1},e.prototype.resize=function(t){},e}(_dereq_("../util/evented"));module.exports=StyleLayer;var subclasses={circle:_dereq_("./style_layer/circle_style_layer"),heatmap:_dereq_("./style_layer/heatmap_style_layer"),fill:_dereq_("./style_layer/fill_style_layer"),"fill-extrusion":_dereq_("./style_layer/fill_extrusion_style_layer"),line:_dereq_("./style_layer/line_style_layer"),symbol:_dereq_("./style_layer/symbol_style_layer"),background:_dereq_("./style_layer/background_style_layer"),raster:_dereq_("./style_layer/raster_style_layer")};StyleLayer.create=function(t){return new subclasses[t.type](t)}},{"../style-spec/reference/latest":147,"../util/evented":239,"../util/util":252,"./../style-spec/util/parse_color":153,"./style_declaration":183,"./style_layer/background_style_layer":185,"./style_layer/circle_style_layer":186,"./style_layer/fill_extrusion_style_layer":187,"./style_layer/fill_style_layer":188,"./style_layer/heatmap_style_layer":189,"./style_layer/line_style_layer":190,"./style_layer/raster_style_layer":191,"./style_layer/symbol_style_layer":192,"./style_transition":194,"./validate_style":195}],185:[function(_dereq_,module,exports){"use strict";var BackgroundStyleLayer=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.isOpacityZero=function(t){return 0===this.getPaintValue("background-opacity",{zoom:t})},e}(_dereq_("../style_layer"));module.exports=BackgroundStyleLayer},{"../style_layer":184}],186:[function(_dereq_,module,exports){"use strict";var StyleLayer=_dereq_("../style_layer"),CircleBucket=_dereq_("../../data/bucket/circle_bucket"),multiPolygonIntersectsBufferedMultiPoint=_dereq_("../../util/intersection_tests").multiPolygonIntersectsBufferedMultiPoint,ref$1=_dereq_("../query_utils"),getMaximumPaintValue=ref$1.getMaximumPaintValue,translateDistance=ref$1.translateDistance,translate=ref$1.translate,CircleStyleLayer=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new CircleBucket(t)},e.prototype.isOpacityZero=function(t){return this.isPaintValueFeatureConstant("circle-opacity")&&0===this.getPaintValue("circle-opacity",{zoom:t})&&this.isPaintValueFeatureConstant("circle-stroke-width")&&0===this.getPaintValue("circle-stroke-width",{zoom:t})||this.isPaintValueFeatureConstant("circle-stroke-opacity")&&0===this.getPaintValue("circle-stroke-opacity",{zoom:t})},e.prototype.queryRadius=function(t){return getMaximumPaintValue("circle-radius",this,t)+translateDistance(this.paint["circle-translate"])},e.prototype.queryIntersectsFeature=function(t,e,r,i,a,n){var o=translate(t,this.getPaintValue("circle-translate",{zoom:i},e),this.getPaintValue("circle-translate-anchor",{zoom:i},e),a,n),c=this.getPaintValue("circle-radius",{zoom:i},e)*n;return multiPolygonIntersectsBufferedMultiPoint(o,r,c)},e}(StyleLayer);module.exports=CircleStyleLayer},{"../../data/bucket/circle_bucket":52,"../../util/intersection_tests":243,"../query_utils":181,"../style_layer":184}],187:[function(_dereq_,module,exports){"use strict";var StyleLayer=_dereq_("../style_layer"),FillExtrusionBucket=_dereq_("../../data/bucket/fill_extrusion_bucket"),multiPolygonIntersectsMultiPolygon=_dereq_("../../util/intersection_tests").multiPolygonIntersectsMultiPolygon,ref$1=_dereq_("../query_utils"),translateDistance=ref$1.translateDistance,translate=ref$1.translate,FillExtrusionStyleLayer=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getPaintValue=function(e,r,i){var o=t.prototype.getPaintValue.call(this,e,r,i);return"fill-extrusion-color"===e&&o&&(o[3]=1),o},e.prototype.createBucket=function(t){return new FillExtrusionBucket(t)},e.prototype.isOpacityZero=function(t){return 0===this.getPaintValue("fill-extrusion-opacity",{zoom:t})},e.prototype.queryRadius=function(){return translateDistance(this.paint["fill-extrusion-translate"])},e.prototype.queryIntersectsFeature=function(t,e,r,i,o,n){var l=translate(t,this.getPaintValue("fill-extrusion-translate",{zoom:i},e),this.getPaintValue("fill-extrusion-translate-anchor",{zoom:i},e),o,n);return multiPolygonIntersectsMultiPolygon(l,r)},e.prototype.has3DPass=function(){return 0!==this.paint["fill-extrusion-opacity"]&&"none"!==this.layout.visibility},e.prototype.resize=function(t){if(this.viewportFrame){var e=this.viewportFrame,r=e.texture,i=e.fbo;t.deleteTexture(r),t.deleteFramebuffer(i),this.viewportFrame=null}},e}(StyleLayer);module.exports=FillExtrusionStyleLayer},{"../../data/bucket/fill_extrusion_bucket":54,"../../util/intersection_tests":243,"../query_utils":181,"../style_layer":184}],188:[function(_dereq_,module,exports){"use strict";var StyleLayer=_dereq_("../style_layer"),FillBucket=_dereq_("../../data/bucket/fill_bucket"),multiPolygonIntersectsMultiPolygon=_dereq_("../../util/intersection_tests").multiPolygonIntersectsMultiPolygon,ref$1=_dereq_("../query_utils"),translateDistance=ref$1.translateDistance,translate=ref$1.translate,FillStyleLayer=function(t){function o(){t.apply(this,arguments)}return t&&(o.__proto__=t),(o.prototype=Object.create(t&&t.prototype)).constructor=o,o.prototype.getPaintValue=function(o,e,l){if("fill-outline-color"===o){if(void 0===this.getPaintProperty("fill-outline-color"))return t.prototype.getPaintValue.call(this,"fill-color",e,l);for(var r=this._paintTransitions["fill-outline-color"];r;){if(!(r&&r.declaration&&r.declaration.value))return t.prototype.getPaintValue.call(this,"fill-color",e,l);r=r.oldTransition}}return t.prototype.getPaintValue.call(this,o,e,l)},o.prototype.getPaintInterpolationFactor=function(o){for(var e=[],l=arguments.length-1;l-- >0;)e[l]=arguments[l+1];return"fill-outline-color"===o&&void 0===this.getPaintProperty("fill-outline-color")?t.prototype.getPaintInterpolationFactor.apply(this,["fill-color"].concat(e)):t.prototype.getPaintInterpolationFactor.apply(this,[o].concat(e))},o.prototype.isPaintValueFeatureConstant=function(o){return"fill-outline-color"===o&&void 0===this.getPaintProperty("fill-outline-color")?t.prototype.isPaintValueFeatureConstant.call(this,"fill-color"):t.prototype.isPaintValueFeatureConstant.call(this,o)},o.prototype.isPaintValueZoomConstant=function(o){return"fill-outline-color"===o&&void 0===this.getPaintProperty("fill-outline-color")?t.prototype.isPaintValueZoomConstant.call(this,"fill-color"):t.prototype.isPaintValueZoomConstant.call(this,o)},o.prototype.createBucket=function(t){return new FillBucket(t)},o.prototype.isOpacityZero=function(t){return this.isPaintValueFeatureConstant("fill-opacity")&&0===this.getPaintValue("fill-opacity",{zoom:t})},o.prototype.queryRadius=function(){return translateDistance(this.paint["fill-translate"])},o.prototype.queryIntersectsFeature=function(t,o,e,l,i,r){var n=translate(t,this.getPaintValue("fill-translate",{zoom:l},o),this.getPaintValue("fill-translate-anchor",{zoom:l},o),i,r);return multiPolygonIntersectsMultiPolygon(n,e)},o}(StyleLayer);module.exports=FillStyleLayer},{"../../data/bucket/fill_bucket":53,"../../util/intersection_tests":243,"../query_utils":181,"../style_layer":184}],189:[function(_dereq_,module,exports){"use strict";var StyleLayer=_dereq_("../style_layer"),HeatmapBucket=_dereq_("../../data/bucket/heatmap_bucket"),RGBAImage=_dereq_("../../util/image").RGBAImage,HeatmapStyleLayer=function(t){function a(a){t.call(this,a),this.colorRampData=new Uint8Array(1024),this.getPaintProperty("heatmap-color")||this.setPaintProperty("heatmap-color",this._paintSpecifications["heatmap-color"].default,"")}return t&&(a.__proto__=t),(a.prototype=Object.create(t&&t.prototype)).constructor=a,a.prototype.createBucket=function(t){return new HeatmapBucket(t)},a.prototype.isOpacityZero=function(t){return 0===this.getPaintValue("heatmap-opacity",{zoom:t})},a.prototype._applyPaintDeclaration=function(a,e,o,r,p,i){var l=this;if(t.prototype._applyPaintDeclaration.call(this,a,e,o,r,p,i),"heatmap-color"===a){for(var c=this.colorRampData.length,h=4;h0?e+2*t:t}var Point=_dereq_("@mapbox/point-geometry"),StyleLayer=_dereq_("../style_layer"),LineBucket=_dereq_("../../data/bucket/line_bucket"),multiPolygonIntersectsBufferedMultiLine=_dereq_("../../util/intersection_tests").multiPolygonIntersectsBufferedMultiLine,ref$1=_dereq_("../query_utils"),getMaximumPaintValue=ref$1.getMaximumPaintValue,translateDistance=ref$1.translateDistance,translate=ref$1.translate,LineStyleLayer=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new LineBucket(t)},e.prototype.isOpacityZero=function(t){return this.isPaintValueFeatureConstant("line-opacity")&&0===this.getPaintValue("line-opacity",{zoom:t})},e.prototype.queryRadius=function(t){var e=t,i=getLineWidth(getMaximumPaintValue("line-width",this,e),getMaximumPaintValue("line-gap-width",this,e)),n=getMaximumPaintValue("line-offset",this,e);return i/2+Math.abs(n)+translateDistance(this.paint["line-translate"])},e.prototype.queryIntersectsFeature=function(t,e,i,n,r,a){var u=translate(t,this.getPaintValue("line-translate",{zoom:n},e),this.getPaintValue("line-translate-anchor",{zoom:n},e),r,a),o=a/2*getLineWidth(this.getPaintValue("line-width",{zoom:n},e),this.getPaintValue("line-gap-width",{zoom:n},e)),l=this.getPaintValue("line-offset",{zoom:n},e);return l&&(i=function(t,e){for(var i=[],n=new Point(0,0),r=0;r=this.endTime)return o;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((e-this.startTime-this.delay)/this.duration);return this.interp(a,o,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var e=t.zoom,o=this.zoomHistory.lastIntegerZoom,a=e>o?2:.5,n=this.declaration.calculate({zoom:e>o?e-1:e+1},i),r=this.declaration.calculate({zoom:e},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(e-o),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},{"../style-spec/util/interpolate":152,"../util/util":252}],195:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../style-spec/validate_style.min"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0,o=e;t-a/2;){if(--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}},{}],198:[function(_dereq_,module,exports){"use strict";var Point=_dereq_("@mapbox/point-geometry");module.exports=function(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}},{"@mapbox/point-geometry":2}],199:[function(_dereq_,module,exports){"use strict";var createStructArrayType=_dereq_("../util/struct_array"),Point=_dereq_("@mapbox/point-geometry"),CollisionBoxArray=createStructArrayType({members:[{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"offsetX"},{type:"Int16",name:"offsetY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Float32",name:"unadjustedMaxScale"},{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":249,"@mapbox/point-geometry":2}],200:[function(_dereq_,module,exports){"use strict";var CollisionFeature=function(t,e,i,o,a,n,s,l,r,d,u){var h=s.top*l-r,f=s.bottom*l+r,x=s.left*l-r,m=s.right*l+r;if(this.boxStartIndex=t.length,d){var _=f-h,b=m-x;if(_>0)if(_=Math.max(10*l,_),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,a,n)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,a,n)}else t.emplaceBack(i.x,i.y,0,0,x,h,m,f,1/0,1/0,o,a,n,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,a,n,s,l,r){var d=n/2,u=Math.floor(a/d),h=Math.floor(u/2),f=-n/2,x=i,m=o+1,_=f,b=-a/2,v=b-a/8;do{if(--m<0){if(_>b)return;m=0;break}_-=e[m].dist(x),x=e[m]}while(_>v);for(var c=e[m].dist(e[m+1]),g=-h;ga&&(C+=p-a),!(C<_)){for(;_+c=e.length)return;c=e[m].dist(e[m+1])}var M=C-_,y=e[m],k=e[m+1].sub(y)._unit()._mult(M)._add(y)._round(),L=a/2/Math.max(Math.abs(C-f)-d/2,0);(g<0||g>=u)&&(L=Math.min(L,.99)),t.emplaceBack(k.x,k.y,k.x-i.x,k.y-i.y,-n/2,-n/2,n/2,n/2,L,L,s,l,r,0,0,0,0,0)}}},module.exports=CollisionFeature},{}],201:[function(_dereq_,module,exports){"use strict";var Point=_dereq_("@mapbox/point-geometry"),EXTENT=_dereq_("../data/extent"),Grid=_dereq_("grid-index"),intersectionTests=_dereq_("../util/intersection_tests"),CollisionTile=function(e,t,i,a,r,o,n){void 0===o&&(o=new Grid(EXTENT,12,6)),void 0===n&&(n=new Grid(EXTENT,12,0)),this.angle=e,this.pitch=t,this.cameraToCenterDistance=i,this.cameraToTileDistance=a,this.grid=o,this.ignoredGrid=n,this.perspectiveRatio=1+.5*(a/i-1),this.minScale=.5/this.perspectiveRatio,this.maxScale=2/this.perspectiveRatio;var s=Math.sin(this.angle),l=Math.cos(this.angle);this.rotationMatrix=[l,-s,s,l],this.reverseRotationMatrix=[l,s,-s,l],this.yStretch=Math.max(1,a/(i*Math.cos(t/180*Math.PI))),this.collisionBoxArray=r,0===r.length&&(r.emplaceBack(),r.emplaceBack(0,0,0,0,0,-EXTENT,0,EXTENT,1/0,1/0,0,0,0,0,0,0,0,0,0),r.emplaceBack(EXTENT,0,0,0,0,-EXTENT,0,EXTENT,1/0,1/0,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,0,0,0,-EXTENT,0,EXTENT,0,1/0,1/0,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,EXTENT,0,0,-EXTENT,0,EXTENT,0,1/0,1/0,0,0,0,0,0,0,0,0,0)),this.tempCollisionBox=r.get(0),this.edges=[r.get(1),r.get(2),r.get(3),r.get(4)]};CollisionTile.deserialize=function(e,t){return new CollisionTile(e.angle,e.pitch,e.cameraToCenterDistance,e.cameraToTileDistance,t,new Grid(e.grid),new Grid(e.ignoredGrid))},CollisionTile.prototype.serialize=function(e){var t=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return e&&(e.push(t),e.push(i)),{angle:this.angle,pitch:this.pitch,cameraToCenterDistance:this.cameraToCenterDistance,cameraToTileDistance:this.cameraToTileDistance,grid:t,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(e,t,i){for(var a=this,r=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,s=this.yStretch,l=e.boxStartIndex;l=a.maxScale)return o}if(i){var N=void 0;if(a.angle){var C=a.reverseRotationMatrix,w=new Point(c.x1,c.y1).matMult(C),X=new Point(c.x2,c.y1).matMult(C),B=new Point(c.x1,c.y2).matMult(C),G=new Point(c.x2,c.y2).matMult(C);(N=a.tempCollisionBox).anchorPointX=c.anchorPoint.x,N.anchorPointY=c.anchorPoint.y,N.x1=Math.min(w.x,X.x,B.x,G.x),N.y1=Math.min(w.y,X.x,B.x,G.x),N.x2=Math.max(w.x,X.x,B.x,G.x),N.y2=Math.max(w.y,X.x,B.x,G.x),N.maxScale=c.maxScale}else N=c;for(var R=0;R=a.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(e,t){var i={},a=[];if(0===e.length||0===this.grid.keys.length&&0===this.ignoredGrid.keys.length)return a;for(var r=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,s=[],l=1/0,c=1/0,h=-1/0,x=-1/0,m=0;mE.maxScale)){var b=E.anchorPoint.matMult(o),N=b.x+E.x1/v,C=b.y+E.y1/v*n,w=b.x+E.x2/v,X=b.y+E.y2/v*n,B=[new Point(N,C),new Point(w,C),new Point(w,X),new Point(N,X)];intersectionTests.polygonIntersectsPolygon(s,B)&&(i[S][P]=!0,a.push(d[f]))}}return a},CollisionTile.prototype.getPlacementScale=function(e,t,i,a,r){var o=t.x-a.x,n=t.y-a.y,s=(r.x1-i.x2)/o,l=(r.x2-i.x1)/o,c=(r.y1-i.y2)*this.yStretch/n,h=(r.y2-i.y1)*this.yStretch/n;(isNaN(s)||isNaN(l))&&(s=l=1),(isNaN(c)||isNaN(h))&&(c=h=1);var x=Math.min(Math.max(s,l),Math.max(c,h)),m=r.maxScale,p=i.maxScale;return x>m&&(x=m),x>p&&(x=p),x>e&&x>=r.placementScale&&(e=x),e},CollisionTile.prototype.insertCollisionFeature=function(e,t,i){for(var r=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=e.boxStartIndex;n=1)&&r.insert(n,s.bbox0,s.bbox1,s.bbox2,s.bbox3)}},module.exports=CollisionTile},{"../data/extent":58,"../util/intersection_tests":243,"@mapbox/point-geometry":2,"grid-index":23}],202:[function(_dereq_,module,exports){"use strict";var interpolate=_dereq_("../style-spec/util/interpolate"),Anchor=_dereq_("../symbol/anchor"),checkMaxAngle=_dereq_("./check_max_angle");module.exports=function(e,r,t,n,a,l,o,i,c){var h=n?.6*l*o:0,s=Math.max(n?n.right-n.left:0,a?a.right-a.left:0),u=0===e[0].x||e[0].x===c||0===e[0].y||e[0].y===c;return r-s*o=0&&k=0&&q=0&&p+h<=s){var M=new Anchor(k,q,A,f);M._round(),n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=y}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,c)),x}(e,u?r/2*i%r:(s/2+2*l)*o*i%r,r,h,t,s*o,u,!1,c)}},{"../style-spec/util/interpolate":152,"../symbol/anchor":196,"./check_max_angle":197}],203:[function(_dereq_,module,exports){"use strict";module.exports=function(e){function t(t){g.push(e[t]),l++}function r(e,t,r){var n=u[e];return delete u[e],u[t]=n,g[n].geometry[0].pop(),g[n].geometry[0]=g[n].geometry[0].concat(r[0]),n}function n(e,t,r){var n=i[t];return delete i[t],i[e]=n,g[n].geometry[0].shift(),g[n].geometry[0]=r[0].concat(g[n].geometry[0]),n}function o(e,t,r){var n=r?t[0][t[0].length-1]:t[0][0];return e+":"+n.x+":"+n.y}for(var i={},u={},g=[],l=0,m=0;m1){var h=e.glyphStartIndex+e.numGlyphs,x=l.get(e.glyphStartIndex).offsetX,v=l.get(h-1).offsetX,b=e.lineStartIndex,L=e.lineStartIndex+e.lineLength,A=placeGlyphAlongLine(g*x,d,f,a,m,c,e.segment,b,L,s,i,u);if(!A)return{notEnoughRoom:!0};var G=placeGlyphAlongLine(g*v,d,f,a,m,c,e.segment,b,L,s,i,u);if(!G)return{notEnoughRoom:!0};var S=project(A.point,o).point,P=project(G.point,o).point;if(n&&!a&&(e.vertical?S.yP.x))return{needsFlipping:!0};y=[A];for(var D=e.glyphStartIndex+1;D0?w.point:projectTruncatedLineSegment(c,new Point(j.x,j.y),M,1,r);if(e.vertical?F.y>M.y:F.x0?1:-1,g=0;n&&(y*=-1,g=Math.PI),y<0&&(g+=Math.PI);for(var d=y>0?l+o:l+o+1,f=r,h=r,x=0,v=0,b=Math.abs(u);x+v<=b;){if((d+=y)=s)return null;if(h=f,void 0===(f=c[d])){var L=project(p.get(d),m);f=L.signedDistanceFromCamera>0?c[d]=L.point:projectTruncatedLineSegment(0===x?i:new Point(p.get(d-y).x,p.get(d-y).y),new Point(p.get(d).x,p.get(d).y),h,b-x+1,m)}x+=v,v=h.dist(f)}var A=(b-x)/v,G=f.sub(h),S=G.mult(A)._add(h);return S._add(G._unit()._perp()._mult(a*y)),{point:S,angle:g+Math.atan2(f.y-h.y,f.x-h.x)}}function hideGlyphs(e,t){for(var a=0;a=-u[0]&&r<=u[0]&&i>=-u[1]&&i<=u[1]&&n.frameHistory.isVisible(t)}(x,h.placementZoom,0,a)){var b=1+.5*(x[3]/a.transform.cameraToCenterDistance-1),L=symbolSize.evaluateSizeForFeature(m,c,h),A=o?L*b:L/b,G=new Point(h.anchorX,h.anchorY),S=project(G,r).point,P={},D=placeGlyphsAlongLine(h,A,!1,l,t,r,i,e.glyphOffsetArray,g,y,S,G,P);(D.notEnoughRoom||D.needsFlipping&&placeGlyphsAlongLine(h,A,!0,l,t,r,i,e.glyphOffsetArray,g,y,S,G,P).notEnoughRoom)&&hideGlyphs(h.numGlyphs,y)}else hideGlyphs(h.numGlyphs,y)}n?e.text.dynamicLayoutVertexBuffer.updateData(y.serialize()):e.icon.dynamicLayoutVertexBuffer.updateData(y.serialize())},getLabelPlaneMatrix:function(e,t,a,n,r){var i=mat4.identity(new Float32Array(16));return t?(mat4.identity(i),mat4.scale(i,i,[1/r,1/r,1]),a||mat4.rotateZ(i,i,n.angle)):(mat4.scale(i,i,[n.width/2,-n.height/2,1]),mat4.translate(i,i,[1,-1,0]),mat4.multiply(i,i,e)),i},getGlCoordMatrix:function(e,t,a,n,r){var i=mat4.identity(new Float32Array(16));return t?(mat4.multiply(i,i,e),mat4.scale(i,i,[r,r,1]),a||mat4.rotateZ(i,i,-n.angle)):(mat4.scale(i,i,[1,-1,1]),mat4.translate(i,i,[-1,-1,0]),mat4.scale(i,i,[2/n.width,2/n.height,1])),i}};var offscreenPoint=new Point(-1/0,-1/0)},{"../data/bucket/symbol_bucket":57,"./symbol_size":207,"@mapbox/gl-matrix":1,"@mapbox/point-geometry":2}],205:[function(_dereq_,module,exports){"use strict";var Point=_dereq_("@mapbox/point-geometry"),GLYPH_PBF_BORDER=_dereq_("../style/parse_glyph_pbf").GLYPH_PBF_BORDER;module.exports={getIconQuads:function(t,e,i,o,n,a,r){var u,l,d,f,c=e.image,h=i.layout,x=e.top-1/c.pixelRatio,g=e.left-1/c.pixelRatio,p=e.bottom+1/c.pixelRatio,s=e.right+1/c.pixelRatio;if("none"!==h["icon-text-fit"]&&n){var P=s-g,_=p-x,w=h["text-size"]/24,m=n.left*w,y=n.right*w,M=n.top*w,R=y-m,b=n.bottom*w-M,G=h["icon-text-fit-padding"][0],B=h["icon-text-fit-padding"][1],I=h["icon-text-fit-padding"][2],L=h["icon-text-fit-padding"][3],Q="width"===h["icon-text-fit"]?.5*(b-_):0,O="height"===h["icon-text-fit"]?.5*(R-P):0,A="width"===h["icon-text-fit"]||"both"===h["icon-text-fit"]?R:P,D="height"===h["icon-text-fit"]||"both"===h["icon-text-fit"]?b:_;u=new Point(m+O-L,M+Q-G),l=new Point(m+O+B+A,M+Q-G),d=new Point(m+O+B+A,M+Q+I+D),f=new Point(m+O-L,M+Q+I+D)}else u=new Point(g,x),l=new Point(s,x),d=new Point(s,p),f=new Point(g,p);var E=i.getLayoutValue("icon-rotate",a,r)*Math.PI/180;if(E){var F=Math.sin(E),H=Math.cos(E),V=[H,-F,F,H];u._matMult(V),l._matMult(V),f._matMult(V),d._matMult(V)}return[{tl:u,tr:l,bl:f,br:d,tex:{x:c.textureRect.x-1,y:c.textureRect.y-1,w:c.textureRect.w+2,h:c.textureRect.h+2},writingMode:void 0,glyphOffset:[0,0]}]},getGlyphQuads:function(t,e,i,o,n,a,r){for(var u=i.getLayoutValue("text-rotate",n,a)*Math.PI/180,l=i.getLayoutValue("text-offset",n,a).map(function(t){return 24*t}),d=e.positionedGlyphs,f=[],c=0;c1||(b?(clearTimeout(b),b=null,h("dblclick",t)):b=setTimeout(function(){b=null},300))},!1),g.addEventListener("touchend",function(e){f("touchend",e)},!1),g.addEventListener("touchmove",function(e){f("touchmove",e)},!1),g.addEventListener("touchcancel",function(e){f("touchcancel",e)},!1),g.addEventListener("click",function(e){DOM.mousePos(g,e).equals(L)&&h("click",e)},!1),g.addEventListener("dblclick",function(e){h("dblclick",e),e.preventDefault()},!1),g.addEventListener("contextmenu",function(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h("contextmenu",t),t.preventDefault()},!1)}},{"../util/dom":238,"./handler/box_zoom":218,"./handler/dblclick_zoom":219,"./handler/drag_pan":220,"./handler/drag_rotate":221,"./handler/keyboard":222,"./handler/scroll_zoom":223,"./handler/touch_zoom_rotate":224,"@mapbox/point-geometry":2}],210:[function(_dereq_,module,exports){"use strict";var util=_dereq_("../util/util"),interpolate=_dereq_("../style-spec/util/interpolate"),browser=_dereq_("../util/browser"),LngLat=_dereq_("../geo/lng_lat"),LngLatBounds=_dereq_("../geo/lng_lat_bounds"),Point=_dereq_("@mapbox/point-geometry"),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)).constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i)},i.prototype.panBy=function(t,i,e){return t=Point.convert(t).mult(-1),this.panTo(this.transform.center,util.extend({offset:t},i),e)},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 util.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'"),this;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),a=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var s=Point.convert(i.offset),h=this.transform,p=h.project(t.getNorthWest()),u=h.project(t.getSouthEast()),c=u.sub(p),m=(h.width-2*r-2*Math.abs(s.x))/c.x,f=(h.height-2*a-2*Math.abs(s.y))/c.y;return f<0||m<0?(util.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset."),this):(i.center=h.unproject(p.add(u).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(m,f)),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),void 0!==t.center&&(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("pitchstart",i).fire("pitch",i).fire("pitchend",i),this.fire("moveend",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),!1===(t=util.extend({offset:[0,0],duration:500,easing:util.ease},t)).animate&&(t.duration=0),t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration));var o=this.transform,n=this.getZoom(),r=this.getBearing(),a=this.getPitch(),s="zoom"in t?+t.zoom:n,h="bearing"in t?this._normalizeBearing(t.bearing,r):r,p="pitch"in t?+t.pitch:a,u=o.centerPoint.add(Point.convert(t.offset)),c=o.pointLocation(u),m=LngLat.convert(t.center||c);this._normalizeCenter(m);var f,g,d=o.project(c),l=o.project(m).sub(d),v=o.zoomScale(s-n);return t.around&&(f=LngLat.convert(t.around),g=o.locationPoint(f)),this.zooming=s!==n,this.rotating=r!==h,this.pitching=p!==a,this._prepareEase(i,t.noMoveStart),clearTimeout(this._onEaseEnd),this._ease(function(t){if(this.zooming&&(o.zoom=interpolate(n,s,t)),this.rotating&&(o.bearing=interpolate(r,h,t)),this.pitching&&(o.pitch=interpolate(a,p,t)),f)o.setLocationAtPoint(f,g);else{var e=o.zoomScale(o.zoom-n),c=s>n?Math.min(2,v):Math.max(.5,v),m=Math.pow(c,1-t),b=o.unproject(d.add(l.mult(t*m)).mult(e));o.setLocationAtPoint(o.renderWorldCopies?b.wrap():b,u)}this._fireMoveEvents(i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(function(){return e._easeToEnd(i)},t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._prepareEase=function(t,i){this.moving=!0,i||this.fire("movestart",t),this.zooming&&this.fire("zoomstart",t),this.pitching&&this.fire("pitchstart",t)},i.prototype._fireMoveEvents=function(t){this.fire("move",t),this.zooming&&this.fire("zoom",t),this.rotating&&this.fire("rotate",t),this.pitching&&this.fire("pitch",t)},i.prototype._easeToEnd=function(t){var i=this.zooming,e=this.pitching;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire("zoomend",t),e&&this.fire("pitchend",t),this.fire("moveend",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(M*M-z*z+(t?-1:1)*L*L*E*E)/(2*(t?M:z)*L*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}var a=this;this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,h=this.getZoom(),p=this.getBearing(),u=this.getPitch(),c="zoom"in t?util.clamp(+t.zoom,s.minZoom,s.maxZoom):h,m="bearing"in t?this._normalizeBearing(t.bearing,p):p,f="pitch"in t?+t.pitch:u,g=s.zoomScale(c-h),d=s.centerPoint.add(Point.convert(t.offset)),l=s.pointLocation(d),v=LngLat.convert(t.center||l);this._normalizeCenter(v);var b=s.project(l),y=s.project(v).sub(b),_=t.curve,z=Math.max(s.width,s.height),M=z/g,E=y.mag();if("minZoom"in t){var T=util.clamp(Math.min(t.minZoom,h,c),s.minZoom,s.maxZoom),x=z/s.zoomScale(T-h);_=Math.sqrt(x/E*2)}var L=_*_,j=e(0),Z=function(t){return n(j)/n(j+_*t)},w=function(t){return z*((n(j)*function(t){return o(t)/n(t)}(j+_*t)-o(j))/L)/E},P=(e(1)-j)/_;if(Math.abs(E)<1e-6||!isFinite(P)){if(Math.abs(z-M)<1e-6)return this.easeTo(t,i);var q=Mt.maxDuration&&(t.duration=0),this.zooming=!0,this.rotating=p!==m,this.pitching=f!==u,this._prepareEase(i,!1),this._ease(function(t){var e=t*P,o=1/Z(e);s.zoom=h+s.scaleZoom(o),this.rotating&&(s.bearing=interpolate(p,m,t)),this.pitching&&(s.pitch=interpolate(u,f,t));var n=s.unproject(b.add(y.mult(w(e))).mult(o));s.setLocationAtPoint(s.renderWorldCopies?n.wrap():n,d),this._fireMoveEvents(i)},function(){return a._easeToEnd(i)},t),this},i.prototype.isEasing=function(){return!!this._abortFn},i.prototype.isMoving=function(){return this.moving},i.prototype.stop=function(){return this._abortFn&&(this._abortFn(),this._finishEase()),this},i.prototype._ease=function(t,i,e){this._finishFn=i,this._abortFn=browser.timed(function(i){t.call(this,e.easing(i)),1===i&&this._finishEase()},!1===e.animate?0:e.duration,this)},i.prototype._finishEase=function(){delete this._abortFn;var t=this._finishFn;delete this._finishFn,t.call(this)},i.prototype._normalizeBearing=function(t,i){t=util.wrap(t,-180,180);var e=Math.abs(t-i);return Math.abs(t-360-i)180?-360:e<-180?360:0}},i.prototype._smoothOutEasing=function(t){var i=util.ease;if(this._prevEase){var e=this._prevEase,o=(Date.now()-e.start)/e.duration,n=e.easing(o+.01)-e.easing(o),r=.27/Math.sqrt(n*n+1e-4)*.01,a=Math.sqrt(.0729-r*r);i=util.bezier(r,a,.25,1)}return this._prevEase={start:(new Date).getTime(),duration:t,easing:i},i},i}(_dereq_("../util/evented"));module.exports=Camera},{"../geo/lng_lat":68,"../geo/lng_lat_bounds":69,"../style-spec/util/interpolate":152,"../util/browser":231,"../util/evented":239,"../util/util":252,"@mapbox/point-geometry":2}],211:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),config=_dereq_("../../util/config"),AttributionControl=function(t){this.options=t,util.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};AttributionControl.prototype.getDefaultPosition=function(){return"bottom-right"},AttributionControl.prototype.onAdd=function(t){var i=this.options&&this.options.compact;return this._map=t,this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),i&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===i&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},AttributionControl.prototype.onRemove=function(){DOM.remove(this._container),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0},AttributionControl.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));var i=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:config.ACCESS_TOKEN}];if(t){var o=i.reduce(function(t,o,e){return o.value&&(t+=o.key+"="+o.value+(e=0)return!1;return!0}),this._container.innerHTML=t.join(" | "),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")},module.exports=AttributionControl},{"../../util/config":235,"../../util/dom":238,"../../util/util":252}],212:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),window=_dereq_("../../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"),this._className="mapboxgl-ctrl"};FullscreenControl.prototype.onAdd=function(e){return this._map=e,this._mapContainer=this._map.getContainer(),this._container=DOM.create("div",this._className+" mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display="none",util.warnOnce("This device does not support fullscreen mode.")),this._container},FullscreenControl.prototype.onRemove=function(){DOM.remove(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._checkFullscreenSupport=function(){return!!(window.document.fullscreenEnabled||window.document.mozFullScreenEnabled||window.document.msFullscreenEnabled||window.document.webkitFullscreenEnabled)},FullscreenControl.prototype._setupUI=function(){var e=this._fullscreenButton=DOM.create("button",this._className+"-icon "+this._className+"-fullscreen",this._container);e.setAttribute("aria-label","Toggle fullscreen"),e.type="button",this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(){(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+"-shrink"),this._fullscreenButton.classList.toggle(this._className+"-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":238,"../../util/util":252,"../../util/window":233}],213:[function(_dereq_,module,exports){"use strict";var supportsGeolocation,Evented=_dereq_("../../util/evented"),DOM=_dereq_("../../util/dom"),window=_dereq_("../../util/window"),util=_dereq_("../../util/util"),LngLat=_dereq_("../../geo/lng_lat"),Marker=_dereq_("../marker"),defaultOptions={positionOptions:{enableHighAccuracy:!1,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},GeolocateControl=function(t){function o(o){t.call(this),this.options=util.extend({},defaultOptions,o),util.bindAll(["_onSuccess","_onError","_finish","_setupUI","_updateCamera","_updateMarker","_onClickGeolocate"],this)}return t&&(o.__proto__=t),(o.prototype=Object.create(t&&t.prototype)).constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),function(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))}(this._setupUI),this._container},o.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),DOM.remove(this._container),this._map=void 0},o.prototype._onSuccess=function(t){if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire("geolocate",t),this._finish()},o.prototype._updateCamera=function(t){var o=new LngLat(t.coords.longitude,t.coords.latitude),e=t.coords.accuracy;this._map.fitBounds(o.toBounds(e),this.options.fitBoundsOptions,{geolocateSource:!0})},o.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},o.prototype._onError=function(t){if(this.options.trackUserLocation)if(1===t.code)this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),void 0!==this._geolocationWatchID&&this._clearWatch();else switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire("error",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){var o=this;!1!==t&&(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create("button","mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=DOM.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Marker(this._dotElement),this.options.trackUserLocation&&(this._watchState="OFF")),this._geolocateButton.addEventListener("click",this._onClickGeolocate.bind(this)),this.options.trackUserLocation&&this._map.on("movestart",function(t){t.geolocateSource||"ACTIVE_LOCK"!==o._watchState||(o._watchState="BACKGROUND",o._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),o._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),o.fire("trackuserlocationend"))}))},o.prototype._onClickGeolocate=function(){if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire("trackuserlocationstart");break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire("trackuserlocationend");break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire("trackuserlocationstart")}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}"OFF"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4)},o.prototype._clearWatch=function(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},o}(Evented);module.exports=GeolocateControl},{"../../geo/lng_lat":68,"../../util/dom":238,"../../util/evented":239,"../../util/util":252,"../../util/window":233,"../marker":227}],214:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),LogoControl=function(){util.bindAll(["_updateLogo"],this)};LogoControl.prototype.onAdd=function(o){this._map=o,this._container=DOM.create("div","mapboxgl-ctrl");var t=DOM.create("a","mapboxgl-ctrl-logo");return t.target="_blank",t.href="https://www.mapbox.com/",t.setAttribute("aria-label","Mapbox logo"),this._container.appendChild(t),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){DOM.remove(this._container),this._map.off("sourcedata",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return"bottom-left"},LogoControl.prototype._updateLogo=function(o){o&&"metadata"!==o.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o)if(o[t].getSource().mapbox_logo)return!0;return!1}},module.exports=LogoControl},{"../../util/dom":238,"../../util/util":252}],215:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),DragRotateHandler=_dereq_("../handler/drag_rotate"),NavigationControl=function(){var t=this;util.bindAll(["_rotateCompassArrow"],this),this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._zoomInButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in","Zoom In",function(){return t._map.zoomIn()}),this._zoomOutButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out","Zoom Out",function(){return t._map.zoomOut()}),this._compass=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-compass","Reset North",function(){return t._map.resetNorth()}),this._compassArrow=DOM.create("span","mapboxgl-ctrl-compass-arrow",this._compass)};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._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new DragRotateHandler(t,{button:"left",element:this._compass,pitchWithRotate:!1}),this._handler.enable(),this._container},NavigationControl.prototype.onRemove=function(){DOM.remove(this._container),this._map.off("rotate",this._rotateCompassArrow),delete this._map,this._handler.disable(),delete this._handler},NavigationControl.prototype._createButton=function(t,o,r){var e=DOM.create("button",t,this._container);return e.type="button",e.setAttribute("aria-label",o),e.addEventListener("click",r),e},module.exports=NavigationControl},{"../../util/dom":238,"../../util/util":252,"../handler/drag_rotate":221}],216:[function(_dereq_,module,exports){"use strict";function setScale(t,e,o,n){var i=function(t){var e=Math.pow(10,(""+Math.floor(t)).length-1),o=t/e;return e*(o>=10?10:o>=5?5:o>=3?3:o>=2?2:1)}(o),a=i/o;"m"===n&&i>=1e3&&(i/=1e3,n="km"),t.style.width=e*a+"px",t.innerHTML=i+n}var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),ScaleControl=function(t){this.options=t,util.bindAll(["_onMove"],this)};ScaleControl.prototype.getDefaultPosition=function(){return"bottom-left"},ScaleControl.prototype._onMove=function(){!function(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=function(t,e){var o=Math.PI/180,n=t.lat*o,i=e.lat*o,a=Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos((e.lng-t.lng)*o);return 6371e3*Math.acos(Math.min(a,1))}(t.unproject([0,i]),t.unproject([n,i]));if(o&&"imperial"===o.unit){var l=3.2808*a;l>5280?setScale(e,n,l/5280,"mi"):setScale(e,n,l,"ft")}else o&&"nautical"===o.unit?setScale(e,n,a/1852,"nm"):setScale(e,n,a,"m")}(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(){DOM.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},module.exports=ScaleControl},{"../../util/dom":238,"../../util/util":252}],217:[function(_dereq_,module,exports){"use strict"},{}],218:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),LngLatBounds=_dereq_("../../geo/lng_lat_bounds"),util=_dereq_("../../util/util"),window=_dereq_("../../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._map.dragPan&&this._map.dragPan.disable(),this._el.addEventListener("mousedown",this._onMouseDown,!1),this._map.dragPan&&this._map.dragPan.enable(),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),a=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=a-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&&(DOM.remove(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":69,"../../util/dom":238,"../../util/util":252,"../../util/window":233}],219:[function(_dereq_,module,exports){"use strict";var util=_dereq_("../../util/util"),DoubleClickZoomHandler=function(o){this._map=o,util.bindAll(["_onDblClick","_onZoomEnd"],this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.isActive=function(){return!!this._active},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._active=!0,this._map.on("zoomend",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},DoubleClickZoomHandler.prototype._onZoomEnd=function(){this._active=!1,this._map.off("zoomend",this._onZoomEnd)},module.exports=DoubleClickZoomHandler},{"../../util/util":252}],220:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),window=_dereq_("../../util/window"),inertiaEasing=util.bezier(0,0,.3,1),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.classList.add("mapboxgl-touch-drag-pan"),this._el.addEventListener("mousedown",this._onDown),this._el.addEventListener("touchstart",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-drag-pan"),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(.3/s),d=u.mag();d>1400&&(d=1400,u._unit()._mult(d));var h=d/750,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;return!(!e.boxZoom||!e.boxZoom.isActive())||!(!e.dragRotate||!e.dragRotate.isActive())||(t.touches?t.touches.length>1:!!t.ctrlKey||"mousemove"!==t.type&&t.button&&0!==t.button)},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now();t.length>0&&e-t[0][0]>160;)t.shift()},module.exports=DragPanHandler},{"../../util/dom":238,"../../util/util":252,"../../util/window":233}],221:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),window=_dereq_("../../util/window"),inertiaEasing=util.bezier(0,0,.25,1),DragRotateHandler=function(t,e){this._map=t,this._el=e.element||t.getCanvasContainer(),this._button=e.button||"right",this._bearingSnap=e.bearingSnap||0,this._pitchWithRotate=!1!==e.pitchWithRotate,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){if(!(this._map.boxZoom&&this._map.boxZoom.isActive()||this._map.dragPan&&this._map.dragPan.isActive()||this.isActive())){if("right"===this._button){var e=t.ctrlKey?0:2,i=t.button;if(void 0!==window.InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf("MAC")>=0&&(i=0),i!==e)return}else if(t.ctrlKey||0!==t.button)return;DOM.disableDrag(),window.document.addEventListener("mousemove",this._onMove,{capture:!0}),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){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("rotatestart",t),this._fireEvent("movestart",t),this._pitchWithRotate&&this._fireEvent("pitchstart",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=-.5*(i.y-n.y),o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,_=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,_[1])]),e.transform.bearing=o,this._pitchWithRotate&&(this._fireEvent("pitch",t),e.transform.pitch=s),this._fireEvent("rotate",t),this._fireEvent("move",t),this._pos=n},DragRotateHandler.prototype._onUp=function(t){var e=this;if(window.document.removeEventListener("mousemove",this._onMove,{capture:!0}),window.document.removeEventListener("mouseup",this._onUp),window.removeEventListener("blur",this._onUp),DOM.enableDrag(),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)180&&(l=180);var u=l/180;_+=v*l*(u/2),Math.abs(i._normalizeBearing(_,0))0&&e-t[0][0]>160;)t.shift()},module.exports=DragRotateHandler},{"../../util/dom":238,"../../util/util":252,"../../util/window":233}],222:[function(_dereq_,module,exports){"use strict";var util=_dereq_("../../util/util"),KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll(["_onKeyDown"],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,a=0,n=0,r=0,i=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?a=-1:(e.preventDefault(),r=-1);break;case 39:e.shiftKey?a=1:(e.preventDefault(),r=1);break;case 38:e.shiftKey?n=1:(e.preventDefault(),i=-1);break;case 40:e.shiftKey?n=-1:(i=1,e.preventDefault());break;default:return}var s=this._map,o=s.getZoom(),l={duration:300,delayEndEvents:500,easing:function(e){return e*(2-e)},zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+15*a,pitch:s.getPitch()+10*n,offset:[100*-r,100*-i],center:s.getCenter()};s.easeTo(l,{originalEvent:e})}},module.exports=KeyboardHandler},{"../../util/util":252}],223:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),browser=_dereq_("../../util/browser"),window=_dereq_("../../util/window"),ua=window.navigator.userAgent.toLowerCase(),firefox=-1!==ua.indexOf("firefox"),safari=-1!==ua.indexOf("safari")&&-1===ua.indexOf("chrom"),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=0;"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":231,"../../util/dom":238,"../../util/util":252,"../../util/window":233}],224:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),window=_dereq_("../../util/window"),inertiaEasing=util.bezier(0,0,.15,1),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.classList.add("mapboxgl-touch-zoom-rotate"),this._el.addEventListener("touchstart",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-zoom-rotate"),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)>.15;Math.abs(r)>10?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)o.snapToNorth({},{originalEvent:t});else{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){var l=.15*s/h;Math.abs(l)>2.5&&(l=l>0?2.5:-2.5);var d=1e3*Math.abs(l/(12*.15)),c=a+l*d/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:d,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})}else o.snapToNorth({},{originalEvent:t})}},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now();t.length>2&&e-t[0][0]>160;)t.shift()},module.exports=TouchZoomRotateHandler},{"../../util/dom":238,"../../util/util":252,"../../util/window":233}],225:[function(_dereq_,module,exports){"use strict";var util=_dereq_("../util/util"),window=_dereq_("../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.getHashString=function(t){var a=this._map.getCenter(),h=Math.round(100*this._map.getZoom())/100,e=Math.max(0,Math.ceil(Math.log(h)/Math.LN2)),n=Math.round(a.lng*Math.pow(10,e))/Math.pow(10,e),o=Math.round(a.lat*Math.pow(10,e))/Math.pow(10,e),i=this._map.getBearing(),s=this._map.getPitch(),r="";return r+=t?"#/"+n+"/"+o+"/"+h:"#"+h+"/"+o+"/"+n,(i||s)&&(r+="/"+Math.round(10*i)/10),s&&(r+="/"+Math.round(s)),r},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.getHashString();window.history.replaceState("","",t)},module.exports=Hash},{"../util/util":252,"../util/window":233}],226:[function(_dereq_,module,exports){"use strict";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=_dereq_("../util/util"),browser=_dereq_("../util/browser"),window=_dereq_("../util/window"),HTMLImageElement=_dereq_("../util/window").HTMLImageElement,DOM=_dereq_("../util/dom"),ajax=_dereq_("../util/ajax"),Style=_dereq_("../style/style"),AnimationLoop=_dereq_("../style/animation_loop"),Painter=_dereq_("../render/painter"),Transform=_dereq_("../geo/transform"),Hash=_dereq_("./hash"),bindHandlers=_dereq_("./bind_handlers"),Camera=_dereq_("./camera"),LngLat=_dereq_("../geo/lng_lat"),LngLatBounds=_dereq_("../geo/lng_lat_bounds"),Point=_dereq_("@mapbox/point-geometry"),AttributionControl=_dereq_("./control/attribution_control"),LogoControl=_dereq_("./control/logo_control"),isSupported=_dereq_("mapbox-gl-supported");_dereq_("./events");var defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,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,maxTileCacheSize:null,transformRequest:null},Map=function(t){function e(e){var o=this;if(null!=(e=util.extend({},defaultOptions,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var r=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);t.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles;var i=e.transformRequest;if(this._transformRequest=i?function(t,e){return i(t,e)||{url:t}}:function(t){return{url:t}},"string"==typeof e.container){var n=window.document.getElementById(e.container);if(!n)throw new Error("Container '"+e.container+"' not found.");this._container=n}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()}),void 0!==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.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),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({transition:!1})}),this.on("data",this._onData),this.on("dataloading",this._onDataLoading)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.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),r=this._controlPositions[e];return-1!==e.indexOf("bottom")?r.insertBefore(o,r.firstChild):r.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},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.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new LngLatBounds([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},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=null,this.transform.latRange=null,this._update());return this},e.prototype.setMinZoom=function(t){if((t=null===t||void 0===t?0:t)>=0&&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.on=function(e,o,r){var i=this;if(void 0===r)return t.prototype.on.call(this,e,o);var n=function(){if("mouseenter"===e||"mouseover"===e){var t=!1;return{layer:o,listener:r,delegates:{mousemove:function(n){var s=i.getLayer(o)?i.queryRenderedFeatures(n.point,{layers:[o]}):[];s.length?t||(t=!0,r.call(i,util.extend({features:s},n,{type:e}))):t=!1},mouseout:function(){t=!1}}}}if("mouseleave"===e||"mouseout"===e){var n=!1;return{layer:o,listener:r,delegates:{mousemove:function(t){(i.getLayer(o)?i.queryRenderedFeatures(t.point,{layers:[o]}):[]).length?n=!0:n&&(n=!1,r.call(i,util.extend({},t,{type:e})))},mouseout:function(t){n&&(n=!1,r.call(i,util.extend({},t,{type:e})))}}}}return{layer:o,listener:r,delegates:(a={},a[e]=function(t){var e=i.getLayer(o)?i.queryRenderedFeatures(t.point,{layers:[o]}):[];e.length&&r.call(i,util.extend({features:e},t))},a)};var a}();this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(n);for(var s in n.delegates)i.on(s,n.delegates[s]);return this},e.prototype.off=function(e,o,r){if(void 0===r)return t.prototype.off.call(this,e,o);if(this._delegatedListeners&&this._delegatedListeners[e])for(var n=this._delegatedListeners[e],s=0;sthis._map.transform.height-i?["bottom"]:[],t.xthis._map.transform.width-n/2&&o.push("right"),o=0===o.length?"bottom":o.join("-")}var r=t.add(e[o]).round(),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-"+o),DOM.setTransform(this._container,s[o]+" translate("+r.x+"px,"+r.y+"px)")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup},{"../geo/lng_lat":68,"../util/dom":238,"../util/evented":239,"../util/smart_wrap":248,"../util/util":252,"../util/window":233,"@mapbox/point-geometry":2}],229:[function(_dereq_,module,exports){"use strict";var util=_dereq_("./util"),Actor=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,util.bindAll(["receive"],this),this.target.addEventListener("message",this.receive,!1)};Actor.prototype.send=function(t,e,r,a,i){var s=r?this.mapId+":"+this.callbackID++:null;r&&(this.callbacks[s]=r),this.target.postMessage({targetMapId:i,sourceMapId:this.mapId,type:t,id:String(s),data:e},a)},Actor.prototype.receive=function(t){var e,r=this,a=t.data,i=a.id;if(!a.targetMapId||this.mapId===a.targetMapId){var s=function(t,e,a){r.target.postMessage({sourceMapId:r.mapId,type:"",id:String(i),error:t?String(t):null,data:e},a)};if(""===a.type)e=this.callbacks[a.id],delete this.callbacks[a.id],e&&a.error?e(new Error(a.error)):e&&e(null,a.data);else if(void 0!==a.id&&this.parent[a.type])this.parent[a.type](a.sourceMapId,a.data,s);else if(void 0!==a.id&&this.parent.getWorkerSource){var o=a.type.split(".");this.parent.getWorkerSource(a.sourceMapId,o[0])[o[1]](a.data,s)}else this.parent[a.type](a.data)}},Actor.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)},module.exports=Actor},{"./util":252}],230:[function(_dereq_,module,exports){"use strict";function makeRequest(e){var t=new window.XMLHttpRequest;t.open("GET",e.url,!0);for(var r in e.headers)t.setRequestHeader(r,e.headers[r]);return t.withCredentials="include"===e.credentials,t}var window=_dereq_("./window"),ResourceType={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};exports.ResourceType=ResourceType,"function"==typeof Object.freeze&&Object.freeze(ResourceType);var AJAXError=function(e){function t(t,r){e.call(this,t),this.status=r}return e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t,t}(Error);exports.getJSON=function(e,t){var r=makeRequest(e);return r.setRequestHeader("Accept","application/json"),r.onerror=function(){t(new Error(r.statusText))},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var e;try{e=JSON.parse(r.response)}catch(e){return t(e)}t(null,e)}else t(new AJAXError(r.statusText,r.status))},r.send(),r},exports.getArrayBuffer=function(e,t){var r=makeRequest(e);return r.responseType="arraybuffer",r.onerror=function(){t(new Error(r.statusText))},r.onload=function(){var e=r.response;if(0===e.byteLength&&200===r.status)return t(new Error("http status 200 returned without content."));r.status>=200&&r.status<300&&r.response?t(null,{data:e,cacheControl:r.getResponseHeader("Cache-Control"),expires:r.getResponseHeader("Expires")}):t(new AJAXError(r.statusText,r.status))},r.send(),r},exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,r){if(e)t(e);else if(r){var n=new window.Image,o=window.URL||window.webkitURL;n.onload=function(){t(null,n),o.revokeObjectURL(n.src)};var s=new window.Blob([new Uint8Array(r.data)],{type:"image/png"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?o.createObjectURL(s):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="}})},exports.getVideo=function(e,t){var r=window.document.createElement("video");r.onloadstart=function(){t(null,r)};for(var n=0;n=o+n?e.call(t,1):(e.call(t,(r-o)/n),frame(a))}}),function(){i=!0}},getImageData:function(e){var n=window.document.createElement("canvas"),t=n.getContext("2d");if(!t)throw new Error("failed to create canvas 2d context");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0,e.width,e.height),t.getImageData(0,0,e.width,e.height)},hardwareConcurrency:window.navigator.hardwareConcurrency||4,get devicePixelRatio(){return window.devicePixelRatio},supportsWebp:!1};var webpImgTest=window.document.createElement("img");webpImgTest.onload=function(){module.exports.supportsWebp=!0},webpImgTest.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="},{"./window":233}],232:[function(_dereq_,module,exports){"use strict";var WebWorkify=_dereq_("webworkify"),window=_dereq_("../window"),workerURL=window.URL.createObjectURL(new WebWorkify(_dereq_("../../source/worker"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)}},{"../../source/worker":117,"../window":233,webworkify:48}],233:[function(_dereq_,module,exports){"use strict";module.exports=self},{}],234:[function(_dereq_,module,exports){"use strict";var quickselect=_dereq_("quickselect"),calculateSignedArea=_dereq_("./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":252}],240:[function(_dereq_,module,exports){"use strict";function Cell(e,t,n,o){this.p=new Point(e,t),this.h=n,this.d=function(e,t){for(var n=!1,o=1/0,r=0;re.y!=p.y>e.y&&e.x<(p.x-s.x)*(e.y-s.y)/(p.y-s.y)+s.x&&(n=!n),o=Math.min(o,distToSegmentSquared(e,s,p))}return(n?1:-1)*Math.sqrt(o)}(this.p,o),this.max=this.d+this.h*Math.SQRT2}var Queue=_dereq_("tinyqueue"),Point=_dereq_("@mapbox/point-geometry"),distToSegmentSquared=_dereq_("./intersection_tests").distToSegmentSquared;module.exports=function(e,t,n){void 0===t&&(t=1),void 0===n&&(n=!1);for(var o=1/0,r=1/0,i=-1/0,l=-1/0,u=e[0],a=0;ai)&&(i=s.x),(!a||s.y>l)&&(l=s.y)}var p=i-o,h=l-r,d=Math.min(p,h),x=d/2,y=new Queue(null,function(e,t){return t.max-e.max});if(0===d)return new Point(o,r);for(var g=o;gm.d||!m.d)&&(m=c,n&&console.log("found best %d after %d probes",Math.round(1e4*c.d)/1e4,v)),c.max-m.d<=t||(x=c.h/2,y.push(new Cell(c.p.x-x,c.p.y-x,x,e)),y.push(new Cell(c.p.x+x,c.p.y-x,x,e)),y.push(new Cell(c.p.x-x,c.p.y+x,x,e)),y.push(new Cell(c.p.x+x,c.p.y+x,x,e)),v+=4)}return n&&(console.log("num probes: "+v),console.log("best distance: "+m.d)),m.p}},{"./intersection_tests":243,"@mapbox/point-geometry":2,tinyqueue:42}],241:[function(_dereq_,module,exports){"use strict";var globalWorkerPool,WorkerPool=_dereq_("./worker_pool");module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool}},{"./worker_pool":255}],242:[function(_dereq_,module,exports){"use strict";function createImage(e,t,i){var h=e.width,a=e.height;if(i){if(i.length!==h*a*t)throw new RangeError("mismatched image size")}else i=new Uint8Array(h*a*t);return{width:h,height:a,data:i}}function resizeImage(e,t,i){var h=t.width,a=t.height;if(h===e.width&&a===e.height)return e;var r=createImage({width:h,height:a},i);copyImage(e,r,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,h),height:Math.min(e.height,a)},i),e.width=h,e.height=a,e.data=r.data}function copyImage(e,t,i,h,a,r){if(0===a.width||0===a.height)return t;if(a.width>e.width||a.height>e.height||i.x>e.width-a.width||i.y>e.height-a.height)throw new RangeError("out of range source coordinates for image copy");if(a.width>t.width||a.height>t.height||h.x>t.width-a.width||h.y>t.height-a.height)throw new RangeError("out of range destination coordinates for image copy");for(var g=e.data,n=t.data,o=0;o1?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=_dereq_("./util").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:function(n,t,e){for(var r=0;r=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r=128&&n<=255},Arabic:function(n){return n>=1536&&n<=1791},"Arabic Supplement":function(n){return n>=1872&&n<=1919},"Arabic Extended-A":function(n){return n>=2208&&n<=2303},"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},"Arabic Presentation Forms-A":function(n){return n>=64336&&n<=65023},"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},"Arabic Presentation Forms-B":function(n){return n>=65136&&n<=65279},"Halfwidth and Fullwidth Forms":function(n){return n>=65280&&n<=65519}}},{}],245:[function(_dereq_,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){return this.has(t)?this.data[t]:null},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},{}],246:[function(_dereq_,module,exports){"use strict";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,"/"!==t.path&&(r.path=""+t.path+r.path),!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(!(e=e||config.ACCESS_TOKEN))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 parseUrl(r){var e=r.match(urlRe);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function formatUrl(r){var e=r.params.length?"?"+r.params.join("&"):"";return r.protocol+"://"+r.authority+r.path+e}var config=_dereq_("./config"),browser=_dereq_("./browser"),help="See https://www.mapbox.com/api-documentation/#access-tokens";exports.isMapboxURL=isMapboxURL,exports.normalizeStyleURL=function(r,e){if(!isMapboxURL(r))return r;var t=parseUrl(r);return t.path="/styles/v1"+t.path,makeAPIURL(t,e)},exports.normalizeGlyphsURL=function(r,e){if(!isMapboxURL(r))return r;var t=parseUrl(r);return t.path="/fonts/v1"+t.path,makeAPIURL(t,e)},exports.normalizeSourceURL=function(r,e){if(!isMapboxURL(r))return r;var t=parseUrl(r);return t.path="/v4/"+t.authority+".json",t.params.push("secure"),makeAPIURL(t,e)},exports.normalizeSpriteURL=function(r,e,t,a){var o=parseUrl(r);return isMapboxURL(r)?(o.path="/styles/v1"+o.path+"/sprite"+e+t,makeAPIURL(o,a)):(o.path+=""+e+t,formatUrl(o))};var imageExtensionRe=/(\.(png|jpg)\d*)(?=$)/;exports.normalizeTileURL=function(r,e,t){if(!e||!isMapboxURL(e))return r;var a=parseUrl(r),o=browser.devicePixelRatio>=2||512===t?"@2x":"",p=browser.supportsWebp?".webp":"$1";return a.path=a.path.replace(imageExtensionRe,""+o+p),function(r){for(var e=0;e=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":244}],248:[function(_dereq_,module,exports){"use strict";var LngLat=_dereq_("../geo/lng_lat");module.exports=function(n,t,l){if(n=new LngLat(n.lng,n.lat),t){var a=new LngLat(n.lng-360,n.lat),i=new LngLat(n.lng+360,n.lat),o=l.locationPoint(n).distSqr(t);l.locationPoint(a).distSqr(t)180;){var e=l.locationPoint(n);if(e.x>=0&&e.y>=0&&e.x<=l.width&&e.y<=l.height)break;n.lng>l.center.lng?n.lng-=360:n.lng+=360}return n}},{"../geo/lng_lat":68}],249:[function(_dereq_,module,exports){"use strict";function align(t,r){return Math.ceil(t/r)*r}function sizeOf(t){return viewTypes[t].BYTES_PER_ELEMENT}function getArrayViewName(t){return t.toLowerCase()}module.exports=function(t){var r=JSON.stringify(t);if(structArrayTypeCache[r])return structArrayTypeCache[r];var e=void 0===t.alignment?1:t.alignment,i=0,n=0,a=["Uint8"],s=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var r=sizeOf(t.type),s=i=align(i,Math.max(e,r)),o=t.components||1;return n=Math.max(n,r),i+=r*o,{name:t.name,type:t.type,components:o,offset:s}}),o=align(i,Math.max(n,e)),p=function(t){function r(){t.apply(this,arguments)}return t&&(r.__proto__=t),(r.prototype=Object.create(t&&t.prototype)).constructor=r,r}(Struct);p.prototype.alignment=e,p.prototype.size=o;for(var y=0,c=s;y1&&(f+=u),f in p.prototype)throw new Error(f+" is a reserved name and cannot be used as a member name.");Object.defineProperty(p.prototype,f,function(t,r){var e=function(t,r){var n="this._pos"+sizeOf(t.type).toFixed(0)+" + "+(t.offset/sizeOf(t.type)+r).toFixed(0);return"this._structArray."+getArrayViewName(t.type)+"["+n+"]"}(h,u);return{get:new Function("return "+e+";"),set:new Function("x",e+" = x;")}}())}var m=function(t){function r(){t.apply(this,arguments)}return t&&(r.__proto__=t),(r.prototype=Object.create(t&&t.prototype)).constructor=r,r}(StructArray);return m.prototype.members=s,m.prototype.StructType=p,m.prototype.bytesPerElement=o,m.prototype.emplaceBack=function(t,r){for(var e=[],i=[],n="var i = this.length;\nthis.resize(this.length + 1);\n",a=0,s=t;athis.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var r=this.uint8;this._refreshViews(),r&&this.uint8.set(r)}},StructArray.prototype._refreshViews=function(){for(var t=this,r=0,e=t._usedTypes;r=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){for(var e=[],t=arguments.length-1;t-- >0;)e[t]=arguments[t+1];for(var n=0,o=e;n=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 t={};if(r.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,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":67,"@mapbox/point-geometry":2,"@mapbox/unitbezier":5}],253:[function(_dereq_,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 t={geometry:this.geometry};for(var r in this)"_geometry"!==r&&"_vectorTileFeature"!==r&&(t[r]=this[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature},{}],254:[function(_dereq_,module,exports){"use strict";var scriptDetection=_dereq_("./script_detection");module.exports=function(t){for(var o="",e=0;e":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"}},{"./script_detection":247}],255:[function(_dereq_,module,exports){"use strict";var WebWorker=_dereq_("./web_worker"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){if(!this.workers){var o=_dereq_("../").workerCount;for(this.workers=[];this.workers.length{{buttons}}",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+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)}),0>(e=e&&!isNaN(+e)?+e:this.delay)?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")).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 r,i=n.querySelector(".ok"),a=n.querySelector(".cancel"),l=n.querySelector("input"),s=n.querySelector("label");return l&&("string"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),"string"==typeof this.promptValue&&(l.value=this.promptValue)),"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 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,500)}};if(void 0!==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 void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return new t}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}()}).call(exports,__webpack_require__(11)(module))},,,function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _newnoteButton2=_interopRequireDefault(__webpack_require__(8)),_persistForm2=_interopRequireDefault(__webpack_require__(14)),button=document.querySelector("#locate");(0,_newnoteButton2.default)(button),(0,_persistForm2.default)()},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(button){"geolocation"in navigator&&button.addEventListener&&(button.disabled=!1,button.addEventListener("click",_newnoteGetlocation2.default))};var obj,_newnoteGetlocation2=(obj=__webpack_require__(9))&&obj.__esModule?obj:{default:obj}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(){var container=document.querySelector("fieldset"),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)})};var obj,_nearbyPlaces2=(obj=__webpack_require__(10))&&obj.__esModule?obj:{default:obj}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(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();_alertify2.default.reset(),_alertify2.default.error("Non OK response")}).then(function(json){1==json.error&&(_alertify2.default.reset(),_alertify2.default.error(json.error_description));var places=null;json.places.length>0&&(places=json.places);var map=(0,_mapboxUtils2.default)(div,position,places),flexboxDiv=document.createElement("div"),options=makeOptionsForForm(map,position,places);flexboxDiv.appendChild(options);var newPlaceForm=(0,_newplaceMicropub2.default)(map);flexboxDiv.appendChild(newPlaceForm),document.querySelector("fieldset").insertBefore(flexboxDiv,document.querySelector(".map"))}).catch(function(error){console.error(error)})};var _alertify2=_interopRequireDefault(__webpack_require__(4)),_mapboxUtils2=_interopRequireDefault(__webpack_require__(1)),_parseLocation2=_interopRequireDefault(__webpack_require__(0)),_newplaceMicropub2=_interopRequireDefault(__webpack_require__(12)),makeOptionsForForm=function(map,position){var places=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,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");if(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),null!=places){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=places[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var place=_step.value,parsedCoords=(0,_parseLocation2.default)(place.location),option=document.createElement("option");option.setAttribute("value",place.uri),option.dataset.latitude=parsedCoords.latitude,option.dataset.longitude=parsedCoords.longitude,option.appendChild(document.createTextNode(place.name)),selectElement.appendChild(option)}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}return selectElement.addEventListener("change",function(){if("no-location"!==selectElement.value){var optionLatitude=selectElement[selectElement.selectedIndex].dataset.latitude,optionLongitude=selectElement[selectElement.selectedIndex].dataset.longitude;map.flyTo({center:[optionLongitude,optionLatitude]})}}),selectElement}},function(module,exports){module.exports=function(module){return module.webpackPolyfill||(module.deprecate=function(){},module.paths=[],module.children||(module.children=[]),Object.defineProperty(module,"loaded",{enumerable:!0,get:function(){return module.l}}),Object.defineProperty(module,"id",{enumerable:!0,get:function(){return module.i}}),module.webpackPolyfill=1),module}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(map){var newLocationButton=document.createElement("button");return newLocationButton.setAttribute("type","button"),newLocationButton.setAttribute("id","create-new-place"),newLocationButton.appendChild(document.createTextNode("Create New Place?")),newLocationButton.addEventListener("click",function(){var latitude=map.getCenter().lat,longitude=map.getCenter().lng;map.addSource("new-place",{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[longitude,latitude]},properties:{title:"",icon:"circle"}}]}}),map.addLayer({id:"new-place",type:"symbol",source:"new-place",layout:{"icon-image":"{icon}-15","text-field":"{title}","text-offset":[0,1]}});var newPlaceNameDiv=document.createElement("div"),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"),newPlaceNameInput.addEventListener("keyup",function(){var source=map.getSource("new-place");source._data.features[0].properties.title=newPlaceNameInput.value,map.getSource("new-place").setData(source._data)}),newPlaceNameDiv.appendChild(newPlaceNameLabel),newPlaceNameDiv.appendChild(newPlaceNameInput);var newPlaceDescDiv=document.createElement("div"),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"),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"),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)}),newLocationButton};var obj,_submitPlace2=(obj=__webpack_require__(13))&&obj.__esModule?obj:{default:obj}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(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("/micropub/places",{credentials:"same-origin",method:"post",body:formData}).then(function(response){return response.json()}).then(function(placeJson){if(!0===placeJson.error)throw new Error(placeJson.error_description);var form=document.querySelector("fieldset"),labels=document.querySelectorAll(".place-label"),_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=labels[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var label=_step.value;form.removeChild(label.parentNode)}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_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 newFeatures=map.getSource("points")._data.features.filter(function(item){return"Current Location"!=item.properties.title});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"),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=!0}).catch(function(placeError){_alertify2.default.reset(),_alertify2.default.error(placeError)})};var obj,_alertify2=(obj=__webpack_require__(4))&&obj.__esModule?obj:{default:obj}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(){var form=document.querySelector('form[name="micropub"]');form.addEventListener("change",saveData),form.addEventListener("submit",clearData),loadData()};var _webStorage2=_interopRequireDefault(__webpack_require__(15)),_alertify2=_interopRequireDefault(__webpack_require__(4)),loadData=function(){document.querySelector("#in-reply-to").value=_webStorage2.default.getItem("replyTo"),document.querySelector("#content").value=_webStorage2.default.getItem("content")},saveData=function(){var replyTo=document.querySelector("#in-reply-to"),content=document.querySelector("#content");_webStorage2.default.setItem("replyTo",replyTo.value),_webStorage2.default.setItem("content",content.value),_alertify2.default.success("Auto-saved data")},clearData=function(){_webStorage2.default.removeItem("replyTo"),_webStorage2.default.removeItem("content")}},function(module,exports,__webpack_require__){module.exports=function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=0)}([function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:null,places=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,data=void 0,dataLatitude=div.dataset.latitude,dataLongitude=div.dataset.longitude,dataName=div.dataset.name,dataMarker=div.dataset.marker;if(""==dataMarker&&(dataMarker="circle"),data=null==dataName?{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[dataLongitude,dataLatitude]},properties:{title:"Current Location",icon:"circle-stroked",uri:"current-location"}}]}:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[dataLongitude,dataLatitude]},properties:{title:dataName,icon:dataMarker}}]},null!=places){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=places[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var place=_step.value,placeLongitude=(0,_parseLocation2.default)(place.location).longitude,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=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}null!=position&&(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(null==position&&map.scrollZoom.disable(),map.addControl(new _mapboxGl2.default.NavigationControl),div.appendChild(makeMapMenu(map)),map.on("load",function(){map.addLayer({id:"points",type:"symbol",source:{type:"geojson",data:data},layout:{"icon-image":"{icon}-15","text-field":"{title}","text-offset":[0,1]}})}),null!=position&&map.on("click",function(e){var features=map.queryRenderedFeatures(e.point,{layer:["points"]});features.length&&(map.flyTo({center:features[0].geometry.coordinates}),(0,_selectPlace2.default)(features[0].properties.uri))}),data.features&&data.features.length>1){var bounds=new _mapboxGl2.default.LngLatBounds,_iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=data.features[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var feature=_step2.value;bounds.extend(feature.geometry.coordinates)}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}map.fitBounds(bounds,{padding:65})}return map};var _mapboxGl2=_interopRequireDefault(__webpack_require__(2)),_parseLocation2=_interopRequireDefault(__webpack_require__(0)),_selectPlace2=_interopRequireDefault(__webpack_require__(3));_mapboxGl2.default.accessToken="pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw";var addMapTypeOption=function(map,menu,option){var checked=arguments.length>3&&void 0!==arguments[3]&&arguments[3],input=document.createElement("input");input.setAttribute("id",option),input.setAttribute("type","radio"),input.setAttribute("name","toggle"),input.setAttribute("value",option),1==checked&&input.setAttribute("checked","checked"),input.addEventListener("click",function(){var source=map.getSource("points");map.setStyle("mapbox://styles/mapbox/"+option+"-v9"),map.on("style.load",function(){map.addLayer({id:"points",type:"symbol",source:{type:"geojson",data:source._data},layout:{"icon-image":"{icon}-15","text-field":"{title}","text-offset":[0,1]}})})});var label=document.createElement("label");label.setAttribute("for",option),label.appendChild(document.createTextNode(option.split("-").map(function(_ref){var arr,_ref2=(arr=_ref,Array.isArray(arr)?arr:Array.from(arr)),first=_ref2[0],rest=_ref2.slice(1);return first.toUpperCase()+rest.join("").toLowerCase()}).join(" "))),menu.appendChild(input),menu.appendChild(label)},makeMapMenu=function(map){var mapMenu=document.createElement("div");return mapMenu.classList.add("map-menu"),addMapTypeOption(map,mapMenu,"streets",!0),addMapTypeOption(map,mapMenu,"satellite-streets"),mapMenu}},function(module,exports){!function(f){"object"==typeof exports&&void 0!==module?module.exports=f():"function"==typeof define&&define.amd?define([],f):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).mapboxgl=f()}(function(){return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&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){return s(t[o][1][e]||e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;oh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i)n.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)):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 n=this.shelves[t].alloc(e,i,s);return this.bins[s]=n,this.ref(n),n},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,i=0;ithis.free||e>this.h)return null;var h=this.x;return this.x+=t,this.free-=t,new function(t,e,i,s,h,n,r){this.id=t,this.x=e,this.y=i,this.w=s,this.h=h,this.maxw=n||s,this.maxh=r||h,this.refcount=0}(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},"object"==typeof exports&&void 0!==module?module.exports=e():this.ShelfPack=e()},{}],4:[function(_dereq_,module,exports){"use strict";function TinySDF(t,i,s,e,h,r){this.fontSize=t||24,this.buffer=void 0===i?3:i,this.cutoff=e||.25,this.fontFamily=h||"sans-serif",this.fontWeight=r||"normal",this.radius=s||8;var a=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=a,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textBaseline="middle",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.d=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Int16Array(a),this.middle=Math.round(a/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function edt(t,i,s,e,h,r,a){for(var n=0;nr)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))}},{}],6:[function(_dereq_,module,exports){module.exports.VectorTile=_dereq_("./lib/vectortile.js"),module.exports.VectorTileFeature=_dereq_("./lib/vectortilefeature.js"),module.exports.VectorTileLayer=_dereq_("./lib/vectortilelayer.js")},{"./lib/vectortile.js":7,"./lib/vectortilefeature.js":8,"./lib/vectortilelayer.js":9}],7:[function(_dereq_,module,exports){"use strict";var VectorTileLayer=_dereq_("./vectortilelayer");module.exports=function(e,r){this.layers=e.readFields(function(e,r,i){if(3===e){var t=new VectorTileLayer(i,i.readVarint()+i.pos);t.length&&(r[t.name]=t)}},{},r)}},{"./vectortilelayer":9}],8:[function(_dereq_,module,exports){"use strict";function VectorTileFeature(e,t,r,a,i){this.properties={},this.extent=r,this.type=0,this._pbf=e,this._geometry=-1,this._keys=a,this._values=i,e.readFields(function(e,t,r){1==e?t.id=r.readVarint():2==e?function(e,t){for(var r=e.readVarint()+e.pos;e.pos>3}if(i--,1===a||2===a)o+=e.readSVarint(),n+=e.readSVarint(),1===a&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==a)throw new Error("unknown command "+a);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,a=0,i=0,o=0,n=1/0,s=-1/0,p=1/0,h=-1/0;e.pos>3}if(a--,1===r||2===r)i+=e.readSVarint(),o+=e.readSVarint(),is&&(s=i),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 a(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}(r))},this,t),this.length=this._features.length}var VectorTileFeature=_dereq_("./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":8}],10:[function(_dereq_,module,exports){var e;e=this,function(e){function o(e,t,o){var n=r(256*e,256*(t=Math.pow(2,o)-t-1),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);return[e*r-2*Math.PI*6378137/2,t*r-2*Math.PI*6378137/2]}e.getURL=function(e,t,r,n,i,s){return s=s||{},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("&")},e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof exports&&void 0!==module?exports:e.WhooTS=e.WhooTS||{})},{}],11:[function(_dereq_,module,exports){function clamp_css_byte(e){return(e=Math.round(e))<0?0:e>255?255: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 function(e){return e<0?0:e>1?1:e}("%"===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}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=function(e){var r=e.replace(/ /g,"").toLowerCase();if(r in kCSSColorTable)return kCSSColorTable[r].slice();if("#"===r[0]){if(4===r.length)return(l=parseInt(r.substr(1),16))>=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(-1!==a&&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}}catch(e){}},{}],12:[function(_dereq_,module,exports){"use strict";function earcut(e,n,r){r=r||2;var o,l,u,s,v,f,y,t=n&&n.length,i=t?n[0]*r:e.length,x=linkedList(e,0,i,r,!0),a=[];if(!x)return a;if(t&&(x=function(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}(e,n)){var r=splitPolygon(n,e);filterPoints(r,r.next)}})(u[i],r),r=filterPoints(r,r.next);return r}(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 function earcutLinked(e,n,r,t,i,x,a){if(e){!a&&x&&function(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,function(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)}(i)}(e,t,i,x);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,x?function(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}(e,t,i,x):function(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}(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)===u){a?1===a?earcutLinked(e=function(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}(e,n,r),n,r,t,i,x,2):2===a&&function(e,n,r,t,i,x){var a=e;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&function(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!function(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}(e,n)&&locallyInside(e,n)&&locallyInside(n,e)&&function(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}(e,n)}(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)}(e,n,r,t,i,x):earcutLinked(filterPoints(e),n,r,t,i,x,1);break}}}(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.next)return null;r=!0}}while(r||t!==n);return n}function zOrder(e,n,r,t,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-r)/i)|e<<8))|e<<4))|e<<2))|e<<1))|(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n=32767*(n-t)/i)|n<<8))|n<<4))|n<<2))|n<<1))<<1}function pointInTriangle(e,n,r,t,i,x,a,o){return(i-a)*(n-o)-(e-a)*(x-o)>=0&&(e-a)*(t-o)-(r-a)*(n-o)>=0&&(r-a)*(x-o)-(i-a)*(t-o)>=0}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 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 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}},{}],13:[function(_dereq_,module,exports){function polygonArea(r){var e=0;if(r&&r.length>0){e+=Math.abs(ringArea(r[0]));for(var n=1;n2){for(var n,t,o=0;o=0}(r)===e?r:r.reverse()}var geojsonArea=_dereq_("geojson-area");module.exports=function rewind(r,e){switch(r&&r.type||null){case"FeatureCollection":return r.features=r.features.map(curryOuter(rewind,e)),r;case"Feature":return r.geometry=rewind(r.geometry,e),r;case"Polygon":case"MultiPolygon":return function(r,e){return"Polygon"===r.type?r.coordinates=correctRings(r.coordinates,e):"MultiPolygon"===r.type&&(r.coordinates=r.coordinates.map(curryOuter(correctRings,e))),r}(r,e);default:return r}}},{"geojson-area":13}],15:[function(_dereq_,module,exports){"use strict";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=function(e,r,t,n,u,i,l,s){if(n/=r,l>=(t/=r)&&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}(f,t,n,u):function(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))));(c=(h=g[S-1])[n])>=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}(f,t,n,u,i,3===g);v.length&&h.push(createFeature(o.tags,g,v,o.id))}}return h.length?h:null};var createFeature=_dereq_("./feature")},{"./feature":17}],16:[function(_dereq_,module,exports){"use strict";function convertFeature(e,t,r){if(null!==t.geometry){var o,a,i,n,u=t.geometry,c=u.type,l=u.coordinates,s=t.properties,p=t.id;if("Point"===c)e.push(createFeature(s,1,[projectPoint(l)],p));else if("MultiPoint"===c)e.push(createFeature(s,1,project(l),p));else if("LineString"===c)e.push(createFeature(s,2,[project(l,r)],p));else if("MultiLineString"===c||"Polygon"===c){for(i=[],o=0;o1?1:o,0]}module.exports=function(e,t){var r=[];if("FeatureCollection"===e.type)for(var o=0;o1)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<1?(p=s,r=o):l>0&&(p+=n*l,r+=g*l)}return(n=f-p)*n+(g=u-r)*g}(t[e],t[u],t[n]))>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())}}},{}],20:[function(_dereq_,module,exports){"use strict";module.exports=function(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;mf)&&(d.push(m),e.numSimplified++),e.numPoints++;3===l&&function(e,n){(function(e){for(var n,r,i=0,t=0,u=e.length,a=u-1;ta.max[0]&&(a.max[0]=l[0]),l[1]>a.max[1]&&(a.max[1]=l[1])}return a}},{}],21:[function(_dereq_,module,exports){"use strict";function transformPoint(r,t,n,e,o){return[Math.round(t*(r[0]*n-e)),Math.round(t*(r[1]*n-o))]}exports.tile=function(r,t){if(r.transformed)return r;var n,e,o,f=r.z2,a=r.x,s=r.y;for(n=0;n=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:1/0*(s?-1:1);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))*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}},{}],25:[function(_dereq_,module,exports){"use strict";function KDBush(t,i,e,s,n){i=i||function(t){return t[0]},e=e||function(t){return t[1]},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}},{}],27:[function(_dereq_,module,exports){"use strict";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=function sortKD(t,a,o,s,r,e){if(!(r-s<=o)){var f=Math.floor((s+r)/2);(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);select(t,a,o,Math.max(s,Math.floor(o-p*m/f+n)),Math.min(r,Math.floor(o+(f-p)*m/f+n)),e)}var c=a[2*o+e],h=s,i=r;for(swapItem(t,a,s,o),a[2*r+e]>c&&swapItem(t,a,s,r);hc;)i--}a[2*s+e]===c?swapItem(t,a,s,i):swapItem(t,a,++i,r),i<=o&&(s=i+1),o<=i&&(r=i-1)}})(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)}}},{}],28:[function(_dereq_,module,exports){"use strict";function sqDist(s,p,r,t){var u=s-r,h=p-t;return u*u+h*h}module.exports=function(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}},{}],29:[function(_dereq_,module,exports){var isArray=_dereq_("lodash.isarray"),isTypedArray=_dereq_("lodash.istypedarray"),keys=_dereq_("lodash.keys"),objectTag="[object Object]",objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString;module.exports=function baseIsEqual(r,e,a,t,o,n){return r===e||(null!=r&&null!=e&&(function(r){var e=typeof r;return!!r&&("object"==e||"function"==e)}(r)||e&&"object"==typeof e)?function(r,e,a,t,o,n,u){var c=isArray(r),s=isArray(e),i="[object Array]",g="[object Array]";c||("[object Arguments]"==(i=objToString.call(r))?i=objectTag:i!=objectTag&&(c=isTypedArray(r))),s||("[object Arguments]"==(g=objToString.call(e))?g=objectTag:g!=objectTag&&(s=isTypedArray(e)));var b=i==objectTag,l=g==objectTag,f=i==g;if(f&&!c&&!b)return function(r,e,a){switch(i){case"[object Boolean]":case"[object Date]":return+r==+e;case"[object Error]":return r.name==e.name&&r.message==e.message;case"[object Number]":return r!=+r?e!=+e:r==+e;case"[object RegExp]":case"[object String]":return r==e+""}return!1}(r,e);if(!o){var y=b&&hasOwnProperty.call(r,"__wrapped__"),T=l&&hasOwnProperty.call(e,"__wrapped__");if(y||T)return a(y?r.value():r,T?e.value():e,t,o,n,u)}if(!f)return!1;n||(n=[]),u||(u=[]);for(var j=n.length;j--;)if(n[j]==r)return u[j]==e;n.push(r),u.push(e);var p=(c?function(r,e,a,t,o,n,u){var c=-1,s=r.length,i=e.length;if(s!=i&&!(o&&i>s))return!1;for(;++c-1&&t%1==0&&t<=9007199254740991}(t.length)&&!function(t){var e=function(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}(t)?objectToString.call(t):"";return"[object Function]"==e||"[object GeneratorFunction]"==e}(t)}(t)}(t)&&hasOwnProperty.call(t,"callee")&&(!propertyIsEnumerable.call(t,"callee")||"[object Arguments]"==objectToString.call(t))}},{}],33:[function(_dereq_,module,exports){function isObjectLike(t){return!!t&&"object"==typeof t}var t,e,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.*?")+"$"),isArray=(function(t){return null!=t&&(function(t){return function(t){var r=typeof t;return!!t&&("object"==r||"function"==r)}(t)&&"[object Function]"==objToString.call(t)}(t)?reIsNative.test(fnToString.call(t)):isObjectLike(t)&&reIsHostCtor.test(t))}(e=null==(t=Array)?void 0:t.isArray)?e:void 0)||function(t){return isObjectLike(t)&&function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}(t.length)&&"[object Array]"==objToString.call(t)};module.exports=isArray},{}],34:[function(_dereq_,module,exports){var baseIsEqual=_dereq_("lodash._baseisequal"),bindCallback=_dereq_("lodash._bindcallback");module.exports=function(a,l,i,e){var s=(i="function"==typeof i?bindCallback(i,e,3):void 0)?i(a,l):void 0;return void 0===s?baseIsEqual(a,l,i):!!s}},{"lodash._baseisequal":29,"lodash._bindcallback":30}],35:[function(_dereq_,module,exports){var typedArrayTags={};typedArrayTags["[object Float32Array]"]=typedArrayTags["[object Float64Array]"]=typedArrayTags["[object Int8Array]"]=typedArrayTags["[object Int16Array]"]=typedArrayTags["[object Int32Array]"]=typedArrayTags["[object Uint8Array]"]=typedArrayTags["[object Uint8ClampedArray]"]=typedArrayTags["[object Uint16Array]"]=typedArrayTags["[object Uint32Array]"]=!0,typedArrayTags["[object Arguments]"]=typedArrayTags["[object Array]"]=typedArrayTags["[object ArrayBuffer]"]=typedArrayTags["[object Boolean]"]=typedArrayTags["[object DataView]"]=typedArrayTags["[object Date]"]=typedArrayTags["[object Error]"]=typedArrayTags["[object Function]"]=typedArrayTags["[object Map]"]=typedArrayTags["[object Number]"]=typedArrayTags["[object Object]"]=typedArrayTags["[object RegExp]"]=typedArrayTags["[object Set]"]=typedArrayTags["[object String]"]=typedArrayTags["[object WeakMap]"]=!1;var objectToString=Object.prototype.toString;module.exports=function(a){return function(a){return!!a&&"object"==typeof a}(a)&&function(a){return"number"==typeof a&&a>-1&&a%1==0&&a<=9007199254740991}(a.length)&&!!typedArrayTags[objectToString.call(a)]}},{}],36:[function(_dereq_,module,exports){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=function(e){if(null==e)return[];isObject(e)||(e=Object(e));var t=e.length;t=t&&isLength(t)&&(isArray(e)||isArguments(e))&&t||0;for(var r=e.constructor,n=-1,s="function"==typeof r&&r.prototype===e,o=Array(t),i=t>0;++n>>0):4294967296*(i>>>0)+(t>>>0)}function makeRoomForExtraLength(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 readUInt32(t,i){return(t[i]|t[i+1]<<8|t[i+2]<<16)+16777216*t[i+3]}function writeInt32(t,i,e){t[e]=i,t[e+1]=i>>>8,t[e+2]=i>>>16,t[e+3]=i>>>24}function readInt32(t,i){return(t[i]|t[i+1]<<8|t[i+2]<<16)+(t[i+3]<<24)}module.exports=Pbf;var ieee754=_dereq_("ieee754");Pbf.Varint=0,Pbf.Fixed64=1,Pbf.Bytes=2,Pbf.Fixed32=5,Pbf.prototype={destroy:function(){this.buf=null},readFields:function(t,i,e){for(e=e||this.length;this.pos>3,n=this.pos;this.type=7&r,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=readUInt32(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=readInt32(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=readUInt32(this.buf,this.pos)+4294967296*readUInt32(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=readUInt32(this.buf,this.pos)+4294967296*readInt32(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=ieee754.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=ieee754.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var i,e,r=this.buf;return i=127&(e=r[this.pos++]),e<128?i:(i|=(127&(e=r[this.pos++]))<<7,e<128?i:(i|=(127&(e=r[this.pos++]))<<14,e<128?i:(i|=(127&(e=r[this.pos++]))<<21,e<128?i:function(t,i,e){var r,s,n=e.buf;if(r=(112&(s=n[e.pos++]))>>4,s<128)return toNum(t,r,i);if(r|=(127&(s=n[e.pos++]))<<3,s<128)return toNum(t,r,i);if(r|=(127&(s=n[e.pos++]))<<10,s<128)return toNum(t,r,i);if(r|=(127&(s=n[e.pos++]))<<17,s<128)return toNum(t,r,i);if(r|=(127&(s=n[e.pos++]))<<24,s<128)return toNum(t,r,i);if(r|=(1&(s=n[e.pos++]))<<31,s<128)return toNum(t,r,i);throw new Error("Expected varint not more than 10 bytes")}(i|=(15&(e=r[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,i=function(t,i,e){for(var r="",s=i;s239?4:n>223?3:n>191?2:1;if(s+a>e)break;1===a?n<128&&(o=n):2===a?128==(192&(h=t[s+1]))&&(o=(31&n)<<6|63&h)<=127&&(o=null):3===a?(h=t[s+1],u=t[s+2],128==(192&h)&&128==(192&u)&&((o=(15&n)<<12|(63&h)<<6|63&u)<=2047||o>=55296&&o<=57343)&&(o=null)):4===a&&(h=t[s+1],u=t[s+2],f=t[s+3],128==(192&h)&&128==(192&u)&&128==(192&f)&&((o=(15&n)<<18|(63&h)<<12|(63&u)<<6|63&f)<=65535||o>=1114112)&&(o=null)),null===o?(o=65533,a=1):o>65535&&(o-=65536,r+=String.fromCharCode(o>>>10&1023|55296),o=56320|1023&o),r+=String.fromCharCode(o),s+=a}return r}(this.buf,this.pos,t);return this.pos=t,i},readBytes:function(){var t=this.readVarint()+this.pos,i=this.buf.subarray(this.pos,t);return this.pos=t,i},readPackedVarint:function(t,i){var e=readPackedEnd(this);for(t=t||[];this.pos127;);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||t<0?function(t,i){var e,r;if(t>=0?(e=t%4294967296|0,r=t/4294967296|0):(r=~(-t/4294967296),4294967295^(e=~(-t%4294967296))?e=e+1|0:(e=0,r=r+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");i.realloc(10),function(t,i,e){e.buf[e.pos++]=127&t|128,t>>>=7,e.buf[e.pos++]=127&t|128,t>>>=7,e.buf[e.pos++]=127&t|128,t>>>=7,e.buf[e.pos++]=127&t|128,t>>>=7,e.buf[e.pos]=127&t}(e,0,i),function(t,i){var e=(7&t)<<4;i.buf[i.pos++]|=e|((t>>>=3)?128:0),t&&(i.buf[i.pos++]=127&t|((t>>>=7)?128:0),t&&(i.buf[i.pos++]=127&t|((t>>>=7)?128:0),t&&(i.buf[i.pos++]=127&t|((t>>>=7)?128:0),t&&(i.buf[i.pos++]=127&t|((t>>>=7)?128:0),t&&(i.buf[i.pos++]=127&t)))))}(r,i)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),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),this.realloc(4*t.length),this.pos++;var i=this.pos;this.pos=function(t,i,e){for(var r,s,n=0;n55295&&r<57344){if(!s){r>56319||n+1===i.length?(t[e++]=239,t[e++]=191,t[e++]=189):s=r;continue}if(r<56320){t[e++]=239,t[e++]=191,t[e++]=189,s=r;continue}r=s-55296<<10|r-56320|65536,s=null}else s&&(t[e++]=239,t[e++]=191,t[e++]=189,s=null);r<128?t[e++]=r:(r<2048?t[e++]=r>>6|192:(r<65536?t[e++]=r>>12|224:(t[e++]=r>>18|240,t[e++]=r>>12&63|128),t[e++]=r>>6&63|128),t[e++]=63&r|128)}return e}(this.buf,t,this.pos);var e=this.pos-i;e>=128&&makeRoomForExtraLength(i,e,this),this.pos=i-1,this.writeVarint(e),this.pos+=e},writeFloat:function(t){this.realloc(4),ieee754.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),ieee754.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&makeRoomForExtraLength(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,function(t,i){for(var e=0;e1)for(var r=1;rt?1:0};o>r;){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);partialSort(a,t,Math.max(r,Math.floor(t-e*s/f+i)),Math.min(o,Math.floor(t+(f-e)*s/f+i)),p)}var n=a[t],h=r,u=o;for(swap(a,r,t),p(a[o],n)>0&&swap(a,r,o);h0;)u--}0===p(a[r],n)?swap(a,r,u):swap(a,++u,o),u<=t&&(r=u+1),t<=u&&(o=u-1)}}},{}],41:[function(_dereq_,module,exports){"use strict";function SuperCluster(t){this.options=extend(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function getClusterJSON(t){return{type:"Feature",properties:getClusterProperties(t),geometry:{type:"Point",coordinates:[function(t){return 360*(t-.5)}(t.x),function(t){var e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}(t.y)]}}}function getClusterProperties(t){var e=t.numPoints,n=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return extend(extend({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:n})}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n<0?0:n>1?1:n}function extend(t,e){for(var n in e)t[n]=e[n];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=_dereq_("kdbush");module.exports=function(t){return new SuperCluster(t)},SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time("total time");var n="prepare "+t.length+" points";e&&console.time(n),this.points=t;var o=t.map(function(t,e){var n=t.geometry.coordinates;return{x:lngX(n[0]),y:latY(n[1]),zoom:1/0,id:e,parentId:-1}});e&&console.timeEnd(n);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var r=+Date.now();this.trees[i+1]=kdbush(o,getX,getY,this.options.nodeSize,Float32Array),o=this._cluster(o,i),e&&console.log("z%d: %d clusters in %dms",i,o.length,+Date.now()-r)}return this.trees[this.options.minZoom]=kdbush(o,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd("total time"),this},getClusters:function(t,e){for(var n=this.trees[this._limitZoom(e)],o=n.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),i=[],r=0;ri?1:0},this.length>0)for(var e=this.length>>1;e>=0;e--)this._down(e)}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,e=this.compare,h=i[t];t>0;){var n=t-1>>1,a=i[n];if(e(h,a)>=0)break;i[t]=a,t=n}i[t]=h},_down:function(t){for(var i=this.data,e=this.compare,h=this.length,n=h>>1,a=i[t];t=0)break;i[t]=r,t=s}i[t]=a}}},{}],43:[function(_dereq_,module,exports){"function"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}},{}],44:[function(_dereq_,module,exports){module.exports=function(o){return o&&"object"==typeof o&&"function"==typeof o.copy&&"function"==typeof o.fill&&"function"==typeof o.readUInt8}},{}],45:[function(_dereq_,module,exports){(function(process,global){function inspect(e,r){var t={seen:[],stylize:function(e,r){return e}};return arguments.length>=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=function(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}),formatValue(t,e,t.depth)}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=function(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}(e,r);if(i)return i;var o=Object.keys(r),s=function(e){var r={};return o.forEach(function(e,t){r[e]=!0}),r}();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 p,c="",a=!1,l=["{","}"];return isArray(r)&&(a=!0,l=["[","]"]),isFunction(r)&&(c=" [Function"+(r.name?": "+r.name:"")+"]"),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?t<0?isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),p=a?function(e,r,t,n,i){for(var o=[],s=0,u=r.length;s60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}(p,c,l)):l[0]+c+l[1]}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatProperty(e,r,t,n,i,o){var s,u,c;if((c=Object.getOwnPropertyDescriptor(r,i)||{value:r[i]}).get?u=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(u=e.stylize("[Setter]","special")),hasOwnProperty(n,i)||(s="["+i+"]"),u||(e.seen.indexOf(c.value)<0?(u=isNull(t)?formatValue(e,c.value,null):formatValue(e,c.value,t-1)).indexOf("\n")>-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)).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 isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==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 objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return e<10?"0"+e.toString(10):e.toString(10)}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>31}var Pbf=_dereq_("pbf"),GeoJSONWrapper=_dereq_("./lib/geojson_wrapper");module.exports=fromVectorTileJs,module.exports.fromVectorTileJs=fromVectorTileJs,module.exports.fromGeojsonVt=function(e){var r={};for(var t in e)r[t]=new GeoJSONWrapper(e[t].features),r[t].name=t;return fromVectorTileJs({layers:r})},module.exports.GeoJSONWrapper=GeoJSONWrapper},{"./lib/geojson_wrapper":47,pbf:38}],47:[function(_dereq_,module,exports){"use strict";function GeoJSONWrapper(e){this.features=e,this.length=e.length}function FeatureWrapper(e){this.id="number"==typeof e.id?e.id:void 0,this.type=e.type,this.rawGeometry=1===e.type?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=4096}var Point=_dereq_("@mapbox/point-geometry"),VectorTileFeature=_dereq_("@mapbox/vector-tile").VectorTileFeature;module.exports=GeoJSONWrapper,GeoJSONWrapper.prototype.feature=function(e){return new FeatureWrapper(this.features[e])},FeatureWrapper.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var t=0;t=EXTENT||c<0||c>=EXTENT)){var l=t.segments.prepareSegment(4,t.layoutVertexArray,t.indexArray),p=l.vertexLength;addCircleVertex(t.layoutVertexArray,s,c,-1,-1),addCircleVertex(t.layoutVertexArray,s,c,1,-1),addCircleVertex(t.layoutVertexArray,s,c,1,1),addCircleVertex(t.layoutVertexArray,s,c,-1,1),t.indexArray.emplaceBack(p,p+1,p+2),t.indexArray.emplaceBack(p,p+3,p+2),l.vertexLength+=4,l.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)},CircleBucket.programInterface=circleInterface,module.exports=CircleBucket},{"../../gl/index_buffer":71,"../../gl/vertex_buffer":72,"../extent":58,"../index_array_type":60,"../load_geometry":61,"../program_configuration":63,"../segment":65,"../vertex_array_type":66}],53:[function(_dereq_,module,exports){"use strict";var SegmentVector=_dereq_("../segment").SegmentVector,VertexBuffer=_dereq_("../../gl/vertex_buffer"),IndexBuffer=_dereq_("../../gl/index_buffer"),ProgramConfigurationSet=_dereq_("../program_configuration").ProgramConfigurationSet,createVertexArrayType=_dereq_("../vertex_array_type"),ref$2=_dereq_("../index_array_type"),LineIndexArray=ref$2.LineIndexArray,TriangleIndexArray=ref$2.TriangleIndexArray,loadGeometry=_dereq_("../load_geometry"),earcut=_dereq_("earcut"),classifyRings=_dereq_("../../util/classify_rings"),fillInterface={layoutAttributes:[{name:"a_pos",components:2,type:"Int16"}],indexArrayType:TriangleIndexArray,indexArrayType2:LineIndexArray,paintAttributes:[{property:"fill-color"},{property:"fill-outline-color"},{property:"fill-opacity"}]},LayoutVertexArrayType=createVertexArrayType(fillInterface.layoutAttributes),FillBucket=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.layoutVertexArray=new LayoutVertexArrayType(e.layoutVertexArray),this.indexArray=new TriangleIndexArray(e.indexArray),this.indexArray2=new LineIndexArray(e.indexArray2),this.programConfigurations=new ProgramConfigurationSet(fillInterface,e.layers,e.zoom,e.programConfigurations),this.segments=new SegmentVector(e.segments),this.segments2=new SegmentVector(e.segments2)};FillBucket.prototype.populate=function(e,r){for(var t=this,i=0,a=e;i=1){var h=f[p-1];if(!function(e,r){return e.x===r.x&&(e.x<0||e.x>EXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}(d,h)){y.vertexLength+4>MAX_VERTEX_ARRAY_LENGTH&&(y=t.segments.prepareSegment(4,t.layoutVertexArray,t.indexArray));var A=d.sub(h)._perp()._unit();addVertex(t.layoutVertexArray,d.x,d.y,A.x,A.y,0,0,g),addVertex(t.layoutVertexArray,d.x,d.y,A.x,A.y,0,1,g),g+=h.dist(d),addVertex(t.layoutVertexArray,h.x,h.y,A.x,A.y,0,0,g),addVertex(t.layoutVertexArray,h.x,h.y,A.x,A.y,0,1,g);var c=y.vertexLength;t.indexArray.emplaceBack(c,c+1,c+2),t.indexArray.emplaceBack(c+1,c+2,c+3),y.vertexLength+=4,y.primitiveLength+=2}}}}y.vertexLength+o>MAX_VERTEX_ARRAY_LENGTH&&(y=t.segments.prepareSegment(o,t.layoutVertexArray,t.indexArray));for(var m=[],V=[],E=y.vertexLength,_=0,v=n;_>6)}var SegmentVector=_dereq_("../segment").SegmentVector,VertexBuffer=_dereq_("../../gl/vertex_buffer"),IndexBuffer=_dereq_("../../gl/index_buffer"),ProgramConfigurationSet=_dereq_("../program_configuration").ProgramConfigurationSet,createVertexArrayType=_dereq_("../vertex_array_type"),TriangleIndexArray=_dereq_("../index_array_type").TriangleIndexArray,loadGeometry=_dereq_("../load_geometry"),EXTENT=_dereq_("../extent"),vectorTileFeatureTypes=_dereq_("@mapbox/vector-tile").VectorTileFeature.types,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(Math.PI/180*37.5),LINE_DISTANCE_SCALE=.5,MAX_LINE_DISTANCE=Math.pow(2,14)/LINE_DISTANCE_SCALE,lineInterface={layoutAttributes:[{name:"a_pos_normal",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],paintAttributes:[{property:"line-color"},{property:"line-blur"},{property:"line-opacity"},{property:"line-gap-width",name:"gapwidth"},{property:"line-offset"},{property:"line-width"},{property:"line-width",name:"floorwidth",useIntegerZoom:!0}],indexArrayType:TriangleIndexArray},LayoutVertexArrayType=createVertexArrayType(lineInterface.layoutAttributes),LineBucket=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.layoutVertexArray=new LayoutVertexArrayType(e.layoutVertexArray),this.indexArray=new TriangleIndexArray(e.indexArray),this.programConfigurations=new ProgramConfigurationSet(lineInterface,e.layers,e.zoom,e.programConfigurations),this.segments=new SegmentVector(e.segments)};LineBucket.prototype.populate=function(e,t){for(var r=this,i=0,a=e;i=2&&e[u-1].equals(e[u-2]);)u--;for(var d=0;dd){var T=p.dist(_);if(T>2*l){var B=p.sub(p.sub(_)._mult(l/T)._round());s.distance+=B.dist(_),s.addCurrentVertex(B,s.distance,v.mult(1),0,0,!1,h),_=B}}var b=_&&A,N=b?r:A?x:m;if(b&&"round"===N&&(Sa&&(N="bevel"),"bevel"===N&&(S>2&&(N="flipbevel"),S100)L=V.clone().mult(-1);else{var k=v.x*V.y-v.y*V.x>0?-1:1,R=S*v.add(V).mag()/v.sub(V).mag();L._perp()._mult(R*k)}s.addCurrentVertex(p,s.distance,L,0,0,!1,h),s.addCurrentVertex(p,s.distance,L.mult(-1),0,0,!1,h)}else if("bevel"===N||"fakeround"===N){var F=v.x*V.y-v.y*V.x>0,q=-Math.sqrt(S*S-1);if(F?(f=0,c=q):(c=0,f=q),g||s.addCurrentVertex(p,s.distance,v,c,f,!1,h),"fakeround"===N){for(var P=Math.floor(8*(.5-(E-.5))),z=void 0,w=0;w=0;D--)z=v.mult((D+1)/(P+1))._add(V)._unit(),s.addPieSliceVertex(p,s.distance,z,F,h)}A&&s.addCurrentVertex(p,s.distance,V,-c,-f,!1,h)}else"butt"===N?(g||s.addCurrentVertex(p,s.distance,v,0,0,!1,h),A&&s.addCurrentVertex(p,s.distance,V,0,0,!1,h)):"square"===N?(g||(s.addCurrentVertex(p,s.distance,v,1,1,!1,h),s.e1=s.e2=-1),A&&s.addCurrentVertex(p,s.distance,V,-1,-1,!1,h)):"round"===N&&(g||(s.addCurrentVertex(p,s.distance,v,0,0,!1,h),s.addCurrentVertex(p,s.distance,v,1,1,!0,h),s.e1=s.e2=-1),A&&(s.addCurrentVertex(p,s.distance,V,-1,-1,!0,h),s.addCurrentVertex(p,s.distance,V,0,0,!1,h)));if(I&&C2*l){var O=p.add(A.sub(p)._mult(l/M)._round());s.distance+=O.dist(p),s.addCurrentVertex(O,s.distance,V.mult(1),0,0,!1,h),p=O}}g=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)}},LineBucket.prototype.addCurrentVertex=function(e,t,r,i,a,n,s){var o,u=this.layoutVertexArray,d=this.indexArray;o=r.clone(),i&&o._sub(r.perp()._mult(i)),addLineVertex(u,e,o,n,!1,i,t),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(d.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,o=r.mult(-1),a&&o._sub(r.perp()._mult(a)),addLineVertex(u,e,o,n,!0,-a,t),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(d.emplaceBack(this.e1,this.e2,this.e3),s.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,s))},LineBucket.prototype.addPieSliceVertex=function(e,t,r,i,a){r=r.mult(i?-1:1);var n=this.layoutVertexArray,s=this.indexArray;addLineVertex(n,e,r,!1,i,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},LineBucket.programInterface=lineInterface,module.exports=LineBucket},{"../../gl/index_buffer":71,"../../gl/vertex_buffer":72,"../extent":58,"../index_array_type":60,"../load_geometry":61,"../program_configuration":63,"../segment":65,"../vertex_array_type":66,"@mapbox/vector-tile":6}],57:[function(_dereq_,module,exports){"use strict";function addVertex(e,t,o,r,a,i,n,l){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i,n,l?l[0]:void 0,l?l[1]:void 0)}function addDynamicAttributes(e,t,o,r){var a=2*Math.PI,i=packUint8ToFloat((o+a)%a/a*255,10*r);e.emplaceBack(t.x,t.y,i),e.emplaceBack(t.x,t.y,i),e.emplaceBack(t.x,t.y,i),e.emplaceBack(t.x,t.y,i)}function addCollisionBoxVertex(e,t,o,r,a,i){return e.emplaceBack(t.x,t.y,o.x,o.y,Math.round(r.x),Math.round(r.y),10*a,10*i)}function getSizeVertexData(e,t,o,r,a){if("source"===o.functionType)return[10*e.getLayoutValue(r,{},a)];if("composite"===o.functionType){var i=o.coveringZoomRange;return[10*e.getLayoutValue(r,{zoom:i[0]},a),10*e.getLayoutValue(r,{zoom:i[1]},a)]}return null}var Point=_dereq_("@mapbox/point-geometry"),SegmentVector=_dereq_("../segment").SegmentVector,VertexBuffer=_dereq_("../../gl/vertex_buffer"),IndexBuffer=_dereq_("../../gl/index_buffer"),ProgramConfigurationSet=_dereq_("../program_configuration").ProgramConfigurationSet,createVertexArrayType=_dereq_("../vertex_array_type"),ref$2=_dereq_("../index_array_type"),TriangleIndexArray=ref$2.TriangleIndexArray,LineIndexArray=ref$2.LineIndexArray,EXTENT=_dereq_("../extent"),packUint8ToFloat=_dereq_("../../shaders/encode_attribute").packUint8ToFloat,Anchor=_dereq_("../../symbol/anchor"),getAnchors=_dereq_("../../symbol/get_anchors"),resolveTokens=_dereq_("../../util/token"),ref$4=_dereq_("../../symbol/quads"),getGlyphQuads=ref$4.getGlyphQuads,getIconQuads=ref$4.getIconQuads,ref$5=_dereq_("../../symbol/shaping"),shapeText=ref$5.shapeText,shapeIcon=ref$5.shapeIcon,WritingMode=ref$5.WritingMode,transformText=_dereq_("../../symbol/transform_text"),mergeLines=_dereq_("../../symbol/mergelines"),clipLine=_dereq_("../../symbol/clip_line"),util=_dereq_("../../util/util"),scriptDetection=_dereq_("../../util/script_detection"),loadGeometry=_dereq_("../load_geometry"),CollisionFeature=_dereq_("../../symbol/collision_feature"),findPoleOfInaccessibility=_dereq_("../../util/find_pole_of_inaccessibility"),classifyRings=_dereq_("../../util/classify_rings"),vectorTileFeatureTypes=_dereq_("@mapbox/vector-tile").VectorTileFeature.types,createStructArrayType=_dereq_("../../util/struct_array"),verticalizePunctuation=_dereq_("../../util/verticalize_punctuation"),getSizeData=_dereq_("../../symbol/symbol_size").getSizeData,PlacedSymbolArray=createStructArrayType({members:[{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Float32",name:"placementZoom"},{type:"Uint8",name:"vertical"}]}),GlyphOffsetArray=createStructArrayType({members:[{type:"Float32",name:"offsetX"}]}),LineVertexArray=createStructArrayType({members:[{type:"Int16",name:"x"},{type:"Int16",name:"y"}]}),layoutAttributes=[{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"}],dynamicLayoutAttributes=[{name:"a_projected_pos",components:3,type:"Float32"}],symbolInterfaces={text:{layoutAttributes:layoutAttributes,dynamicLayoutAttributes:dynamicLayoutAttributes,indexArrayType:TriangleIndexArray,paintAttributes:[{property:"text-color",name:"fill_color"},{property:"text-halo-color",name:"halo_color"},{property:"text-halo-width",name:"halo_width"},{property:"text-halo-blur",name:"halo_blur"},{property:"text-opacity",name:"opacity"}]},icon:{layoutAttributes:layoutAttributes,dynamicLayoutAttributes:dynamicLayoutAttributes,indexArrayType:TriangleIndexArray,paintAttributes:[{property:"icon-color",name:"fill_color"},{property:"icon-halo-color",name:"halo_color"},{property:"icon-halo-width",name:"halo_width"},{property:"icon-halo-blur",name:"halo_blur"},{property:"icon-opacity",name:"opacity"}]},collisionBox:{layoutAttributes:[{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"},{name:"a_data",components:2,type:"Uint8"}],indexArrayType:LineIndexArray}},SymbolBuffers=function(e,t,o,r){this.programInterface=e;var a=createVertexArrayType(e.layoutAttributes),i=e.indexArrayType;if(this.layoutVertexArray=new a(r&&r.layoutVertexArray),this.indexArray=new i(r&&r.indexArray),this.programConfigurations=new ProgramConfigurationSet(e,t,o,r&&r.programConfigurations),this.segments=new SegmentVector(r&&r.segments),e.dynamicLayoutAttributes){var n=createVertexArrayType(e.dynamicLayoutAttributes);this.dynamicLayoutVertexArray=new n(r&&r.dynamicLayoutVertexArray)}};SymbolBuffers.prototype.serialize=function(e){return{layoutVertexArray:this.layoutVertexArray.serialize(e),indexArray:this.indexArray.serialize(e),programConfigurations:this.programConfigurations.serialize(e),segments:this.segments.get(),dynamicLayoutVertexArray:this.dynamicLayoutVertexArray&&this.dynamicLayoutVertexArray.serialize(e)}},SymbolBuffers.prototype.upload=function(e){this.layoutVertexBuffer=new VertexBuffer(e,this.layoutVertexArray),this.indexBuffer=new IndexBuffer(e,this.indexArray),this.programConfigurations.upload(e),this.programInterface.dynamicLayoutAttributes&&(this.dynamicLayoutVertexBuffer=new VertexBuffer(e,this.dynamicLayoutVertexArray,!0))},SymbolBuffers.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer&&this.dynamicLayoutVertexBuffer.destroy())};var SymbolBucket=function(e){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.pixelRatio=e.pixelRatio,e.text)this.text=new SymbolBuffers(symbolInterfaces.text,e.layers,e.zoom,e.text),this.icon=new SymbolBuffers(symbolInterfaces.icon,e.layers,e.zoom,e.icon),this.collisionBox=new SymbolBuffers(symbolInterfaces.collisionBox,e.layers,e.zoom,e.collisionBox),this.textSizeData=e.textSizeData,this.iconSizeData=e.iconSizeData,this.placedGlyphArray=new PlacedSymbolArray(e.placedGlyphArray),this.placedIconArray=new PlacedSymbolArray(e.placedIconArray),this.glyphOffsetArray=new GlyphOffsetArray(e.glyphOffsetArray),this.lineVertexArray=new LineVertexArray(e.lineVertexArray);else{var t=this.layers[0];this.textSizeData=getSizeData(this.zoom,t,"text-size"),this.iconSizeData=getSizeData(this.zoom,t,"icon-size")}};SymbolBucket.prototype.populate=function(e,t){var r=this.layers[0],a=r.layout,i=a["text-font"],n=(!r.isLayoutValueFeatureConstant("text-field")||a["text-field"])&&i,l=!r.isLayoutValueFeatureConstant("icon-image")||a["icon-image"];if(this.features=[],n||l){for(var s=t.iconDependencies,y=t.glyphDependencies,c=y[i]=y[i]||{},u={zoom:this.zoom},x=0,m=e;xEXTENT||n.y<0||n.y>EXTENT);if(!d||y){var c=y||I;a.addSymbolInstance(n,i,t,o,a.layers[0],c,a.collisionBoxArray,e.index,e.sourceLayerIndex,a.index,x,f,A,l,p,g,v,s,{zoom:a.zoom},e,r)}};if("line"===c["symbol-placement"])for(var V=0,L=clipLine(e.geometry,0,0,EXTENT,EXTENT);V=0;i--)if(o.dist(a[i])1*Math.PI/4&&v<=3*Math.PI/4||v>5*Math.PI/4&&v<=7*Math.PI/4,S=Boolean(y&WritingMode.vertical)&&I,B=0,z=t;BSymbolBucket.MAX_INSTANCES&&util.warnOnce("Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),M>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:L,textBoxEndIndex:T,iconBoxStartIndex:w,iconBoxEndIndex:M,glyphQuads:B,iconQuads:S,textOffset:m,iconOffset:f,anchor:e,line:t,featureIndex:l,feature:b,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,SymbolBucket.addDynamicAttributes=addDynamicAttributes,module.exports=SymbolBucket},{"../../gl/index_buffer":71,"../../gl/vertex_buffer":72,"../../shaders/encode_attribute":97,"../../symbol/anchor":196,"../../symbol/clip_line":198,"../../symbol/collision_feature":200,"../../symbol/get_anchors":202,"../../symbol/mergelines":203,"../../symbol/quads":205,"../../symbol/shaping":206,"../../symbol/symbol_size":207,"../../symbol/transform_text":208,"../../util/classify_rings":234,"../../util/find_pole_of_inaccessibility":240,"../../util/script_detection":247,"../../util/struct_array":249,"../../util/token":251,"../../util/util":252,"../../util/verticalize_punctuation":254,"../extent":58,"../index_array_type":60,"../load_geometry":61,"../program_configuration":63,"../segment":65,"../vertex_array_type":66,"@mapbox/point-geometry":2,"@mapbox/vector-tile":6}],58:[function(_dereq_,module,exports){"use strict";module.exports=8192},{}],59:[function(_dereq_,module,exports){"use strict";_dereq_("@mapbox/point-geometry");var loadGeometry=_dereq_("./load_geometry"),EXTENT=_dereq_("./extent"),featureFilter=_dereq_("../style-spec/feature_filter"),createStructArrayType=_dereq_("../util/struct_array"),Grid=_dereq_("grid-index"),DictionaryCoder=_dereq_("../util/dictionary_coder"),vt=_dereq_("@mapbox/vector-tile"),Protobuf=_dereq_("pbf"),GeoJSONFeature=_dereq_("../util/vectortile_to_geojson"),arraysIntersect=_dereq_("../util/util").arraysIntersect,FeatureIndexArray=createStructArrayType({members:[{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]}),FeatureIndex=function(e,r,t,a){this.coord=e,this.overscaling=r,this.x=e.x,this.y=e.y,this.z=e.z-Math.log(r)/Math.LN2,this.grid=t||new Grid(EXTENT,16,0),this.featureIndexArray=a||new FeatureIndexArray};FeatureIndex.deserialize=function(e,r,t){var a=new FeatureIndex(e.coord,e.overscaling,new Grid(e.grid),new FeatureIndexArray(e.featureIndexArray));return a.rawTileData=r,a.bucketLayerIDs=e.bucketLayerIDs,a.setCollisionTile(t),a},FeatureIndex.prototype.insert=function(e,r,t,a,i){var n=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(t,a,i);for(var s=0;sbounds_max||a.ybounds_max)&&util.warnOnce("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}},{"../util/util":252,"./extent":58}],62:[function(_dereq_,module,exports){"use strict";var PosArray=_dereq_("../util/struct_array")({members:[{name:"a_pos",type:"Int16",components:2}]});module.exports=PosArray},{"../util/struct_array":249}],63:[function(_dereq_,module,exports){"use strict";function packColor(r){return[packUint8ToFloat(255*r[0],255*r[1]),packUint8ToFloat(255*r[2],255*r[3])]}var createVertexArrayType=_dereq_("./vertex_array_type"),packUint8ToFloat=_dereq_("../shaders/encode_attribute").packUint8ToFloat,VertexBuffer=_dereq_("../gl/vertex_buffer"),ConstantBinder=function(r,t,o,e){this.name=r,this.type=t,this.property=o,this.useIntegerZoom=e};ConstantBinder.prototype.defines=function(){return["#define HAS_UNIFORM_u_"+this.name]},ConstantBinder.prototype.populatePaintArray=function(){},ConstantBinder.prototype.setUniforms=function(r,t,o,e){var n=e.zoom,i=o.getPaintValue(this.property,{zoom:this.useIntegerZoom?Math.floor(n):n});"color"===this.type?r.uniform4fv(t.uniforms["u_"+this.name],i):r.uniform1f(t.uniforms["u_"+this.name],i)};var SourceFunctionBinder=function(r,t,o){this.name=r,this.type=t,this.property=o};SourceFunctionBinder.prototype.defines=function(){return[]},SourceFunctionBinder.prototype.populatePaintArray=function(r,t,o,e,n,i){var a=this,s=r.getPaintValue(this.property,{zoom:0},i);if("color"===this.type)for(var p=packColor(s),u=e;uMAX_VERTEX_ARRAY_LENGTH&&warnOnce("Max vertices per segment is "+MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+e),(!n||n.vertexLength+e>module.exports.MAX_VERTEX_ARRAY_LENGTH)&&(n={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},this.segments.push(n)),n},SegmentVector.prototype.get=function(){return this.segments},SegmentVector.prototype.destroy=function(){for(var t=0,r=this.segments;t90||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.prototype.toBounds=function(t){var n=360*t/40075017,r=n/Math.cos(Math.PI/180*this.lat);return new(_dereq_("./lng_lat_bounds"))(new LngLat(this.lng-r,this.lat-n),new LngLat(this.lng+r,this.lat+n))},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(Array.isArray(t)&&2===t.length)return new LngLat(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new LngLat(Number(t.lng),Number(t.lat));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":252,"./lng_lat_bounds":69}],69:[function(_dereq_,module,exports){"use strict";var LngLat=_dereq_("./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=t instanceof LngLat?new LngLat(t.lng,t.lat):LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=t instanceof LngLat?new LngLat(t.lng,t.lat):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":68}],70:[function(_dereq_,module,exports){"use strict";var LngLat=_dereq_("./lng_lat"),Point=_dereq_("@mapbox/point-geometry"),Coordinate=_dereq_("./coordinate"),util=_dereq_("../util/util"),interp=_dereq_("../style-spec/util/interpolate"),TileCoord=_dereq_("../source/tile_coord"),EXTENT=_dereq_("../data/extent"),glmatrix=_dereq_("@mapbox/gl-matrix"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,o,i){this.tileSize=512,this._renderWorldCopies=void 0===i||i,this._minZoom=t||0,this._maxZoom=o||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:{},renderWorldCopies:{},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.renderWorldCopies.get=function(){return this._renderWorldCopies},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 o=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==o&&(this._unmodified=!1,this.angle=o,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 o=util.clamp(t,0,60)/180*Math.PI;this._pitch!==o&&(this._unmodified=!1,this._pitch=o,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 o=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==o&&(this._unmodified=!1,this._zoom=o,this.scale=this.zoomScale(o),this.tileZoom=Math.floor(o),this.zoomFraction=o-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.getVisibleWrappedCoordinates=function(t){for(var o=this.pointCoordinate(new Point(0,0),0),i=this.pointCoordinate(new Point(this.width,0),0),e=Math.floor(o.column),r=Math.floor(i.column),n=[t],s=e;s<=r;s++)0!==s&&n.push(new TileCoord(t.z,t.x,t.y,s));return n},Transform.prototype.coveringTiles=function(t){var o=this.coveringZoomLevel(t),i=o;if(void 0!==t.minzoom&&ot.maxzoom&&(o=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,o),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),o),this.pointCoordinate(new Point(this.width,0),o),this.pointCoordinate(new Point(this.width,this.height),o),this.pointCoordinate(new Point(0,this.height),o)];return TileCoord.cover(o,n,t.reparseOverscaled?i:o,this._renderWorldCopies).sort(function(t,o){return r.dist(t)-r.dist(o)})},Transform.prototype.resize=function(t,o){this.width=t,this.height=o,this.pixelsToGLUnits=[2/t,-2/o],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){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var o=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(o*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,o){var i=this.pointCoordinate(o)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(i)),this._renderWorldCopies&&(this.center=this.center.wrap())},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 o=t.zoomTo(this.zoom);return new LngLat(this.xLng(o.column*this.tileSize),this.yLat(o.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,o){void 0===o&&(o=this.tileZoom);var i=[t.x,t.y,0,1],e=[t.x,t.y,1,1];vec4.transformMat4(i,i,this.pixelMatrixInverse),vec4.transformMat4(e,e,this.pixelMatrixInverse);var r=i[3],n=e[3],h=i[1]/r,c=e[1]/n,m=i[2]/r,p=e[2]/n,l=m===p?0:(0-m)/(p-m);return new Coordinate(interp(i[0]/r,e[0]/n,l)/this.tileSize,interp(h,c,l)/this.tileSize,this.zoom)._zoomTo(o)},Transform.prototype.coordinatePoint=function(t){var o=t.zoomTo(this.zoom),i=[o.column*this.tileSize,o.row*this.tileSize,0,1];return vec4.transformMat4(i,i,this.pixelMatrix),new Point(i[0]/i[3],i[1]/i[3])},Transform.prototype.calculatePosMatrix=function(t,o){var i=t.toCoordinate(o),e=this.worldSize/this.zoomScale(i.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[i.column*e,i.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype.cameraToTileDistance=function(t){var o=this.calculatePosMatrix(t.coord,t.sourceMaxZoom),i=[t.tileSize/2,t.tileSize/2,0,1];return vec4.transformMat4(i,i,o),i[3]},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,o,i,e,r=-90,n=90,s=-180,a=180,h=this.size,c=this._unmodified;if(this.latRange){var m=this.latRange;r=this.latY(m[1]),t=(n=this.latY(m[0]))-rn&&(e=n-f)}if(this.lngRange){var d=this.x,g=h.x/2;d-ga&&(i=a-g)}void 0===i&&void 0===e||(this.center=this.unproject(new Point(void 0!==i?i:this.x,void 0!==e?e: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,o=Math.PI/2+this._pitch,i=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-o-t),r=1.01*(Math.cos(Math.PI/2-this._pitch)*i+this.cameraToCenterDistance),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)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform},{"../data/extent":58,"../source/tile_coord":113,"../style-spec/util/interpolate":152,"../util/util":252,"./coordinate":67,"./lng_lat":68,"@mapbox/gl-matrix":1,"@mapbox/point-geometry":2}],71:[function(_dereq_,module,exports){"use strict";var IndexBuffer=function(e,r){this.gl=e,this.buffer=e.createBuffer(),void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension("OES_vertex_array_object")),e.extVertexArrayObject&&e.extVertexArrayObject.bindVertexArrayOES(null),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.buffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,r.arrayBuffer,e.STATIC_DRAW),delete r.arrayBuffer};IndexBuffer.prototype.bind=function(){this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,this.buffer)},IndexBuffer.prototype.destroy=function(){this.buffer&&(this.gl.deleteBuffer(this.buffer),delete this.buffer)},module.exports=IndexBuffer},{}],72:[function(_dereq_,module,exports){"use strict";var AttributeType={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},VertexBuffer=function(t,e,r){this.length=e.length,this.attributes=e.members,this.itemSize=e.bytesPerElement,this.dynamicDraw=r,this.gl=t,this.buffer=t.createBuffer(),this.gl.bindBuffer(t.ARRAY_BUFFER,this.buffer),this.gl.bufferData(t.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?t.DYNAMIC_DRAW:t.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};VertexBuffer.prototype.bind=function(){this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffer)},VertexBuffer.prototype.updateData=function(t){this.bind(),this.gl.bufferSubData(this.gl.ARRAY_BUFFER,0,t.arrayBuffer)},VertexBuffer.prototype.enableAttributes=function(t,e){for(var i=0;i":[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/extent":58,"../data/pos_array":62,"../gl/vertex_buffer":72,"../util/browser":231,"./vertex_array_object":96,"@mapbox/gl-matrix":1}],78:[function(_dereq_,module,exports){"use strict";function drawFillTiles(r,t,e,i,a){if(!pattern.isPatternMissing(e.paint["fill-pattern"],r))for(var l=!0,n=0,o=i;n0?1-1/(1.001-r):-r}(t.paint["raster-saturation"])),i.uniform1f(n.uniforms.u_contrast_factor,function(r){return r>0?1/(1-r):1+r}(t.paint["raster-contrast"])),i.uniform3fv(n.uniforms.u_spin_weights,function(r){r*=Math.PI/180;var e=Math.sin(r),t=Math.cos(r);return[(2*t+1)/3,(-Math.sqrt(3)*e-t+1)/3,(Math.sqrt(3)*e-t+1)/3]}(t.paint["raster-hue-rotate"])),i.uniform1f(n.uniforms.u_buffer_scale,1),i.uniform1i(n.uniforms.u_image0,0),i.uniform1i(n.uniforms.u_image1,1);for(var s=a.length&&a[0].z,u=0,f=a;u0){var n=Date.now(),s=(n-r.timeAdded)/o,u=e?(n-e.timeAdded)/o:-1,f=t.getSource(),d=i.coveringZoomLevel({tileSize:f.tileSize,roundZoom:f.roundZoom}),m=!e||Math.abs(e.coord.z-d)>Math.abs(r.coord.z-d),c=m&&r.refreshedUponExpiration?1:util.clamp(m?s:1-u,0,1);return r.refreshedUponExpiration&&s>=1&&(r.refreshedUponExpiration=!1),e?{opacity:1,mix:1-c}:{opacity:c,mix:0}}return{opacity:1,mix:0}}(m,_,e,t,r.transform),E=void 0,l=void 0;if(i.activeTexture(i.TEXTURE0),m.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),i.activeTexture(i.TEXTURE1),_?(_.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),E=Math.pow(2,_.coord.z-m.coord.z),l=[m.coord.x*E%1,m.coord.y*E%1]):m.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),i.uniform2fv(n.uniforms.u_tl_parent,l||[0,0]),i.uniform1f(n.uniforms.u_scale_parent,E||1),i.uniform1f(n.uniforms.u_fade_t,p.mix),i.uniform1f(n.uniforms.u_opacity,p.opacity*t.paint["raster-opacity"]),o instanceof ImageSource){var g=o.boundsBuffer;o.boundsVAO.bind(i,n,g),i.drawArrays(i.TRIANGLE_STRIP,0,g.length)}else if(m.maskedBoundsBuffer&&m.maskedIndexBuffer&&m.segments)n.draw(i,i.TRIANGLES,t.id,m.maskedBoundsBuffer,m.maskedIndexBuffer,m.segments);else{var h=r.rasterBoundsBuffer;r.rasterBoundsVAO.bind(i,n,h),i.drawArrays(i.TRIANGLE_STRIP,0,h.length)}}i.depthFunc(i.LEQUAL)}}},{"../source/image_source":103,"../util/util":252}],83:[function(_dereq_,module,exports){"use strict";function drawLayerSymbols(t,o,i,e,a,r,n,s,u,l){var m=t.gl,f=t.transform,c="map"===s,_="map"===u,y=c&&"line"===i.layout["symbol-placement"],p=c&&!_&&!y,x=_;x?m.enable(m.DEPTH_TEST):m.disable(m.DEPTH_TEST);for(var T,b=0,d=e;bthis.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);r.opacities[a]=a<=t?r.changeOpacities[a]+o:r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.isVisible=function(e){return 0!==this.opacities[Math.floor(10*e)]},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},{}],85:[function(_dereq_,module,exports){"use strict";var ShelfPack=_dereq_("@mapbox/shelf-pack"),AlphaImage=_dereq_("../util/image").AlphaImage;module.exports={makeGlyphAtlas:function(a){var e=AlphaImage.create({width:0,height:0}),i={},t=new ShelfPack(0,0,{autoResize:!0});for(var h in a){var p=a[h],r=i[h]={};for(var m in p){var g=p[+m];if(g&&0!==g.bitmap.width&&0!==g.bitmap.height){var l=t.packOne(g.bitmap.width+2,g.bitmap.height+2);AlphaImage.resize(e,{width:t.w,height:t.h}),AlphaImage.copy(g.bitmap,e,{x:0,y:0},{x:l.x+1,y:l.y+1},g.bitmap),r[m]={rect:l,metrics:g.metrics}}}}return t.shrink(),AlphaImage.resize(e,{width:t.w,height:t.h}),{image:e,positions:i}}}},{"../util/image":242,"@mapbox/shelf-pack":3}],86:[function(_dereq_,module,exports){"use strict";var loadGlyphRange=_dereq_("../style/load_glyph_range"),TinySDF=_dereq_("@mapbox/tiny-sdf"),isChar=_dereq_("../util/is_char_in_unicode_block"),asyncAll=_dereq_("../util/util").asyncAll,AlphaImage=_dereq_("../util/image").AlphaImage,GlyphManager=function(r,e){this.requestTransform=r,this.localIdeographFontFamily=e,this.entries={}};GlyphManager.prototype.setURL=function(r){this.url=r},GlyphManager.prototype.getGlyphs=function(r,e){var t=this,i=[];for(var a in r)for(var l=0,n=r[a];l65535)e(new Error("glyphs > 65535 not supported"));else{var o=l.requests[s];o||(o=l.requests[s]=[],loadGlyphRange(i,s,t.url,t.requestTransform,function(r,e){if(e)for(var t in e)l.glyphs[+t]=e[+t];for(var i=0,a=o;ithis.height)return util.warnOnce("LineAtlas out of space"),null;for(var a=0,r=0;r=0;this.currentLayer--){var E=t.style._layers[s[t.currentLayer]];E.source!==(g&&g.id)&&(f=[],(g=t.style.sourceCaches[E.source])&&(t.clearStencil(),f=g.getVisibleCoordinates(),g.getSource().isTileClipped&&t._renderTileClippingMasks(f))),t.renderLayer(t,g,E,f)}this.renderPass="translucent";var T,_=[];for(this.gl.enable(this.gl.BLEND),this.currentLayer=0,this.currentLayer;this.currentLayer0?r.pop():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;e?(r.blendFunc(r.CONSTANT_COLOR,r.ONE),r.blendColor(1/8,1/8,1/8,0),r.clearColor(0,0,0,1),r.clear(r.COLOR_BUFFER_BIT)):r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA)}},Painter.prototype._createProgramCached=function(e,r){this.cache=this.cache||{};var t=""+e+(r.cacheKey||"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[t]||(this.cache[t]=new Program(this.gl,shaders[e],r,this._showOverdrawInspector)),this.cache[t]},Painter.prototype.useProgram=function(e,r){var t=this.gl,i=this._createProgramCached(e,r||this.emptyProgramConfiguration);return this.currentProgram!==i&&(t.useProgram(i.program),this.currentProgram=i),i},module.exports=Painter},{"../data/extent":58,"../data/pos_array":62,"../data/program_configuration":63,"../data/raster_bounds_array":64,"../gl/vertex_buffer":72,"../shaders":98,"../source/pixels_to_tile_units":105,"../source/source_cache":110,"../util/browser":231,"../util/util":252,"./draw_background":74,"./draw_circle":75,"./draw_debug":77,"./draw_fill":78,"./draw_fill_extrusion":79,"./draw_heatmap":80,"./draw_line":81,"./draw_raster":82,"./draw_symbol":83,"./frame_history":84,"./program":92,"./render_texture":93,"./tile_mask":95,"./vertex_array_object":96,"@mapbox/gl-matrix":1}],91:[function(_dereq_,module,exports){"use strict";var pixelsToTileUnits=_dereq_("../source/pixels_to_tile_units");exports.isPatternMissing=function(r,i){if(!r)return!1;var e=i.imageManager.getPattern(r.from),o=i.imageManager.getPattern(r.to);return!e||!o},exports.prepare=function(r,i,e){var o=i.gl,t=i.imageManager.getPattern(r.from),n=i.imageManager.getPattern(r.to);o.uniform1i(e.uniforms.u_image,0),o.uniform2fv(e.uniforms.u_pattern_tl_a,t.tl),o.uniform2fv(e.uniforms.u_pattern_br_a,t.br),o.uniform2fv(e.uniforms.u_pattern_tl_b,n.tl),o.uniform2fv(e.uniforms.u_pattern_br_b,n.br);var u=i.imageManager.getPixelSize(),a=u.width,f=u.height;o.uniform2fv(e.uniforms.u_texsize,[a,f]),o.uniform1f(e.uniforms.u_mix,r.t),o.uniform2fv(e.uniforms.u_pattern_size_a,t.displaySize),o.uniform2fv(e.uniforms.u_pattern_size_b,n.displaySize),o.uniform1f(e.uniforms.u_scale_a,r.fromScale),o.uniform1f(e.uniforms.u_scale_b,r.toScale),o.activeTexture(o.TEXTURE0),i.imageManager.bind(o)},exports.setTile=function(r,i,e){var o=i.gl;o.uniform1f(e.uniforms.u_tile_units_to_pixels,1/pixelsToTileUnits(r,1,i.transform.tileZoom));var t=Math.pow(2,r.coord.z),n=r.tileSize*Math.pow(2,i.transform.tileZoom)/t,u=n*(r.coord.x+r.coord.w*t),a=n*r.coord.y;o.uniform2f(e.uniforms.u_pixel_coord_upper,u>>16,a>>16),o.uniform2f(e.uniforms.u_pixel_coord_lower,65535&u,65535&a)}},{"../source/pixels_to_tile_units":105}],92:[function(_dereq_,module,exports){"use strict";var browser=_dereq_("../util/browser"),shaders=_dereq_("../shaders"),VertexArrayObject=(_dereq_("../data/program_configuration").ProgramConfiguration,_dereq_("./vertex_array_object")),Program=function(r,e,t,a){var o=this;this.gl=r,this.program=r.createProgram();var i=t.defines().concat("#define DEVICE_PIXEL_RATIO "+browser.devicePixelRatio.toFixed(1));a&&i.push("#define OVERDRAW_INSPECTOR;");var n=i.concat(shaders.prelude.fragmentSource,e.fragmentSource).join("\n"),s=i.concat(shaders.prelude.vertexSource,e.vertexSource).join("\n"),m=r.createShader(r.FRAGMENT_SHADER);r.shaderSource(m,n),r.compileShader(m),r.attachShader(this.program,m);var g=r.createShader(r.VERTEX_SHADER);r.shaderSource(g,s),r.compileShader(g),r.attachShader(this.program,g);for(var c=t.interface?t.interface.layoutAttributes:[],u=0;u= v_max_zoom + v_perspective_zoom_adjust) {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\n }\n\n // Faded blue = the placement scale for this label is beyond the CollisionTile\n // max scale, so it's impossible for this label to show without collision detection\n // being run again (the label's glyphs haven't even been added to the symbol bucket)\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_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_data;\n\nuniform mat4 u_matrix;\nuniform float u_scale;\nuniform float u_pitch;\nuniform float u_collision_y_stretch;\nuniform float u_camera_to_center_distance;\n\nvarying float v_max_zoom;\nvarying float v_placement_zoom;\nvarying float v_perspective_zoom_adjust;\nvarying vec2 v_fade_tex;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = 1.0 + 0.5 * ((camera_to_anchor_distance / u_camera_to_center_distance) - 1.0);\n\n highp float incidence_stretch = camera_to_anchor_distance / (u_camera_to_center_distance * cos(u_pitch));\n highp float collision_adjustment = max(1.0, incidence_stretch / u_collision_y_stretch);\n\n gl_Position = u_matrix * vec4(a_pos + a_extrude * collision_perspective_ratio * collision_adjustment / u_scale, 0.0, 1.0);\n\n v_max_zoom = a_data.x;\n v_placement_zoom = a_data.y;\n\n v_perspective_zoom_adjust = floor(log2(collision_perspective_ratio * collision_adjustment) * 10.0);\n v_fade_tex = vec2((v_placement_zoom + v_perspective_zoom_adjust) / 255.0, 0.0);\n}\n"},debug:{fragmentSource:"uniform highp 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, 0, 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp 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 highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp 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 highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.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 highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp 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 vec2 u_texsize;\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_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, 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 = 1.0 - smoothstep(0.0, 1.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 vec2 u_texsize;\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_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, 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 highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp 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 highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n base = max(0.0, base);\n height = max(0.0, height);\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 vec2 u_texsize;\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_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, 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 base = max(0.0, base);\n height = max(0.0, 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_image;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_image, 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 vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n v_pos.x = a_pos.x;\n v_pos.y = 1.0 - a_pos.y;\n}\n"},line:{fragmentSource:"#pragma mapbox: define highp 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 highp 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 vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\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 highp 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#pragma mapbox: define mediump float width\n\nvoid main() {\n #pragma mapbox: initialize highp 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 #pragma mapbox: initialize mediump float width\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\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 halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (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 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 vec2 u_texsize;\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_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, 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 vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\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#pragma mapbox: define mediump float width\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 #pragma mapbox: initialize mediump float width\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 vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\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 halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (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 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 highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\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 / floorwidth, 0.5 + u_sdfgamma / floorwidth, 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 vec4 a_pos_normal;\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;\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 highp 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#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n\nvoid main() {\n #pragma mapbox: initialize highp 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 #pragma mapbox: initialize mediump float width\n #pragma mapbox: initialize lowp float floorwidth\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 vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\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 halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (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 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 / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, 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 if (color0.a > 0.0) {\n color0.rgb = color0.rgb / color0.a;\n }\n if (color1.a > 0.0) {\n color1.rgb = color1.rgb / color1.a;\n }\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 // We are using Int16 for texture position coordinates to give us enough precision for\n // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\n // as an arbitrarily high number to preserve adequate precision when rendering.\n // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\n // so math for modifying either is consistent.\n v_pos0 = (((a_texture_pos / 8192.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:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\n\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\nuniform highp float u_camera_to_center_distance;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform highp float u_collision_y_stretch;\n\n#pragma mapbox: define lowp float opacity\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\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_data.xy;\n vec2 a_size = a_data.zw;\n\n highp vec2 angle_labelminzoom = unpack_float(a_projected_pos[2]);\n highp float segment_angle = -angle_labelminzoom[0] / 255.0 * 2.0 * PI;\n mediump float a_labelminzoom = angle_labelminzoom[1];\n\n float size;\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // See comments in symbol_sdf.vertex\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // See comments in symbol_sdf.vertex\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\n\n v_tex = a_tex / u_texsize;\n // See comments in symbol_sdf.vertex\n highp float incidence_stretch = camera_to_anchor_distance / (u_camera_to_center_distance * cos(u_pitch));\n highp float collision_adjustment = max(1.0, incidence_stretch / u_collision_y_stretch);\n\n highp float collision_perspective_ratio = 1.0 + 0.5*((camera_to_anchor_distance / u_camera_to_center_distance) - 1.0);\n highp float perspective_zoom_adjust = floor(log2(collision_perspective_ratio * collision_adjustment) * 10.0);\n v_fade_tex = vec2((a_labelminzoom + perspective_zoom_adjust) / 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 highp vec4 fill_color\n#pragma mapbox: define highp 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 highp float u_gamma_scale;\nuniform bool u_is_text;\n\nvarying vec4 v_data0;\nvarying vec2 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp 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 tex = v_data0.xy;\n vec2 fade_tex = v_data0.zw;\n float gamma_scale = v_data1.x;\n float size = v_data1.y;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / (fontScale * 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) / (fontScale * u_gamma_scale);\n buff = (6.0 - halo_width / fontScale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, tex).a;\n lowp float fade_alpha = texture2D(u_fadetexture, fade_tex).a;\n highp float gamma_scaled = gamma * 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 vec4 a_data;\nattribute vec3 a_projected_pos;\n\n// contents of a_size vary based on the type of property value\n// used for {text,icon}-size.\n// For constants, a_size is disabled.\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\n// For composite functions:\n// [ text-size(lowerZoomStop, feature),\n// text-size(upperZoomStop, feature) ]\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\n\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp 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 mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform highp float u_camera_to_center_distance;\nuniform highp float u_collision_y_stretch;\n\nuniform vec2 u_texsize;\n\nvarying vec4 v_data0;\nvarying vec2 v_data1;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 fill_color\n #pragma mapbox: initialize highp 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_data.xy;\n vec2 a_size = a_data.zw;\n\n highp vec2 angle_labelminzoom = unpack_float(a_projected_pos[2]);\n highp float segment_angle = -angle_labelminzoom[0] / 255.0 * 2.0 * PI;\n mediump float a_labelminzoom = angle_labelminzoom[1];\n float size;\n\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // If the label is pitched with the map, layout is done in pitched space,\n // which makes labels in the distance smaller relative to viewport space.\n // We counteract part of that effect by multiplying by the perspective ratio.\n // If the label isn't pitched with the map, we do layout in viewport space,\n // which makes labels in the distance larger relative to the features around\n // them. We counteract part of that effect by dividing by the perspective ratio.\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\n // To figure out that angle in projected space, we draw a short horizontal line in tile\n // space, project it, and measure its angle in projected space.\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\n float gamma_scale = gl_Position.w;\n\n vec2 tex = a_tex / u_texsize;\n // incidence_stretch is the ratio of how much y space a label takes up on a tile while drawn perpendicular to the viewport vs\n // how much space it would take up if it were drawn flat on the tile\n // Using law of sines, camera_to_anchor/sin(ground_angle) = camera_to_center/sin(incidence_angle)\n // sin(incidence_angle) = 1/incidence_stretch\n // Incidence angle 90 -> head on, sin(incidence_angle) = 1, no incidence stretch\n // Incidence angle 1 -> very oblique, sin(incidence_angle) =~ 0, lots of incidence stretch\n // ground_angle = u_pitch + PI/2 -> sin(ground_angle) = cos(u_pitch)\n // This 2D calculation is only exactly correct when gl_Position.x is in the center of the viewport,\n // but it's a close enough approximation for our purposes\n highp float incidence_stretch = camera_to_anchor_distance / (u_camera_to_center_distance * cos(u_pitch));\n // incidence_stretch only applies to the y-axis, but without re-calculating the collision tile, we can't\n // adjust the size of only one axis. So, we do a crude approximation at placement time to get the aspect ratio\n // about right, and then do the rest of the adjustment here: there will be some extra padding on the x-axis,\n // but hopefully not too much.\n // Never make the adjustment less than 1.0: instead of allowing collisions on the x-axis, be conservative on\n // the y-axis.\n highp float collision_adjustment = max(1.0, incidence_stretch / u_collision_y_stretch);\n\n // Floor to 1/10th zoom to dodge precision issues that can cause partially hidden labels\n highp float collision_perspective_ratio = 1.0 + 0.5*((camera_to_anchor_distance / u_camera_to_center_distance) - 1.0);\n highp float perspective_zoom_adjust = floor(log2(collision_perspective_ratio * collision_adjustment) * 10.0);\n vec2 fade_tex = vec2((a_labelminzoom + perspective_zoom_adjust) / 255.0, 0.0);\n\n v_data0 = vec4(tex.x, tex.y, fade_tex.x, fade_tex.y);\n v_data1 = vec2(gamma_scale, size);\n}\n"}},re=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g;for(var programName in shaders)!function(e){var n=shaders[programName],a={};n.fragmentSource=n.fragmentSource.replace(re,function(e,n,t,o,i){return a[i]=!0,"define"===n?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+t+" "+o+" "+i+";\n#else\nuniform "+t+" "+o+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+t+" "+o+" "+i+" = u_"+i+";\n#endif\n"}),n.vertexSource=n.vertexSource.replace(re,function(e,n,t,o,i){var r="float"===o?"vec2":"vec4";return a[i]?"define"===n?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float a_"+i+"_t;\nattribute "+t+" "+r+" a_"+i+";\nvarying "+t+" "+o+" "+i+";\n#else\nuniform "+t+" "+o+" u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+r+"(a_"+i+", a_"+i+"_t);\n#else\n "+t+" "+o+" "+i+" = u_"+i+";\n#endif\n":"define"===n?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float a_"+i+"_t;\nattribute "+t+" "+r+" a_"+i+";\n#else\nuniform "+t+" "+o+" u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+t+" "+o+" "+i+" = unpack_mix_"+r+"(a_"+i+", a_"+i+"_t);\n#else\n "+t+" "+o+" "+i+" = u_"+i+";\n#endif\n"})}();module.exports=shaders},{}],99:[function(_dereq_,module,exports){"use strict";var ImageSource=_dereq_("./image_source"),window=_dereq_("../util/window"),CanvasSource=function(t){function i(i,a,s,n){t.call(this,i,a,s,n),this.options=a,this.animate=void 0===a.animate||a.animate}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.load=function(){if(this.canvas=this.canvas||window.document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions())return this.fire("error",new Error("Canvas dimensions cannot be less than or equal to zero."));var t;this.play=function(){void 0===t&&(t=this.map.style.animationLoop.set(1/0),this.map._rerender())},this.pause=function(){void 0!==t&&(t=this.map.style.animationLoop.cancel(t))},this._finishLoading()},i.prototype.getCanvas=function(){return this.canvas},i.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},i.prototype.onRemove=function(){this.pause()},i.prototype.prepare=function(){var t=!1;this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions()||0!==Object.keys(this.tiles).length&&this._prepareImage(this.map.painter.gl,this.canvas,t)},i.prototype.serialize=function(){return{type:"canvas",canvas:this.canvas,coordinates:this.coordinates}},i.prototype._hasInvalidDimensions=function(){for(var i=0,a=[this.canvas.width,this.canvas.height];ithis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,angle:this.map.transform.angle,pitch:this.map.transform.pitch,cameraToCenterDistance:this.map.transform.cameraToCenterDistance,cameraToTileDistance:this.map.transform.cameraToTileDistance(t),showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(r,i,function(r,i){if(t.unloadVectorData(),!t.aborted)return r?e(r):(t.loadVectorData(i,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 util.extend({},this._options,{type:this.type,data:this._data})},e}(Evented);module.exports=GeoJSONSource},{"../data/extent":58,"../util/ajax":230,"../util/browser":231,"../util/evented":239,"../util/util":252,"../util/window":233}],101:[function(_dereq_,module,exports){"use strict";var ajax=_dereq_("../util/ajax"),rewind=_dereq_("geojson-rewind"),GeoJSONWrapper=_dereq_("./geojson_wrapper"),vtpbf=_dereq_("vt-pbf"),supercluster=_dereq_("supercluster"),geojsonvt=_dereq_("geojson-vt"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t,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),i=vtpbf(u);0===i.byteOffset&&i.byteLength===i.buffer.byteLength||(i=new Uint8Array(i)),r(null,{vectorTile:u,rawData:i.buffer})}),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),(r.prototype=Object.create(e&&e.prototype)).constructor=r,r.prototype.loadData=function(e,r){var t=this;this.loadGeoJSON(e,function(o,n){if(o||!n)return r(o);if("object"!=typeof n)return r(new Error("Input data is not a valid GeoJSON object."));rewind(n,!0);try{t._geoJSONIndexes[e.source]=e.cluster?supercluster(e.superclusterOptions).load(n.features):geojsonvt(n,e.geojsonVtOptions)}catch(o){return r(o)}t.loaded[e.source]={},r(null)})},r.prototype.reloadTile=function(r,t){var o=this.loaded[r.source],n=r.uid;return o&&o[n]?e.prototype.reloadTile.call(this,r,t):this.loadTile(r,t)},r.prototype.loadGeoJSON=function(e,r){if(e.request)ajax.getJSON(e.request,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}(_dereq_("./vector_tile_worker_source"));module.exports=GeoJSONWorkerSource},{"../util/ajax":230,"./geojson_wrapper":102,"./vector_tile_worker_source":115,"geojson-rewind":14,"geojson-vt":18,supercluster:41,"vt-pbf":46}],102:[function(_dereq_,module,exports){"use strict";var Point=_dereq_("@mapbox/point-geometry"),toGeoJSON=_dereq_("@mapbox/vector-tile").VectorTileFeature.prototype.toGeoJSON,EXTENT=_dereq_("../data/extent"),FeatureWrapper=function(e){this._feature=e,this.extent=EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};FeatureWrapper.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],r=0,o=this._feature.geometry;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);if(!d)break;(a=i._tiles[d.id])&&a.hasData()&&(delete o[s],o[d.id]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){var s=e.parent(i._source.maxzoom);if(!s)return;e=s;var a=String(e.id),n=i._tiles[a];if(n&&n.hasData())return o[a]=!0,n;if(i._cache.has(a))return o[a]=!0,i._cache.getWithoutRemoving(a)}},t.prototype.updateCacheSize=function(e){var i=(Math.ceil(e.width/e.tileSize)+1)*(Math.ceil(e.height/e.tileSize)+1),r=Math.floor(5*i),s="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(s)},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this._coveredTiles={},this.used?this._source.coord?i=e.getVisibleWrappedCoordinates(this._source.coord):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter(function(e){return o._source.hasTile(e)}))):i=[];var p,r=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),s=Math.max(r-t.maxOverzooming,this._source.minzoom),a=Math.max(r+t.maxUnderzooming,this._source.minzoom),n=this._updateRetainedTiles(i,r),d={};if(function(e){return"raster"===e||"image"===e||"video"===e}(this._source.type))for(var h=Object.keys(n),u=0;u=Date.now())){o._findLoadedChildren(l,a,n)&&(n[c]=!0);var m=o.findLoadedParent(l,s,d);m&&o._addTile(m.coord)}}for(p in d)n[p]||(o._coveredTiles[p]=!0);for(p in d)n[p]=!0;for(var f=util.keysDifference(this._tiles,n),T=0;Tn._source.maxzoom){var l=r.children(n._source.maxzoom)[0],_=n.getTile(l);_&&_.hasData()?d[l.id]=!0:a=!1}else for(var m=r.children(n._source.maxzoom),p=0;p=u;--v){var y=r.scaledTo(v,n._source.maxzoom);if(h[y.id])break;if(h[y.id]=!0,!(s=n.getTile(y))&&c&&(s=n._addTile(y)),s&&(d[y.id]=!0,c=s.wasRequested(),s.hasData()))break}}}return d},t.prototype._addTile=function(e){var t=this._tiles[e.id];if(t)return t;(t=this._cache.get(e.id))&&(t.redoPlacement(this._source),this._cacheTimers[e.id]&&(clearTimeout(this._cacheTimers[e.id]),delete this._cacheTimers[e.id],this._setTileReloadTimer(e.id,t)));var o=Boolean(t);if(!o){var i=e.z,r=i>this._source.maxzoom?Math.pow(2,i-this._source.maxzoom):1;t=new Tile(e,this._source.tileSize*r,this._source.maxzoom),this._loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t?(t.uses++,this._tiles[e.id]=t,o||this._source.fire("dataloading",{tile:t,coord:t.coord,dataType:"source"}),t):null},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o._reloadTile(e,"expired"),delete o._timers[e]},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),delete o._cacheTimers[e]},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]),delete this._timers[e]),!(t.uses>0)))if(t.stopPlacementThrottler(),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(){this._shouldReloadOnResume=!1,this._paused=!1;for(var t in this._tiles)this._removeTile(t);this._cache.reset()},t.prototype.tilesIn=function(e){for(var o=[],i=this.getIds(),r=1/0,s=1/0,a=-1/0,n=-1/0,d=e[0].zoom,h=0;h=0&&m[1].y>=0){for(var p=[],f=0;f>n.z,h=new Point(n.x*l,n.y*l),u=new Point(h.x+l,h.y+l),c=this.segments.prepareSegment(4,a,r);a.emplaceBack(h.x,h.y,h.x,h.y),a.emplaceBack(u.x,h.y,u.x,h.y),a.emplaceBack(h.x,u.y,h.x,u.y),a.emplaceBack(u.x,u.y,u.x,u.y);var d=c.vertexLength;r.emplaceBack(d,d+1,d+2),r.emplaceBack(d+1,d+2,d+3),c.vertexLength+=4,c.primitiveLength+=2}this.maskedBoundsBuffer=new VertexBuffer(t,a),this.maskedIndexBuffer=new IndexBuffer(t,r)}},Tile.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state},Tile.prototype.setExpiryData=function(e){var t=this.expirationTime;if(e.cacheControl){var i=util.parseCacheControl(e.cacheControl);i["max-age"]&&(this.expirationTime=Date.now()+1e3*i["max-age"])}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){var a=Date.now(),r=!1;if(this.expirationTime>a)r=!1;else if(t)if(this.expirationTime=a_minX&&t.x=a_minY&&t.yi.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 h=Math.max(o,Math.floor(i.y0)),s=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,x=h;xd.dy&&(s=n,n=d,d=s),n.dy>a.dy&&(s=n,n=a,a=s),d.dy>a.dy&&(s=d,d=a,a=s),n.dy&&scanSpans(a,n,r,e,h),d.dy&&scanSpans(a,d,r,e,h)}var WhooTS=_dereq_("@mapbox/whoots-js"),Coordinate=_dereq_("../geo/coordinate"),TileCoord=function(t,i,o,r){(void 0===r||isNaN(r))&&(r=0),this.z=+t,this.x=+i,this.y=+o,this.w=+r,(r*=2)<0&&(r=-1*r-1);var e=1<0;h--)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.isLessThan=function(t){return this.wt.w)&&(this.zt.z)&&(this.xt.x)&&this.y=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.prototype.scaledTo=function(t,i){return this.z>i?new TileCoord(t,this.x,this.y,this.w):t<=this.z?new TileCoord(t,this.x>>this.z-t,this.y>>this.z-t,this.w):new TileCoord(t,this.x<>this.z-t.z&&t.y===this.y>>this.z-t.z},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var n,d,a,y;if(e>=0&&e<=h)for(n=t;nthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r=normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),s={request:this.map._transformRequest(r,ResourceType.Tile),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,pixelRatio:browser.devicePixelRatio,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,cameraToCenterDistance:this.map.transform.cameraToCenterDistance,cameraToTileDistance:this.map.transform.cameraToTileDistance(e),showCollisionBoxes:this.map.showCollisionBoxes};void 0===e.workerID||"expired"===e.state?e.workerID=this.dispatcher.send("loadTile",s,i.bind(this)):"loading"===e.state?e.reloadCallback=t:this.dispatcher.send("reloadTile",s,i.bind(this),e.workerID)},t.prototype.abortTile=function(e){this.dispatcher.send("abortTile",{uid:e.uid,type:this.type,source:this.id},void 0,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send("removeTile",{uid:e.uid,type:this.type,source:this.id},void 0,e.workerID)},t}(Evented);module.exports=VectorTileSource},{"../util/ajax":230,"../util/browser":231,"../util/evented":239,"../util/mapbox":246,"../util/util":252,"./load_tilejson":104,"./tile_bounds":112}],115:[function(_dereq_,module,exports){"use strict";var ajax=_dereq_("../util/ajax"),vt=_dereq_("@mapbox/vector-tile"),Protobuf=_dereq_("pbf"),WorkerTile=_dereq_("./worker_tile"),util=_dereq_("../util/util"),VectorTileWorkerSource=function(e,r,o){this.actor=e,this.layerIndex=r,this.loadVectorData=o||function(e,r){var o=ajax.getArrayBuffer(e.request,function(e,o){e?r(e):o&&r(null,{vectorTile:new vt.VectorTile(new Protobuf(o.data)),rawData:o.data,cacheControl:o.cacheControl,expires:o.expires})});return function(){o.abort()}},this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){var o=this,t=e.source,a=e.uid;this.loading[t]||(this.loading[t]={});var i=this.loading[t][a]=new WorkerTile(e);i.abort=this.loadVectorData(e,function(e,l){if(delete o.loading[t][a],e||!l)return r(e);var c=l.rawData,n={};l.expires&&(n.expires=l.expires),l.cacheControl&&(n.cacheControl=l.cacheControl),i.vectorTile=l.vectorTile,i.parse(l.vectorTile,o.layerIndex,o.actor,function(e,o,t){if(e||!o)return r(e);r(null,util.extend({rawTileData:c},o,n),t)}),o.loaded[t]=o.loaded[t]||{},o.loaded[t][a]=i})},VectorTileWorkerSource.prototype.reloadTile=function(e,r){var t=this.loaded[e.source],a=e.uid,i=this;if(t&&t[a]){var l=t[a];"parsing"===l.status?l.reloadCallback=r:"done"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,function(e,o){if(this.reloadCallback){var t=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,i.layerIndex,i.actor,t)}r(e,o)}.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],o=e.uid;r&&r[o]&&r[o].abort&&(r[o].abort(),delete r[o])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],o=e.uid;r&&r[o]&&delete r[o]},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var o=this.loaded[e.source],t=this.loading[e.source],a=e.uid;if(o&&o[a]){var l=o[a].redoPlacement(e.angle,e.pitch,e.cameraToCenterDistance,e.cameraToTileDistance,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else t&&t[a]&&(t[a].angle=e.angle)},module.exports=VectorTileWorkerSource},{"../util/ajax":230,"../util/util":252,"./worker_tile":118,"@mapbox/vector-tile":6,pbf:38}],116:[function(_dereq_,module,exports){"use strict";var ajax=_dereq_("../util/ajax"),VideoSource=function(e){function t(t,o,i,r){e.call(this,t,o,i,r),this.roundZoom=!0,this.type="video",this.options=o}return e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t,t.prototype.load=function(){var e=this,t=this.options;this.urls=t.urls,ajax.getVideo(t.urls,function(t,o){if(t)e.fire("error",{error:t});else if(o){var i;e.video=o,e.video.loop=!0,e.video.addEventListener("playing",function(){i=e.map.style.animationLoop.set(1/0),e.map._rerender()}),e.video.addEventListener("pause",function(){e.map.style.animationLoop.cancel(i)}),e.map&&e.video.play(),e._finishLoading()}})},t.prototype.getVideo=function(){return this.video},t.prototype.onAdd=function(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},t.prototype.prepare=function(){0===Object.keys(this.tiles).length||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},t.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},t}(_dereq_("./image_source"));module.exports=VideoSource},{"../util/ajax":230,"./image_source":103}],117:[function(_dereq_,module,exports){"use strict";var Actor=_dereq_("../util/actor"),StyleLayerIndex=_dereq_("../style/style_layer_index"),VectorTileWorkerSource=_dereq_("./vector_tile_worker_source"),GeoJSONWorkerSource=_dereq_("./geojson_worker_source"),globalRTLTextPlugin=_dereq_("./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),globalRTLTextPlugin.applyArabicShaping&&globalRTLTextPlugin.processBidirectionalText||o(new Error("RTL Text Plugin failed to import scripts from "+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":193,"../util/actor":229,"./geojson_worker_source":101,"./rtl_text_plugin":108,"./vector_tile_worker_source":115}],118:[function(_dereq_,module,exports){"use strict";function recalculateLayers(e,i){for(var r=0,t=e.layers;r=b.maxzoom||b.layout&&"none"===b.layout.visibility)){for(var x=0,T=k;x=0;z--){var B=n[i.symbolOrder[z]];B&&o.symbolBuckets.push(B)}var D,A,C,I=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)});Object.keys(I).length?r.send("getGlyphs",{uid:this.uid,stacks:I},function(e,i){D||(D=e,A=i,a.call(o))}):A={};var w=Object.keys(c.iconDependencies);w.length?r.send("getImages",{icons:w},function(e,i){D||(D=e,C=i,a.call(o))}):C={},a.call(this)},WorkerTile.prototype.redoPlacement=function(e,i,r,t,a){if(this.angle=e,this.pitch=i,this.cameraToCenterDistance=r,this.cameraToTileDistance=t,"done"!==this.status)return{};for(var s=new CollisionTile(this.angle,this.pitch,this.cameraToCenterDistance,this.cameraToTileDistance,this.collisionBoxArray),l=0,n=this.symbolBuckets;l0;)t[o]=arguments[o+2];this.message=(r?r+": ":"")+format.apply(format,t),null!==i&&void 0!==i&&i.__line__&&(this.line=i.__line__)}},{util:45}],122:[function(_dereq_,module,exports){"use strict";var toString=_dereq_("./types").toString,ParsingContext=_dereq_("./parsing_context"),CompoundExpression=(_dereq_("./evaluation_context"),function(r,e,n,t,o){this.key=r,this.name=e,this.type=n,this._evaluate=t,this.args=o});CompoundExpression.prototype.evaluate=function(r){return this._evaluate(r,this.args)},CompoundExpression.prototype.eachChild=function(r){this.args.forEach(r)},CompoundExpression.parse=function(r,e){var n=r[0],t=CompoundExpression.definitions[n];if(!t)return e.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0);for(var o=Array.isArray(t)?t[0]:t.type,i=Array.isArray(t)?[[t[1],t[2]]]:t.overloads.filter(function(e){return!Array.isArray(e[0][0])||e[0][0].length===r.length-1}),s=[],a=1;a4)return r.error("Expected 1, 2, or 3 arguments, but found "+(e.length-1)+" instead.");var t,n;if(e.length>2){var i=e[1];if("string"!=typeof i||!(i in types))return r.error('The item type argument of "array" must be one of string, number, boolean',1);t=types[i]}else t=ValueType;if(e.length>3){if("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2]))return r.error('The length argument to "array" must be a positive integer literal',2);n=e[2]}var o=array(t,n),a=r.parse(e[e.length-1],e.length-1,ValueType);return a?new ArrayAssertion(r.key,o,a):null},ArrayAssertion.prototype.evaluate=function(e){var r=this.input.evaluate(e);if(checkSubtype(this.type,typeOf(r)))throw new RuntimeError("Expected value to be of type "+toString(this.type)+", but found "+toString(typeOf(r))+" instead.");return r},ArrayAssertion.prototype.eachChild=function(e){e(this.input)},module.exports=ArrayAssertion},{"../runtime_error":140,"../types":142,"../values":143}],124:[function(_dereq_,module,exports){"use strict";var ref=_dereq_("../types"),ObjectType=ref.ObjectType,ValueType=ref.ValueType,StringType=ref.StringType,NumberType=ref.NumberType,BooleanType=ref.BooleanType,RuntimeError=_dereq_("../runtime_error"),ref$1=_dereq_("../types"),checkSubtype=ref$1.checkSubtype,toString=ref$1.toString,typeOf=_dereq_("../values").typeOf,types={string:StringType,number:NumberType,boolean:BooleanType,object:ObjectType},Assertion=function(e,r,t){this.key=e,this.type=r,this.args=t};Assertion.parse=function(e,r){if(e.length<2)return r.error("Expected at least one argument.");for(var t=e[0],n=types[t],o=[],p=1;p=t.length)throw new RuntimeError("Array index out of bounds: "+r+" > "+t.length+".");if(r!==Math.floor(r))throw new RuntimeError("Array index must be an integer, but found "+r+" instead.");return t[r]},At.prototype.eachChild=function(e){e(this.index),e(this.input)},module.exports=At},{"../runtime_error":140,"../types":142}],126:[function(_dereq_,module,exports){"use strict";var BooleanType=_dereq_("../types").BooleanType,Case=function(e,r,t,a){this.key=e,this.type=r,this.branches=t,this.otherwise=a};Case.parse=function(e,r){if(e.length<4)return r.error("Expected at least 3 arguments, but found only "+(e.length-1)+".");if(e.length%2!=0)return r.error("Expected an odd number of arguments.");var t;r.expectedType&&"value"!==r.expectedType.kind&&(t=r.expectedType);for(var a=[],n=1;n4?"Invalid rbga value "+JSON.stringify(o)+": expected an array containing either three or four numeric values.":validateRGBA(o[0],o[1],o[2],o[3])))return new Color(o[0]/255,o[1]/255,o[2]/255,o[3]);throw new RuntimeError(t||"Could not parse color from value '"+("string"==typeof o?o:JSON.stringify(o))+"'")}for(var u=null,l=0,s=this.args;l1}))return r.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);t={name:"cubic-bezier",controlPoints:o}}var u="step"===t.name,l=u?5:4;if(e.length-1c)return r.error('Input/output pairs for "curve" expressions must be arranged with input values in strictly ascending order.',m);var d=r.parse(h,b,v);if(!d)return null;v=v||d.type,s.push([c,d])}return"step"===t.name||"number"===v.kind||"color"===v.kind||"array"===v.kind&&"number"===v.itemType.kind?new Curve(r.key,v,t,n,s):r.error("Type "+toString(v)+" is not interpolatable, and thus cannot be used as a "+t.name+" curve's output type.")},Curve.prototype.evaluate=function(e){var r=this.labels,t=this.outputs;if(1===r.length)return t[0].evaluate(e);var n=this.input.evaluate(e);if(n<=r[0])return t[0].evaluate(e);var i=r.length;if(n>=r[i-1])return t[i-1].evaluate(e);var a=function(e,r){for(var t,n,a=0,o=e.length-1,u=0;a<=o;){if(t=e[u=Math.floor((a+o)/2)],n=e[u+1],r===t||r>t&&rr&&(o=u-1)}return Math.max(u-1,0)}(r,n);if("step"===this.interpolation.name)return t[a].evaluate(e);var o=r[a],u=r[a+1],l=Curve.interpolationFactor(this.interpolation,n,o,u),p=t[a].evaluate(e),s=t[a+1].evaluate(e),v=this.type.kind.toLowerCase();return"color"===v?new(Function.prototype.bind.apply(Color,[null].concat(interpolate.color(p.value,s.value,l)))):interpolate[v](p,s,l)},Curve.prototype.eachChild=function(e){e(this.input);for(var t=0,n=this.outputs;ta.evaluate(e)}function lteq(e,r){var t=r[0],a=r[1];return t.evaluate(e)<=a.evaluate(e)}function gteq(e,r){var t=r[0],a=r[1];return t.evaluate(e)>=a.evaluate(e)}var ref=_dereq_("../types"),NullType=ref.NullType,NumberType=ref.NumberType,StringType=ref.StringType,BooleanType=ref.BooleanType,ColorType=ref.ColorType,ObjectType=ref.ObjectType,ValueType=ref.ValueType,ErrorType=ref.ErrorType,array=ref.array,toString=ref.toString,ref$1=_dereq_("../values"),typeOf=ref$1.typeOf,Color=ref$1.Color,validateRGBA=ref$1.validateRGBA,ref$2=_dereq_("../compound_expression"),CompoundExpression=ref$2.CompoundExpression,varargs=ref$2.varargs,RuntimeError=_dereq_("../runtime_error"),Let=_dereq_("./let"),Var=_dereq_("./var"),Literal=_dereq_("./literal"),Assertion=_dereq_("./assertion"),ArrayAssertion=_dereq_("./array"),Coercion=_dereq_("./coercion"),At=_dereq_("./at"),Match=_dereq_("./match"),Case=_dereq_("./case"),Curve=_dereq_("./curve"),expressions={let:Let,var:Var,literal:Literal,string:Assertion,number:Assertion,boolean:Assertion,object:Assertion,array:ArrayAssertion,"to-number":Coercion,"to-color":Coercion,at:At,case:Case,match:Match,coalesce:_dereq_("./coalesce"),curve:Curve};CompoundExpression.register(expressions,{error:[ErrorType,[StringType],function(e,r){var t=r[0];throw new RuntimeError(t.evaluate(e))}],typeof:[StringType,[ValueType],function(e,r){var t=r[0];return toString(typeOf(t.evaluate(e)))}],"to-string":[StringType,[ValueType],function(e,r){var t=r[0],a=typeof(t=t.evaluate(e));if(null===t||"string"===a||"number"===a||"boolean"===a)return String(t);if(t instanceof Color){var n=t.value;return"rgba("+255*n[0]+", "+255*n[1]+", "+255*n[2]+", "+n[3]+")"}return JSON.stringify(t)}],"to-boolean":[BooleanType,[ValueType],function(e,r){var t=r[0];return Boolean(t.evaluate(e))}],"to-rgba":[array(NumberType,4),[ColorType],function(e,r){return r[0].evaluate(e).value}],rgb:[ColorType,[NumberType,NumberType,NumberType],rgba],rgba:[ColorType,[NumberType,NumberType,NumberType,NumberType],rgba],length:{type:NumberType,overloads:[[[StringType],length],[[array(ValueType)],length]]},has:{type:BooleanType,overloads:[[[StringType],function(e,r){return has(r[0].evaluate(e),e.properties())}],[[StringType,ObjectType],function(e,r){var t=r[0],a=r[1];return has(t.evaluate(e),a.evaluate(e))}]]},get:{type:ValueType,overloads:[[[StringType],function(e,r){return get(r[0].evaluate(e),e.properties())}],[[StringType,ObjectType],function(e,r){var t=r[0],a=r[1];return get(t.evaluate(e),a.evaluate(e))}]]},properties:[ObjectType,[],function(e){return e.properties()}],"geometry-type":[StringType,[],function(e){return e.geometryType()}],id:[ValueType,[],function(e){return e.id()}],zoom:[NumberType,[],function(e){return e.globals.zoom}],"heatmap-density":[NumberType,[],function(e){return e.globals.heatmapDensity||0}],"+":[NumberType,varargs(NumberType),function(e,r){for(var t=0,a=0,n=r;a":{type:BooleanType,overloads:[[[NumberType,NumberType],gt],[[StringType,StringType],gt]]},"<":{type:BooleanType,overloads:[[[NumberType,NumberType],lt],[[StringType,StringType],lt]]},">=":{type:BooleanType,overloads:[[[NumberType,NumberType],gteq],[[StringType,StringType],gteq]]},"<=":{type:BooleanType,overloads:[[[NumberType,NumberType],lteq],[[StringType,StringType],lteq]]},all:{type:BooleanType,overloads:[[[BooleanType,BooleanType],function(e,r){var t=r[0],a=r[1];return t.evaluate(e)&&a.evaluate(e)}],[varargs(BooleanType),function(e,r){for(var t=0,a=r;tNumber.MAX_SAFE_INTEGER)return l.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof c&&Math.floor(c)!==c)return l.error("Numeric branch labels must be integer values.");if(r){if(l.checkSubtype(r,typeOf(c)))return null}else r=typeOf(c);if(void 0!==a[String(c)])return l.error("Branch labels must be unique.");a[String(c)]=u.length}var f=t.parse(h,s,n);if(!f)return null;n=n||f.type,u.push(f)}var y=t.parse(e[1],1,r);if(!y)return null;var b=t.parse(e[e.length-1],e.length-1,n);return b?new Match(t.key,r,n,y,a,u,b):null},Match.prototype.evaluate=function(e){var t=this.input.evaluate(e);return(this.outputs[this.cases[t]]||this.otherwise).evaluate(e)},Match.prototype.eachChild=function(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)},module.exports=Match},{"../values":143}],134:[function(_dereq_,module,exports){"use strict";var Var=function(e,r,t){this.key=e,this.type=t,this.name=r};Var.parse=function(e,r){if(2!==e.length||"string"!=typeof e[1])return r.error("'var' expression requires exactly one string literal argument.");var t=e[1];return r.scope.has(t)?new Var(r.key,t,r.scope.get(t).type):r.error('Unknown variable "'+t+'". Make sure "'+t+'" has been bound in an enclosing "let" expression before using it.',1)},Var.prototype.evaluate=function(e){return e.scope.get(this.name).evaluate(e)},Var.prototype.eachChild=function(){},module.exports=Var},{}],135:[function(_dereq_,module,exports){"use strict";var Scope=_dereq_("./scope"),parseColor=_dereq_("../util/parse_color"),Color=_dereq_("./values").Color,geometryTypes=["Unknown","Point","LineString","Polygon"],EvaluationContext=function(){this.scope=new Scope,this._parseColorCache={}};EvaluationContext.prototype.id=function(){return this.feature&&"id"in this.feature?this.feature.id:null},EvaluationContext.prototype.geometryType=function(){return this.feature?"number"==typeof this.feature.type?geometryTypes[this.feature.type]:this.feature.type:null},EvaluationContext.prototype.properties=function(){return this.feature&&this.feature.properties||{}},EvaluationContext.prototype.pushScope=function(e){this.scope=this.scope.concat(e)},EvaluationContext.prototype.popScope=function(){this.scope=this.scope.parent},EvaluationContext.prototype.parseColor=function(e){var t=this._parseColorCache[e];if(!t){var o=parseColor(e);t=this._parseColorCache[e]=o?new Color(o[0],o[1],o[2],o[3]):null}return t},module.exports=EvaluationContext},{"../util/parse_color":153,"./scope":141,"./values":143}],136:[function(_dereq_,module,exports){"use strict";var ParsingError=_dereq_("./parsing_error"),ParsingContext=_dereq_("./parsing_context"),EvaluationContext=_dereq_("./evaluation_context"),CompoundExpression=_dereq_("./compound_expression").CompoundExpression,Curve=_dereq_("./definitions/curve"),Coalesce=_dereq_("./definitions/coalesce"),Let=_dereq_("./definitions/let"),definitions=_dereq_("./definitions"),isConstant=_dereq_("./is_constant"),unwrap=_dereq_("./values").unwrap;module.exports.createExpression=function(e,r,n,o){void 0===o&&(o={});var t=new ParsingContext(definitions,[],function(e){var r={color:ColorType,string:StringType,number:NumberType,enum:StringType,boolean:BooleanType};return"array"===e.type?array(r[e.value]||ValueType,e.length):r[e.type]||null}(r)),s=t.parse(e);if(!s)return{result:"error",errors:t.errors};var i,a=new EvaluationContext;if(!1===o.handleErrors)i=function(e,r){return a.globals=e,a.feature=r,s.evaluate(a)};else{var u={},l=function(e){var r=e.default;if("color"===e.type&&isFunction(r))return[0,0,0,0];if("color"===e.type){var n=parseColor(r);return new Color(n[0],n[1],n[2],n[3])}return void 0===r?null:r}(r);i=function(e,r){a.globals=e,a.feature=r;try{var n=s.evaluate(a);return unwrap(null===n||void 0===n?l:n)}catch(e){return u[e.message]||(u[e.message]=!0,"undefined"!=typeof console&&console.warn(e.message)),unwrap(l)}}}var p=isConstant.isFeatureConstant(s);if(!p&&"property"===n&&!r["property-function"])return{result:"error",errors:[new ParsingError("","property expressions not supported")]};if(isConstant.isGlobalPropertyConstant(s,["zoom"]))return{result:"success",context:n,isZoomConstant:!0,isFeatureConstant:p,evaluate:i,parsed:s};if("filter"===n)return{result:"success",context:"filter",isZoomConstant:!1,isFeatureConstant:p,evaluate:i,parsed:s};var f=function findZoomCurve(e){if(e instanceof Curve){var r=e.input;return r instanceof CompoundExpression&&"zoom"===r.name?e:null}if(e instanceof Let)return findZoomCurve(e.result);if(e instanceof Coalesce){for(var n=null,o=0,t=e.args;o0&&"string"==typeof e[0]&&e[0]in definitions};var ref$2=_dereq_("./types"),ColorType=ref$2.ColorType,StringType=ref$2.StringType,NumberType=ref$2.NumberType,BooleanType=ref$2.BooleanType,ValueType=ref$2.ValueType,array=ref$2.array,isFunction=_dereq_("../function").isFunction,parseColor=_dereq_("../util/parse_color"),Color=_dereq_("./values").Color},{"../function":145,"../util/parse_color":153,"./compound_expression":122,"./definitions":130,"./definitions/coalesce":127,"./definitions/curve":129,"./definitions/let":131,"./evaluation_context":135,"./is_constant":137,"./parsing_context":138,"./parsing_error":139,"./types":142,"./values":143}],137:[function(_dereq_,module,exports){"use strict";var CompoundExpression=_dereq_("./compound_expression").CompoundExpression;module.exports={isFeatureConstant:function isFeatureConstant(n){if(n instanceof CompoundExpression){if("get"===n.name&&1===n.args.length)return!1;if("has"===n.name&&1===n.args.length)return!1;if("properties"===n.name||"geometry-type"===n.name||"id"===n.name)return!1}var e=!0;return n.eachChild(function(n){e&&!isFeatureConstant(n)&&(e=!1)}),e},isGlobalPropertyConstant:function isGlobalPropertyConstant(n,e){if(n instanceof CompoundExpression&&e.indexOf(n.name)>=0)return!1;var t=!0;return n.eachChild(function(n){t&&!isGlobalPropertyConstant(n,e)&&(t=!1)}),t}}},{"./compound_expression":122}],138:[function(_dereq_,module,exports){"use strict";var Scope=_dereq_("./scope"),checkSubtype=_dereq_("./types").checkSubtype,ParsingError=_dereq_("./parsing_error"),Literal=_dereq_("./definitions/literal"),ParsingContext=function(e,r,t,n,i){void 0===r&&(r=[]),void 0===n&&(n=new Scope),void 0===i&&(i=[]),this.definitions=e,this.path=r,this.key=r.map(function(e){return"["+e+"]"}).join(""),this.scope=n,this.errors=i,this.expectedType=t};ParsingContext.prototype.parse=function(e,r,t,n){var i=this;if(r&&(i=i.concat(r,t,n)),null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return i.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var o=e[0];if("string"!=typeof o)return i.error("Expression name must be a string, but found "+typeof o+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var a=i.definitions[o];if(a){var s=a.parse(e,i);if(!s)return null;var u=i.expectedType,l=s.type;if(u&&("string"!==u.kind&&"number"!==u.kind&&"boolean"!==u.kind||"value"!==l.kind?"color"!==u.kind||"value"!==l.kind&&"string"!==l.kind||(s=new(_dereq_("./definitions/coercion"))(s.key,u,[s])):s=new(_dereq_("./definitions/assertion"))(s.key,u,[s]),i.checkSubtype(u,s.type)))return null;if(!(s instanceof Literal)&&function(e){var t=_dereq_("./compound_expression").CompoundExpression,n=_dereq_("./is_constant"),i=n.isGlobalPropertyConstant,o=n.isFeatureConstant;if(e instanceof _dereq_("./definitions/var"))return!1;if(e instanceof t&&"error"===e.name)return!1;var a=!0;return e.eachChild(function(e){e instanceof Literal||(a=!1)}),!!a&&o(e)&&i(e,["zoom","heatmap-density"])}(s)){var c=new(_dereq_("./evaluation_context"));try{s=new Literal(s.key,s.type,s.evaluate(c))}catch(e){return i.error(e.message),null}}return s}return i.error('Unknown expression "'+o+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===e?i.error("'undefined' value invalid. Use null instead."):"object"==typeof e?i.error('Bare objects invalid. Use ["literal", {...}] instead.'):i.error("Expected an array, but found "+typeof e+" instead.")},ParsingContext.prototype.concat=function(e,r,t){var n="number"==typeof e?this.path.concat(e):this.path,i=t?this.scope.concat(t):this.scope;return new ParsingContext(this.definitions,n,r||null,i,this.errors)},ParsingContext.prototype.error=function(e){for(var r=[],t=arguments.length-1;t-- >0;)r[t]=arguments[t+1];var n=""+this.key+r.map(function(e){return"["+e+"]"}).join("");this.errors.push(new ParsingError(n,e))},ParsingContext.prototype.checkSubtype=function(e,r){var t=checkSubtype(e,r);return t&&this.error(t),t},module.exports=ParsingContext},{"./compound_expression":122,"./definitions/assertion":124,"./definitions/coercion":128,"./definitions/literal":132,"./definitions/var":134,"./evaluation_context":135,"./is_constant":137,"./parsing_error":139,"./scope":141,"./types":142}],139:[function(_dereq_,module,exports){"use strict";var ParsingError=function(r){function t(t,o){r.call(this,o),this.message=o,this.key=t}return r&&(t.__proto__=r),(t.prototype=Object.create(r&&r.prototype)).constructor=t,t}(Error);module.exports=ParsingError},{}],140:[function(_dereq_,module,exports){"use strict";var RuntimeError=function(r){this.name="ExpressionEvaluationError",this.message=r};RuntimeError.prototype.toJSON=function(){return this.message},module.exports=RuntimeError},{}],141:[function(_dereq_,module,exports){"use strict";var Scope=function(t,n){void 0===n&&(n=[]),this.parent=t,this.bindings={};for(var e=0,r=n;e":"value"===e.itemType.kind?"array":"array<"+r+">"}return e.kind}var NullType={kind:"null"},NumberType={kind:"number"},StringType={kind:"string"},BooleanType={kind:"boolean"},ColorType={kind:"color"},ObjectType={kind:"object"},ValueType={kind:"value"},valueMemberTypes=[NullType,NumberType,StringType,BooleanType,ColorType,ObjectType,array(ValueType)];module.exports={NullType:NullType,NumberType:NumberType,StringType:StringType,BooleanType:BooleanType,ColorType:ColorType,ObjectType:ObjectType,ValueType:ValueType,array:array,ErrorType:{kind:"error"},toString:toString,checkSubtype:function checkSubtype(e,r){if("error"===r.kind)return null;if("array"===e.kind){if("array"===r.kind&&!checkSubtype(e.itemType,r.itemType)&&("number"!=typeof e.N||e.N===r.N))return null}else{if(e.kind===r.kind)return null;if("value"===e.kind)for(var n=0,y=valueMemberTypes;n=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255&&"number"==typeof n&&n>=0&&n<=255?void 0===t||"number"==typeof t&&t>=0&&t<=1?null:"Invalid rgba value ["+[e,r,n,t].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof t?[e,r,n,t]:[e,r,n]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."},isValue:function isValue(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof Color)return!0;if(Array.isArray(e)){for(var r=0,n=e;r=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3===e.length&&(Array.isArray(e[1])||Array.isArray(e[2]));case"any":case"all":for(var r=0,i=e.slice(1);r"===r||"<="===r||">="===r?compileComparisonOp(e[1],e[2],r,!0):"any"===r?compileLogicalOp(e.slice(1),"||"):"all"===r?compileLogicalOp(e.slice(1),"&&"):"none"===r?compileNegation(compileLogicalOp(e.slice(1),"||")):"in"===r?compileInOp(e[1],e.slice(2)):"!in"===r?compileNegation(compileInOp(e[1],e.slice(2))):"has"===r?compileHasOp(e[1]):"!has"===r?compileNegation(compileHasOp(e[1])):"true")+")"}function compilePropertyReference(e){return"$type"===e?"f.type":"$id"===e?"f.id":"p["+JSON.stringify(e)+"]"}function compileComparisonOp(e,r,i,n){var t=compilePropertyReference(e),o="$type"===e?types.indexOf(r):JSON.stringify(r);return(n?"typeof "+t+"=== typeof "+o+"&&":"")+t+i+o}function compileLogicalOp(e,r){return e.map(compile).join(r)}function compileInOp(e,r){"$type"===e&&(r=r.map(function(e){return types.indexOf(e)}));var i=JSON.stringify(r.sort(function(e,r){return er?1:0})),n=compilePropertyReference(e);return r.length<=200?i+".indexOf("+n+") !== -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; }("+n+", "+i+",0,"+(r.length-1)+")"}function compileHasOp(e){return"$id"===e?'"id" in f':JSON.stringify(e)+" in p"}function compileNegation(e){return"!("+e+")"}var createExpression=_dereq_("../expression").createExpression;module.exports=function(e){if(!e)return function(){return!0};if(!isExpressionFilter(e))return new Function("g","f","var p = (f && f.properties || {}); return "+compile(e));var r=createExpression(e,filterSpec,"filter");if("success"===r.result)return r.evaluate;throw new Error(r.errors.map(function(e){return e.key+": "+e.message}).join(", "))},module.exports.isExpressionFilter=isExpressionFilter;var types=["Unknown","Point","LineString","Polygon"],filterSpec={type:"boolean",default:!1,function:!0,"property-function":!0}},{"../expression":136}],145:[function(_dereq_,module,exports){"use strict";function identityFunction(t){return t}function coalesce(t,e,o){return void 0!==t?t:void 0!==e?e:void 0!==o?o:void 0}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=findStopLessThanOrEqualTo(t.stops,o),i=function(t,e,o,n){var r=n-o,a=t-o;return 0===r?0:1===e?a/r:(Math.pow(e,a)-1)/(Math.pow(e,r)-1)}(o,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],u=t.stops[a+1][1],p=interpolate[e.type]||identityFunction;return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var o=s.evaluate.apply(void 0,t),n=u.evaluate.apply(void 0,t);if(void 0!==o&&void 0!==n)return p(o,n,i)}}:p(s,u,i)}function findStopLessThanOrEqualTo(t,e){for(var o,n,a=0,i=t.length-1,s=0;a<=i;){if(o=t[s=Math.floor((a+i)/2)][0],n=t[s+1][0],e===o||e>o&&ee&&(i=s-1)}return Math.max(s-1,0)}var colorSpaces=_dereq_("../util/color_spaces"),parseColor=_dereq_("../util/parse_color"),extend=_dereq_("../util/extend"),getType=_dereq_("../util/get_type"),interpolate=_dereq_("../util/interpolate");module.exports={createFunction:function createFunction(t,e,o){var u,p,l,d,q,n="color"===e.type,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");if(n&&((t=extend({},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)),"exponential"===s)u=evaluateExponentialFunction;else if("interval"===s)u=function(t,e,o){if("number"!==getType(o))return coalesce(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(o<=t.stops[0][0])return t.stops[0][1];if(o>=t.stops[n-1][0])return t.stops[n-1][1];var r=findStopLessThanOrEqualTo(t.stops,o);return t.stops[r][1]};else if("categorical"===s){u=function(t,e,o,n,r){return coalesce(typeof o===r?n[o]:void 0,t.default,e.default)},p=Object.create(null);for(var c=0,f=t.stops;c":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},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:!1}},function_stop:{type:"array",minimum:0,maximum:22,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},curve:{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"}}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},transition:!1,"zoom-function":!0,"property-function":!1,function:"piecewise-constant"},position:{type:"array",default:[1.15,210,30],length:3,value:"number",transition:!0,function:"interpolated","zoom-function":!0,"property-function":!1},color:{type:"color",default:"#ffffff",function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},intensity:{type:"number",default:.5,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!0},"fill-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"fill-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"}]},"fill-outline-color":{type:"color",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}]},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-translate"]},"fill-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!1,default:1,minimum:0,maximum:1,transition:!0},"fill-extrusion-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-extrusion-pattern"}]},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-extrusion-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"]},"fill-extrusion-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"fill-extrusion-height":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,units:"meters",transition:!0},"fill-extrusion-base":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"]}},paint_line:{"line-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"line-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"line-pattern"}]},"line-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"line-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["line-translate"]},"line-width":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-gap-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-offset":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-dasharray":{type:"array",value:"number",function:"piecewise-constant","zoom-function":!0,minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}]},"line-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-blur":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"circle-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["circle-translate"]},"circle-pitch-scale":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map"},"circle-pitch-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"viewport"},"circle-stroke-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-stroke-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0,units:"pixels"},"heatmap-weight":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!1},"heatmap-intensity":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},"heatmap-color":{type:"color",default:{stops:[[0,"rgba(0, 0, 255, 0)"],[.1,"royalblue"],[.3,"cyan"],[.5,"lime"],[.7,"yellow"],[1,"red"]]},function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"]},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,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":!0,transition:!0},"raster-hue-rotate":{type:"number",default:0,period:360,function:"interpolated","zoom-function":!0,transition:!0,units:"degrees"},"raster-brightness-min":{type:"number",function:"interpolated","zoom-function":!0,default:0,minimum:0,maximum:1,transition:!0},"raster-brightness-max":{type:"number",function:"interpolated","zoom-function":!0,default:1,minimum:0,maximum:1,transition:!0},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-fade-duration":{type:"number",default:300,minimum:0,function:"interpolated","zoom-function":!0,transition:!0,units:"milliseconds"}},paint_background:{"background-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0,requires:[{"!":"background-pattern"}]},"background-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}}}},{}],149:[function(_dereq_,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)<=.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);return[116*o-16,500*(b-o),200*(o-xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn)),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),[xyz2rgb(3.2404542*(a=Xn*lab2xyz(a))-1.5371385*t-.4985314*(n=Zn*lab2xyz(n))),xyz2rgb(-.969266*a+1.8760108*t+.041556*n),xyz2rgb(.0556434*a-.2040259*t+1.0572252*n),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:function(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]]},reverse:function(r){var t=r[0]*deg2rad,a=r[1];return labToRgb([r[2],Math.cos(t)*a,Math.sin(t)*a,r[3]])}}}},{}],150:[function(_dereq_,module,exports){"use strict";module.exports=function(r){for(var t=[],e=arguments.length-1;e-- >0;)t[e]=arguments[e+1];for(var n=0,o=t;n7)return[new ValidationError(o,a,"constants have been deprecated as of v8")];if(!(a in s.constants))return[new ValidationError(o,a,'constant "%s" not found',a)];e=extend({},e,{value:s.constants[a]})}return u.function&&isFunction(unbundle(a))?r(e):u.function&&isExpression(unbundle.deep(a))?i(e):u.type&&n[u.type]?n[u.type](e):t(extend({},e,{valueSpec:u.type?l[u.type]:u}))}},{"../error/validation_error":121,"../expression":136,"../function":145,"../util/extend":150,"../util/get_type":151,"../util/unbundle_jsonlint":155,"./validate_array":157,"./validate_boolean":158,"./validate_color":159,"./validate_constants":160,"./validate_enum":161,"./validate_expression":162,"./validate_filter":163,"./validate_function":164,"./validate_layer":166,"./validate_light":168,"./validate_number":169,"./validate_object":170,"./validate_source":173,"./validate_string":174}],157:[function(_dereq_,module,exports){"use strict";var getType=_dereq_("../util/get_type"),validate=_dereq_("./validate"),ValidationError=_dereq_("../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 a=getType(t);if("object"!==a)return[new ValidationError(e,t,"object expected, %s found",a)];var o=[];for(var n in t)"@"!==n[0]&&o.push(new ValidationError(e+"."+n,t[n],'constants must start with "@"'));return o}},{"../error/validation_error":121,"../util/get_type":151}],161:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),unbundle=_dereq_("../util/unbundle_jsonlint");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,i=[];return Array.isArray(u.values)?-1===u.values.indexOf(unbundle(n))&&i.push(new ValidationError(r,n,"expected one of [%s], %s found",u.values.join(", "),JSON.stringify(n))):-1===Object.keys(u.values).indexOf(unbundle(n))&&i.push(new ValidationError(r,n,"expected one of [%s], %s found",Object.keys(u.values).join(", "),JSON.stringify(n))),i}},{"../error/validation_error":121,"../util/unbundle_jsonlint":155}],162:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),createExpression=_dereq_("../expression").createExpression,unbundle=_dereq_("../util/unbundle_jsonlint");module.exports=function(e){var r=createExpression(unbundle.deep(e.value),e.valueSpec,e.expressionContext);return"success"===r.result?[]:r.errors.map(function(r){return new ValidationError(""+e.key+r.key,e.value,r.message)})}},{"../error/validation_error":121,"../expression":136,"../util/unbundle_jsonlint":155}],163:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),validateExpression=_dereq_("./validate_expression"),validateEnum=_dereq_("./validate_enum"),getType=_dereq_("../util/get_type"),unbundle=_dereq_("../util/unbundle_jsonlint"),extend=_dereq_("../util/extend"),isExpressionFilter=_dereq_("../feature_filter").isExpressionFilter;module.exports=function e(r){var t,a=r.value,n=r.key,s=r.styleSpec,l=[];if("array"!==getType(a))return[new ValidationError(n,a,"array expected, %s found",getType(a))];if(isExpressionFilter(unbundle.deep(a)))return validateExpression(extend({},r,{expressionContext:"filter",valueSpec:{value:"boolean"}}));if(a.length<1)return[new ValidationError(n,a,"filter array must have at least 1 element")];switch(l=l.concat(validateEnum({key:n+"[0]",value:a[0],valueSpec:s.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case"<":case"<=":case">":case">=":a.length>=2&&"$type"===unbundle(a[1])&&l.push(new ValidationError(n,a,'"$type" cannot be use with operator "%s"',a[0]));case"==":case"!=":3!==a.length&&l.push(new ValidationError(n,a,'filter array for operator "%s" must have 3 elements',a[0]));case"in":case"!in":a.length>=2&&"string"!==(t=getType(a[1]))&&l.push(new ValidationError(n+"[1]",a[1],"string expected, %s found",t));for(var i=2;iunbundle(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},r));return t.concat(validate({key:o+"[1]",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e,t){var r=getType(e.value),a=unbundle(e.value),o=null!==e.value?e.value:t;if(n){if(r!==n)return[new ValidationError(e.key,o,"%s stop domain type must match previous stop domain type %s",r,n)]}else n=r;if("number"!==r&&"string"!==r&&"boolean"!==r)return[new ValidationError(e.key,o,"stop domain value must be a number, string, or boolean")];if("number"!==r&&"categorical"!==p){var l="number expected, %s found";return u["property-function"]&&void 0===p&&(l+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new ValidationError(e.key,o,l,r)]}return"categorical"!==p||"number"!==r||isFinite(a)&&Math.floor(a)===a?"categorical"!==p&&"number"===r&&void 0!==i&&a=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":121,"../util/get_type":151,"../util/unbundle_jsonlint":155,"./validate":156,"./validate_array":157,"./validate_number":169,"./validate_object":170}],165:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),validateString=_dereq_("./validate_string");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(-1===e.indexOf("{fontstack}")&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&a.push(new ValidationError(t,e,'"glyphs" url must include a "{range}" token')),a)}},{"../error/validation_error":121,"./validate_string":174}],166:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),unbundle=_dereq_("../util/unbundle_jsonlint"),validateObject=_dereq_("./validate_object"),validateFilter=_dereq_("./validate_filter"),validatePaintProperty=_dereq_("./validate_paint_property"),validateLayoutProperty=_dereq_("./validate_layout_property"),extend=_dereq_("../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 y,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":121,"../util/get_type":151}],170:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),getType=_dereq_("../util/get_type"),validateSpec=_dereq_("./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},t))}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":121,"../util/get_type":151,"./validate":156}],171:[function(_dereq_,module,exports){"use strict";var validateProperty=_dereq_("./validate_property");module.exports=function(r){return validateProperty(r,"paint")}},{"./validate_property":172}],172:[function(_dereq_,module,exports){"use strict";var validate=_dereq_("./validate"),ValidationError=_dereq_("../error/validation_error"),getType=_dereq_("../util/get_type");module.exports=function(e,t){var r=e.key,i=e.style,n=e.styleSpec,a=e.value,o=e.objectKey,p=n[t+"_"+e.layerType];if(!p)return[];var y=o.match(/^(.*)-transition$/);if("paint"===t&&y&&p[y[1]]&&p[y[1]].transition)return validate({key:r,value:a,valueSpec:n.transition,style:i,styleSpec:n});var s,l=e.valueSpec||p[o];if(!l)return[new ValidationError(r,a,'unknown property "%s"',o)];if("string"===getType(a)&&l["property-function"]&&!l.tokens&&(s=/^{([^}]+)}$/.exec(a)))return[new ValidationError(r,a,'"%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,a,'use of "text-field" requires a style "glyphs" property')),u.concat(validate({key:e.key,value:a,valueSpec:l,style:i,styleSpec:n,expressionContext:"property"}))}},{"../error/validation_error":121,"../util/get_type":151,"./validate":156}],173:[function(_dereq_,module,exports){"use strict";var ValidationError=_dereq_("../error/validation_error"),unbundle=_dereq_("../util/unbundle_jsonlint"),validateObject=_dereq_("./validate_object"),validateEnum=_dereq_("./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 i=[];switch(unbundle(a.type)){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":121,"../util/unbundle_jsonlint":155,"./validate_enum":161,"./validate_object":170}],174:[function(_dereq_,module,exports){"use strict";var getType=_dereq_("../util/get_type"),ValidationError=_dereq_("../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":121,"../util/get_type":151}],175:[function(_dereq_,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=_dereq_("./validate/validate_constants"),validate=_dereq_("./validate/validate"),latestStyleSpec=_dereq_("./reference/latest"),validateGlyphsURL=_dereq_("./validate/validate_glyphs_url");validateStyleMin.source=wrapCleanErrors(_dereq_("./validate/validate_source")),validateStyleMin.light=wrapCleanErrors(_dereq_("./validate/validate_light")),validateStyleMin.layer=wrapCleanErrors(_dereq_("./validate/validate_layer")),validateStyleMin.filter=wrapCleanErrors(_dereq_("./validate/validate_filter")),validateStyleMin.paintProperty=wrapCleanErrors(_dereq_("./validate/validate_paint_property")),validateStyleMin.layoutProperty=wrapCleanErrors(_dereq_("./validate/validate_layout_property")),module.exports=validateStyleMin},{"./reference/latest":147,"./validate/validate":156,"./validate/validate_constants":160,"./validate/validate_filter":163,"./validate/validate_glyphs_url":165,"./validate/validate_layer":166,"./validate/validate_layout_property":167,"./validate/validate_light":168,"./validate/validate_paint_property":171,"./validate/validate_source":173}],176:[function(_dereq_,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},{}],177:[function(_dereq_,module,exports){"use strict";var styleSpec=_dereq_("../style-spec/reference/latest"),util=_dereq_("../util/util"),Evented=_dereq_("../util/evented"),validateStyle=_dereq_("./validate_style"),StyleDeclaration=_dereq_("./style_declaration"),StyleTransition=_dereq_("./style_transition"),properties=["anchor","color","position","intensity"],specifications=styleSpec.light,Light=function(t){function i(i){t.call(this),this.set(i)}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.set=function(t){if(!this._validate(validateStyle.light,t)){this._declarations={},this._transitions={},this._transitionOptions={},this.calculated={},t=util.extend({anchor:specifications.anchor.default,color:specifications.color.default,position:specifications.position.default,intensity:specifications.intensity.default},t);for(var e=0,o=properties;e1?"@2x":"";ajax.getJSON(r(normalizeSpriteURL(e,n,".json"),ajax.ResourceType.SpriteJSON),function(e,r){u||(u=e,t=r,a())}),ajax.getImage(r(normalizeSpriteURL(e,n,".png"),ajax.ResourceType.SpriteImage),function(e,r){u||(u=e,o=r,a())})}},{"../util/ajax":230,"../util/browser":231,"../util/image":242,"../util/mapbox":246}],180:[function(_dereq_,module,exports){"use strict";var AlphaImage=_dereq_("../util/image").AlphaImage,Protobuf=_dereq_("pbf");module.exports=function(e){return new Protobuf(e).readFields(function(e,a,r){1===e&&r.readMessage(function(e,a,r){if(3===e){var t=r.readMessage(function(e,a,r){1===e?a.id=r.readVarint():2===e?a.bitmap=r.readBytes():3===e?a.width=r.readVarint():4===e?a.height=r.readVarint():5===e?a.left=r.readSVarint():6===e?a.top=r.readSVarint():7===e&&(a.advance=r.readVarint())},{}),d=t.id,i=t.bitmap,n=t.width,o=t.height,h=t.left,s=t.top,p=t.advance;a.push({id:d,bitmap:AlphaImage.create({width:n+6,height:o+6},i),metrics:{width:n,height:o,left:h,top:s,advance:p}})}},a)},[])},module.exports.GLYPH_PBF_BORDER=3},{"../util/image":242,pbf:38}],181:[function(_dereq_,module,exports){"use strict";var Point=_dereq_("@mapbox/point-geometry");module.exports={getMaximumPaintValue:function(t,a,e){return a.isPaintValueFeatureConstant(t)?a.paint[t]:e.programConfigurations.get(a.id).paintPropertyStatistics[t].max},translateDistance:function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},translate:function(t,a,e,n,r){if(!a[0]&&!a[1])return t;var i=Point.convert(a);"viewport"===e&&i._rotate(-n);for(var u=[],s=0;sMath.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){var t=this;if(this._changed){var r=Object.keys(this._updatedLayers),a=Object.keys(this._removedLayers);(r.length||a.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(r,a);for(var i in t._updatedSources){var o=t._updatedSources[i];"reload"===o?t._reloadSource(i):"clear"===o&&t._clearSource(i)}this._applyPaintPropertyUpdates(e),this._resetUpdates(),this.fire("data",{dataType:"style"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,a=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:a})},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.clone(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 a=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(a.length>0)throw new Error("Unimplemented: "+a.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.addImage=function(e,t){if(this.imageManager.getImage(e))return this.fire("error",{error:new Error("An image with this name already exists.")});this.imageManager.addImage(e,t),this.fire("data",{dataType:"style"})},t.prototype.removeImage=function(e){if(!this.imageManager.getImage(e))return this.fire("error",{error:new Error("No image with this name exists.")});this.imageManager.removeImage(e),this.fire("data",{dataType:"style"})},t.prototype.addSource=function(e,t,r){var a=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).join(", ")+".");if(!(["vector","raster","geojson","video","image","canvas"].indexOf(t.type)>=0&&this._validate(validateStyle.source,"sources."+e,t,null,r))){var i=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:a.loaded(),source:i.serialize(),sourceId:e}}),i.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.fire("data",{sourceDataType:"metadata",dataType:"source",sourceId:e}),t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.setGeoJSONSourceData=function(e,t){this._checkLoaded(),this.sourceCaches[e].getSource().setData(t),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 a=e.id;if("object"==typeof e.source&&(this.addSource(a,e.source),e=util.clone(e),e=util.extend(e,{source:a})),!this._validate(validateStyle.layer,"layers."+a,e,{arrayIndex:-1},r)){var i=StyleLayer.create(e);this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}});var o=t?this._order.indexOf(t):this._order.length;if(t&&-1===o)return void this.fire("error",{message:new Error('Layer with id "'+t+'" does not exist on this map.')});if(this._order.splice(o,0,a),this._layers[a]=i,this._removedLayers[a]&&i.source){var s=this._removedLayers[a];delete this._removedLayers[a],s.type!==i.type?this._updatedSources[i.source]="clear":(this._updatedSources[i.source]="reload",this.sourceCaches[i.source].pause())}this._updateLayer(i),"symbol"===i.type&&(this._updatedSymbolOrder=!0),this.updatePaintProperties(a)}},t.prototype.moveLayer=function(e,t){this._checkLoaded(),this._changed=!0;var r=this._layers[e];if(r){var a=this._order.indexOf(e);this._order.splice(a,1);var i=t?this._order.indexOf(t):this._order.length;this._order.splice(i,0,e),"symbol"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]="reload",this.sourceCaches[r.source].pause()))}else this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")})},t.prototype.removeLayer=function(e){this._checkLoaded();var t=this._layers[e];if(t){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]}else this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")})},t.prototype.getLayer=function(e){return this._layers[e]},t.prototype.setLayerZoomRange=function(e,t,r){this._checkLoaded();var a=this.getLayer(e);a?a.minzoom===t&&a.maxzoom===r||(null!=t&&(a.minzoom=t),null!=r&&(a.maxzoom=r),this._updateLayer(a)):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);r?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)):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 a=this.getLayer(e);a?util.deepEqual(a.getLayoutProperty(t),r)||(a.setLayoutProperty(t,r),this._updateLayer(a)):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){this._checkLoaded();var a=this.getLayer(e);if(a){if(!util.deepEqual(a.getPaintProperty(t),r)){var i=a.isPaintValueFeatureConstant(t);a.setPaintProperty(t,r),a.isPaintValueFeatureConstant(t)&&i||this._updateLayer(a),this.updatePaintProperties(e,t)}}else this.fire("error",{error:new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")})},t.prototype.getPaintProperty=function(e,t){return this.getLayer(e).getPaintProperty(t)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updatePaintProperties=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.sourceCaches[e.source].pause()),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var r=[],a=this._order.length-1;a>=0;a--)for(var i=this._order[a],o=0,s=e;o=this.maxzoom)||"none"===this.layout.visibility},e.prototype.updatePaintTransitions=function(t,e,i,a){var o,n=this;for(o in n._paintDeclarations)n._applyPaintDeclaration(o,n._paintDeclarations[o],t,e,i,a);for(o in n._paintTransitions)o in n._paintDeclarations||n._applyPaintDeclaration(o,null,t,e,i,a)},e.prototype.updatePaintTransition=function(t,e,i,a,o){var n=this._paintDeclarations[t];this._applyPaintDeclaration(t,n,e,i,a,o)},e.prototype.recalculate=function(t){var e=this;for(var i in e._paintTransitions)e.paint[i]=e.getPaintValue(i,{zoom:t});for(var a in e._layoutFunctions)e.layout[a]=e.getLayoutValue(a,{zoom:t})},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:util.mapObject(this._layoutDeclarations,getDeclarationValue),paint:util.mapObject(this._paintDeclarations,getDeclarationValue)};return util.filterObject(t,function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)})},e.prototype._applyPaintDeclaration=function(t,e,i,a,o,n){var r=i.transition?this._paintTransitions[t]:void 0,s=this._paintSpecifications[t];if(null!==e&&void 0!==e||(e=new StyleDeclaration(s,s.default,t)),!r||r.declaration.json!==e.json){var l=util.extend({duration:300,delay:0},a,this.getPaintProperty(t+"-transition")),u=this._paintTransitions[t]=new StyleTransition(s,e,r,l,n);o&&(u.instant()||(u.loopID=o.set(u.endTime-Date.now())),r&&o.cancel(r.loopID))}},e.prototype._updateLayoutValue=function(t){var e=this._layoutDeclarations[t];!e||e.expression.isZoomConstant&&e.expression.isFeatureConstant?(delete this._layoutFunctions[t],this.layout[t]=this.getLayoutValue(t,{zoom:0})):this._layoutFunctions[t]=!0},e.prototype._validate=function(t,e,i,a,o){return(!o||!1!==o.validate)&&validateStyle.emitErrors(this,t.call(validateStyle,{key:e,layerType:this.type,objectKey:i,value:a,styleSpec:styleSpec,style:{glyphs:!0,sprite:!0}}))},e.prototype.has3DPass=function(){return!1},e.prototype.resize=function(t){},e}(_dereq_("../util/evented"));module.exports=StyleLayer;var subclasses={circle:_dereq_("./style_layer/circle_style_layer"),heatmap:_dereq_("./style_layer/heatmap_style_layer"),fill:_dereq_("./style_layer/fill_style_layer"),"fill-extrusion":_dereq_("./style_layer/fill_extrusion_style_layer"),line:_dereq_("./style_layer/line_style_layer"),symbol:_dereq_("./style_layer/symbol_style_layer"),background:_dereq_("./style_layer/background_style_layer"),raster:_dereq_("./style_layer/raster_style_layer")};StyleLayer.create=function(t){return new subclasses[t.type](t)}},{"../style-spec/reference/latest":147,"../util/evented":239,"../util/util":252,"./../style-spec/util/parse_color":153,"./style_declaration":183,"./style_layer/background_style_layer":185,"./style_layer/circle_style_layer":186,"./style_layer/fill_extrusion_style_layer":187,"./style_layer/fill_style_layer":188,"./style_layer/heatmap_style_layer":189,"./style_layer/line_style_layer":190,"./style_layer/raster_style_layer":191,"./style_layer/symbol_style_layer":192,"./style_transition":194,"./validate_style":195}],185:[function(_dereq_,module,exports){"use strict";var BackgroundStyleLayer=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.isOpacityZero=function(t){return 0===this.getPaintValue("background-opacity",{zoom:t})},e}(_dereq_("../style_layer"));module.exports=BackgroundStyleLayer},{"../style_layer":184}],186:[function(_dereq_,module,exports){"use strict";var StyleLayer=_dereq_("../style_layer"),CircleBucket=_dereq_("../../data/bucket/circle_bucket"),multiPolygonIntersectsBufferedMultiPoint=_dereq_("../../util/intersection_tests").multiPolygonIntersectsBufferedMultiPoint,ref$1=_dereq_("../query_utils"),getMaximumPaintValue=ref$1.getMaximumPaintValue,translateDistance=ref$1.translateDistance,translate=ref$1.translate,CircleStyleLayer=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new CircleBucket(t)},e.prototype.isOpacityZero=function(t){return this.isPaintValueFeatureConstant("circle-opacity")&&0===this.getPaintValue("circle-opacity",{zoom:t})&&this.isPaintValueFeatureConstant("circle-stroke-width")&&0===this.getPaintValue("circle-stroke-width",{zoom:t})||this.isPaintValueFeatureConstant("circle-stroke-opacity")&&0===this.getPaintValue("circle-stroke-opacity",{zoom:t})},e.prototype.queryRadius=function(t){return getMaximumPaintValue("circle-radius",this,t)+translateDistance(this.paint["circle-translate"])},e.prototype.queryIntersectsFeature=function(t,e,r,i,a,n){var o=translate(t,this.getPaintValue("circle-translate",{zoom:i},e),this.getPaintValue("circle-translate-anchor",{zoom:i},e),a,n),c=this.getPaintValue("circle-radius",{zoom:i},e)*n;return multiPolygonIntersectsBufferedMultiPoint(o,r,c)},e}(StyleLayer);module.exports=CircleStyleLayer},{"../../data/bucket/circle_bucket":52,"../../util/intersection_tests":243,"../query_utils":181,"../style_layer":184}],187:[function(_dereq_,module,exports){"use strict";var StyleLayer=_dereq_("../style_layer"),FillExtrusionBucket=_dereq_("../../data/bucket/fill_extrusion_bucket"),multiPolygonIntersectsMultiPolygon=_dereq_("../../util/intersection_tests").multiPolygonIntersectsMultiPolygon,ref$1=_dereq_("../query_utils"),translateDistance=ref$1.translateDistance,translate=ref$1.translate,FillExtrusionStyleLayer=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getPaintValue=function(e,r,i){var o=t.prototype.getPaintValue.call(this,e,r,i);return"fill-extrusion-color"===e&&o&&(o[3]=1),o},e.prototype.createBucket=function(t){return new FillExtrusionBucket(t)},e.prototype.isOpacityZero=function(t){return 0===this.getPaintValue("fill-extrusion-opacity",{zoom:t})},e.prototype.queryRadius=function(){return translateDistance(this.paint["fill-extrusion-translate"])},e.prototype.queryIntersectsFeature=function(t,e,r,i,o,n){var l=translate(t,this.getPaintValue("fill-extrusion-translate",{zoom:i},e),this.getPaintValue("fill-extrusion-translate-anchor",{zoom:i},e),o,n);return multiPolygonIntersectsMultiPolygon(l,r)},e.prototype.has3DPass=function(){return 0!==this.paint["fill-extrusion-opacity"]&&"none"!==this.layout.visibility},e.prototype.resize=function(t){if(this.viewportFrame){var e=this.viewportFrame,r=e.texture,i=e.fbo;t.deleteTexture(r),t.deleteFramebuffer(i),this.viewportFrame=null}},e}(StyleLayer);module.exports=FillExtrusionStyleLayer},{"../../data/bucket/fill_extrusion_bucket":54,"../../util/intersection_tests":243,"../query_utils":181,"../style_layer":184}],188:[function(_dereq_,module,exports){"use strict";var StyleLayer=_dereq_("../style_layer"),FillBucket=_dereq_("../../data/bucket/fill_bucket"),multiPolygonIntersectsMultiPolygon=_dereq_("../../util/intersection_tests").multiPolygonIntersectsMultiPolygon,ref$1=_dereq_("../query_utils"),translateDistance=ref$1.translateDistance,translate=ref$1.translate,FillStyleLayer=function(t){function o(){t.apply(this,arguments)}return t&&(o.__proto__=t),(o.prototype=Object.create(t&&t.prototype)).constructor=o,o.prototype.getPaintValue=function(o,e,l){if("fill-outline-color"===o){if(void 0===this.getPaintProperty("fill-outline-color"))return t.prototype.getPaintValue.call(this,"fill-color",e,l);for(var r=this._paintTransitions["fill-outline-color"];r;){if(!(r&&r.declaration&&r.declaration.value))return t.prototype.getPaintValue.call(this,"fill-color",e,l);r=r.oldTransition}}return t.prototype.getPaintValue.call(this,o,e,l)},o.prototype.getPaintInterpolationFactor=function(o){for(var e=[],l=arguments.length-1;l-- >0;)e[l]=arguments[l+1];return"fill-outline-color"===o&&void 0===this.getPaintProperty("fill-outline-color")?t.prototype.getPaintInterpolationFactor.apply(this,["fill-color"].concat(e)):t.prototype.getPaintInterpolationFactor.apply(this,[o].concat(e))},o.prototype.isPaintValueFeatureConstant=function(o){return"fill-outline-color"===o&&void 0===this.getPaintProperty("fill-outline-color")?t.prototype.isPaintValueFeatureConstant.call(this,"fill-color"):t.prototype.isPaintValueFeatureConstant.call(this,o)},o.prototype.isPaintValueZoomConstant=function(o){return"fill-outline-color"===o&&void 0===this.getPaintProperty("fill-outline-color")?t.prototype.isPaintValueZoomConstant.call(this,"fill-color"):t.prototype.isPaintValueZoomConstant.call(this,o)},o.prototype.createBucket=function(t){return new FillBucket(t)},o.prototype.isOpacityZero=function(t){return this.isPaintValueFeatureConstant("fill-opacity")&&0===this.getPaintValue("fill-opacity",{zoom:t})},o.prototype.queryRadius=function(){return translateDistance(this.paint["fill-translate"])},o.prototype.queryIntersectsFeature=function(t,o,e,l,i,r){var n=translate(t,this.getPaintValue("fill-translate",{zoom:l},o),this.getPaintValue("fill-translate-anchor",{zoom:l},o),i,r);return multiPolygonIntersectsMultiPolygon(n,e)},o}(StyleLayer);module.exports=FillStyleLayer},{"../../data/bucket/fill_bucket":53,"../../util/intersection_tests":243,"../query_utils":181,"../style_layer":184}],189:[function(_dereq_,module,exports){"use strict";var StyleLayer=_dereq_("../style_layer"),HeatmapBucket=_dereq_("../../data/bucket/heatmap_bucket"),RGBAImage=_dereq_("../../util/image").RGBAImage,HeatmapStyleLayer=function(t){function a(a){t.call(this,a),this.colorRampData=new Uint8Array(1024),this.getPaintProperty("heatmap-color")||this.setPaintProperty("heatmap-color",this._paintSpecifications["heatmap-color"].default,"")}return t&&(a.__proto__=t),(a.prototype=Object.create(t&&t.prototype)).constructor=a,a.prototype.createBucket=function(t){return new HeatmapBucket(t)},a.prototype.isOpacityZero=function(t){return 0===this.getPaintValue("heatmap-opacity",{zoom:t})},a.prototype._applyPaintDeclaration=function(a,e,o,r,p,i){var l=this;if(t.prototype._applyPaintDeclaration.call(this,a,e,o,r,p,i),"heatmap-color"===a){for(var c=this.colorRampData.length,h=4;h0?e+2*t:t}var Point=_dereq_("@mapbox/point-geometry"),StyleLayer=_dereq_("../style_layer"),LineBucket=_dereq_("../../data/bucket/line_bucket"),multiPolygonIntersectsBufferedMultiLine=_dereq_("../../util/intersection_tests").multiPolygonIntersectsBufferedMultiLine,ref$1=_dereq_("../query_utils"),getMaximumPaintValue=ref$1.getMaximumPaintValue,translateDistance=ref$1.translateDistance,translate=ref$1.translate,LineStyleLayer=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new LineBucket(t)},e.prototype.isOpacityZero=function(t){return this.isPaintValueFeatureConstant("line-opacity")&&0===this.getPaintValue("line-opacity",{zoom:t})},e.prototype.queryRadius=function(t){var e=t,i=getLineWidth(getMaximumPaintValue("line-width",this,e),getMaximumPaintValue("line-gap-width",this,e)),n=getMaximumPaintValue("line-offset",this,e);return i/2+Math.abs(n)+translateDistance(this.paint["line-translate"])},e.prototype.queryIntersectsFeature=function(t,e,i,n,r,a){var u=translate(t,this.getPaintValue("line-translate",{zoom:n},e),this.getPaintValue("line-translate-anchor",{zoom:n},e),r,a),o=a/2*getLineWidth(this.getPaintValue("line-width",{zoom:n},e),this.getPaintValue("line-gap-width",{zoom:n},e)),l=this.getPaintValue("line-offset",{zoom:n},e);return l&&(i=function(t,e){for(var i=[],n=new Point(0,0),r=0;r=this.endTime)return o;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((e-this.startTime-this.delay)/this.duration);return this.interp(a,o,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var e=t.zoom,o=this.zoomHistory.lastIntegerZoom,a=e>o?2:.5,n=this.declaration.calculate({zoom:e>o?e-1:e+1},i),r=this.declaration.calculate({zoom:e},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(e-o),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},{"../style-spec/util/interpolate":152,"../util/util":252}],195:[function(_dereq_,module,exports){"use strict";module.exports=_dereq_("../style-spec/validate_style.min"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0,o=e;t-a/2;){if(--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}},{}],198:[function(_dereq_,module,exports){"use strict";var Point=_dereq_("@mapbox/point-geometry");module.exports=function(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}},{"@mapbox/point-geometry":2}],199:[function(_dereq_,module,exports){"use strict";var createStructArrayType=_dereq_("../util/struct_array"),Point=_dereq_("@mapbox/point-geometry"),CollisionBoxArray=createStructArrayType({members:[{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"offsetX"},{type:"Int16",name:"offsetY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Float32",name:"unadjustedMaxScale"},{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":249,"@mapbox/point-geometry":2}],200:[function(_dereq_,module,exports){"use strict";var CollisionFeature=function(t,e,i,o,a,n,s,l,r,d,u){var h=s.top*l-r,f=s.bottom*l+r,x=s.left*l-r,m=s.right*l+r;if(this.boxStartIndex=t.length,d){var _=f-h,b=m-x;if(_>0)if(_=Math.max(10*l,_),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,a,n)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,a,n)}else t.emplaceBack(i.x,i.y,0,0,x,h,m,f,1/0,1/0,o,a,n,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,a,n,s,l,r){var d=n/2,u=Math.floor(a/d),h=Math.floor(u/2),f=-n/2,x=i,m=o+1,_=f,b=-a/2,v=b-a/8;do{if(--m<0){if(_>b)return;m=0;break}_-=e[m].dist(x),x=e[m]}while(_>v);for(var c=e[m].dist(e[m+1]),g=-h;ga&&(C+=p-a),!(C<_)){for(;_+c=e.length)return;c=e[m].dist(e[m+1])}var M=C-_,y=e[m],k=e[m+1].sub(y)._unit()._mult(M)._add(y)._round(),L=a/2/Math.max(Math.abs(C-f)-d/2,0);(g<0||g>=u)&&(L=Math.min(L,.99)),t.emplaceBack(k.x,k.y,k.x-i.x,k.y-i.y,-n/2,-n/2,n/2,n/2,L,L,s,l,r,0,0,0,0,0)}}},module.exports=CollisionFeature},{}],201:[function(_dereq_,module,exports){"use strict";var Point=_dereq_("@mapbox/point-geometry"),EXTENT=_dereq_("../data/extent"),Grid=_dereq_("grid-index"),intersectionTests=_dereq_("../util/intersection_tests"),CollisionTile=function(e,t,i,a,r,o,n){void 0===o&&(o=new Grid(EXTENT,12,6)),void 0===n&&(n=new Grid(EXTENT,12,0)),this.angle=e,this.pitch=t,this.cameraToCenterDistance=i,this.cameraToTileDistance=a,this.grid=o,this.ignoredGrid=n,this.perspectiveRatio=1+.5*(a/i-1),this.minScale=.5/this.perspectiveRatio,this.maxScale=2/this.perspectiveRatio;var s=Math.sin(this.angle),l=Math.cos(this.angle);this.rotationMatrix=[l,-s,s,l],this.reverseRotationMatrix=[l,s,-s,l],this.yStretch=Math.max(1,a/(i*Math.cos(t/180*Math.PI))),this.collisionBoxArray=r,0===r.length&&(r.emplaceBack(),r.emplaceBack(0,0,0,0,0,-EXTENT,0,EXTENT,1/0,1/0,0,0,0,0,0,0,0,0,0),r.emplaceBack(EXTENT,0,0,0,0,-EXTENT,0,EXTENT,1/0,1/0,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,0,0,0,-EXTENT,0,EXTENT,0,1/0,1/0,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,EXTENT,0,0,-EXTENT,0,EXTENT,0,1/0,1/0,0,0,0,0,0,0,0,0,0)),this.tempCollisionBox=r.get(0),this.edges=[r.get(1),r.get(2),r.get(3),r.get(4)]};CollisionTile.deserialize=function(e,t){return new CollisionTile(e.angle,e.pitch,e.cameraToCenterDistance,e.cameraToTileDistance,t,new Grid(e.grid),new Grid(e.ignoredGrid))},CollisionTile.prototype.serialize=function(e){var t=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return e&&(e.push(t),e.push(i)),{angle:this.angle,pitch:this.pitch,cameraToCenterDistance:this.cameraToCenterDistance,cameraToTileDistance:this.cameraToTileDistance,grid:t,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(e,t,i){for(var a=this,r=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,s=this.yStretch,l=e.boxStartIndex;l=a.maxScale)return o}if(i){var N=void 0;if(a.angle){var C=a.reverseRotationMatrix,w=new Point(c.x1,c.y1).matMult(C),X=new Point(c.x2,c.y1).matMult(C),B=new Point(c.x1,c.y2).matMult(C),G=new Point(c.x2,c.y2).matMult(C);(N=a.tempCollisionBox).anchorPointX=c.anchorPoint.x,N.anchorPointY=c.anchorPoint.y,N.x1=Math.min(w.x,X.x,B.x,G.x),N.y1=Math.min(w.y,X.x,B.x,G.x),N.x2=Math.max(w.x,X.x,B.x,G.x),N.y2=Math.max(w.y,X.x,B.x,G.x),N.maxScale=c.maxScale}else N=c;for(var R=0;R=a.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(e,t){var i={},a=[];if(0===e.length||0===this.grid.keys.length&&0===this.ignoredGrid.keys.length)return a;for(var r=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,s=[],l=1/0,c=1/0,h=-1/0,x=-1/0,m=0;mE.maxScale)){var b=E.anchorPoint.matMult(o),N=b.x+E.x1/v,C=b.y+E.y1/v*n,w=b.x+E.x2/v,X=b.y+E.y2/v*n,B=[new Point(N,C),new Point(w,C),new Point(w,X),new Point(N,X)];intersectionTests.polygonIntersectsPolygon(s,B)&&(i[S][P]=!0,a.push(d[f]))}}return a},CollisionTile.prototype.getPlacementScale=function(e,t,i,a,r){var o=t.x-a.x,n=t.y-a.y,s=(r.x1-i.x2)/o,l=(r.x2-i.x1)/o,c=(r.y1-i.y2)*this.yStretch/n,h=(r.y2-i.y1)*this.yStretch/n;(isNaN(s)||isNaN(l))&&(s=l=1),(isNaN(c)||isNaN(h))&&(c=h=1);var x=Math.min(Math.max(s,l),Math.max(c,h)),m=r.maxScale,p=i.maxScale;return x>m&&(x=m),x>p&&(x=p),x>e&&x>=r.placementScale&&(e=x),e},CollisionTile.prototype.insertCollisionFeature=function(e,t,i){for(var r=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=e.boxStartIndex;n=1)&&r.insert(n,s.bbox0,s.bbox1,s.bbox2,s.bbox3)}},module.exports=CollisionTile},{"../data/extent":58,"../util/intersection_tests":243,"@mapbox/point-geometry":2,"grid-index":23}],202:[function(_dereq_,module,exports){"use strict";var interpolate=_dereq_("../style-spec/util/interpolate"),Anchor=_dereq_("../symbol/anchor"),checkMaxAngle=_dereq_("./check_max_angle");module.exports=function(e,r,t,n,a,l,o,i,c){var h=n?.6*l*o:0,s=Math.max(n?n.right-n.left:0,a?a.right-a.left:0),u=0===e[0].x||e[0].x===c||0===e[0].y||e[0].y===c;return r-s*o=0&&k=0&&q=0&&p+h<=s){var M=new Anchor(k,q,A,f);M._round(),n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=y}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,c)),x}(e,u?r/2*i%r:(s/2+2*l)*o*i%r,r,h,t,s*o,u,!1,c)}},{"../style-spec/util/interpolate":152,"../symbol/anchor":196,"./check_max_angle":197}],203:[function(_dereq_,module,exports){"use strict";module.exports=function(e){function t(t){g.push(e[t]),l++}function r(e,t,r){var n=u[e];return delete u[e],u[t]=n,g[n].geometry[0].pop(),g[n].geometry[0]=g[n].geometry[0].concat(r[0]),n}function n(e,t,r){var n=i[t];return delete i[t],i[e]=n,g[n].geometry[0].shift(),g[n].geometry[0]=r[0].concat(g[n].geometry[0]),n}function o(e,t,r){var n=r?t[0][t[0].length-1]:t[0][0];return e+":"+n.x+":"+n.y}for(var i={},u={},g=[],l=0,m=0;m1){var h=e.glyphStartIndex+e.numGlyphs,x=l.get(e.glyphStartIndex).offsetX,v=l.get(h-1).offsetX,b=e.lineStartIndex,L=e.lineStartIndex+e.lineLength,A=placeGlyphAlongLine(g*x,d,f,a,m,c,e.segment,b,L,s,i,u);if(!A)return{notEnoughRoom:!0};var G=placeGlyphAlongLine(g*v,d,f,a,m,c,e.segment,b,L,s,i,u);if(!G)return{notEnoughRoom:!0};var S=project(A.point,o).point,P=project(G.point,o).point;if(n&&!a&&(e.vertical?S.yP.x))return{needsFlipping:!0};y=[A];for(var D=e.glyphStartIndex+1;D0?w.point:projectTruncatedLineSegment(c,new Point(j.x,j.y),M,1,r);if(e.vertical?F.y>M.y:F.x0?1:-1,g=0;n&&(y*=-1,g=Math.PI),y<0&&(g+=Math.PI);for(var d=y>0?l+o:l+o+1,f=r,h=r,x=0,v=0,b=Math.abs(u);x+v<=b;){if((d+=y)=s)return null;if(h=f,void 0===(f=c[d])){var L=project(p.get(d),m);f=L.signedDistanceFromCamera>0?c[d]=L.point:projectTruncatedLineSegment(0===x?i:new Point(p.get(d-y).x,p.get(d-y).y),new Point(p.get(d).x,p.get(d).y),h,b-x+1,m)}x+=v,v=h.dist(f)}var A=(b-x)/v,G=f.sub(h),S=G.mult(A)._add(h);return S._add(G._unit()._perp()._mult(a*y)),{point:S,angle:g+Math.atan2(f.y-h.y,f.x-h.x)}}function hideGlyphs(e,t){for(var a=0;a=-u[0]&&r<=u[0]&&i>=-u[1]&&i<=u[1]&&n.frameHistory.isVisible(t)}(x,h.placementZoom,0,a)){var b=1+.5*(x[3]/a.transform.cameraToCenterDistance-1),L=symbolSize.evaluateSizeForFeature(m,c,h),A=o?L*b:L/b,G=new Point(h.anchorX,h.anchorY),S=project(G,r).point,P={},D=placeGlyphsAlongLine(h,A,!1,l,t,r,i,e.glyphOffsetArray,g,y,S,G,P);(D.notEnoughRoom||D.needsFlipping&&placeGlyphsAlongLine(h,A,!0,l,t,r,i,e.glyphOffsetArray,g,y,S,G,P).notEnoughRoom)&&hideGlyphs(h.numGlyphs,y)}else hideGlyphs(h.numGlyphs,y)}n?e.text.dynamicLayoutVertexBuffer.updateData(y.serialize()):e.icon.dynamicLayoutVertexBuffer.updateData(y.serialize())},getLabelPlaneMatrix:function(e,t,a,n,r){var i=mat4.identity(new Float32Array(16));return t?(mat4.identity(i),mat4.scale(i,i,[1/r,1/r,1]),a||mat4.rotateZ(i,i,n.angle)):(mat4.scale(i,i,[n.width/2,-n.height/2,1]),mat4.translate(i,i,[1,-1,0]),mat4.multiply(i,i,e)),i},getGlCoordMatrix:function(e,t,a,n,r){var i=mat4.identity(new Float32Array(16));return t?(mat4.multiply(i,i,e),mat4.scale(i,i,[r,r,1]),a||mat4.rotateZ(i,i,-n.angle)):(mat4.scale(i,i,[1,-1,1]),mat4.translate(i,i,[-1,-1,0]),mat4.scale(i,i,[2/n.width,2/n.height,1])),i}};var offscreenPoint=new Point(-1/0,-1/0)},{"../data/bucket/symbol_bucket":57,"./symbol_size":207,"@mapbox/gl-matrix":1,"@mapbox/point-geometry":2}],205:[function(_dereq_,module,exports){"use strict";var Point=_dereq_("@mapbox/point-geometry"),GLYPH_PBF_BORDER=_dereq_("../style/parse_glyph_pbf").GLYPH_PBF_BORDER;module.exports={getIconQuads:function(t,e,i,o,n,a,r){var u,l,d,f,c=e.image,h=i.layout,x=e.top-1/c.pixelRatio,g=e.left-1/c.pixelRatio,p=e.bottom+1/c.pixelRatio,s=e.right+1/c.pixelRatio;if("none"!==h["icon-text-fit"]&&n){var P=s-g,_=p-x,w=h["text-size"]/24,m=n.left*w,y=n.right*w,M=n.top*w,R=y-m,b=n.bottom*w-M,G=h["icon-text-fit-padding"][0],B=h["icon-text-fit-padding"][1],I=h["icon-text-fit-padding"][2],L=h["icon-text-fit-padding"][3],Q="width"===h["icon-text-fit"]?.5*(b-_):0,O="height"===h["icon-text-fit"]?.5*(R-P):0,A="width"===h["icon-text-fit"]||"both"===h["icon-text-fit"]?R:P,D="height"===h["icon-text-fit"]||"both"===h["icon-text-fit"]?b:_;u=new Point(m+O-L,M+Q-G),l=new Point(m+O+B+A,M+Q-G),d=new Point(m+O+B+A,M+Q+I+D),f=new Point(m+O-L,M+Q+I+D)}else u=new Point(g,x),l=new Point(s,x),d=new Point(s,p),f=new Point(g,p);var E=i.getLayoutValue("icon-rotate",a,r)*Math.PI/180;if(E){var F=Math.sin(E),H=Math.cos(E),V=[H,-F,F,H];u._matMult(V),l._matMult(V),f._matMult(V),d._matMult(V)}return[{tl:u,tr:l,bl:f,br:d,tex:{x:c.textureRect.x-1,y:c.textureRect.y-1,w:c.textureRect.w+2,h:c.textureRect.h+2},writingMode:void 0,glyphOffset:[0,0]}]},getGlyphQuads:function(t,e,i,o,n,a,r){for(var u=i.getLayoutValue("text-rotate",n,a)*Math.PI/180,l=i.getLayoutValue("text-offset",n,a).map(function(t){return 24*t}),d=e.positionedGlyphs,f=[],c=0;c1||(b?(clearTimeout(b),b=null,h("dblclick",t)):b=setTimeout(function(){b=null},300))},!1),g.addEventListener("touchend",function(e){f("touchend",e)},!1),g.addEventListener("touchmove",function(e){f("touchmove",e)},!1),g.addEventListener("touchcancel",function(e){f("touchcancel",e)},!1),g.addEventListener("click",function(e){DOM.mousePos(g,e).equals(L)&&h("click",e)},!1),g.addEventListener("dblclick",function(e){h("dblclick",e),e.preventDefault()},!1),g.addEventListener("contextmenu",function(t){var n=e.dragRotate&&e.dragRotate.isActive();E||n?E&&(p=t):h("contextmenu",t),t.preventDefault()},!1)}},{"../util/dom":238,"./handler/box_zoom":218,"./handler/dblclick_zoom":219,"./handler/drag_pan":220,"./handler/drag_rotate":221,"./handler/keyboard":222,"./handler/scroll_zoom":223,"./handler/touch_zoom_rotate":224,"@mapbox/point-geometry":2}],210:[function(_dereq_,module,exports){"use strict";var util=_dereq_("../util/util"),interpolate=_dereq_("../style-spec/util/interpolate"),browser=_dereq_("../util/browser"),LngLat=_dereq_("../geo/lng_lat"),LngLatBounds=_dereq_("../geo/lng_lat_bounds"),Point=_dereq_("@mapbox/point-geometry"),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)).constructor=i,i.prototype.getCenter=function(){return this.transform.center},i.prototype.setCenter=function(t,i){return this.jumpTo({center:t},i)},i.prototype.panBy=function(t,i,e){return t=Point.convert(t).mult(-1),this.panTo(this.transform.center,util.extend({offset:t},i),e)},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 util.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'"),this;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),a=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var s=Point.convert(i.offset),h=this.transform,p=h.project(t.getNorthWest()),u=h.project(t.getSouthEast()),c=u.sub(p),m=(h.width-2*r-2*Math.abs(s.x))/c.x,f=(h.height-2*a-2*Math.abs(s.y))/c.y;return f<0||m<0?(util.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset."),this):(i.center=h.unproject(p.add(u).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(m,f)),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),void 0!==t.center&&(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("pitchstart",i).fire("pitch",i).fire("pitchend",i),this.fire("moveend",i)},i.prototype.easeTo=function(t,i){var e=this;this.stop(),!1===(t=util.extend({offset:[0,0],duration:500,easing:util.ease},t)).animate&&(t.duration=0),t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration));var o=this.transform,n=this.getZoom(),r=this.getBearing(),a=this.getPitch(),s="zoom"in t?+t.zoom:n,h="bearing"in t?this._normalizeBearing(t.bearing,r):r,p="pitch"in t?+t.pitch:a,u=o.centerPoint.add(Point.convert(t.offset)),c=o.pointLocation(u),m=LngLat.convert(t.center||c);this._normalizeCenter(m);var f,g,d=o.project(c),l=o.project(m).sub(d),v=o.zoomScale(s-n);return t.around&&(f=LngLat.convert(t.around),g=o.locationPoint(f)),this.zooming=s!==n,this.rotating=r!==h,this.pitching=p!==a,this._prepareEase(i,t.noMoveStart),clearTimeout(this._onEaseEnd),this._ease(function(t){if(this.zooming&&(o.zoom=interpolate(n,s,t)),this.rotating&&(o.bearing=interpolate(r,h,t)),this.pitching&&(o.pitch=interpolate(a,p,t)),f)o.setLocationAtPoint(f,g);else{var e=o.zoomScale(o.zoom-n),c=s>n?Math.min(2,v):Math.max(.5,v),m=Math.pow(c,1-t),b=o.unproject(d.add(l.mult(t*m)).mult(e));o.setLocationAtPoint(o.renderWorldCopies?b.wrap():b,u)}this._fireMoveEvents(i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(function(){return e._easeToEnd(i)},t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._prepareEase=function(t,i){this.moving=!0,i||this.fire("movestart",t),this.zooming&&this.fire("zoomstart",t),this.pitching&&this.fire("pitchstart",t)},i.prototype._fireMoveEvents=function(t){this.fire("move",t),this.zooming&&this.fire("zoom",t),this.rotating&&this.fire("rotate",t),this.pitching&&this.fire("pitch",t)},i.prototype._easeToEnd=function(t){var i=this.zooming,e=this.pitching;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire("zoomend",t),e&&this.fire("pitchend",t),this.fire("moveend",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(M*M-z*z+(t?-1:1)*L*L*E*E)/(2*(t?M:z)*L*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}var a=this;this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,h=this.getZoom(),p=this.getBearing(),u=this.getPitch(),c="zoom"in t?util.clamp(+t.zoom,s.minZoom,s.maxZoom):h,m="bearing"in t?this._normalizeBearing(t.bearing,p):p,f="pitch"in t?+t.pitch:u,g=s.zoomScale(c-h),d=s.centerPoint.add(Point.convert(t.offset)),l=s.pointLocation(d),v=LngLat.convert(t.center||l);this._normalizeCenter(v);var b=s.project(l),y=s.project(v).sub(b),_=t.curve,z=Math.max(s.width,s.height),M=z/g,E=y.mag();if("minZoom"in t){var T=util.clamp(Math.min(t.minZoom,h,c),s.minZoom,s.maxZoom),x=z/s.zoomScale(T-h);_=Math.sqrt(x/E*2)}var L=_*_,j=e(0),Z=function(t){return n(j)/n(j+_*t)},w=function(t){return z*((n(j)*function(t){return o(t)/n(t)}(j+_*t)-o(j))/L)/E},P=(e(1)-j)/_;if(Math.abs(E)<1e-6||!isFinite(P)){if(Math.abs(z-M)<1e-6)return this.easeTo(t,i);var q=Mt.maxDuration&&(t.duration=0),this.zooming=!0,this.rotating=p!==m,this.pitching=f!==u,this._prepareEase(i,!1),this._ease(function(t){var e=t*P,o=1/Z(e);s.zoom=h+s.scaleZoom(o),this.rotating&&(s.bearing=interpolate(p,m,t)),this.pitching&&(s.pitch=interpolate(u,f,t));var n=s.unproject(b.add(y.mult(w(e))).mult(o));s.setLocationAtPoint(s.renderWorldCopies?n.wrap():n,d),this._fireMoveEvents(i)},function(){return a._easeToEnd(i)},t),this},i.prototype.isEasing=function(){return!!this._abortFn},i.prototype.isMoving=function(){return this.moving},i.prototype.stop=function(){return this._abortFn&&(this._abortFn(),this._finishEase()),this},i.prototype._ease=function(t,i,e){this._finishFn=i,this._abortFn=browser.timed(function(i){t.call(this,e.easing(i)),1===i&&this._finishEase()},!1===e.animate?0:e.duration,this)},i.prototype._finishEase=function(){delete this._abortFn;var t=this._finishFn;delete this._finishFn,t.call(this)},i.prototype._normalizeBearing=function(t,i){t=util.wrap(t,-180,180);var e=Math.abs(t-i);return Math.abs(t-360-i)180?-360:e<-180?360:0}},i.prototype._smoothOutEasing=function(t){var i=util.ease;if(this._prevEase){var e=this._prevEase,o=(Date.now()-e.start)/e.duration,n=e.easing(o+.01)-e.easing(o),r=.27/Math.sqrt(n*n+1e-4)*.01,a=Math.sqrt(.0729-r*r);i=util.bezier(r,a,.25,1)}return this._prevEase={start:(new Date).getTime(),duration:t,easing:i},i},i}(_dereq_("../util/evented"));module.exports=Camera},{"../geo/lng_lat":68,"../geo/lng_lat_bounds":69,"../style-spec/util/interpolate":152,"../util/browser":231,"../util/evented":239,"../util/util":252,"@mapbox/point-geometry":2}],211:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),config=_dereq_("../../util/config"),AttributionControl=function(t){this.options=t,util.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};AttributionControl.prototype.getDefaultPosition=function(){return"bottom-right"},AttributionControl.prototype.onAdd=function(t){var i=this.options&&this.options.compact;return this._map=t,this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),i&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===i&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},AttributionControl.prototype.onRemove=function(){DOM.remove(this._container),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0},AttributionControl.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));var i=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:config.ACCESS_TOKEN}];if(t){var o=i.reduce(function(t,o,e){return o.value&&(t+=o.key+"="+o.value+(e=0)return!1;return!0}),this._container.innerHTML=t.join(" | "),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")},module.exports=AttributionControl},{"../../util/config":235,"../../util/dom":238,"../../util/util":252}],212:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),window=_dereq_("../../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"),this._className="mapboxgl-ctrl"};FullscreenControl.prototype.onAdd=function(e){return this._map=e,this._mapContainer=this._map.getContainer(),this._container=DOM.create("div",this._className+" mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display="none",util.warnOnce("This device does not support fullscreen mode.")),this._container},FullscreenControl.prototype.onRemove=function(){DOM.remove(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._checkFullscreenSupport=function(){return!!(window.document.fullscreenEnabled||window.document.mozFullScreenEnabled||window.document.msFullscreenEnabled||window.document.webkitFullscreenEnabled)},FullscreenControl.prototype._setupUI=function(){var e=this._fullscreenButton=DOM.create("button",this._className+"-icon "+this._className+"-fullscreen",this._container);e.setAttribute("aria-label","Toggle fullscreen"),e.type="button",this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(){(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+"-shrink"),this._fullscreenButton.classList.toggle(this._className+"-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":238,"../../util/util":252,"../../util/window":233}],213:[function(_dereq_,module,exports){"use strict";var supportsGeolocation,Evented=_dereq_("../../util/evented"),DOM=_dereq_("../../util/dom"),window=_dereq_("../../util/window"),util=_dereq_("../../util/util"),LngLat=_dereq_("../../geo/lng_lat"),Marker=_dereq_("../marker"),defaultOptions={positionOptions:{enableHighAccuracy:!1,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},GeolocateControl=function(t){function o(o){t.call(this),this.options=util.extend({},defaultOptions,o),util.bindAll(["_onSuccess","_onError","_finish","_setupUI","_updateCamera","_updateMarker","_onClickGeolocate"],this)}return t&&(o.__proto__=t),(o.prototype=Object.create(t&&t.prototype)).constructor=o,o.prototype.onAdd=function(t){return this._map=t,this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),function(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))}(this._setupUI),this._container},o.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),DOM.remove(this._container),this._map=void 0},o.prototype._onSuccess=function(t){if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire("geolocate",t),this._finish()},o.prototype._updateCamera=function(t){var o=new LngLat(t.coords.longitude,t.coords.latitude),e=t.coords.accuracy;this._map.fitBounds(o.toBounds(e),this.options.fitBoundsOptions,{geolocateSource:!0})},o.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},o.prototype._onError=function(t){if(this.options.trackUserLocation)if(1===t.code)this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),void 0!==this._geolocationWatchID&&this._clearWatch();else switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire("error",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){var o=this;!1!==t&&(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=DOM.create("button","mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=DOM.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Marker(this._dotElement),this.options.trackUserLocation&&(this._watchState="OFF")),this._geolocateButton.addEventListener("click",this._onClickGeolocate.bind(this)),this.options.trackUserLocation&&this._map.on("movestart",function(t){t.geolocateSource||"ACTIVE_LOCK"!==o._watchState||(o._watchState="BACKGROUND",o._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),o._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),o.fire("trackuserlocationend"))}))},o.prototype._onClickGeolocate=function(){if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire("trackuserlocationstart");break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire("trackuserlocationend");break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire("trackuserlocationstart")}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}"OFF"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4)},o.prototype._clearWatch=function(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},o}(Evented);module.exports=GeolocateControl},{"../../geo/lng_lat":68,"../../util/dom":238,"../../util/evented":239,"../../util/util":252,"../../util/window":233,"../marker":227}],214:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),LogoControl=function(){util.bindAll(["_updateLogo"],this)};LogoControl.prototype.onAdd=function(o){this._map=o,this._container=DOM.create("div","mapboxgl-ctrl");var t=DOM.create("a","mapboxgl-ctrl-logo");return t.target="_blank",t.href="https://www.mapbox.com/",t.setAttribute("aria-label","Mapbox logo"),this._container.appendChild(t),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){DOM.remove(this._container),this._map.off("sourcedata",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return"bottom-left"},LogoControl.prototype._updateLogo=function(o){o&&"metadata"!==o.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o)if(o[t].getSource().mapbox_logo)return!0;return!1}},module.exports=LogoControl},{"../../util/dom":238,"../../util/util":252}],215:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),DragRotateHandler=_dereq_("../handler/drag_rotate"),NavigationControl=function(){var t=this;util.bindAll(["_rotateCompassArrow"],this),this._container=DOM.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._zoomInButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in","Zoom In",function(){return t._map.zoomIn()}),this._zoomOutButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out","Zoom Out",function(){return t._map.zoomOut()}),this._compass=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-compass","Reset North",function(){return t._map.resetNorth()}),this._compassArrow=DOM.create("span","mapboxgl-ctrl-compass-arrow",this._compass)};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._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new DragRotateHandler(t,{button:"left",element:this._compass,pitchWithRotate:!1}),this._handler.enable(),this._container},NavigationControl.prototype.onRemove=function(){DOM.remove(this._container),this._map.off("rotate",this._rotateCompassArrow),delete this._map,this._handler.disable(),delete this._handler},NavigationControl.prototype._createButton=function(t,o,r){var e=DOM.create("button",t,this._container);return e.type="button",e.setAttribute("aria-label",o),e.addEventListener("click",r),e},module.exports=NavigationControl},{"../../util/dom":238,"../../util/util":252,"../handler/drag_rotate":221}],216:[function(_dereq_,module,exports){"use strict";function setScale(t,e,o,n){var i=function(t){var e=Math.pow(10,(""+Math.floor(t)).length-1),o=t/e;return e*(o>=10?10:o>=5?5:o>=3?3:o>=2?2:1)}(o),a=i/o;"m"===n&&i>=1e3&&(i/=1e3,n="km"),t.style.width=e*a+"px",t.innerHTML=i+n}var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),ScaleControl=function(t){this.options=t,util.bindAll(["_onMove"],this)};ScaleControl.prototype.getDefaultPosition=function(){return"bottom-left"},ScaleControl.prototype._onMove=function(){!function(t,e,o){var n=o&&o.maxWidth||100,i=t._container.clientHeight/2,a=function(t,e){var o=Math.PI/180,n=t.lat*o,i=e.lat*o,a=Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos((e.lng-t.lng)*o);return 6371e3*Math.acos(Math.min(a,1))}(t.unproject([0,i]),t.unproject([n,i]));if(o&&"imperial"===o.unit){var l=3.2808*a;l>5280?setScale(e,n,l/5280,"mi"):setScale(e,n,l,"ft")}else o&&"nautical"===o.unit?setScale(e,n,a/1852,"nm"):setScale(e,n,a,"m")}(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(){DOM.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},module.exports=ScaleControl},{"../../util/dom":238,"../../util/util":252}],217:[function(_dereq_,module,exports){"use strict"},{}],218:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),LngLatBounds=_dereq_("../../geo/lng_lat_bounds"),util=_dereq_("../../util/util"),window=_dereq_("../../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._map.dragPan&&this._map.dragPan.disable(),this._el.addEventListener("mousedown",this._onMouseDown,!1),this._map.dragPan&&this._map.dragPan.enable(),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),a=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=a-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&&(DOM.remove(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":69,"../../util/dom":238,"../../util/util":252,"../../util/window":233}],219:[function(_dereq_,module,exports){"use strict";var util=_dereq_("../../util/util"),DoubleClickZoomHandler=function(o){this._map=o,util.bindAll(["_onDblClick","_onZoomEnd"],this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.isActive=function(){return!!this._active},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._active=!0,this._map.on("zoomend",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},DoubleClickZoomHandler.prototype._onZoomEnd=function(){this._active=!1,this._map.off("zoomend",this._onZoomEnd)},module.exports=DoubleClickZoomHandler},{"../../util/util":252}],220:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),window=_dereq_("../../util/window"),inertiaEasing=util.bezier(0,0,.3,1),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.classList.add("mapboxgl-touch-drag-pan"),this._el.addEventListener("mousedown",this._onDown),this._el.addEventListener("touchstart",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-drag-pan"),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(.3/s),d=u.mag();d>1400&&(d=1400,u._unit()._mult(d));var h=d/750,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;return!(!e.boxZoom||!e.boxZoom.isActive())||!(!e.dragRotate||!e.dragRotate.isActive())||(t.touches?t.touches.length>1:!!t.ctrlKey||"mousemove"!==t.type&&t.button&&0!==t.button)},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now();t.length>0&&e-t[0][0]>160;)t.shift()},module.exports=DragPanHandler},{"../../util/dom":238,"../../util/util":252,"../../util/window":233}],221:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),window=_dereq_("../../util/window"),inertiaEasing=util.bezier(0,0,.25,1),DragRotateHandler=function(t,e){this._map=t,this._el=e.element||t.getCanvasContainer(),this._button=e.button||"right",this._bearingSnap=e.bearingSnap||0,this._pitchWithRotate=!1!==e.pitchWithRotate,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){if(!(this._map.boxZoom&&this._map.boxZoom.isActive()||this._map.dragPan&&this._map.dragPan.isActive()||this.isActive())){if("right"===this._button){var e=t.ctrlKey?0:2,i=t.button;if(void 0!==window.InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf("MAC")>=0&&(i=0),i!==e)return}else if(t.ctrlKey||0!==t.button)return;DOM.disableDrag(),window.document.addEventListener("mousemove",this._onMove,{capture:!0}),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){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent("rotatestart",t),this._fireEvent("movestart",t),this._pitchWithRotate&&this._fireEvent("pitchstart",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=-.5*(i.y-n.y),o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,_=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,_[1])]),e.transform.bearing=o,this._pitchWithRotate&&(this._fireEvent("pitch",t),e.transform.pitch=s),this._fireEvent("rotate",t),this._fireEvent("move",t),this._pos=n},DragRotateHandler.prototype._onUp=function(t){var e=this;if(window.document.removeEventListener("mousemove",this._onMove,{capture:!0}),window.document.removeEventListener("mouseup",this._onUp),window.removeEventListener("blur",this._onUp),DOM.enableDrag(),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)180&&(l=180);var u=l/180;_+=v*l*(u/2),Math.abs(i._normalizeBearing(_,0))0&&e-t[0][0]>160;)t.shift()},module.exports=DragRotateHandler},{"../../util/dom":238,"../../util/util":252,"../../util/window":233}],222:[function(_dereq_,module,exports){"use strict";var util=_dereq_("../../util/util"),KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll(["_onKeyDown"],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,a=0,n=0,r=0,i=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?a=-1:(e.preventDefault(),r=-1);break;case 39:e.shiftKey?a=1:(e.preventDefault(),r=1);break;case 38:e.shiftKey?n=1:(e.preventDefault(),i=-1);break;case 40:e.shiftKey?n=-1:(i=1,e.preventDefault());break;default:return}var s=this._map,o=s.getZoom(),l={duration:300,delayEndEvents:500,easing:function(e){return e*(2-e)},zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+15*a,pitch:s.getPitch()+10*n,offset:[100*-r,100*-i],center:s.getCenter()};s.easeTo(l,{originalEvent:e})}},module.exports=KeyboardHandler},{"../../util/util":252}],223:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),browser=_dereq_("../../util/browser"),window=_dereq_("../../util/window"),ua=window.navigator.userAgent.toLowerCase(),firefox=-1!==ua.indexOf("firefox"),safari=-1!==ua.indexOf("safari")&&-1===ua.indexOf("chrom"),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=0;"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":231,"../../util/dom":238,"../../util/util":252,"../../util/window":233}],224:[function(_dereq_,module,exports){"use strict";var DOM=_dereq_("../../util/dom"),util=_dereq_("../../util/util"),window=_dereq_("../../util/window"),inertiaEasing=util.bezier(0,0,.15,1),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.classList.add("mapboxgl-touch-zoom-rotate"),this._el.addEventListener("touchstart",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-zoom-rotate"),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)>.15;Math.abs(r)>10?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)o.snapToNorth({},{originalEvent:t});else{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){var l=.15*s/h;Math.abs(l)>2.5&&(l=l>0?2.5:-2.5);var d=1e3*Math.abs(l/(12*.15)),c=a+l*d/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:d,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})}else o.snapToNorth({},{originalEvent:t})}},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now();t.length>2&&e-t[0][0]>160;)t.shift()},module.exports=TouchZoomRotateHandler},{"../../util/dom":238,"../../util/util":252,"../../util/window":233}],225:[function(_dereq_,module,exports){"use strict";var util=_dereq_("../util/util"),window=_dereq_("../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.getHashString=function(t){var a=this._map.getCenter(),h=Math.round(100*this._map.getZoom())/100,e=Math.max(0,Math.ceil(Math.log(h)/Math.LN2)),n=Math.round(a.lng*Math.pow(10,e))/Math.pow(10,e),o=Math.round(a.lat*Math.pow(10,e))/Math.pow(10,e),i=this._map.getBearing(),s=this._map.getPitch(),r="";return r+=t?"#/"+n+"/"+o+"/"+h:"#"+h+"/"+o+"/"+n,(i||s)&&(r+="/"+Math.round(10*i)/10),s&&(r+="/"+Math.round(s)),r},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.getHashString();window.history.replaceState("","",t)},module.exports=Hash},{"../util/util":252,"../util/window":233}],226:[function(_dereq_,module,exports){"use strict";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=_dereq_("../util/util"),browser=_dereq_("../util/browser"),window=_dereq_("../util/window"),HTMLImageElement=_dereq_("../util/window").HTMLImageElement,DOM=_dereq_("../util/dom"),ajax=_dereq_("../util/ajax"),Style=_dereq_("../style/style"),AnimationLoop=_dereq_("../style/animation_loop"),Painter=_dereq_("../render/painter"),Transform=_dereq_("../geo/transform"),Hash=_dereq_("./hash"),bindHandlers=_dereq_("./bind_handlers"),Camera=_dereq_("./camera"),LngLat=_dereq_("../geo/lng_lat"),LngLatBounds=_dereq_("../geo/lng_lat_bounds"),Point=_dereq_("@mapbox/point-geometry"),AttributionControl=_dereq_("./control/attribution_control"),LogoControl=_dereq_("./control/logo_control"),isSupported=_dereq_("mapbox-gl-supported");_dereq_("./events");var defaultOptions={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,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,maxTileCacheSize:null,transformRequest:null},Map=function(t){function e(e){var o=this;if(null!=(e=util.extend({},defaultOptions,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var r=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);t.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles;var i=e.transformRequest;if(this._transformRequest=i?function(t,e){return i(t,e)||{url:t}}:function(t){return{url:t}},"string"==typeof e.container){var n=window.document.getElementById(e.container);if(!n)throw new Error("Container '"+e.container+"' not found.");this._container=n}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()}),void 0!==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.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),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({transition:!1})}),this.on("data",this._onData),this.on("dataloading",this._onDataLoading)}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.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),r=this._controlPositions[e];return-1!==e.indexOf("bottom")?r.insertBefore(o,r.firstChild):r.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},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.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new LngLatBounds([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},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=null,this.transform.latRange=null,this._update());return this},e.prototype.setMinZoom=function(t){if((t=null===t||void 0===t?0:t)>=0&&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.on=function(e,o,r){var i=this;if(void 0===r)return t.prototype.on.call(this,e,o);var n=function(){if("mouseenter"===e||"mouseover"===e){var t=!1;return{layer:o,listener:r,delegates:{mousemove:function(n){var s=i.getLayer(o)?i.queryRenderedFeatures(n.point,{layers:[o]}):[];s.length?t||(t=!0,r.call(i,util.extend({features:s},n,{type:e}))):t=!1},mouseout:function(){t=!1}}}}if("mouseleave"===e||"mouseout"===e){var n=!1;return{layer:o,listener:r,delegates:{mousemove:function(t){(i.getLayer(o)?i.queryRenderedFeatures(t.point,{layers:[o]}):[]).length?n=!0:n&&(n=!1,r.call(i,util.extend({},t,{type:e})))},mouseout:function(t){n&&(n=!1,r.call(i,util.extend({},t,{type:e})))}}}}return{layer:o,listener:r,delegates:(a={},a[e]=function(t){var e=i.getLayer(o)?i.queryRenderedFeatures(t.point,{layers:[o]}):[];e.length&&r.call(i,util.extend({features:e},t))},a)};var a}();this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(n);for(var s in n.delegates)i.on(s,n.delegates[s]);return this},e.prototype.off=function(e,o,r){if(void 0===r)return t.prototype.off.call(this,e,o);if(this._delegatedListeners&&this._delegatedListeners[e])for(var n=this._delegatedListeners[e],s=0;sthis._map.transform.height-i?["bottom"]:[],t.xthis._map.transform.width-n/2&&o.push("right"),o=0===o.length?"bottom":o.join("-")}var r=t.add(e[o]).round(),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-"+o),DOM.setTransform(this._container,s[o]+" translate("+r.x+"px,"+r.y+"px)")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup},{"../geo/lng_lat":68,"../util/dom":238,"../util/evented":239,"../util/smart_wrap":248,"../util/util":252,"../util/window":233,"@mapbox/point-geometry":2}],229:[function(_dereq_,module,exports){"use strict";var util=_dereq_("./util"),Actor=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,util.bindAll(["receive"],this),this.target.addEventListener("message",this.receive,!1)};Actor.prototype.send=function(t,e,r,a,i){var s=r?this.mapId+":"+this.callbackID++:null;r&&(this.callbacks[s]=r),this.target.postMessage({targetMapId:i,sourceMapId:this.mapId,type:t,id:String(s),data:e},a)},Actor.prototype.receive=function(t){var e,r=this,a=t.data,i=a.id;if(!a.targetMapId||this.mapId===a.targetMapId){var s=function(t,e,a){r.target.postMessage({sourceMapId:r.mapId,type:"",id:String(i),error:t?String(t):null,data:e},a)};if(""===a.type)e=this.callbacks[a.id],delete this.callbacks[a.id],e&&a.error?e(new Error(a.error)):e&&e(null,a.data);else if(void 0!==a.id&&this.parent[a.type])this.parent[a.type](a.sourceMapId,a.data,s);else if(void 0!==a.id&&this.parent.getWorkerSource){var o=a.type.split(".");this.parent.getWorkerSource(a.sourceMapId,o[0])[o[1]](a.data,s)}else this.parent[a.type](a.data)}},Actor.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)},module.exports=Actor},{"./util":252}],230:[function(_dereq_,module,exports){"use strict";function makeRequest(e){var t=new window.XMLHttpRequest;t.open("GET",e.url,!0);for(var r in e.headers)t.setRequestHeader(r,e.headers[r]);return t.withCredentials="include"===e.credentials,t}var window=_dereq_("./window"),ResourceType={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};exports.ResourceType=ResourceType,"function"==typeof Object.freeze&&Object.freeze(ResourceType);var AJAXError=function(e){function t(t,r){e.call(this,t),this.status=r}return e&&(t.__proto__=e),(t.prototype=Object.create(e&&e.prototype)).constructor=t,t}(Error);exports.getJSON=function(e,t){var r=makeRequest(e);return r.setRequestHeader("Accept","application/json"),r.onerror=function(){t(new Error(r.statusText))},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var e;try{e=JSON.parse(r.response)}catch(e){return t(e)}t(null,e)}else t(new AJAXError(r.statusText,r.status))},r.send(),r},exports.getArrayBuffer=function(e,t){var r=makeRequest(e);return r.responseType="arraybuffer",r.onerror=function(){t(new Error(r.statusText))},r.onload=function(){var e=r.response;if(0===e.byteLength&&200===r.status)return t(new Error("http status 200 returned without content."));r.status>=200&&r.status<300&&r.response?t(null,{data:e,cacheControl:r.getResponseHeader("Cache-Control"),expires:r.getResponseHeader("Expires")}):t(new AJAXError(r.statusText,r.status))},r.send(),r},exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,r){if(e)t(e);else if(r){var n=new window.Image,o=window.URL||window.webkitURL;n.onload=function(){t(null,n),o.revokeObjectURL(n.src)};var s=new window.Blob([new Uint8Array(r.data)],{type:"image/png"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?o.createObjectURL(s):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="}})},exports.getVideo=function(e,t){var r=window.document.createElement("video");r.onloadstart=function(){t(null,r)};for(var n=0;n=o+n?e.call(t,1):(e.call(t,(r-o)/n),frame(a))}}),function(){i=!0}},getImageData:function(e){var n=window.document.createElement("canvas"),t=n.getContext("2d");if(!t)throw new Error("failed to create canvas 2d context");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0,e.width,e.height),t.getImageData(0,0,e.width,e.height)},hardwareConcurrency:window.navigator.hardwareConcurrency||4,get devicePixelRatio(){return window.devicePixelRatio},supportsWebp:!1};var webpImgTest=window.document.createElement("img");webpImgTest.onload=function(){module.exports.supportsWebp=!0},webpImgTest.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="},{"./window":233}],232:[function(_dereq_,module,exports){"use strict";var WebWorkify=_dereq_("webworkify"),window=_dereq_("../window"),workerURL=window.URL.createObjectURL(new WebWorkify(_dereq_("../../source/worker"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)}},{"../../source/worker":117,"../window":233,webworkify:48}],233:[function(_dereq_,module,exports){"use strict";module.exports=self},{}],234:[function(_dereq_,module,exports){"use strict";var quickselect=_dereq_("quickselect"),calculateSignedArea=_dereq_("./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":252}],240:[function(_dereq_,module,exports){"use strict";function Cell(e,t,n,o){this.p=new Point(e,t),this.h=n,this.d=function(e,t){for(var n=!1,o=1/0,r=0;re.y!=p.y>e.y&&e.x<(p.x-s.x)*(e.y-s.y)/(p.y-s.y)+s.x&&(n=!n),o=Math.min(o,distToSegmentSquared(e,s,p))}return(n?1:-1)*Math.sqrt(o)}(this.p,o),this.max=this.d+this.h*Math.SQRT2}var Queue=_dereq_("tinyqueue"),Point=_dereq_("@mapbox/point-geometry"),distToSegmentSquared=_dereq_("./intersection_tests").distToSegmentSquared;module.exports=function(e,t,n){void 0===t&&(t=1),void 0===n&&(n=!1);for(var o=1/0,r=1/0,i=-1/0,l=-1/0,u=e[0],a=0;ai)&&(i=s.x),(!a||s.y>l)&&(l=s.y)}var p=i-o,h=l-r,d=Math.min(p,h),x=d/2,y=new Queue(null,function(e,t){return t.max-e.max});if(0===d)return new Point(o,r);for(var g=o;gm.d||!m.d)&&(m=c,n&&console.log("found best %d after %d probes",Math.round(1e4*c.d)/1e4,v)),c.max-m.d<=t||(x=c.h/2,y.push(new Cell(c.p.x-x,c.p.y-x,x,e)),y.push(new Cell(c.p.x+x,c.p.y-x,x,e)),y.push(new Cell(c.p.x-x,c.p.y+x,x,e)),y.push(new Cell(c.p.x+x,c.p.y+x,x,e)),v+=4)}return n&&(console.log("num probes: "+v),console.log("best distance: "+m.d)),m.p}},{"./intersection_tests":243,"@mapbox/point-geometry":2,tinyqueue:42}],241:[function(_dereq_,module,exports){"use strict";var globalWorkerPool,WorkerPool=_dereq_("./worker_pool");module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool}},{"./worker_pool":255}],242:[function(_dereq_,module,exports){"use strict";function createImage(e,t,i){var h=e.width,a=e.height;if(i){if(i.length!==h*a*t)throw new RangeError("mismatched image size")}else i=new Uint8Array(h*a*t);return{width:h,height:a,data:i}}function resizeImage(e,t,i){var h=t.width,a=t.height;if(h===e.width&&a===e.height)return e;var r=createImage({width:h,height:a},i);copyImage(e,r,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,h),height:Math.min(e.height,a)},i),e.width=h,e.height=a,e.data=r.data}function copyImage(e,t,i,h,a,r){if(0===a.width||0===a.height)return t;if(a.width>e.width||a.height>e.height||i.x>e.width-a.width||i.y>e.height-a.height)throw new RangeError("out of range source coordinates for image copy");if(a.width>t.width||a.height>t.height||h.x>t.width-a.width||h.y>t.height-a.height)throw new RangeError("out of range destination coordinates for image copy");for(var g=e.data,n=t.data,o=0;o1?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=_dereq_("./util").isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:function(n,t,e){for(var r=0;r=3)for(var u=0;u1){if(lineIntersectsLine(n,t))return!0;for(var r=0;r=128&&n<=255},Arabic:function(n){return n>=1536&&n<=1791},"Arabic Supplement":function(n){return n>=1872&&n<=1919},"Arabic Extended-A":function(n){return n>=2208&&n<=2303},"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},"Arabic Presentation Forms-A":function(n){return n>=64336&&n<=65023},"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},"Arabic Presentation Forms-B":function(n){return n>=65136&&n<=65279},"Halfwidth and Fullwidth Forms":function(n){return n>=65280&&n<=65519}}},{}],245:[function(_dereq_,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){return this.has(t)?this.data[t]:null},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},{}],246:[function(_dereq_,module,exports){"use strict";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,"/"!==t.path&&(r.path=""+t.path+r.path),!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(!(e=e||config.ACCESS_TOKEN))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 parseUrl(r){var e=r.match(urlRe);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function formatUrl(r){var e=r.params.length?"?"+r.params.join("&"):"";return r.protocol+"://"+r.authority+r.path+e}var config=_dereq_("./config"),browser=_dereq_("./browser"),help="See https://www.mapbox.com/api-documentation/#access-tokens";exports.isMapboxURL=isMapboxURL,exports.normalizeStyleURL=function(r,e){if(!isMapboxURL(r))return r;var t=parseUrl(r);return t.path="/styles/v1"+t.path,makeAPIURL(t,e)},exports.normalizeGlyphsURL=function(r,e){if(!isMapboxURL(r))return r;var t=parseUrl(r);return t.path="/fonts/v1"+t.path,makeAPIURL(t,e)},exports.normalizeSourceURL=function(r,e){if(!isMapboxURL(r))return r;var t=parseUrl(r);return t.path="/v4/"+t.authority+".json",t.params.push("secure"),makeAPIURL(t,e)},exports.normalizeSpriteURL=function(r,e,t,a){var o=parseUrl(r);return isMapboxURL(r)?(o.path="/styles/v1"+o.path+"/sprite"+e+t,makeAPIURL(o,a)):(o.path+=""+e+t,formatUrl(o))};var imageExtensionRe=/(\.(png|jpg)\d*)(?=$)/;exports.normalizeTileURL=function(r,e,t){if(!e||!isMapboxURL(e))return r;var a=parseUrl(r),o=browser.devicePixelRatio>=2||512===t?"@2x":"",p=browser.supportsWebp?".webp":"$1";return a.path=a.path.replace(imageExtensionRe,""+o+p),function(r){for(var e=0;e=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":244}],248:[function(_dereq_,module,exports){"use strict";var LngLat=_dereq_("../geo/lng_lat");module.exports=function(n,t,l){if(n=new LngLat(n.lng,n.lat),t){var a=new LngLat(n.lng-360,n.lat),i=new LngLat(n.lng+360,n.lat),o=l.locationPoint(n).distSqr(t);l.locationPoint(a).distSqr(t)180;){var e=l.locationPoint(n);if(e.x>=0&&e.y>=0&&e.x<=l.width&&e.y<=l.height)break;n.lng>l.center.lng?n.lng-=360:n.lng+=360}return n}},{"../geo/lng_lat":68}],249:[function(_dereq_,module,exports){"use strict";function align(t,r){return Math.ceil(t/r)*r}function sizeOf(t){return viewTypes[t].BYTES_PER_ELEMENT}function getArrayViewName(t){return t.toLowerCase()}module.exports=function(t){var r=JSON.stringify(t);if(structArrayTypeCache[r])return structArrayTypeCache[r];var e=void 0===t.alignment?1:t.alignment,i=0,n=0,a=["Uint8"],s=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var r=sizeOf(t.type),s=i=align(i,Math.max(e,r)),o=t.components||1;return n=Math.max(n,r),i+=r*o,{name:t.name,type:t.type,components:o,offset:s}}),o=align(i,Math.max(n,e)),p=function(t){function r(){t.apply(this,arguments)}return t&&(r.__proto__=t),(r.prototype=Object.create(t&&t.prototype)).constructor=r,r}(Struct);p.prototype.alignment=e,p.prototype.size=o;for(var y=0,c=s;y1&&(f+=u),f in p.prototype)throw new Error(f+" is a reserved name and cannot be used as a member name.");Object.defineProperty(p.prototype,f,function(t,r){var e=function(t,r){var n="this._pos"+sizeOf(t.type).toFixed(0)+" + "+(t.offset/sizeOf(t.type)+r).toFixed(0);return"this._structArray."+getArrayViewName(t.type)+"["+n+"]"}(h,u);return{get:new Function("return "+e+";"),set:new Function("x",e+" = x;")}}())}var m=function(t){function r(){t.apply(this,arguments)}return t&&(r.__proto__=t),(r.prototype=Object.create(t&&t.prototype)).constructor=r,r}(StructArray);return m.prototype.members=s,m.prototype.StructType=p,m.prototype.bytesPerElement=o,m.prototype.emplaceBack=function(t,r){for(var e=[],i=[],n="var i = this.length;\nthis.resize(this.length + 1);\n",a=0,s=t;athis.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var r=this.uint8;this._refreshViews(),r&&this.uint8.set(r)}},StructArray.prototype._refreshViews=function(){for(var t=this,r=0,e=t._usedTypes;r=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){for(var e=[],t=arguments.length-1;t-- >0;)e[t]=arguments[t+1];for(var n=0,o=e;n=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 t={};if(r.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,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":67,"@mapbox/point-geometry":2,"@mapbox/unitbezier":5}],253:[function(_dereq_,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 t={geometry:this.geometry};for(var r in this)"_geometry"!==r&&"_vectorTileFeature"!==r&&(t[r]=this[r]);return t},Object.defineProperties(Feature.prototype,prototypeAccessors),module.exports=Feature},{}],254:[function(_dereq_,module,exports){"use strict";var scriptDetection=_dereq_("./script_detection");module.exports=function(t){for(var o="",e=0;e":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"}},{"./script_detection":247}],255:[function(_dereq_,module,exports){"use strict";var WebWorker=_dereq_("./web_worker"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){if(!this.workers){var o=_dereq_("../").workerCount;for(this.workers=[];this.workers.length{{buttons}}",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+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)}),0>(e=e&&!isNaN(+e)?+e:this.delay)?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")).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 r,i=n.querySelector(".ok"),a=n.querySelector(".cancel"),l=n.querySelector("input"),s=n.querySelector("label");return l&&("string"==typeof this.promptPlaceholder&&(s?s.textContent=this.promptPlaceholder:l.placeholder=this.promptPlaceholder),"string"==typeof this.promptValue&&(l.value=this.promptValue)),"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 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,500)}};if(void 0!==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 void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return new t}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}()}).call(exports,__webpack_require__(11)(module))},,,function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _newnoteButton2=_interopRequireDefault(__webpack_require__(8)),_persistForm2=_interopRequireDefault(__webpack_require__(14)),button=document.querySelector("#locate");(0,_newnoteButton2.default)(button),(0,_persistForm2.default)()},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(button){"geolocation"in navigator&&button.addEventListener&&(button.disabled=!1,button.addEventListener("click",_newnoteGetlocation2.default))};var obj,_newnoteGetlocation2=(obj=__webpack_require__(9))&&obj.__esModule?obj:{default:obj}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(){var container=document.querySelector("fieldset"),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)})};var obj,_nearbyPlaces2=(obj=__webpack_require__(10))&&obj.__esModule?obj:{default:obj}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(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();_alertify2.default.reset(),_alertify2.default.error("Non OK response")}).then(function(json){1==json.error&&(_alertify2.default.reset(),_alertify2.default.error(json.error_description));var places=null;json.places.length>0&&(places=json.places);var map=(0,_mapboxUtils2.default)(div,position,places),flexboxDiv=document.createElement("div"),options=makeOptionsForForm(map,position,places);flexboxDiv.appendChild(options);var newPlaceForm=(0,_newplaceMicropub2.default)(map);flexboxDiv.appendChild(newPlaceForm),document.querySelector("fieldset").insertBefore(flexboxDiv,document.querySelector(".map"))}).catch(function(error){console.error(error)})};var _alertify2=_interopRequireDefault(__webpack_require__(4)),_mapboxUtils2=_interopRequireDefault(__webpack_require__(1)),_parseLocation2=_interopRequireDefault(__webpack_require__(0)),_newplaceMicropub2=_interopRequireDefault(__webpack_require__(12)),makeOptionsForForm=function(map,position){var places=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,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");if(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),null!=places){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=places[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var place=_step.value,parsedCoords=(0,_parseLocation2.default)(place.location),option=document.createElement("option");option.setAttribute("value",place.uri),option.dataset.latitude=parsedCoords.latitude,option.dataset.longitude=parsedCoords.longitude,option.appendChild(document.createTextNode(place.name)),selectElement.appendChild(option)}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}return selectElement.addEventListener("change",function(){if("no-location"!==selectElement.value){var optionLatitude=selectElement[selectElement.selectedIndex].dataset.latitude,optionLongitude=selectElement[selectElement.selectedIndex].dataset.longitude;map.flyTo({center:[optionLongitude,optionLatitude]})}}),selectElement}},function(module,exports){module.exports=function(module){return module.webpackPolyfill||(module.deprecate=function(){},module.paths=[],module.children||(module.children=[]),Object.defineProperty(module,"loaded",{enumerable:!0,get:function(){return module.l}}),Object.defineProperty(module,"id",{enumerable:!0,get:function(){return module.i}}),module.webpackPolyfill=1),module}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(map){var newLocationButton=document.createElement("button");return newLocationButton.setAttribute("type","button"),newLocationButton.setAttribute("id","create-new-place"),newLocationButton.appendChild(document.createTextNode("Create New Place?")),newLocationButton.addEventListener("click",function(){var latitude=map.getCenter().lat,longitude=map.getCenter().lng;map.addSource("new-place",{type:"geojson",data:{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:[longitude,latitude]},properties:{title:"",icon:"circle"}}]}}),map.addLayer({id:"new-place",type:"symbol",source:"new-place",layout:{"icon-image":"{icon}-15","text-field":"{title}","text-offset":[0,1]}});var newPlaceNameDiv=document.createElement("div"),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"),newPlaceNameInput.addEventListener("keyup",function(){var source=map.getSource("new-place");source._data.features[0].properties.title=newPlaceNameInput.value,map.getSource("new-place").setData(source._data)}),newPlaceNameDiv.appendChild(newPlaceNameLabel),newPlaceNameDiv.appendChild(newPlaceNameInput);var newPlaceDescDiv=document.createElement("div"),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"),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"),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)}),newLocationButton};var obj,_submitPlace2=(obj=__webpack_require__(13))&&obj.__esModule?obj:{default:obj}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(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("/micropub/places",{credentials:"same-origin",method:"post",body:formData}).then(function(response){return response.json()}).then(function(placeJson){if(!0===placeJson.error)throw new Error(placeJson.error_description);var form=document.querySelector("fieldset"),labels=document.querySelectorAll(".place-label"),_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=labels[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var label=_step.value;form.removeChild(label.parentNode)}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_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 newFeatures=map.getSource("points")._data.features.filter(function(item){return"Current Location"!=item.properties.title});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"),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=!0}).catch(function(placeError){_alertify2.default.reset(),_alertify2.default.error(placeError)})};var obj,_alertify2=(obj=__webpack_require__(4))&&obj.__esModule?obj:{default:obj}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(){var form=document.querySelector('form[name="micropub"]');form.addEventListener("change",saveData),form.addEventListener("submit",clearData),loadData()};var _webStorage2=_interopRequireDefault(__webpack_require__(15)),_alertify2=_interopRequireDefault(__webpack_require__(4)),loadData=function(){document.querySelector("#in-reply-to").value=_webStorage2.default.getItem("replyTo"),document.querySelector("#content").value=_webStorage2.default.getItem("content")},saveData=function(){var replyTo=document.querySelector("#in-reply-to"),content=document.querySelector("#content");_webStorage2.default.setItem("replyTo",replyTo.value),_webStorage2.default.setItem("content",content.value),_alertify2.default.success("Auto-saved data")},clearData=function(){_webStorage2.default.removeItem("replyTo"),_webStorage2.default.removeItem("content")}},function(module,exports,__webpack_require__){module.exports=function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=0)}([function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i","?","@","H","J","K","Q","Y","[","\\","]","^","`","{","|","}","~","../data/pos_array","../util/browser","./vertex_array_object","78","drawFillTiles","setFillProgram","currentProgram","getPaintProperty","u_world","drawingBufferWidth","drawingBufferHeight","79","DEPTH_TEST","clearColor","u_height_factor","light","calculated","uniform3fv","u_lightpos","u_lightintensity","intensity","u_lightcolor","viewportFrame","TEXTURE0","bindTexture","TEXTURE_2D","texture","u_image","viewportVAO","viewportBuffer","80","Texture","isOpaquePass","viewport","heatmapTexture","heatmapFbo","bindFramebuffer","FRAMEBUFFER","createTexture","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","bindTextureFramebuffer","texImage2D","RGBA","extTextureHalfFloat","HALF_FLOAT_OES","UNSIGNED_BYTE","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","createFramebuffer","COLOR_BUFFER_BIT","blendFunc","ONE","hasRenderableParent","u_radius","u_intensity","TEXTURE2","colorRampTexture","colorRamp","ONE_MINUS_SRC_ALPHA","u_color_ramp","./texture","81","lineAtlas","getDash","from","to","fromScale","toScale","u_patternscale_a","u_patternscale_b","u_sdfgamma","imageManager","getPattern","u_pattern_size_a","displaySize","u_pattern_size_b","getPixelSize","u_texsize","u_gl_units_to_pixels","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_ratio","82","ImageSource","u_brightness_low","u_brightness_high","u_saturation_factor","u_contrast_factor","u_spin_weights","u_buffer_scale","u_image0","u_image1","registerFadeDuration","animationLoop","findLoadedParent","timeAdded","refreshedUponExpiration","mix","LINEAR_MIPMAP_NEAREST","u_tl_parent","u_scale_parent","u_fade_t","boundsBuffer","boundsVAO","maskedBoundsBuffer","maskedIndexBuffer","rasterBoundsBuffer","rasterBoundsVAO","depthFunc","LEQUAL","../source/image_source","83","drawLayerSymbols","u_is_text","u_is_size_zoom_constant","u_is_size_feature_constant","symbolSize","evaluateSizeForZoom","uSizeT","u_size_t","uSize","u_size","u_aspect_ratio","u_rotate_symbol","u_texture","glyphAtlasTexture","isLayoutValueZoomConstant","iconAtlasTexture","rotating","zooming","NEAREST","symbolProjection","getLabelPlaneMatrix","getGlCoordMatrix","u_gl_coord_matrix","u_label_plane_matrix","identityMat4","updateLineLabels","u_gamma_scale","u_is_halo","drawSymbolElements","drawCollisionDebug","showCollisionBoxes","../symbol/projection","../symbol/symbol_size","./draw_collision_debug","84","FrameHistory","changeTimes","changeOpacities","opacities","previousZoom","firstFrame","record","changed","isVisible","texSubImage2D","ALPHA","85","AlphaImage","makeGlyphAtlas","bitmap","rect","metrics","image","positions","../util/image","@mapbox/shelf-pack","86","loadGlyphRange","isChar","asyncAll","GlyphManager","requestTransform","localIdeographFontFamily","entries","setURL","url","getGlyphs","stack","glyphs","requests","_tinySDF","glyph","tinySDF","left","top","advance","../style/load_glyph_range","../util/is_char_in_unicode_block","@mapbox/tiny-sdf","87","imagePosition","textureRect","RGBAImage","makeImageAtlas","88","ImageManager","images","loaded","requestors","shelfPack","patterns","atlasImage","dirty","isLoaded","setLoaded","callback","_notify","getImage","addImage","removeImage","bin","getImages","atlasTexture","update","./image_atlas","89","LineAtlas","nextRow","bytes","addDash","REPEAT","90","SourceCache","shaders","Program","RenderTexture","updateTileMasks","symbol","circle","heatmap","fill-extrusion","raster","background","Painter","_tileTextures","setup","numSublayers","maxUnderzooming","maxOverzooming","depthEpsilon","lineWidthRange","getParameter","ALIASED_LINE_WIDTH_RANGE","emptyProgramConfiguration","_order","_layers","depthRbo","deleteRenderbuffer","BLEND","_depthMask","extTextureFilterAnisotropic","extTextureFilterAnisotropicMax","MAX_TEXTURE_MAX_ANISOTROPY_EXT","clearStencil","stencilMask","STENCIL_BUFFER_BIT","clearDepth","DEPTH_BUFFER_BIT","_renderTileClippingMasks","colorMask","stencilOp","KEEP","REPLACE","_tileClippingMaskIDs","stencilFunc","ALWAYS","EQUAL","render","glyphManager","getTransition","duration","sourceCaches","used","filterObject","_source","getVisibleCoordinates","has3DPass","isHidden","_setup3DRenderbuffer","bindWithDepth","renderLayer","unbind","showOverdrawInspector","depthRange","currentLayer","_showOverdrawInspector","isTileClipped","showTileBoundaries","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","renderbufferStorage","DEPTH_COMPONENT16","depthRboAttached","saveTileTexture","getTileTexture","CONSTANT_COLOR","blendColor","_createProgramCached","program","../data/program_configuration","../data/raster_bounds_array","../shaders","../source/source_cache","./draw_background","./draw_circle","./draw_debug","./draw_fill","./draw_fill_extrusion","./draw_heatmap","./draw_line","./draw_raster","./draw_symbol","./frame_history","./program","./render_texture","./tile_mask","91","u_scale_a","u_scale_b","u_tile_units_to_pixels","u_pixel_coord_upper","u_pixel_coord_lower","92","createProgram","toFixed","prelude","fragmentSource","vertexSource","createShader","FRAGMENT_SHADER","shaderSource","compileShader","attachShader","VERTEX_SHADER","bindAttribLocation","linkProgram","numAttributes","getProgramParameter","ACTIVE_ATTRIBUTES","getActiveAttrib","getAttribLocation","ACTIVE_UNIFORMS","getActiveUniform","getUniformLocation","drawElements","UNSIGNED_SHORT","93","fbo","attachedRbo","framebufferRenderbuffer","DEPTH_ATTACHMENT","94","HTMLImageElement","HTMLCanvasElement","HTMLVideoElement","ImageData","pixelStorei","UNPACK_ALIGNMENT","UNPACK_PREMULTIPLY_ALPHA_WEBGL","deleteTexture","../util/window","95","computeTileMasks","isLessThan","isChildOf","children","wrapped","setMask","96","boundProgram","boundVertexBuffer","boundVertexBuffer2","boundIndexBuffer","boundVertexOffset","boundDynamicVertexBuffer","vao","freshBind","createVertexArrayOES","currentNumAttributes","disableVertexAttribArray","deleteVertexArrayOES","97","98","fillOutline","fillOutlinePattern","fillPattern","fillExtrusion","fillExtrusionPattern","extrusionTexture","linePattern","lineSDF","symbolIcon","symbolSDF","re","programName","99","CanvasSource","animate","getElementById","_hasInvalidDimensions","fire","play","_rerender","pause","cancel","_finishLoading","getCanvas","onAdd","onRemove","_prepareImage","painter","./image_source","100","ResourceType","GeoJSONSource","dispatcher","setEventedParent","_options","workerOptions","geojsonVtOptions","superclusterOptions","clusterMaxZoom","clusterRadius","dataType","_updateWorkerData","sourceDataType","setData","_transformRequest","href","Source","workerID","send","_loaded","loadTile","state","unloadVectorData","aborted","loadVectorData","redoWhenDone","redoPlacement","abortTile","unloadTile","broadcast","../util/ajax","../util/evented","101","ajax","vtpbf","supercluster","geojsonvt","GeoJSONWorkerSource","_geoJSONIndexes","byteOffset","byteLength","vectorTile","rawData","loadGeoJSON","loadData","reloadTile","getJSON","parse","removeSource","./geojson_wrapper","./vector_tile_worker_source","geojson-rewind","geojson-vt","vt-pbf","102","_feature","_geojsonTileLayer","103","textureLoaded","Image","setCoordinates","centerCoord","getCoordinatesCenter","_boundsArray","buckets","../geo/lng_lat","../render/texture","../render/vertex_array_object","./tile_coord","104","normalizeURL","normalizeSourceURL","pick","vector_layers","vectorLayers","vectorLayerIds","frame","../util/mapbox","105","106","rendered","tilesIn","wrappedTileID","queryResults","getRenderableIds","getTileByID","querySourceFeatures","107","loadTileJSON","normalizeTileURL","TileBounds","RasterTileSource","scheme","tileBounds","hasTile","contains","Tile","_refreshExpiredTiles","setExpiryData","cacheControl","expires","texParameterf","TEXTURE_MAX_ANISOTROPY_EXT","generateMipmap","abort","./load_tilejson","./tile_bounds","108","pluginRequested","pluginBlobURL","evented","registerForPluginAvailability","errorCallback","createBlobURL","clearRTLTextPlugin","getArrayBuffer","applyArabicShaping","processBidirectionalText","109","sourceTypes","vector","geojson","video","bindAll","getType","setType","../source/canvas_source","../source/geojson_source","../source/raster_tile_source","../source/vector_tile_source","../source/video_source","110","coordinateToTilePoint","createSource","Cache","_sourceLoaded","_paused","reload","_sourceErrored","_tiles","_cache","_unloadTile","_timers","_cacheTimers","_maxTileCacheSize","_isIdRenderable","resume","_shouldReloadOnResume","_loadTile","_abortTile","getIds","hasData","_coveredTiles","reset","_reloadTile","_tileLoaded","status","getTime","_setTileReloadTimer","getZoom","_findLoadedChildren","parent","has","getWithoutRemoving","updateCacheSize","setMaxSize","_updateRetainedTiles","fromID","fadeEndTime","_addTile","keysDifference","_removeTile","wasRequested","scaledTo","uses","getExpiryTimeout","_setCacheInvalidationTimer","remove","stopPlacementThrottler","clearTiles","../geo/coordinate","../util/lru_cache","./source","111","deserializeBucket","CollisionTile","CollisionBoxArray","Throttler","uniqueId","expirationTime","expiredRequestCount","placementThrottler","_immediateRedoPlacement","iconAtlasImage","glyphAtlasImage","reloadSymbolData","placementSource","invoke","uploaded","queryRadius","sourceLayer","clearMask","deepEqual","mask","parseCacheControl","stop","../data/bucket","../data/bucket/symbol_bucket","../data/feature_index","../data/index_array_type","../data/segment","../gl/index_buffer","../symbol/collision_box","../symbol/collision_tile","../util/throttler","112","validateBounds","../geo/lng_lat_bounds","113","edge","x0","y0","dx","dy","scanSpans","scanTriangle","@mapbox/whoots-js","114","VectorTileSource","reloadCallback","115","WorkerTile","VectorTileWorkerSource","actor","layerIndex","loading","removeTile","result","transferables","./worker_tile","116","VideoSource","urls","getVideo","loop","readyState","117","Actor","StyleLayerIndex","globalRTLTextPlugin","layerIndexes","workerSourceTypes","workerSources","registerWorkerSource","registerRTLTextPlugin","setLayers","getLayerIndex","updateLayers","removedIds","symbolOrder","getWorkerSource","loadWorkerSource","importScripts","loadRTLTextPlugin","../style/style_layer_index","../util/actor","./geojson_worker_source","./rtl_text_plugin","118","recalculateLayers","recalculate","serializeBuckets","symbolBuckets","familiesBySource","encode","visibility","mapObject","stacks","icons","../render/glyph_atlas","../render/image_atlas","119","refProperties","./util/ref_properties","120","diffLayerPropertyChanges","isEqual","args","pluckId","indexById","operations","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","setGeoJSONSourceData","setLayerZoomRange","setLayerProperty","setCenter","setZoom","setBearing","setPitch","setSprite","setGlyphs","setTransition","setLight","sprite","transition","warn","lodash.isequal","121","__line__","122","ParsingContext","CompoundExpression","key","_evaluate","evaluate","eachChild","definitions","overloads","path","scope","checkSubtype","errors","register","varargs","./evaluation_context","./parsing_context","./types","123","ValueType","StringType","NumberType","BooleanType","typeOf","RuntimeError","ArrayAssertion","../runtime_error","../types","../values","124","ObjectType","ref$1","Assertion","125","At","expectedType","itemType","126","Case","branches","otherwise","kind","127","Coalesce","128","ColorType","Color","validateRGBA","unwrap","to-number","to-color","Coercion","parseColor","129","exponentialInterpolation","interpolate","Curve","interpolation","labels","outputs","interpolationFactor","base","controlPoints","unshift","../../util/interpolate","@mapbox/unitbezier","130","rgba","eq","ne","lt","gt","lteq","gteq","NullType","ErrorType","Let","Var","Literal","Match","expressions","let","var","literal","at","case","coalesce","curve","typeof","to-string","to-boolean","to-rgba","rgb","geometry-type","geometryType","globals","heatmap-density","heatmapDensity","ln2","pi","log10","ln","log2","asin","acos","==","!=",">=","<=","all","any","upcase","downcase","../compound_expression","./array","./assertion","./at","./case","./coalesce","./coercion","./curve","./let","./literal","./match","./var","131","bindings","pushScope","popScope","132","isValue","133","inputType","cases","134","135","Scope","geometryTypes","EvaluationContext","_parseColorCache","../util/parse_color","./scope","./values","136","ParsingError","isConstant","createExpression","enum","handleErrors","isFeatureConstant","isGlobalPropertyConstant","context","isZoomConstant","parsed","findZoomCurve","function","zoomStops","isExpression","../function","./compound_expression","./definitions","./definitions/coalesce","./definitions/curve","./definitions/let","./is_constant","./parsing_error","137","138","./definitions/assertion","./definitions/coercion","./definitions/literal","./definitions/var","139","140","toJSON","141","142","valueMemberTypes","143","144","isExpressionFilter","compile","compileComparisonOp","compileLogicalOp","compileNegation","compileInOp","compileHasOp","compilePropertyReference","filterSpec","property-function","../expression","145","identityFunction","evaluateExponentialFunction","stops","findStopLessThanOrEqualTo","colorSpaces","createFunction","colorSpace","forward","../util/color_spaces","../util/extend","../util/get_type","../util/interpolate","146","147","./v8.json","148","$version","$root","required","metadata","period","units","source_tile","source_geojson","maximum","minimum","source_video","source_image","source_canvas","source-layer","paint.*","layout_background","visible","none","layout_fill","layout_circle","layout_heatmap","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","icon-padding","icon-keep-upright","icon-offset","icon-anchor","right","bottom","top-left","top-right","bottom-left","bottom-right","icon-pitch-alignment","text-pitch-alignment","text-rotation-alignment","text-font","text-size","text-max-width","text-line-height","text-letter-spacing","text-justify","text-anchor","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","!has","geometry_type","LineString","Polygon","expression","exponential","interval","categorical","lab","hcl","function_stop","expression_name","group","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-pitch-alignment","circle-stroke-width","circle-stroke-color","circle-stroke-opacity","paint_heatmap","heatmap-radius","heatmap-weight","heatmap-intensity","heatmap-color","heatmap-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","149","xyz2lab","t3","t2","t0","lab2xyz","t1","xyz2rgb","rgb2xyz","rgbToLab","Xn","Yn","Zn","labToRgb","deg2rad","rad2deg","150","151","152","vec2","153","parseColorString","csscolorparser","154","155","unbundle","valueOf","deep","deepUnbundle","156","ValidationError","constants","valueSpec","styleSpec","../error/validation_error","../util/unbundle_jsonlint","./validate_array","./validate_boolean","./validate_color","./validate_constants","./validate_enum","./validate_expression","./validate_filter","./validate_function","./validate_layer","./validate_light","./validate_number","./validate_object","./validate_source","./validate_string","157","validate","arrayElementValidator","arrayIndex","./validate","158","159","160","161","162","expressionContext","163","validateExpression","validateEnum","../feature_filter","164","validateObject","validateArray","validateNumber","objectElementValidators","isFinite","165","validateString","166","validateFilter","validatePaintProperty","validateLayoutProperty","layerType","./validate_layout_property","./validate_paint_property","167","validateProperty","./validate_property","168","169","170","validateSpec","objectKey","171","172","173","174","175","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","176","AnimationLoop","times","stopped","177","validateStyle","StyleDeclaration","StyleTransition","specifications","Light","_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","178","normalizeGlyphsURL","parseGlyphPBF","Glyphs","./parse_glyph_pbf","179","normalizeSpriteURL","SpriteJSON","SpriteImage","180","GLYPH_PBF_BORDER","181","getMaximumPaintValue","translateDistance","182","StyleLayer","loadSprite","mapbox","Dispatcher","getSourceType","setSourceType","QueryFeatures","getWorkerPool","deref","diff","supportedDiffOperations","ignoredDiffOperations","zoomHistory","_resetUpdates","_rtlTextPluginCallback","sourceId","_validateLayer","loadURL","isMapboxURL","normalizeStyleURL","_load","loadJSON","stylesheet","updatePaintProperties","_serializeLayers","_updatedSources","_applyPaintPropertyUpdates","_updatedAllPaintProps","_updatedPaintProps","updatePaintTransitions","updatePaintTransition","_recalculate","_updateZoomHistory","lastIntegerZoom","lastIntegerZoomTime","lastZoom","_checkLoaded","_changed","_updatedLayers","_removedLayers","_updatedSymbolOrder","_updateWorkerLayers","_reloadSource","_clearSource","setState","isSourceLoaded","_updateLayer","moveLayer","getFilter","getLayoutProperty","_flattenRenderedFeatures","addSourceType","workerSourceURL","_remove","_updateSources","_redoPlacement","../render/glyph_manager","../render/image_manager","../render/line_atlas","../source/query_features","../source/rtl_text_plugin","../source/source","../style-spec/deref","../style-spec/diff","../util/dispatcher","../util/global_worker_pool","./animation_loop","./light","./load_sprite","./style_layer","183","../style-spec/expression","../style-spec/expression/definitions/curve","../style-spec/function","../style-spec/util/parse_color","184","getDeclarationValue","_layoutSpecifications","_paintTransitions","_paintTransitionOptions","_paintDeclarations","_layoutDeclarations","_layoutFunctions","_updateLayoutValue","_applyPaintDeclaration","subclasses","./../style-spec/util/parse_color","./style_layer/background_style_layer","./style_layer/circle_style_layer","./style_layer/fill_extrusion_style_layer","./style_layer/fill_style_layer","./style_layer/heatmap_style_layer","./style_layer/line_style_layer","./style_layer/raster_style_layer","./style_layer/symbol_style_layer","185","BackgroundStyleLayer","../style_layer","186","multiPolygonIntersectsBufferedMultiPoint","CircleStyleLayer","../../data/bucket/circle_bucket","../../util/intersection_tests","../query_utils","187","multiPolygonIntersectsMultiPolygon","FillExtrusionStyleLayer","deleteFramebuffer","../../data/bucket/fill_extrusion_bucket","188","FillStyleLayer","oldTransition","../../data/bucket/fill_bucket","189","HeatmapStyleLayer","colorRampData","../../data/bucket/heatmap_bucket","../../util/image","190","getLineWidth","multiPolygonIntersectsBufferedMultiLine","LineStyleLayer","../../data/bucket/line_bucket","191","RasterStyleLayer","192","SymbolStyleLayer","getLayoutDeclaration","../../data/bucket/symbol_bucket","193","groupByLayout","_layerConfigs","../style-spec/group_by_layout","194","fakeZoomHistory","startTime","zoomTransitioned","_calculateTargetValue","easeCubicInOut","195","../style-spec/validate_style.min","196","197","angleDelta","shift","198","199","StructType","anchorPointX","anchorPointY","200","_addLineCollisionBoxes","201","intersectionTests","ignoredGrid","reverseRotationMatrix","tempCollisionBox","edges","bbox0","bbox1","bbox2","bbox3","offsetX","offsetY","unadjustedMaxScale","getPlacementScale","polygonIntersectsPolygon","../util/intersection_tests","202","checkMaxAngle","resample","../symbol/anchor","./check_max_angle","203","204","signedDistanceFromCamera","placeGlyphsAlongLine","lineOffsetX","lineOffsetY","numGlyphs","glyphStartIndex","lineStartIndex","lineLength","placeGlyphAlongLine","notEnoughRoom","needsFlipping","projectTruncatedLineSegment","placementZoom","hideGlyphs","offscreenPoint","anchorX","anchorY","evaluateSizeForFeature","./symbol_size","205","positionedGlyphs","../style/parse_glyph_pbf","206","calculateBadness","evaluateBreak","badness","priorBreak","determineLineBreaks","whitespace","breakable","charAllowsIdeographicBreaking","leastBadBreaks","getAnchorAlignment","horizontalAlign","verticalAlign","trim","charHasUprightVerticalOrientation","substring","../util/script_detection","../util/verticalize_punctuation","207","layoutSize","coveringStopValues","lowerSize","upperSize","208","toLocaleUpperCase","toLocaleLowerCase","209","DOM","handlers","boxZoom","dragRotate","dragPan","keyboard","doubleClickZoom","touchZoomRotate","mousePos","lngLat","originalEvent","touchPos","lngLats","getCanvasContainer","interactive","isActive","toElement","target","parentNode","touches","preventDefault","../util/dom","./handler/box_zoom","./handler/dblclick_zoom","./handler/drag_pan","./handler/drag_rotate","./handler/keyboard","./handler/scroll_zoom","./handler/touch_zoom_rotate","210","Camera","moving","_bearingSnap","bearingSnap","jumpTo","panBy","panTo","easeTo","zoomIn","zoomOut","getBearing","rotateTo","resetNorth","snapToNorth","getPitch","linear","easing","ease","smoothEasing","_smoothOutEasing","_normalizeBearing","_normalizeCenter","around","pitching","_prepareEase","noMoveStart","_onEaseEnd","_ease","_fireMoveEvents","delayEndEvents","_easeToEnd","speed","screenSpeed","maxDuration","isEasing","_abortFn","isMoving","_finishEase","_finishFn","timed","_prevEase","start","bezier","211","getDefaultPosition","compact","_map","_container","_updateAttributions","_updateEditLink","_updateData","_updateCompact","_editLink","querySelector","styleOwner","styleId","_hash","getHashString","owner","attribution","innerHTML","offsetWidth","../../util/config","../../util/dom","212","_fullscreen","_fullscreenchange","_className","_mapContainer","getContainer","_checkFullscreenSupport","_setupUI","display","removeEventListener","_changeIcon","fullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","webkitFullscreenEnabled","_fullscreenButton","_onClickFullscreen","_isFullscreen","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","toggle","exitFullscreen","mozCancelFullScreen","msExitFullscreen","webkitCancelFullScreen","requestFullscreen","mozRequestFullScreen","msRequestFullscreen","webkitRequestFullscreen","../../util/window","213","supportsGeolocation","defaultOptions","positionOptions","enableHighAccuracy","timeout","fitBoundsOptions","trackUserLocation","showUserLocation","className","permissions","then","geolocation","_geolocationWatchID","clearWatch","_userLocationDotMarker","_onSuccess","_lastKnownPosition","_watchState","_geolocateButton","_updateMarker","_updateCamera","_dotElement","_finish","accuracy","geolocateSource","setLngLat","addTo","_onError","_clearWatch","_timeoutId","_onClickGeolocate","watchPosition","getCurrentPosition","../../geo/lng_lat","../../util/evented","../marker","214","LogoControl","_updateLogo","_logoRequired","mapbox_logo","215","DragRotateHandler","_zoomInButton","_createButton","_zoomOutButton","_compass","_compassArrow","_rotateCompassArrow","_handler","button","element","pitchWithRotate","../handler/drag_rotate","216","setScale","_onMove","maxWidth","clientHeight","217","218","BoxZoomHandler","_el","isEnabled","_enabled","_active","_onMouseDown","shiftKey","_onMouseMove","_onKeyDown","_onMouseUp","disableDrag","_startPos","_box","_fireEvent","setTransform","boxZoomBounds","keyCode","enableDrag","../../geo/lng_lat_bounds","219","DoubleClickZoomHandler","_onDblClick","_onZoomEnd","220","inertiaEasing","DragPanHandler","_onDown","_ignoreEvent","_onTouchEnd","_pos","_inertia","_drainInertiaBuffer","_onUp","ctrlKey","221","_button","_pitchWithRotate","InstallTrigger","platform","capture","222","KeyboardHandler","altKey","metaKey","223","ua","firefox","safari","ScrollZoomHandler","_onWheel","_aroundCenter","deltaY","deltaMode","WheelEvent","DOM_DELTA_PIXEL","DOM_DELTA_LINE","wheelDeltaY","_time","_type","_lastValue","_timeout","_onTimeout","../../util/browser","224","TouchZoomRotateHandler","_onStart","disableRotation","_rotationDisabled","enableRotation","_startVec","_startScale","_startBearing","_gestureIntent","_onEnd","225","Hash","_onHashChange","_updateHash","hash","history","replaceState","226","removeChild","bindHandlers","attributionControl","preserveDrawingBuffer","trackResize","refreshExpiredTiles","maxTileCacheSize","transformRequest","_interactive","_failIfMajorPerformanceCaveat","_preserveDrawingBuffer","_trackResize","maxBounds","setMaxBounds","_setupContainer","_setupPainter","_update","_onWindowOnline","_onWindowResize","logoPosition","_onData","_onDataLoading","repaint","_controlPositions","insertBefore","firstChild","removeControl","_containerDimensions","_resizeCanvas","getBounds","getMaxBounds","setMinZoom","getMinZoom","setMaxZoom","getMaxZoom","listener","delegates","mousemove","mouseout","_delegatedListeners","_makeQueryGeometry","getStyle","isStyleLoaded","areTilesLoaded","loadImage","_canvasContainer","_canvas","offsetHeight","_missingCSSContainer","_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","./events","./hash","227","smartWrap","_offset","_element","_popup","_onMapClick","getLngLat","_lngLat","getElement","setPopup","togglePopup","getPopup","isOpen","../util/smart_wrap","228","closeButton","closeOnClick","_onClickClose","_content","setText","setDOMContent","setHTML","createDocumentFragment","_createContent","_closeButton","_tip","normalizeOffset","229","mapId","callbacks","callbackID","receive","postMessage","targetMapId","sourceMapId","./util","230","makeRequest","XMLHttpRequest","open","headers","setRequestHeader","withCredentials","credentials","Unknown","AJAXError","onerror","statusText","onload","response","responseType","getResponseHeader","revokeObjectURL","src","onloadstart","protocol","host","crossOrigin","./window","231","performance","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","msCancelAnimationFrame","drawImage","supportsWebp","webpImgTest","232","WebWorkify","workerURL","../../source/worker","../window","webworkify","233","234","quickselect","calculateSignedArea","235","API_URL","REQUIRE_ACCESS_TOKEN","236","_stringToNumber","_numberToString","237","workerPool","actors","currentActor","acquire","release","./actor","238","testProp","docStyle","userSelect","documentElement","selectProp","transformProp","suppressClick","stopPropagation","getBoundingClientRect","clientX","clientLeft","clientY","clientTop","changedTouches","239","_addEventListener","_removeEventListener","_listeners","_oneTimeListeners","listens","_eventedParent","_eventedParentData","240","Cell","distToSegmentSquared","SQRT2","Queue","./intersection_tests","tinyqueue","241","globalWorkerPool","WorkerPool","./worker_pool","242","createImage","RangeError","resizeImage","copyImage","243","lineIntersectsLine","isCounterClockwise","pointIntersectsBufferedLine","multiPolygonContainsPoint","polygonContainsPoint","244","Latin-1 Supplement","Arabic","Arabic Supplement","Arabic Extended-A","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","Arabic Presentation Forms-A","Vertical Forms","CJK Compatibility Forms","Small Form Variants","Arabic Presentation Forms-B","Halfwidth and Fullwidth Forms","245","LRUCache","order","246","makeAPIURL","parseUrl","authority","formatUrl","help","urlRe","imageExtensionRe","./browser","./config","247","allowsIdeographicBreaking","charAllowsLetterSpacing","charHasNeutralVerticalOrientation","charHasRotatedVerticalOrientation","./is_char_in_unicode_block","248","249","align","sizeOf","viewTypes","BYTES_PER_ELEMENT","getArrayViewName","structArrayTypeCache","Struct","StructArray","_usedTypes","Int8Array","Uint16Array","Uint32Array","_structArray","_pos1","_pos2","_pos4","_pos8","isTransferred","capacity","_refreshViews","_trim","uint8","250","frequency","throttledFunction","lastInvocation","pendingInvocation","251","252","warnOnceHistory","isClosedPolygon","253","Feature","_vectorTileFeature","_z","_x","_y","254","¢","£","¥","¦","¬","¯","–","—","‘","’","“","”","…","‧","₩","、","。","〈","〉","《","》","「","」","『","』","【","】","〔","〕","〖","〗","!","(",")",",","-",".",":",";","<",">","?","[","]","_","{","|","}","⦅","⦆","。","「","」","./script_detection","255","WebWorker","active","workers","terminate","../","./web_worker","selected","__WEBPACK_AMD_DEFINE_RESULT__","body","defaultOkLabel","okLabel","defaultCancelLabel","cancelLabel","defaultMaxLogItems","maxLogItems","promptValue","promptPlaceholder","closeLogOnClick","closeLogOnClickDefault","defaultDelay","logContainerClass","logContainerDefaultClass","dialogs","buttons","holder","ok","defaultDialogs","build","setCloseLogOnClick","close","dialog","onOkay","onCancel","querySelectorAll","notify","setLogPosition","setupLogContainer","logTemplateMethod","buttonClicked","inputValue","event","which","click","textContent","placeholder","Promise","focus","okBtn","setDelay","cancelBtn","setMaxLogItems","theme","injectCSS","getElementsByTagName","removeCSS","_$$alertify","alert","confirm","prompt","success","defaultValue","logPosition","setLogTemplate","clearLogs","obj","_newnoteButton2","_persistForm2","disabled","_newnoteGetlocation2","mapDiv","_nearbyPlaces2","fetch","method","_alertify2","error_description","_mapboxUtils2","flexboxDiv","makeOptionsForForm","newPlaceForm","_newplaceMicropub2","catch","selectElement","noLocationOption","geoLocationOption","parsedCoords","optionLatitude","selectedIndex","optionLongitude","webpackPolyfill","paths","newLocationButton","newPlaceNameDiv","newPlaceNameLabel","newPlaceNameInput","newPlaceDescDiv","newPlaceDescLabel","newPlaceDescInput","newPlaceLatitudeDiv","newPlaceLatitudeLabel","newPlaceLatitudeInput","newPlaceLongitudeDiv","newPlaceLongitudeLabel","newPlaceLongitudeInput","newPlaceSubmit","_submitPlace2","form","formData","FormData","append","placeJson","newPlaceButton","newFeatures","item","newSource","newlyCreatedPlaceOption","placeError","saveData","clearData","_webStorage2","getItem","replyTo","content","setItem","removeItem","_createClass","props","descriptor","Constructor","protoProps","staticProps","_grEventDispatcher2","_removePrefix2","_trim2","_extend2","_isStorageSupported2","_createKeyPrefix2","_iterateStorage2","defaultConfig","driver","localStorage","WebStorage","instance","TypeError","storeKeyPrefix","_item","dispatchEvent","clearAll","keysArr","counter","iterationNumber","_key","_value","items","totalSize","__WEBPACK_AMD_DEFINE_FACTORY__","definition","nonExtensible","eventDispatcherPrototype","hasEventListener","listenerArray","str","prefix","_obj_extend","storageType","dummy","_keyBelongsToDb2","_beginsWith2"],"mappings":"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,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,IAAAwW,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,GAA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AA,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,IAAAr1C,GAAA,IAAA,EAAA,GAAA,EAAA,GAAA,GAAA,EAAA,EAAA,GAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,GAAA,IAAAk3B,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,GAAA,GAAA,GAAA,GAAA,GAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,EAAA,IAAAY,GAAA,IAAA,GA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","file":"public/assets/js/newnote.js.map","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 \t\t}\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// 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 = 7);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 309be73619105250ffef","//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 let source = map.getSource('points');\n map.setStyle('mapbox://styles/mapbox/' + option + '-v9');\n map.on('style.load', function () {\n map.addLayer({\n 'id': 'points',\n 'type': 'symbol',\n 'source': {\n 'type': 'geojson',\n 'data': source._data\n },\n 'layout': {\n 'icon-image': '{icon}-15',\n 'text-field': '{title}',\n 'text-offset': [0, 1]\n }\n });\n });\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 data;\n let dataLatitude = div.dataset.latitude;\n let dataLongitude = div.dataset.longitude;\n let dataName = div.dataset.name;\n let dataMarker = div.dataset.marker;\n if (dataMarker == '') {\n dataMarker = 'circle';\n }\n if (dataName == 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 } else {\n data = {\n 'type': 'FeatureCollection',\n 'features': [{\n 'type': 'Feature',\n 'geometry': {\n 'type': 'Point',\n 'coordinates': [dataLongitude, dataLatitude]\n },\n 'properties': {\n 'title': dataName,\n 'icon': dataMarker,\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.addLayer({\n 'id': 'points',\n 'type': 'symbol',\n 'source': {\n 'type': 'geojson',\n 'data': data\n },\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","(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;oh.maxh||t>h.maxw||i<=h.maxh&&t<=h.maxw&&(r=h.maxw*h.maxh-t*i)n.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.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,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},{}],4:[function(_dereq_,module,exports){\n\"use strict\";function TinySDF(t,i,s,e,h,r){this.fontSize=t||24,this.buffer=void 0===i?3:i,this.cutoff=e||.25,this.fontFamily=h||\"sans-serif\",this.fontWeight=r||\"normal\",this.radius=s||8;var a=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=a,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.d=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Int16Array(a),this.middle=Math.round(a/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1))}function edt(t,i,s,e,h,r,a){for(var n=0;nr)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},{}],6:[function(_dereq_,module,exports){\nmodule.exports.VectorTile=_dereq_(\"./lib/vectortile.js\"),module.exports.VectorTileFeature=_dereq_(\"./lib/vectortilefeature.js\"),module.exports.VectorTileLayer=_dereq_(\"./lib/vectortilelayer.js\");\n},{\"./lib/vectortile.js\":7,\"./lib/vectortilefeature.js\":8,\"./lib/vectortilelayer.js\":9}],7:[function(_dereq_,module,exports){\n\"use strict\";function VectorTile(e,r){this.layers=e.readFields(readTile,{},r)}function readTile(e,r,i){if(3===e){var t=new VectorTileLayer(i,i.readVarint()+i.pos);t.length&&(r[t.name]=t)}}var VectorTileLayer=_dereq_(\"./vectortilelayer\");module.exports=VectorTile;\n},{\"./vectortilelayer\":9}],8:[function(_dereq_,module,exports){\n\"use strict\";function VectorTileFeature(e,t,r,a,i){this.properties={},this.extent=r,this.type=0,this._pbf=e,this._geometry=-1,this._keys=a,this._values=i,e.readFields(readFeature,this,t)}function readFeature(e,t,r){1==e?t.id=r.readVarint():2==e?readTag(r,t):3==e?t.type=r.readVarint():4==e&&(t._geometry=r.pos)}function readTag(e,t){for(var r=e.readVarint()+e.pos;e.pos>3}if(i--,1===a||2===a)o+=e.readSVarint(),n+=e.readSVarint(),1===a&&(t&&s.push(t),t=[]),t.push(new Point(o,n));else{if(7!==a)throw new Error(\"unknown command \"+a);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,a=0,i=0,o=0,n=1/0,s=-1/0,p=1/0,h=-1/0;e.pos>3}if(a--,1===r||2===r)i+=e.readSVarint(),o+=e.readSVarint(),is&&(s=i),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 a(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=_dereq_(\"./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\":8}],10:[function(_dereq_,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){return s=s||{},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(\"&\")}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);return[e*r-2*Math.PI*6378137/2,t*r-2*Math.PI*6378137/2]}e.getURL=t,e.getTileBBox=o,e.getMercCoords=r,Object.defineProperty(e,\"__esModule\",{value:!0})});\n},{}],11:[function(_dereq_,module,exports){\nfunction clamp_css_byte(e){return e=Math.round(e),e<0?0:e>255?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(-1!==a&&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},{}],12:[function(_dereq_,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.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)===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},{}],13:[function(_dereq_,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=_dereq_(\"geojson-area\");module.exports=rewind;\n},{\"geojson-area\":13}],15:[function(_dereq_,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=_dereq_(\"./feature\");\n},{\"./feature\":17}],16:[function(_dereq_,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},{}],20:[function(_dereq_,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){signedArea(e)<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:1/0*(s?-1:1);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},{}],25:[function(_dereq_,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},{}],27:[function(_dereq_,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);select(t,a,o,Math.max(s,Math.floor(o-p*m/f+n)),Math.min(r,Math.floor(o+(f-p)*m/f+n)),e)}var c=a[2*o+e],h=s,i=r;for(swapItem(t,a,s,o),a[2*r+e]>c&&swapItem(t,a,s,r);hc;)i--}a[2*s+e]===c?swapItem(t,a,s,i):(i++,swapItem(t,a,i,r)),i<=o&&(s=i+1),o<=i&&(r=i-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},{}],28:[function(_dereq_,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},{}],29:[function(_dereq_,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},{}],33:[function(_dereq_,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},{}],34:[function(_dereq_,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=_dereq_(\"lodash._baseisequal\"),bindCallback=_dereq_(\"lodash._bindcallback\");module.exports=isEqual;\n},{\"lodash._baseisequal\":29,\"lodash._bindcallback\":30}],35:[function(_dereq_,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},{}],36:[function(_dereq_,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>4,s<128)return toNum(t,r,i);if(s=n[e.pos++],r|=(127&s)<<3,s<128)return toNum(t,r,i);if(s=n[e.pos++],r|=(127&s)<<10,s<128)return toNum(t,r,i);if(s=n[e.pos++],r|=(127&s)<<17,s<128)return toNum(t,r,i);if(s=n[e.pos++],r|=(127&s)<<24,s<128)return toNum(t,r,i);if(s=n[e.pos++],r|=(1&s)<<31,s<128)return toNum(t,r,i);throw new Error(\"Expected varint not more than 10 bytes\")}function readPackedEnd(t){return t.type===Pbf.Bytes?t.readVarint()+t.pos:t.pos+1}function toNum(t,i,e){return e?4294967296*i+(t>>>0):4294967296*(i>>>0)+(t>>>0)}function writeBigVarint(t,i){var e,r;if(t>=0?(e=t%4294967296|0,r=t/4294967296|0):(e=~(-t%4294967296),r=~(-t/4294967296),4294967295^e?e=e+1|0:(e=0,r=r+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");i.realloc(10),writeBigVarintLow(e,r,i),writeBigVarintHigh(r,i)}function writeBigVarintLow(t,i,e){e.buf[e.pos++]=127&t|128,t>>>=7,e.buf[e.pos++]=127&t|128,t>>>=7,e.buf[e.pos++]=127&t|128,t>>>=7,e.buf[e.pos++]=127&t|128,t>>>=7,e.buf[e.pos]=127&t}function writeBigVarintHigh(t,i){var e=(7&t)<<4;i.buf[i.pos++]|=e|((t>>>=3)?128:0),t&&(i.buf[i.pos++]=127&t|((t>>>=7)?128:0),t&&(i.buf[i.pos++]=127&t|((t>>>=7)?128:0),t&&(i.buf[i.pos++]=127&t|((t>>>=7)?128:0),t&&(i.buf[i.pos++]=127&t|((t>>>=7)?128:0),t&&(i.buf[i.pos++]=127&t)))))}function makeRoomForExtraLength(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>>8,t[e+2]=i>>>16,t[e+3]=i>>>24}function readInt32(t,i){return(t[i]|t[i+1]<<8|t[i+2]<<16)+(t[i+3]<<24)}function readUtf8(t,i,e){for(var r=\"\",s=i;s239?4:n>223?3:n>191?2:1;if(s+a>e)break;var h,u,f;1===a?n<128&&(o=n):2===a?128==(192&(h=t[s+1]))&&(o=(31&n)<<6|63&h)<=127&&(o=null):3===a?(h=t[s+1],u=t[s+2],128==(192&h)&&128==(192&u)&&((o=(15&n)<<12|(63&h)<<6|63&u)<=2047||o>=55296&&o<=57343)&&(o=null)):4===a&&(h=t[s+1],u=t[s+2],f=t[s+3],128==(192&h)&&128==(192&u)&&128==(192&f)&&((o=(15&n)<<18|(63&h)<<12|(63&u)<<6|63&f)<=65535||o>=1114112)&&(o=null)),null===o?(o=65533,a=1):o>65535&&(o-=65536,r+=String.fromCharCode(o>>>10&1023|55296),o=56320|1023&o),r+=String.fromCharCode(o),s+=a}return r}function writeUtf8(t,i,e){for(var r,s,n=0;n55295&&r<57344){if(!s){r>56319||n+1===i.length?(t[e++]=239,t[e++]=191,t[e++]=189):s=r;continue}if(r<56320){t[e++]=239,t[e++]=191,t[e++]=189,s=r;continue}r=s-55296<<10|r-56320|65536,s=null}else s&&(t[e++]=239,t[e++]=191,t[e++]=189,s=null);r<128?t[e++]=r:(r<2048?t[e++]=r>>6|192:(r<65536?t[e++]=r>>12|224:(t[e++]=r>>18|240,t[e++]=r>>12&63|128),t[e++]=r>>6&63|128),t[e++]=63&r|128)}return e}module.exports=Pbf;var ieee754=_dereq_(\"ieee754\");Pbf.Varint=0,Pbf.Fixed64=1,Pbf.Bytes=2,Pbf.Fixed32=5;var SHIFT_LEFT_32=4294967296,SHIFT_RIGHT_32=1/SHIFT_LEFT_32;Pbf.prototype={destroy:function(){this.buf=null},readFields:function(t,i,e){for(e=e||this.length;this.pos>3,n=this.pos;this.type=7&r,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=readUInt32(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=readInt32(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=readUInt32(this.buf,this.pos)+readUInt32(this.buf,this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readSFixed64:function(){var t=readUInt32(this.buf,this.pos)+readInt32(this.buf,this.pos+4)*SHIFT_LEFT_32;return this.pos+=8,t},readFloat:function(){var t=ieee754.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=ieee754.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var i,e,r=this.buf;return e=r[this.pos++],i=127&e,e<128?i:(e=r[this.pos++],i|=(127&e)<<7,e<128?i:(e=r[this.pos++],i|=(127&e)<<14,e<128?i:(e=r[this.pos++],i|=(127&e)<<21,e<128?i:(e=r[this.pos],i|=(15&e)<<28,readVarintRemainder(i,t,this)))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,i=readUtf8(this.buf,this.pos,t);return this.pos=t,i},readBytes:function(){var t=this.readVarint()+this.pos,i=this.buf.subarray(this.pos,t);return this.pos=t,i},readPackedVarint:function(t,i){var e=readPackedEnd(this);for(t=t||[];this.pos127;);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||t<0)return void writeBigVarint(t,this);this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),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),this.realloc(4*t.length),this.pos++;var i=this.pos;this.pos=writeUtf8(this.buf,t,this.pos);var e=this.pos-i;e>=128&&makeRoomForExtraLength(i,e,this),this.pos=i-1,this.writeVarint(e),this.pos+=e},writeFloat:function(t){this.realloc(4),ieee754.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),ieee754.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var i=t.length;this.writeVarint(i),this.realloc(i);for(var e=0;e=128&&makeRoomForExtraLength(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},{\"ieee754\":24}],39:[function(_dereq_,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 r=1;rr;){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);partialSort(a,t,Math.max(r,Math.floor(t-e*s/f+i)),Math.min(o,Math.floor(t+(f-e)*s/f+i)),p)}var n=a[t],h=r,u=o;for(swap(a,r,t),p(a[o],n)>0&&swap(a,r,o);h0;)u--}0===p(a[r],n)?swap(a,r,u):(u++,swap(a,u,o)),u<=t&&(r=u+1),t<=u&&(o=u-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},{}],41:[function(_dereq_,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,n,o,i){return{x:t,y:e,zoom:1/0,id:o,properties:i,parentId:-1,numPoints:n}}function createPointCluster(t,e){var n=t.geometry.coordinates;return{x:lngX(n[0]),y:latY(n[1]),zoom:1/0,id:e,parentId:-1}}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,n=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return extend(extend({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:n})}function lngX(t){return t/360+.5}function latY(t){var e=Math.sin(t*Math.PI/180),n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n<0?0:n>1?1:n}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 n in e)t[n]=e[n];return t}function getX(t){return t.x}function getY(t){return t.y}var kdbush=_dereq_(\"kdbush\");module.exports=supercluster,SuperCluster.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time(\"total time\");var n=\"prepare \"+t.length+\" points\";e&&console.time(n),this.points=t;var o=t.map(createPointCluster);e&&console.timeEnd(n);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var r=+Date.now();this.trees[i+1]=kdbush(o,getX,getY,this.options.nodeSize,Float32Array),o=this._cluster(o,i),e&&console.log(\"z%d: %d clusters in %dms\",i,o.length,+Date.now()-r)}return this.trees[this.options.minZoom]=kdbush(o,getX,getY,this.options.nodeSize,Float32Array),e&&console.timeEnd(\"total time\"),this},getClusters:function(t,e){for(var n=this.trees[this._limitZoom(e)],o=n.range(lngX(t[0]),latY(t[3]),lngX(t[2]),latY(t[1])),i=[],r=0;r0)for(var e=this.length>>1;e>=0;e--)this._down(e)}function defaultCompare(t,i){return ti?1:0}module.exports=TinyQueue,TinyQueue.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var i=this.data,e=this.compare,h=i[t];t>0;){var n=t-1>>1,a=i[n];if(e(h,a)>=0)break;i[t]=a,t=n}i[t]=h},_down:function(t){for(var i=this.data,e=this.compare,h=this.length,n=h>>1,a=i[t];t=0)break;i[t]=r,t=s}i[t]=a}};\n},{}],43:[function(_dereq_,module,exports){\n\"function\"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t};\n},{}],44:[function(_dereq_,module,exports){\nmodule.exports=function(o){return o&&\"object\"==typeof o&&\"function\"==typeof o.copy&&\"function\"==typeof o.fill&&\"function\"==typeof o.readUInt8};\n},{}],45:[function(_dereq_,module,exports){\n(function (process,global){\nfunction inspect(e,r){var t={seen:[],stylize:stylizeNoColor};return arguments.length>=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)){c=\" [Function\"+(r.name?\": \"+r.name:\"\")+\"]\"}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 p;return p=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(p,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;return e.reduce(function(e,r){return n++,r.indexOf(\"\\n\")>=0&&n++,e+r.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>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||void 0===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>31}function writeGeometry(e,r){for(var t=e.loadGeometry(),i=e.type,a=0,o=0,n=t.length,l=0;l=EXTENT||c<0||c>=EXTENT)){var l=t.segments.prepareSegment(4,t.layoutVertexArray,t.indexArray),p=l.vertexLength;addCircleVertex(t.layoutVertexArray,s,c,-1,-1),addCircleVertex(t.layoutVertexArray,s,c,1,-1),addCircleVertex(t.layoutVertexArray,s,c,1,1),addCircleVertex(t.layoutVertexArray,s,c,-1,1),t.indexArray.emplaceBack(p,p+1,p+2),t.indexArray.emplaceBack(p,p+3,p+2),l.vertexLength+=4,l.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)},CircleBucket.programInterface=circleInterface,module.exports=CircleBucket;\n},{\"../../gl/index_buffer\":71,\"../../gl/vertex_buffer\":72,\"../extent\":58,\"../index_array_type\":60,\"../load_geometry\":61,\"../program_configuration\":63,\"../segment\":65,\"../vertex_array_type\":66}],53:[function(_dereq_,module,exports){\n\"use strict\";var ref=_dereq_(\"../segment\"),SegmentVector=ref.SegmentVector,VertexBuffer=_dereq_(\"../../gl/vertex_buffer\"),IndexBuffer=_dereq_(\"../../gl/index_buffer\"),ref$1=_dereq_(\"../program_configuration\"),ProgramConfigurationSet=ref$1.ProgramConfigurationSet,createVertexArrayType=_dereq_(\"../vertex_array_type\"),ref$2=_dereq_(\"../index_array_type\"),LineIndexArray=ref$2.LineIndexArray,TriangleIndexArray=ref$2.TriangleIndexArray,loadGeometry=_dereq_(\"../load_geometry\"),earcut=_dereq_(\"earcut\"),classifyRings=_dereq_(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillInterface={layoutAttributes:[{name:\"a_pos\",components:2,type:\"Int16\"}],indexArrayType:TriangleIndexArray,indexArrayType2:LineIndexArray,paintAttributes:[{property:\"fill-color\"},{property:\"fill-outline-color\"},{property:\"fill-opacity\"}]},LayoutVertexArrayType=createVertexArrayType(fillInterface.layoutAttributes),FillBucket=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.layoutVertexArray=new LayoutVertexArrayType(e.layoutVertexArray),this.indexArray=new TriangleIndexArray(e.indexArray),this.indexArray2=new LineIndexArray(e.indexArray2),this.programConfigurations=new ProgramConfigurationSet(fillInterface,e.layers,e.zoom,e.programConfigurations),this.segments=new SegmentVector(e.segments),this.segments2=new SegmentVector(e.segments2)};FillBucket.prototype.populate=function(e,r){for(var t=this,i=0,a=e;iEXTENT)||e.y===r.y&&(e.y<0||e.y>EXTENT)}var ref=_dereq_(\"../segment\"),SegmentVector=ref.SegmentVector,MAX_VERTEX_ARRAY_LENGTH=ref.MAX_VERTEX_ARRAY_LENGTH,VertexBuffer=_dereq_(\"../../gl/vertex_buffer\"),IndexBuffer=_dereq_(\"../../gl/index_buffer\"),ref$1=_dereq_(\"../program_configuration\"),ProgramConfigurationSet=ref$1.ProgramConfigurationSet,createVertexArrayType=_dereq_(\"../vertex_array_type\"),ref$2=_dereq_(\"../index_array_type\"),TriangleIndexArray=ref$2.TriangleIndexArray,loadGeometry=_dereq_(\"../load_geometry\"),EXTENT=_dereq_(\"../extent\"),earcut=_dereq_(\"earcut\"),classifyRings=_dereq_(\"../../util/classify_rings\"),EARCUT_MAX_RINGS=500,fillExtrusionInterface={layoutAttributes:[{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal\",components:3,type:\"Int16\"},{name:\"a_edgedistance\",components:1,type:\"Int16\"}],indexArrayType:TriangleIndexArray,paintAttributes:[{property:\"fill-extrusion-base\"},{property:\"fill-extrusion-height\"},{property:\"fill-extrusion-color\"}]},FACTOR=Math.pow(2,13),LayoutVertexArrayType=createVertexArrayType(fillExtrusionInterface.layoutAttributes),FillExtrusionBucket=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.layoutVertexArray=new LayoutVertexArrayType(e.layoutVertexArray),this.indexArray=new TriangleIndexArray(e.indexArray),this.programConfigurations=new ProgramConfigurationSet(fillExtrusionInterface,e.layers,e.zoom,e.programConfigurations),this.segments=new SegmentVector(e.segments)};FillExtrusionBucket.prototype.populate=function(e,r){for(var t=this,a=0,i=e;a=1){var h=f[p-1];if(!isBoundaryEdge(d,h)){y.vertexLength+4>MAX_VERTEX_ARRAY_LENGTH&&(y=t.segments.prepareSegment(4,t.layoutVertexArray,t.indexArray));var A=d.sub(h)._perp()._unit();addVertex(t.layoutVertexArray,d.x,d.y,A.x,A.y,0,0,g),addVertex(t.layoutVertexArray,d.x,d.y,A.x,A.y,0,1,g),g+=h.dist(d),addVertex(t.layoutVertexArray,h.x,h.y,A.x,A.y,0,0,g),addVertex(t.layoutVertexArray,h.x,h.y,A.x,A.y,0,1,g);var c=y.vertexLength;t.indexArray.emplaceBack(c,c+1,c+2),t.indexArray.emplaceBack(c+1,c+2,c+3),y.vertexLength+=4,y.primitiveLength+=2}}}}y.vertexLength+o>MAX_VERTEX_ARRAY_LENGTH&&(y=t.segments.prepareSegment(o,t.layoutVertexArray,t.indexArray));for(var m=[],V=[],E=y.vertexLength,_=0,v=n;_>6)}var ref=_dereq_(\"../segment\"),SegmentVector=ref.SegmentVector,VertexBuffer=_dereq_(\"../../gl/vertex_buffer\"),IndexBuffer=_dereq_(\"../../gl/index_buffer\"),ref$1=_dereq_(\"../program_configuration\"),ProgramConfigurationSet=ref$1.ProgramConfigurationSet,createVertexArrayType=_dereq_(\"../vertex_array_type\"),ref$2=_dereq_(\"../index_array_type\"),TriangleIndexArray=ref$2.TriangleIndexArray,loadGeometry=_dereq_(\"../load_geometry\"),EXTENT=_dereq_(\"../extent\"),vectorTileFeatureTypes=_dereq_(\"@mapbox/vector-tile\").VectorTileFeature.types,EXTRUDE_SCALE=63,COS_HALF_SHARP_CORNER=Math.cos(Math.PI/180*37.5),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={layoutAttributes:[{name:\"a_pos_normal\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],paintAttributes:[{property:\"line-color\"},{property:\"line-blur\"},{property:\"line-opacity\"},{property:\"line-gap-width\",name:\"gapwidth\"},{property:\"line-offset\"},{property:\"line-width\"},{property:\"line-width\",name:\"floorwidth\",useIntegerZoom:!0}],indexArrayType:TriangleIndexArray},LayoutVertexArrayType=createVertexArrayType(lineInterface.layoutAttributes),LineBucket=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.index=e.index,this.layoutVertexArray=new LayoutVertexArrayType(e.layoutVertexArray),this.indexArray=new TriangleIndexArray(e.indexArray),this.programConfigurations=new ProgramConfigurationSet(lineInterface,e.layers,e.zoom,e.programConfigurations),this.segments=new SegmentVector(e.segments)};LineBucket.prototype.populate=function(e,t){for(var r=this,i=0,a=e;i=2&&e[u-1].equals(e[u-2]);)u--;for(var d=0;dd){var T=p.dist(_);if(T>2*l){var B=p.sub(p.sub(_)._mult(l/T)._round());s.distance+=B.dist(_),s.addCurrentVertex(B,s.distance,v.mult(1),0,0,!1,h),_=B}}var b=_&&A,N=b?r:A?x:m;if(b&&\"round\"===N&&(Sa&&(N=\"bevel\"),\"bevel\"===N&&(S>2&&(N=\"flipbevel\"),S100)L=V.clone().mult(-1);else{var k=v.x*V.y-v.y*V.x>0?-1:1,R=S*v.add(V).mag()/v.sub(V).mag();L._perp()._mult(R*k)}s.addCurrentVertex(p,s.distance,L,0,0,!1,h),s.addCurrentVertex(p,s.distance,L.mult(-1),0,0,!1,h)}else if(\"bevel\"===N||\"fakeround\"===N){var F=v.x*V.y-v.y*V.x>0,q=-Math.sqrt(S*S-1);if(F?(f=0,c=q):(c=0,f=q),g||s.addCurrentVertex(p,s.distance,v,c,f,!1,h),\"fakeround\"===N){for(var P=Math.floor(8*(.5-(E-.5))),z=void 0,w=0;w=0;D--)z=v.mult((D+1)/(P+1))._add(V)._unit(),s.addPieSliceVertex(p,s.distance,z,F,h)}A&&s.addCurrentVertex(p,s.distance,V,-c,-f,!1,h)}else\"butt\"===N?(g||s.addCurrentVertex(p,s.distance,v,0,0,!1,h),A&&s.addCurrentVertex(p,s.distance,V,0,0,!1,h)):\"square\"===N?(g||(s.addCurrentVertex(p,s.distance,v,1,1,!1,h),s.e1=s.e2=-1),A&&s.addCurrentVertex(p,s.distance,V,-1,-1,!1,h)):\"round\"===N&&(g||(s.addCurrentVertex(p,s.distance,v,0,0,!1,h),s.addCurrentVertex(p,s.distance,v,1,1,!0,h),s.e1=s.e2=-1),A&&(s.addCurrentVertex(p,s.distance,V,-1,-1,!0,h),s.addCurrentVertex(p,s.distance,V,0,0,!1,h)));if(I&&C2*l){var O=p.add(A.sub(p)._mult(l/M)._round());s.distance+=O.dist(p),s.addCurrentVertex(O,s.distance,V.mult(1),0,0,!1,h),p=O}}g=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)}},LineBucket.prototype.addCurrentVertex=function(e,t,r,i,a,n,s){var o,u=this.layoutVertexArray,d=this.indexArray;o=r.clone(),i&&o._sub(r.perp()._mult(i)),addLineVertex(u,e,o,n,!1,i,t),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(d.emplaceBack(this.e1,this.e2,this.e3),s.primitiveLength++),this.e1=this.e2,this.e2=this.e3,o=r.mult(-1),a&&o._sub(r.perp()._mult(a)),addLineVertex(u,e,o,n,!0,-a,t),this.e3=s.vertexLength++,this.e1>=0&&this.e2>=0&&(d.emplaceBack(this.e1,this.e2,this.e3),s.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,s))},LineBucket.prototype.addPieSliceVertex=function(e,t,r,i,a){r=r.mult(i?-1:1);var n=this.layoutVertexArray,s=this.indexArray;addLineVertex(n,e,r,!1,i,0,t),this.e3=a.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),a.primitiveLength++),i?this.e2=this.e3:this.e1=this.e3},LineBucket.programInterface=lineInterface,module.exports=LineBucket;\n},{\"../../gl/index_buffer\":71,\"../../gl/vertex_buffer\":72,\"../extent\":58,\"../index_array_type\":60,\"../load_geometry\":61,\"../program_configuration\":63,\"../segment\":65,\"../vertex_array_type\":66,\"@mapbox/vector-tile\":6}],57:[function(_dereq_,module,exports){\n\"use strict\";function addVertex(e,t,o,r,a,i,n,l){e.emplaceBack(t,o,Math.round(64*r),Math.round(64*a),i,n,l?l[0]:void 0,l?l[1]:void 0)}function addDynamicAttributes(e,t,o,r){var a=2*Math.PI,i=packUint8ToFloat((o+a)%a/a*255,10*r);e.emplaceBack(t.x,t.y,i),e.emplaceBack(t.x,t.y,i),e.emplaceBack(t.x,t.y,i),e.emplaceBack(t.x,t.y,i)}function addCollisionBoxVertex(e,t,o,r,a,i){return e.emplaceBack(t.x,t.y,o.x,o.y,Math.round(r.x),Math.round(r.y),10*a,10*i)}function getSizeVertexData(e,t,o,r,a){if(\"source\"===o.functionType)return[10*e.getLayoutValue(r,{},a)];if(\"composite\"===o.functionType){var i=o.coveringZoomRange;return[10*e.getLayoutValue(r,{zoom:i[0]},a),10*e.getLayoutValue(r,{zoom:i[1]},a)]}return null}var Point=_dereq_(\"@mapbox/point-geometry\"),ref=_dereq_(\"../segment\"),SegmentVector=ref.SegmentVector,VertexBuffer=_dereq_(\"../../gl/vertex_buffer\"),IndexBuffer=_dereq_(\"../../gl/index_buffer\"),ref$1=_dereq_(\"../program_configuration\"),ProgramConfigurationSet=ref$1.ProgramConfigurationSet,createVertexArrayType=_dereq_(\"../vertex_array_type\"),ref$2=_dereq_(\"../index_array_type\"),TriangleIndexArray=ref$2.TriangleIndexArray,LineIndexArray=ref$2.LineIndexArray,EXTENT=_dereq_(\"../extent\"),ref$3=_dereq_(\"../../shaders/encode_attribute\"),packUint8ToFloat=ref$3.packUint8ToFloat,Anchor=_dereq_(\"../../symbol/anchor\"),getAnchors=_dereq_(\"../../symbol/get_anchors\"),resolveTokens=_dereq_(\"../../util/token\"),ref$4=_dereq_(\"../../symbol/quads\"),getGlyphQuads=ref$4.getGlyphQuads,getIconQuads=ref$4.getIconQuads,ref$5=_dereq_(\"../../symbol/shaping\"),shapeText=ref$5.shapeText,shapeIcon=ref$5.shapeIcon,WritingMode=ref$5.WritingMode,transformText=_dereq_(\"../../symbol/transform_text\"),mergeLines=_dereq_(\"../../symbol/mergelines\"),clipLine=_dereq_(\"../../symbol/clip_line\"),util=_dereq_(\"../../util/util\"),scriptDetection=_dereq_(\"../../util/script_detection\"),loadGeometry=_dereq_(\"../load_geometry\"),CollisionFeature=_dereq_(\"../../symbol/collision_feature\"),findPoleOfInaccessibility=_dereq_(\"../../util/find_pole_of_inaccessibility\"),classifyRings=_dereq_(\"../../util/classify_rings\"),vectorTileFeatureTypes=_dereq_(\"@mapbox/vector-tile\").VectorTileFeature.types,createStructArrayType=_dereq_(\"../../util/struct_array\"),verticalizePunctuation=_dereq_(\"../../util/verticalize_punctuation\"),ref$6=_dereq_(\"../../symbol/symbol_size\"),getSizeData=ref$6.getSizeData,PlacedSymbolArray=createStructArrayType({members:[{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Float32\",name:\"placementZoom\"},{type:\"Uint8\",name:\"vertical\"}]}),GlyphOffsetArray=createStructArrayType({members:[{type:\"Float32\",name:\"offsetX\"}]}),LineVertexArray=createStructArrayType({members:[{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"}]}),layoutAttributes=[{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"}],dynamicLayoutAttributes=[{name:\"a_projected_pos\",components:3,type:\"Float32\"}],symbolInterfaces={text:{layoutAttributes:layoutAttributes,dynamicLayoutAttributes:dynamicLayoutAttributes,indexArrayType:TriangleIndexArray,paintAttributes:[{property:\"text-color\",name:\"fill_color\"},{property:\"text-halo-color\",name:\"halo_color\"},{property:\"text-halo-width\",name:\"halo_width\"},{property:\"text-halo-blur\",name:\"halo_blur\"},{property:\"text-opacity\",name:\"opacity\"}]},icon:{layoutAttributes:layoutAttributes,dynamicLayoutAttributes:dynamicLayoutAttributes,indexArrayType:TriangleIndexArray,paintAttributes:[{property:\"icon-color\",name:\"fill_color\"},{property:\"icon-halo-color\",name:\"halo_color\"},{property:\"icon-halo-width\",name:\"halo_width\"},{property:\"icon-halo-blur\",name:\"halo_blur\"},{property:\"icon-opacity\",name:\"opacity\"}]},collisionBox:{layoutAttributes:[{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"},{name:\"a_data\",components:2,type:\"Uint8\"}],indexArrayType:LineIndexArray}},SymbolBuffers=function(e,t,o,r){this.programInterface=e;var a=createVertexArrayType(e.layoutAttributes),i=e.indexArrayType;if(this.layoutVertexArray=new a(r&&r.layoutVertexArray),this.indexArray=new i(r&&r.indexArray),this.programConfigurations=new ProgramConfigurationSet(e,t,o,r&&r.programConfigurations),this.segments=new SegmentVector(r&&r.segments),e.dynamicLayoutAttributes){var n=createVertexArrayType(e.dynamicLayoutAttributes);this.dynamicLayoutVertexArray=new n(r&&r.dynamicLayoutVertexArray)}};SymbolBuffers.prototype.serialize=function(e){return{layoutVertexArray:this.layoutVertexArray.serialize(e),indexArray:this.indexArray.serialize(e),programConfigurations:this.programConfigurations.serialize(e),segments:this.segments.get(),dynamicLayoutVertexArray:this.dynamicLayoutVertexArray&&this.dynamicLayoutVertexArray.serialize(e)}},SymbolBuffers.prototype.upload=function(e){this.layoutVertexBuffer=new VertexBuffer(e,this.layoutVertexArray),this.indexBuffer=new IndexBuffer(e,this.indexArray),this.programConfigurations.upload(e),this.programInterface.dynamicLayoutAttributes&&(this.dynamicLayoutVertexBuffer=new VertexBuffer(e,this.dynamicLayoutVertexArray,!0))},SymbolBuffers.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer&&this.dynamicLayoutVertexBuffer.destroy())};var SymbolBucket=function(e){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.pixelRatio=e.pixelRatio,e.text)this.text=new SymbolBuffers(symbolInterfaces.text,e.layers,e.zoom,e.text),this.icon=new SymbolBuffers(symbolInterfaces.icon,e.layers,e.zoom,e.icon),this.collisionBox=new SymbolBuffers(symbolInterfaces.collisionBox,e.layers,e.zoom,e.collisionBox),this.textSizeData=e.textSizeData,this.iconSizeData=e.iconSizeData,this.placedGlyphArray=new PlacedSymbolArray(e.placedGlyphArray),this.placedIconArray=new PlacedSymbolArray(e.placedIconArray),this.glyphOffsetArray=new GlyphOffsetArray(e.glyphOffsetArray),this.lineVertexArray=new LineVertexArray(e.lineVertexArray);else{var t=this.layers[0];this.textSizeData=getSizeData(this.zoom,t,\"text-size\"),this.iconSizeData=getSizeData(this.zoom,t,\"icon-size\")}};SymbolBucket.prototype.populate=function(e,t){var o=this,r=this.layers[0],a=r.layout,i=a[\"text-font\"],n=(!r.isLayoutValueFeatureConstant(\"text-field\")||a[\"text-field\"])&&i,l=!r.isLayoutValueFeatureConstant(\"icon-image\")||a[\"icon-image\"];if(this.features=[],n||l){for(var s=t.iconDependencies,y=t.glyphDependencies,c=y[i]=y[i]||{},u={zoom:this.zoom},x=0,m=e;xEXTENT||n.y<0||n.y>EXTENT);if(!d||y){var c=y||I;a.addSymbolInstance(n,i,t,o,a.layers[0],c,a.collisionBoxArray,e.index,e.sourceLayerIndex,a.index,x,f,A,l,p,g,v,s,{zoom:a.zoom},e,r)}};if(\"line\"===S)for(var V=0,L=clipLine(e.geometry,0,0,EXTENT,EXTENT);V=0;i--)if(o.dist(a[i])1*Math.PI/4&&v<=3*Math.PI/4||v>5*Math.PI/4&&v<=7*Math.PI/4,S=Boolean(y&WritingMode.vertical)&&I,B=0,z=t;BSymbolBucket.MAX_INSTANCES&&util.warnOnce(\"Too many symbols being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),M>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:L,textBoxEndIndex:T,iconBoxStartIndex:w,iconBoxEndIndex:M,glyphQuads:B,iconQuads:S,textOffset:m,iconOffset:f,anchor:e,line:t,featureIndex:l,feature:b,writingModes:_})},SymbolBucket.programInterfaces=symbolInterfaces,SymbolBucket.MAX_INSTANCES=65535,SymbolBucket.addDynamicAttributes=addDynamicAttributes,module.exports=SymbolBucket;\n},{\"../../gl/index_buffer\":71,\"../../gl/vertex_buffer\":72,\"../../shaders/encode_attribute\":97,\"../../symbol/anchor\":196,\"../../symbol/clip_line\":198,\"../../symbol/collision_feature\":200,\"../../symbol/get_anchors\":202,\"../../symbol/mergelines\":203,\"../../symbol/quads\":205,\"../../symbol/shaping\":206,\"../../symbol/symbol_size\":207,\"../../symbol/transform_text\":208,\"../../util/classify_rings\":234,\"../../util/find_pole_of_inaccessibility\":240,\"../../util/script_detection\":247,\"../../util/struct_array\":249,\"../../util/token\":251,\"../../util/util\":252,\"../../util/verticalize_punctuation\":254,\"../extent\":58,\"../index_array_type\":60,\"../load_geometry\":61,\"../program_configuration\":63,\"../segment\":65,\"../vertex_array_type\":66,\"@mapbox/point-geometry\":2,\"@mapbox/vector-tile\":6}],58:[function(_dereq_,module,exports){\n\"use strict\";module.exports=8192;\n},{}],59:[function(_dereq_,module,exports){\n\"use strict\";function topDownFeatureComparator(e,r){return r-e}var Point=_dereq_(\"@mapbox/point-geometry\"),loadGeometry=_dereq_(\"./load_geometry\"),EXTENT=_dereq_(\"./extent\"),featureFilter=_dereq_(\"../style-spec/feature_filter\"),createStructArrayType=_dereq_(\"../util/struct_array\"),Grid=_dereq_(\"grid-index\"),DictionaryCoder=_dereq_(\"../util/dictionary_coder\"),vt=_dereq_(\"@mapbox/vector-tile\"),Protobuf=_dereq_(\"pbf\"),GeoJSONFeature=_dereq_(\"../util/vectortile_to_geojson\"),arraysIntersect=_dereq_(\"../util/util\").arraysIntersect,FeatureIndexArray=createStructArrayType({members:[{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]}),FeatureIndex=function(e,r,t,a){this.coord=e,this.overscaling=r,this.x=e.x,this.y=e.y,this.z=e.z-Math.log(r)/Math.LN2,this.grid=t||new Grid(EXTENT,16,0),this.featureIndexArray=a||new FeatureIndexArray};FeatureIndex.deserialize=function(e,r,t){var a=new FeatureIndex(e.coord,e.overscaling,new Grid(e.grid),new FeatureIndexArray(e.featureIndexArray));return a.rawTileData=r,a.bucketLayerIDs=e.bucketLayerIDs,a.setCollisionTile(t),a},FeatureIndex.prototype.insert=function(e,r,t,a,i){var o=this,n=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(t,a,i);for(var s=0;sbounds.max||a.ybounds.max)&&util.warnOnce(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return r};\n},{\"../util/util\":252,\"./extent\":58}],62:[function(_dereq_,module,exports){\n\"use strict\";var createStructArrayType=_dereq_(\"../util/struct_array\"),PosArray=createStructArrayType({members:[{name:\"a_pos\",type:\"Int16\",components:2}]});module.exports=PosArray;\n},{\"../util/struct_array\":249}],63:[function(_dereq_,module,exports){\n\"use strict\";function packColor(r){return[packUint8ToFloat(255*r[0],255*r[1]),packUint8ToFloat(255*r[2],255*r[3])]}var createVertexArrayType=_dereq_(\"./vertex_array_type\"),packUint8ToFloat=_dereq_(\"../shaders/encode_attribute\").packUint8ToFloat,VertexBuffer=_dereq_(\"../gl/vertex_buffer\"),ConstantBinder=function(r,t,o,e){this.name=r,this.type=t,this.property=o,this.useIntegerZoom=e};ConstantBinder.prototype.defines=function(){return[\"#define HAS_UNIFORM_u_\"+this.name]},ConstantBinder.prototype.populatePaintArray=function(){},ConstantBinder.prototype.setUniforms=function(r,t,o,e){var n=e.zoom,i=o.getPaintValue(this.property,{zoom:this.useIntegerZoom?Math.floor(n):n});\"color\"===this.type?r.uniform4fv(t.uniforms[\"u_\"+this.name],i):r.uniform1f(t.uniforms[\"u_\"+this.name],i)};var SourceFunctionBinder=function(r,t,o){this.name=r,this.type=t,this.property=o};SourceFunctionBinder.prototype.defines=function(){return[]},SourceFunctionBinder.prototype.populatePaintArray=function(r,t,o,e,n,i){var a=this,s=r.getPaintValue(this.property,{zoom:0},i);if(\"color\"===this.type)for(var p=packColor(s),u=e;uMAX_VERTEX_ARRAY_LENGTH&&warnOnce(\"Max vertices per segment is \"+MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+e),(!n||n.vertexLength+e>module.exports.MAX_VERTEX_ARRAY_LENGTH)&&(n={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},this.segments.push(n)),n},SegmentVector.prototype.get=function(){return this.segments},SegmentVector.prototype.destroy=function(){for(var e=this,t=0,r=e.segments;t90||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.prototype.toBounds=function(t){var n=360*t/40075017,r=n/Math.cos(Math.PI/180*this.lat);return new(_dereq_(\"./lng_lat_bounds\"))(new LngLat(this.lng-r,this.lat-n),new LngLat(this.lng+r,this.lat+n))},LngLat.convert=function(t){if(t instanceof LngLat)return t;if(Array.isArray(t)&&2===t.length)return new LngLat(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new LngLat(Number(t.lng),Number(t.lat));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\":252,\"./lng_lat_bounds\":69}],69:[function(_dereq_,module,exports){\n\"use strict\";var LngLat=_dereq_(\"./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=t instanceof LngLat?new LngLat(t.lng,t.lat):LngLat.convert(t),this},LngLatBounds.prototype.setSouthWest=function(t){return this._sw=t instanceof LngLat?new LngLat(t.lng,t.lat):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\":68}],70:[function(_dereq_,module,exports){\n\"use strict\";var LngLat=_dereq_(\"./lng_lat\"),Point=_dereq_(\"@mapbox/point-geometry\"),Coordinate=_dereq_(\"./coordinate\"),util=_dereq_(\"../util/util\"),interp=_dereq_(\"../style-spec/util/interpolate\"),TileCoord=_dereq_(\"../source/tile_coord\"),EXTENT=_dereq_(\"../data/extent\"),glmatrix=_dereq_(\"@mapbox/gl-matrix\"),vec4=glmatrix.vec4,mat4=glmatrix.mat4,mat2=glmatrix.mat2,Transform=function(t,o,i){this.tileSize=512,this._renderWorldCopies=void 0===i||i,this._minZoom=t||0,this._maxZoom=o||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:{},renderWorldCopies:{},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.renderWorldCopies.get=function(){return this._renderWorldCopies},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 o=-util.wrap(t,-180,180)*Math.PI/180;this.angle!==o&&(this._unmodified=!1,this.angle=o,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 o=util.clamp(t,0,60)/180*Math.PI;this._pitch!==o&&(this._unmodified=!1,this._pitch=o,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 o=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==o&&(this._unmodified=!1,this._zoom=o,this.scale=this.zoomScale(o),this.tileZoom=Math.floor(o),this.zoomFraction=o-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.getVisibleWrappedCoordinates=function(t){for(var o=this.pointCoordinate(new Point(0,0),0),i=this.pointCoordinate(new Point(this.width,0),0),e=Math.floor(o.column),r=Math.floor(i.column),n=[t],s=e;s<=r;s++)0!==s&&n.push(new TileCoord(t.z,t.x,t.y,s));return n},Transform.prototype.coveringTiles=function(t){var o=this.coveringZoomLevel(t),i=o;if(void 0!==t.minzoom&&ot.maxzoom&&(o=t.maxzoom);var e=this.pointCoordinate(this.centerPoint,o),r=new Point(e.column-.5,e.row-.5),n=[this.pointCoordinate(new Point(0,0),o),this.pointCoordinate(new Point(this.width,0),o),this.pointCoordinate(new Point(this.width,this.height),o),this.pointCoordinate(new Point(0,this.height),o)];return TileCoord.cover(o,n,t.reparseOverscaled?i:o,this._renderWorldCopies).sort(function(t,o){return r.dist(t)-r.dist(o)})},Transform.prototype.resize=function(t,o){this.width=t,this.height=o,this.pixelsToGLUnits=[2/t,-2/o],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){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},Transform.prototype.xLng=function(t){return 360*t/this.worldSize-180},Transform.prototype.yLat=function(t){var o=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(o*Math.PI/180))-90},Transform.prototype.setLocationAtPoint=function(t,o){var i=this.pointCoordinate(o)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(i)),this._renderWorldCopies&&(this.center=this.center.wrap())},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 o=t.zoomTo(this.zoom);return new LngLat(this.xLng(o.column*this.tileSize),this.yLat(o.row*this.tileSize))},Transform.prototype.pointCoordinate=function(t,o){void 0===o&&(o=this.tileZoom);var i=[t.x,t.y,0,1],e=[t.x,t.y,1,1];vec4.transformMat4(i,i,this.pixelMatrixInverse),vec4.transformMat4(e,e,this.pixelMatrixInverse);var r=i[3],n=e[3],s=i[0]/r,a=e[0]/n,h=i[1]/r,c=e[1]/n,m=i[2]/r,p=e[2]/n,l=m===p?0:(0-m)/(p-m);return new Coordinate(interp(s,a,l)/this.tileSize,interp(h,c,l)/this.tileSize,this.zoom)._zoomTo(o)},Transform.prototype.coordinatePoint=function(t){var o=t.zoomTo(this.zoom),i=[o.column*this.tileSize,o.row*this.tileSize,0,1];return vec4.transformMat4(i,i,this.pixelMatrix),new Point(i[0]/i[3],i[1]/i[3])},Transform.prototype.calculatePosMatrix=function(t,o){var i=t.toCoordinate(o),e=this.worldSize/this.zoomScale(i.zoom),r=mat4.identity(new Float64Array(16));return mat4.translate(r,r,[i.column*e,i.row*e,0]),mat4.scale(r,r,[e/EXTENT,e/EXTENT,1]),mat4.multiply(r,this.projMatrix,r),new Float32Array(r)},Transform.prototype.cameraToTileDistance=function(t){var o=this.calculatePosMatrix(t.coord,t.sourceMaxZoom),i=[t.tileSize/2,t.tileSize/2,0,1];return vec4.transformMat4(i,i,o),i[3]},Transform.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,o,i,e,r=-90,n=90,s=-180,a=180,h=this.size,c=this._unmodified;if(this.latRange){var m=this.latRange;r=this.latY(m[1]),n=this.latY(m[0]),t=n-rn&&(e=n-f)}if(this.lngRange){var d=this.x,g=h.x/2;d-ga&&(i=a-g)}void 0===i&&void 0===e||(this.center=this.unproject(new Point(void 0!==i?i:this.x,void 0!==e?e: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,o=Math.PI/2+this._pitch,i=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-o-t),e=Math.cos(Math.PI/2-this._pitch)*i+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)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=n}},Object.defineProperties(Transform.prototype,prototypeAccessors),module.exports=Transform;\n},{\"../data/extent\":58,\"../source/tile_coord\":113,\"../style-spec/util/interpolate\":152,\"../util/util\":252,\"./coordinate\":67,\"./lng_lat\":68,\"@mapbox/gl-matrix\":1,\"@mapbox/point-geometry\":2}],71:[function(_dereq_,module,exports){\n\"use strict\";var IndexBuffer=function(e,r){this.gl=e,this.buffer=e.createBuffer(),void 0===e.extVertexArrayObject&&(e.extVertexArrayObject=e.getExtension(\"OES_vertex_array_object\")),e.extVertexArrayObject&&e.extVertexArrayObject.bindVertexArrayOES(null),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.buffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,r.arrayBuffer,e.STATIC_DRAW),delete r.arrayBuffer};IndexBuffer.prototype.bind=function(){this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,this.buffer)},IndexBuffer.prototype.destroy=function(){this.buffer&&(this.gl.deleteBuffer(this.buffer),delete this.buffer)},module.exports=IndexBuffer;\n},{}],72:[function(_dereq_,module,exports){\n\"use strict\";var AttributeType={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},VertexBuffer=function(t,e,r){this.length=e.length,this.attributes=e.members,this.itemSize=e.bytesPerElement,this.dynamicDraw=r,this.gl=t,this.buffer=t.createBuffer(),this.gl.bindBuffer(t.ARRAY_BUFFER,this.buffer),this.gl.bufferData(t.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?t.DYNAMIC_DRAW:t.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};VertexBuffer.prototype.bind=function(){this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffer)},VertexBuffer.prototype.updateData=function(t){this.bind(),this.gl.bufferSubData(this.gl.ARRAY_BUFFER,0,t.arrayBuffer)},VertexBuffer.prototype.enableAttributes=function(t,e){for(var r=this,i=0;i\":[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/extent\":58,\"../data/pos_array\":62,\"../gl/vertex_buffer\":72,\"../util/browser\":231,\"./vertex_array_object\":96,\"@mapbox/gl-matrix\":1}],78:[function(_dereq_,module,exports){\n\"use strict\";function drawFill(r,t,e,i){if(!e.isOpacityZero(r.transform.zoom)){var a=r.gl;a.enable(a.STENCIL_TEST);var l=!e.paint[\"fill-pattern\"]&&e.isPaintValueFeatureConstant(\"fill-color\")&&e.isPaintValueFeatureConstant(\"fill-opacity\")&&1===e.paint[\"fill-color\"][3]&&1===e.paint[\"fill-opacity\"]?\"opaque\":\"translucent\";r.renderPass===l&&(r.setDepthSublayer(1),r.depthMask(\"opaque\"===r.renderPass),drawFillTiles(r,t,e,i,drawFillTile)),\"translucent\"===r.renderPass&&e.paint[\"fill-antialias\"]&&(r.lineWidth(2),r.depthMask(!1),r.setDepthSublayer(e.getPaintProperty(\"fill-outline-color\")?2:0),drawFillTiles(r,t,e,i,drawStrokeTile))}}function drawFillTiles(r,t,e,i,a){if(!pattern.isPatternMissing(e.paint[\"fill-pattern\"],r))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,e,t,a,i){var o=a.paint[\"raster-fade-duration\"];if(o>0){var n=Date.now(),s=(n-r.timeAdded)/o,u=e?(n-e.timeAdded)/o:-1,f=t.getSource(),d=i.coveringZoomLevel({tileSize:f.tileSize,roundZoom:f.roundZoom}),m=!e||Math.abs(e.coord.z-d)>Math.abs(r.coord.z-d),c=m&&r.refreshedUponExpiration?1:util.clamp(m?s:1-u,0,1);return r.refreshedUponExpiration&&s>=1&&(r.refreshedUponExpiration=!1),e?{opacity:1,mix:1-c}:{opacity:c,mix:0}}return{opacity:1,mix:0}}var util=_dereq_(\"../util/util\"),ImageSource=_dereq_(\"../source/image_source\");module.exports=drawRaster;\n},{\"../source/image_source\":103,\"../util/util\":252}],83:[function(_dereq_,module,exports){\n\"use strict\";function drawSymbols(t,o,i,e){if(\"translucent\"===t.renderPass){var a=!(i.layout[\"text-allow-overlap\"]||i.layout[\"icon-allow-overlap\"]||i.layout[\"text-ignore-placement\"]||i.layout[\"icon-ignore-placement\"]),r=t.gl;a?r.disable(r.STENCIL_TEST):r.enable(r.STENCIL_TEST),t.setDepthSublayer(0),t.depthMask(!1),i.isOpacityZero(t.transform.zoom,\"icon-opacity\")||drawLayerSymbols(t,o,i,e,!1,i.paint[\"icon-translate\"],i.paint[\"icon-translate-anchor\"],i.layout[\"icon-rotation-alignment\"],i.layout[\"icon-pitch-alignment\"],i.layout[\"icon-keep-upright\"]),i.isOpacityZero(t.transform.zoom,\"text-opacity\")||drawLayerSymbols(t,o,i,e,!0,i.paint[\"text-translate\"],i.paint[\"text-translate-anchor\"],i.layout[\"text-rotation-alignment\"],i.layout[\"text-pitch-alignment\"],i.layout[\"text-keep-upright\"]),o.map.showCollisionBoxes&&drawCollisionDebug(t,o,i,e)}}function drawLayerSymbols(t,o,i,e,a,r,n,s,u,l){var m=t.gl,f=t.transform,c=\"map\"===s,_=\"map\"===u,y=c&&\"line\"===i.layout[\"symbol-placement\"],p=c&&!_&&!y,x=_;x?m.enable(m.DEPTH_TEST):m.disable(m.DEPTH_TEST);for(var T,b=0,d=e;bthis.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);r.opacities[a]=a<=t?r.changeOpacities[a]+o:r.changeOpacities[a]-o}this.changed=!0,this.previousZoom=t},FrameHistory.prototype.isVisible=function(e){return 0!==this.opacities[Math.floor(10*e)]},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},{}],85:[function(_dereq_,module,exports){\n\"use strict\";function makeGlyphAtlas(a){var e=AlphaImage.create({width:0,height:0}),i={},t=new ShelfPack(0,0,{autoResize:!0});for(var h in a){var p=a[h],r=i[h]={};for(var m in p){var g=p[+m];if(g&&0!==g.bitmap.width&&0!==g.bitmap.height){var l=t.packOne(g.bitmap.width+2*padding,g.bitmap.height+2*padding);AlphaImage.resize(e,{width:t.w,height:t.h}),AlphaImage.copy(g.bitmap,e,{x:0,y:0},{x:l.x+padding,y:l.y+padding},g.bitmap),r[m]={rect:l,metrics:g.metrics}}}}return t.shrink(),AlphaImage.resize(e,{width:t.w,height:t.h}),{image:e,positions:i}}var ShelfPack=_dereq_(\"@mapbox/shelf-pack\"),ref=_dereq_(\"../util/image\"),AlphaImage=ref.AlphaImage,padding=1;module.exports={makeGlyphAtlas:makeGlyphAtlas};\n},{\"../util/image\":242,\"@mapbox/shelf-pack\":3}],86:[function(_dereq_,module,exports){\n\"use strict\";var loadGlyphRange=_dereq_(\"../style/load_glyph_range\"),TinySDF=_dereq_(\"@mapbox/tiny-sdf\"),isChar=_dereq_(\"../util/is_char_in_unicode_block\"),ref=_dereq_(\"../util/util\"),asyncAll=ref.asyncAll,ref$1=_dereq_(\"../util/image\"),AlphaImage=ref$1.AlphaImage,GlyphManager=function(r,e){this.requestTransform=r,this.localIdeographFontFamily=e,this.entries={}};GlyphManager.prototype.setURL=function(r){this.url=r},GlyphManager.prototype.getGlyphs=function(r,e){var t=this,i=[];for(var a in r)for(var l=0,n=r[a];l65535)return void e(new Error(\"glyphs > 65535 not supported\"));var o=l.requests[s];o||(o=l.requests[s]=[],loadGlyphRange(i,s,t.url,t.requestTransform,function(r,e){if(e)for(var t in e)l.glyphs[+t]=e[+t];for(var i=0,a=o;ithis.height)return util.warnOnce(\"LineAtlas out of space\"),null;for(var a=0,r=0;r=0;this.currentLayer--){var E=t.style._layers[s[t.currentLayer]];E.source!==(g&&g.id)&&(g=t.style.sourceCaches[E.source],f=[],g&&(t.clearStencil(),f=g.getVisibleCoordinates(),g.getSource().isTileClipped&&t._renderTileClippingMasks(f))),t.renderLayer(t,g,E,f)}this.renderPass=\"translucent\";var T,_=[];for(this.gl.enable(this.gl.BLEND),this.currentLayer=0,this.currentLayer;this.currentLayer0?r.pop():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);r.blendColor(1/8,1/8,1/8,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._createProgramCached=function(e,r){this.cache=this.cache||{};var t=\"\"+e+(r.cacheKey||\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[t]||(this.cache[t]=new Program(this.gl,shaders[e],r,this._showOverdrawInspector)),this.cache[t]},Painter.prototype.useProgram=function(e,r){var t=this.gl,i=this._createProgramCached(e,r||this.emptyProgramConfiguration);return this.currentProgram!==i&&(t.useProgram(i.program),this.currentProgram=i),i},module.exports=Painter;\n},{\"../data/extent\":58,\"../data/pos_array\":62,\"../data/program_configuration\":63,\"../data/raster_bounds_array\":64,\"../gl/vertex_buffer\":72,\"../shaders\":98,\"../source/pixels_to_tile_units\":105,\"../source/source_cache\":110,\"../util/browser\":231,\"../util/util\":252,\"./draw_background\":74,\"./draw_circle\":75,\"./draw_debug\":77,\"./draw_fill\":78,\"./draw_fill_extrusion\":79,\"./draw_heatmap\":80,\"./draw_line\":81,\"./draw_raster\":82,\"./draw_symbol\":83,\"./frame_history\":84,\"./program\":92,\"./render_texture\":93,\"./tile_mask\":95,\"./vertex_array_object\":96,\"@mapbox/gl-matrix\":1}],91:[function(_dereq_,module,exports){\n\"use strict\";var pixelsToTileUnits=_dereq_(\"../source/pixels_to_tile_units\");exports.isPatternMissing=function(r,i){if(!r)return!1;var e=i.imageManager.getPattern(r.from),o=i.imageManager.getPattern(r.to);return!e||!o},exports.prepare=function(r,i,e){var o=i.gl,t=i.imageManager.getPattern(r.from),n=i.imageManager.getPattern(r.to);o.uniform1i(e.uniforms.u_image,0),o.uniform2fv(e.uniforms.u_pattern_tl_a,t.tl),o.uniform2fv(e.uniforms.u_pattern_br_a,t.br),o.uniform2fv(e.uniforms.u_pattern_tl_b,n.tl),o.uniform2fv(e.uniforms.u_pattern_br_b,n.br);var u=i.imageManager.getPixelSize(),a=u.width,f=u.height;o.uniform2fv(e.uniforms.u_texsize,[a,f]),o.uniform1f(e.uniforms.u_mix,r.t),o.uniform2fv(e.uniforms.u_pattern_size_a,t.displaySize),o.uniform2fv(e.uniforms.u_pattern_size_b,n.displaySize),o.uniform1f(e.uniforms.u_scale_a,r.fromScale),o.uniform1f(e.uniforms.u_scale_b,r.toScale),o.activeTexture(o.TEXTURE0),i.imageManager.bind(o)},exports.setTile=function(r,i,e){var o=i.gl;o.uniform1f(e.uniforms.u_tile_units_to_pixels,1/pixelsToTileUnits(r,1,i.transform.tileZoom));var t=Math.pow(2,r.coord.z),n=r.tileSize*Math.pow(2,i.transform.tileZoom)/t,u=n*(r.coord.x+r.coord.w*t),a=n*r.coord.y;o.uniform2f(e.uniforms.u_pixel_coord_upper,u>>16,a>>16),o.uniform2f(e.uniforms.u_pixel_coord_lower,65535&u,65535&a)};\n},{\"../source/pixels_to_tile_units\":105}],92:[function(_dereq_,module,exports){\n\"use strict\";var browser=_dereq_(\"../util/browser\"),shaders=_dereq_(\"../shaders\"),ref=_dereq_(\"../data/program_configuration\"),ProgramConfiguration=ref.ProgramConfiguration,VertexArrayObject=_dereq_(\"./vertex_array_object\"),Program=function(r,e,t,a){var o=this;this.gl=r,this.program=r.createProgram();var i=t.defines().concat(\"#define DEVICE_PIXEL_RATIO \"+browser.devicePixelRatio.toFixed(1));a&&i.push(\"#define OVERDRAW_INSPECTOR;\");var n=i.concat(shaders.prelude.fragmentSource,e.fragmentSource).join(\"\\n\"),s=i.concat(shaders.prelude.vertexSource,e.vertexSource).join(\"\\n\"),m=r.createShader(r.FRAGMENT_SHADER);r.shaderSource(m,n),r.compileShader(m),r.attachShader(this.program,m);var g=r.createShader(r.VERTEX_SHADER);r.shaderSource(g,s),r.compileShader(g),r.attachShader(this.program,g);for(var c=t.interface?t.interface.layoutAttributes:[],u=0;u= v_max_zoom + v_perspective_zoom_adjust) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0) * alpha * 0.25;\\n }\\n\\n // Faded blue = the placement scale for this label is beyond the CollisionTile\\n // max scale, so it's impossible for this label to show without collision detection\\n // being run again (the label's glyphs haven't even been added to the symbol bucket)\\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_anchor_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform float u_scale;\\nuniform float u_pitch;\\nuniform float u_collision_y_stretch;\\nuniform float u_camera_to_center_distance;\\n\\nvarying float v_max_zoom;\\nvarying float v_placement_zoom;\\nvarying float v_perspective_zoom_adjust;\\nvarying vec2 v_fade_tex;\\n\\nvoid main() {\\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\n highp float camera_to_anchor_distance = projectedPoint.w;\\n highp float collision_perspective_ratio = 1.0 + 0.5 * ((camera_to_anchor_distance / u_camera_to_center_distance) - 1.0);\\n\\n highp float incidence_stretch = camera_to_anchor_distance / (u_camera_to_center_distance * cos(u_pitch));\\n highp float collision_adjustment = max(1.0, incidence_stretch / u_collision_y_stretch);\\n\\n gl_Position = u_matrix * vec4(a_pos + a_extrude * collision_perspective_ratio * collision_adjustment / u_scale, 0.0, 1.0);\\n\\n v_max_zoom = a_data.x;\\n v_placement_zoom = a_data.y;\\n\\n v_perspective_zoom_adjust = floor(log2(collision_perspective_ratio * collision_adjustment) * 10.0);\\n v_fade_tex = vec2((v_placement_zoom + v_perspective_zoom_adjust) / 255.0, 0.0);\\n}\\n\"},debug:{fragmentSource:\"uniform highp 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, 0, 1);\\n}\\n\"},fill:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize highp 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 highp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize highp 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 highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 outline_color\\n #pragma mapbox: initialize lowp float opacity\\n\\n float dist = length(v_pos - gl_FragCoord.xy);\\n float alpha = 1.0 - smoothstep(0.0, 1.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 highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n #pragma mapbox: initialize highp 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 vec2 u_texsize;\\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_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, 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 = 1.0 - smoothstep(0.0, 1.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 vec2 u_texsize;\\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_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, 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 highp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize highp 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 highp vec4 color\\n\\nvoid main() {\\n #pragma mapbox: initialize lowp float base\\n #pragma mapbox: initialize lowp float height\\n #pragma mapbox: initialize highp vec4 color\\n\\n base = max(0.0, base);\\n height = max(0.0, height);\\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 vec2 u_texsize;\\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_texsize, u_pattern_br_a / u_texsize, 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_texsize, u_pattern_br_b / u_texsize, 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 base = max(0.0, base);\\n height = max(0.0, 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_image;\\nuniform float u_opacity;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_FragColor = texture2D(u_image, 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 vec2 u_world;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\n\\n v_pos.x = a_pos.x;\\n v_pos.y = 1.0 - a_pos.y;\\n}\\n\"},line:{fragmentSource:\"#pragma mapbox: define highp 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 highp 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 vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\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 highp 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#pragma mapbox: define mediump float width\\n\\nvoid main() {\\n #pragma mapbox: initialize highp 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 #pragma mapbox: initialize mediump float width\\n\\n vec2 a_extrude = a_data.xy - 128.0;\\n float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n vec2 pos = a_pos_normal.xy;\\n\\n // x is 1 if it's a round cap, 0 otherwise\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = a_pos_normal.zw;\\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 halfwidth = width / 2.0;\\n offset = -1.0 * offset;\\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + halfwidth * (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 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 vec2 u_texsize;\\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_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\\n vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, 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\",\nvertexSource:\"// 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 vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\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#pragma mapbox: define mediump float width\\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 #pragma mapbox: initialize mediump float width\\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 vec2 pos = a_pos_normal.xy;\\n\\n // x is 1 if it's a round cap, 0 otherwise\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = a_pos_normal.zw;\\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 halfwidth = width / 2.0;\\n offset = -1.0 * offset;\\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + halfwidth * (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 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 highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 color\\n #pragma mapbox: initialize lowp float blur\\n #pragma mapbox: initialize lowp float opacity\\n #pragma mapbox: initialize mediump float width\\n #pragma mapbox: initialize lowp float floorwidth\\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 / floorwidth, 0.5 + u_sdfgamma / floorwidth, 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 vec4 a_pos_normal;\\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;\\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 highp 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#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n\\nvoid main() {\\n #pragma mapbox: initialize highp 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 #pragma mapbox: initialize mediump float width\\n #pragma mapbox: initialize lowp float floorwidth\\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 vec2 pos = a_pos_normal.xy;\\n\\n // x is 1 if it's a round cap, 0 otherwise\\n // y is 1 if the normal points up, and -1 if it points down\\n mediump vec2 normal = a_pos_normal.zw;\\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 halfwidth = width / 2.0;\\n offset = -1.0 * offset;\\n\\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n float outset = gapwidth + halfwidth * (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 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 / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, 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 if (color0.a > 0.0) {\\n color0.rgb = color0.rgb / color0.a;\\n }\\n if (color1.a > 0.0) {\\n color1.rgb = color1.rgb / color1.a;\\n }\\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 // We are using Int16 for texture position coordinates to give us enough precision for\\n // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\\n // as an arbitrarily high number to preserve adequate precision when rendering.\\n // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\\n // so math for modifying either is consistent.\\n v_pos0 = (((a_texture_pos / 8192.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:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec4 a_data;\\nattribute vec3 a_projected_pos;\\n\\nuniform bool u_is_size_zoom_constant;\\nuniform bool u_is_size_feature_constant;\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\nuniform highp float u_size; // used when size is both zoom and feature constant\\nuniform highp float u_camera_to_center_distance;\\nuniform highp float u_pitch;\\nuniform bool u_rotate_symbol;\\nuniform highp float u_aspect_ratio;\\nuniform highp float u_collision_y_stretch;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nuniform mat4 u_matrix;\\nuniform mat4 u_label_plane_matrix;\\nuniform mat4 u_gl_coord_matrix;\\n\\nuniform bool u_is_text;\\nuniform bool u_pitch_with_map;\\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_data.xy;\\n vec2 a_size = a_data.zw;\\n\\n highp vec2 angle_labelminzoom = unpack_float(a_projected_pos[2]);\\n highp float segment_angle = -angle_labelminzoom[0] / 255.0 * 2.0 * PI;\\n mediump float a_labelminzoom = angle_labelminzoom[1];\\n\\n float size;\\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n size = a_size[0] / 10.0;\\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\n size = u_size;\\n } else {\\n size = u_size;\\n }\\n\\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\n highp float camera_to_anchor_distance = projectedPoint.w;\\n // See comments in symbol_sdf.vertex\\n highp float distance_ratio = u_pitch_with_map ?\\n camera_to_anchor_distance / u_camera_to_center_distance :\\n u_camera_to_center_distance / camera_to_anchor_distance;\\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\n\\n size *= perspective_ratio;\\n\\n float fontScale = u_is_text ? size / 24.0 : size;\\n\\n highp float symbol_rotation = 0.0;\\n if (u_rotate_symbol) {\\n // See comments in symbol_sdf.vertex\\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\n\\n vec2 a = projectedPoint.xy / projectedPoint.w;\\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\n\\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\n }\\n\\n highp float angle_sin = sin(segment_angle + symbol_rotation);\\n highp float angle_cos = cos(segment_angle + symbol_rotation);\\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\n\\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\n\\n v_tex = a_tex / u_texsize;\\n // See comments in symbol_sdf.vertex\\n highp float incidence_stretch = camera_to_anchor_distance / (u_camera_to_center_distance * cos(u_pitch));\\n highp float collision_adjustment = max(1.0, incidence_stretch / u_collision_y_stretch);\\n\\n highp float collision_perspective_ratio = 1.0 + 0.5*((camera_to_anchor_distance / u_camera_to_center_distance) - 1.0);\\n highp float perspective_zoom_adjust = floor(log2(collision_perspective_ratio * collision_adjustment) * 10.0);\\n v_fade_tex = vec2((a_labelminzoom + perspective_zoom_adjust) / 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 highp vec4 fill_color\\n#pragma mapbox: define highp 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 highp float u_gamma_scale;\\nuniform bool u_is_text;\\n\\nvarying vec4 v_data0;\\nvarying vec2 v_data1;\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 fill_color\\n #pragma mapbox: initialize highp 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 tex = v_data0.xy;\\n vec2 fade_tex = v_data0.zw;\\n float gamma_scale = v_data1.x;\\n float size = v_data1.y;\\n\\n float fontScale = u_is_text ? size / 24.0 : size;\\n\\n lowp vec4 color = fill_color;\\n highp float gamma = EDGE_GAMMA / (fontScale * 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) / (fontScale * u_gamma_scale);\\n buff = (6.0 - halo_width / fontScale) / SDF_PX;\\n }\\n\\n lowp float dist = texture2D(u_texture, tex).a;\\n lowp float fade_alpha = texture2D(u_fadetexture, fade_tex).a;\\n highp float gamma_scaled = gamma * 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 vec4 a_data;\\nattribute vec3 a_projected_pos;\\n\\n// contents of a_size vary based on the type of property value\\n// used for {text,icon}-size.\\n// For constants, a_size is disabled.\\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\\n// For composite functions:\\n// [ text-size(lowerZoomStop, feature),\\n// text-size(upperZoomStop, feature) ]\\nuniform bool u_is_size_zoom_constant;\\nuniform bool u_is_size_feature_constant;\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\nuniform highp float u_size; // used when size is both zoom and feature constant\\n\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp 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 mat4 u_matrix;\\nuniform mat4 u_label_plane_matrix;\\nuniform mat4 u_gl_coord_matrix;\\n\\nuniform bool u_is_text;\\nuniform bool u_pitch_with_map;\\nuniform highp float u_pitch;\\nuniform bool u_rotate_symbol;\\nuniform highp float u_aspect_ratio;\\nuniform highp float u_camera_to_center_distance;\\nuniform highp float u_collision_y_stretch;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec4 v_data0;\\nvarying vec2 v_data1;\\n\\nvoid main() {\\n #pragma mapbox: initialize highp vec4 fill_color\\n #pragma mapbox: initialize highp 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_data.xy;\\n vec2 a_size = a_data.zw;\\n\\n highp vec2 angle_labelminzoom = unpack_float(a_projected_pos[2]);\\n highp float segment_angle = -angle_labelminzoom[0] / 255.0 * 2.0 * PI;\\n mediump float a_labelminzoom = angle_labelminzoom[1];\\n float size;\\n\\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n size = a_size[0] / 10.0;\\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\n size = u_size;\\n } else {\\n size = u_size;\\n }\\n\\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\n highp float camera_to_anchor_distance = projectedPoint.w;\\n // If the label is pitched with the map, layout is done in pitched space,\\n // which makes labels in the distance smaller relative to viewport space.\\n // We counteract part of that effect by multiplying by the perspective ratio.\\n // If the label isn't pitched with the map, we do layout in viewport space,\\n // which makes labels in the distance larger relative to the features around\\n // them. We counteract part of that effect by dividing by the perspective ratio.\\n highp float distance_ratio = u_pitch_with_map ?\\n camera_to_anchor_distance / u_camera_to_center_distance :\\n u_camera_to_center_distance / camera_to_anchor_distance;\\n highp float perspective_ratio = 0.5 + 0.5 * distance_ratio;\\n\\n size *= perspective_ratio;\\n\\n float fontScale = u_is_text ? size / 24.0 : size;\\n\\n highp float symbol_rotation = 0.0;\\n if (u_rotate_symbol) {\\n // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\\n // To figure out that angle in projected space, we draw a short horizontal line in tile\\n // space, project it, and measure its angle in projected space.\\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\n\\n vec2 a = projectedPoint.xy / projectedPoint.w;\\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\n\\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\n }\\n\\n highp float angle_sin = sin(segment_angle + symbol_rotation);\\n highp float angle_cos = cos(segment_angle + symbol_rotation);\\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\n\\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 64.0 * fontScale), 0.0, 1.0);\\n float gamma_scale = gl_Position.w;\\n\\n vec2 tex = a_tex / u_texsize;\\n // incidence_stretch is the ratio of how much y space a label takes up on a tile while drawn perpendicular to the viewport vs\\n // how much space it would take up if it were drawn flat on the tile\\n // Using law of sines, camera_to_anchor/sin(ground_angle) = camera_to_center/sin(incidence_angle)\\n // sin(incidence_angle) = 1/incidence_stretch\\n // Incidence angle 90 -> head on, sin(incidence_angle) = 1, no incidence stretch\\n // Incidence angle 1 -> very oblique, sin(incidence_angle) =~ 0, lots of incidence stretch\\n // ground_angle = u_pitch + PI/2 -> sin(ground_angle) = cos(u_pitch)\\n // This 2D calculation is only exactly correct when gl_Position.x is in the center of the viewport,\\n // but it's a close enough approximation for our purposes\\n highp float incidence_stretch = camera_to_anchor_distance / (u_camera_to_center_distance * cos(u_pitch));\\n // incidence_stretch only applies to the y-axis, but without re-calculating the collision tile, we can't\\n // adjust the size of only one axis. So, we do a crude approximation at placement time to get the aspect ratio\\n // about right, and then do the rest of the adjustment here: there will be some extra padding on the x-axis,\\n // but hopefully not too much.\\n // Never make the adjustment less than 1.0: instead of allowing collisions on the x-axis, be conservative on\\n // the y-axis.\\n highp float collision_adjustment = max(1.0, incidence_stretch / u_collision_y_stretch);\\n\\n // Floor to 1/10th zoom to dodge precision issues that can cause partially hidden labels\\n highp float collision_perspective_ratio = 1.0 + 0.5*((camera_to_anchor_distance / u_camera_to_center_distance) - 1.0);\\n highp float perspective_zoom_adjust = floor(log2(collision_perspective_ratio * collision_adjustment) * 10.0);\\n vec2 fade_tex = vec2((a_labelminzoom + perspective_zoom_adjust) / 255.0, 0.0);\\n\\n v_data0 = vec4(tex.x, tex.y, fade_tex.x, fade_tex.y);\\n v_data1 = vec2(gamma_scale, size);\\n}\\n\"}},re=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,loop=function(e){var n=shaders[e],a={};n.fragmentSource=n.fragmentSource.replace(re,function(e,n,t,o,i){return a[i]=!0,\"define\"===n?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\nvarying \"+t+\" \"+o+\" \"+i+\";\\n#else\\nuniform \"+t+\" \"+o+\" u_\"+i+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+i+\"\\n \"+t+\" \"+o+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\"}),n.vertexSource=n.vertexSource.replace(re,function(e,n,t,o,i){var r=\"float\"===o?\"vec2\":\"vec4\";return a[i]?\"define\"===n?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\nuniform lowp float a_\"+i+\"_t;\\nattribute \"+t+\" \"+r+\" a_\"+i+\";\\nvarying \"+t+\" \"+o+\" \"+i+\";\\n#else\\nuniform \"+t+\" \"+o+\" u_\"+i+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n \"+i+\" = unpack_mix_\"+r+\"(a_\"+i+\", a_\"+i+\"_t);\\n#else\\n \"+t+\" \"+o+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\":\"define\"===n?\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\nuniform lowp float a_\"+i+\"_t;\\nattribute \"+t+\" \"+r+\" a_\"+i+\";\\n#else\\nuniform \"+t+\" \"+o+\" u_\"+i+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+i+\"\\n \"+t+\" \"+o+\" \"+i+\" = unpack_mix_\"+r+\"(a_\"+i+\", a_\"+i+\"_t);\\n#else\\n \"+t+\" \"+o+\" \"+i+\" = u_\"+i+\";\\n#endif\\n\"})};for(var programName in shaders)loop(programName);module.exports=shaders;\n},{}],99:[function(_dereq_,module,exports){\n\"use strict\";var ImageSource=_dereq_(\"./image_source\"),window=_dereq_(\"../util/window\"),CanvasSource=function(t){function i(i,a,s,n){t.call(this,i,a,s,n),this.options=a,this.animate=void 0===a.animate||a.animate}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.load=function(){if(this.canvas=this.canvas||window.document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions())return this.fire(\"error\",new Error(\"Canvas dimensions cannot be less than or equal to zero.\"));var t;this.play=function(){void 0===t&&(t=this.map.style.animationLoop.set(1/0),this.map._rerender())},this.pause=function(){void 0!==t&&(t=this.map.style.animationLoop.cancel(t))},this._finishLoading()},i.prototype.getCanvas=function(){return this.canvas},i.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},i.prototype.onRemove=function(){this.pause()},i.prototype.prepare=function(){var t=!1;this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions()||0!==Object.keys(this.tiles).length&&this._prepareImage(this.map.painter.gl,this.canvas,t)},i.prototype.serialize=function(){return{type:\"canvas\",canvas:this.canvas,coordinates:this.coordinates}},i.prototype._hasInvalidDimensions=function(){for(var t=this,i=0,a=[t.canvas.width,t.canvas.height];ithis.maxzoom?Math.pow(2,t.coord.z-this.maxzoom):1,angle:this.map.transform.angle,pitch:this.map.transform.pitch,cameraToCenterDistance:this.map.transform.cameraToCenterDistance,cameraToTileDistance:this.map.transform.cameraToTileDistance(t),showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(r,i,function(r,i){if(t.unloadVectorData(),!t.aborted)return r?e(r):(t.loadVectorData(i,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 util.extend({},this._options,{type:this.type,data:this._data})},e}(Evented);module.exports=GeoJSONSource;\n},{\"../data/extent\":58,\"../util/ajax\":230,\"../util/browser\":231,\"../util/evented\":239,\"../util/util\":252,\"../util/window\":233}],101:[function(_dereq_,module,exports){\n\"use strict\";function loadGeoJSONTile(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),i=vtpbf(u);0===i.byteOffset&&i.byteLength===i.buffer.byteLength||(i=new Uint8Array(i)),r(null,{vectorTile:u,rawData:i.buffer})}var ajax=_dereq_(\"../util/ajax\"),rewind=_dereq_(\"geojson-rewind\"),GeoJSONWrapper=_dereq_(\"./geojson_wrapper\"),vtpbf=_dereq_(\"vt-pbf\"),supercluster=_dereq_(\"supercluster\"),geojsonvt=_dereq_(\"geojson-vt\"),VectorTileWorkerSource=_dereq_(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=function(e){function r(r,t,o){e.call(this,r,t,loadGeoJSONTile),o&&(this.loadGeoJSON=o),this._geoJSONIndexes={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(e,r){var t=this;this.loadGeoJSON(e,function(o,n){if(o||!n)return r(o);if(\"object\"!=typeof n)return r(new Error(\"Input data is not a valid GeoJSON object.\"));rewind(n,!0);try{t._geoJSONIndexes[e.source]=e.cluster?supercluster(e.superclusterOptions).load(n.features):geojsonvt(n,e.geojsonVtOptions)}catch(o){return r(o)}t.loaded[e.source]={},r(null)})},r.prototype.reloadTile=function(r,t){var o=this.loaded[r.source],n=r.uid;return o&&o[n]?e.prototype.reloadTile.call(this,r,t):this.loadTile(r,t)},r.prototype.loadGeoJSON=function(e,r){if(e.request)ajax.getJSON(e.request,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}(VectorTileWorkerSource);module.exports=GeoJSONWorkerSource;\n},{\"../util/ajax\":230,\"./geojson_wrapper\":102,\"./vector_tile_worker_source\":115,\"geojson-rewind\":14,\"geojson-vt\":18,\"supercluster\":41,\"vt-pbf\":46}],102:[function(_dereq_,module,exports){\n\"use strict\";var Point=_dereq_(\"@mapbox/point-geometry\"),toGeoJSON=_dereq_(\"@mapbox/vector-tile\").VectorTileFeature.prototype.toGeoJSON,EXTENT=_dereq_(\"../data/extent\"),FeatureWrapper=function(e){this._feature=e,this.extent=EXTENT,this.type=e.type,this.properties=e.tags,\"id\"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};FeatureWrapper.prototype.loadGeometry=function(){var e=this;if(1===this._feature.type){for(var t=[],r=0,o=e._feature.geometry;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);if(!d)break;a=i._tiles[d.id],a&&a.hasData()&&(delete o[s],o[d.id]=!0)}}}return r},t.prototype.findLoadedParent=function(e,t,o){for(var i=this,r=e.z-1;r>=t;r--){var s=e.parent(i._source.maxzoom);if(!s)return;e=s;var a=String(e.id),n=i._tiles[a];if(n&&n.hasData())return o[a]=!0,n;if(i._cache.has(a))return o[a]=!0,i._cache.getWithoutRemoving(a)}},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=Math.floor(5*i),s=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(s)},t.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded&&!this._paused){this.updateCacheSize(e),this._coveredTiles={};var i;this.used?this._source.coord?i=e.getVisibleWrappedCoordinates(this._source.coord):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter(function(e){return o._source.hasTile(e)}))):i=[];var r=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),s=Math.max(r-t.maxOverzooming,this._source.minzoom),a=Math.max(r+t.maxUnderzooming,this._source.minzoom),n=this._updateRetainedTiles(i,r),d={};if(isRasterType(this._source.type))for(var h=Object.keys(n),u=0;u=Date.now())){o._findLoadedChildren(l,a,n)&&(n[c]=!0);var m=o.findLoadedParent(l,s,d);m&&o._addTile(m.coord)}}var p;for(p in d)n[p]||(o._coveredTiles[p]=!0);for(p in d)n[p]=!0;for(var f=util.keysDifference(this._tiles,n),T=0;Tn._source.maxzoom){var l=r.children(n._source.maxzoom)[0],_=n.getTile(l);_&&_.hasData()?d[l.id]=!0:a=!1}else for(var m=r.children(n._source.maxzoom),p=0;p=u;--v){var y=r.scaledTo(v,n._source.maxzoom);if(h[y.id])break;if(h[y.id]=!0,s=n.getTile(y),!s&&c&&(s=n._addTile(y)),s&&(d[y.id]=!0,c=s.wasRequested(),s.hasData()))break}}}return d},t.prototype._addTile=function(e){var t=this._tiles[e.id];if(t)return t;(t=this._cache.get(e.id))&&(t.redoPlacement(this._source),this._cacheTimers[e.id]&&(clearTimeout(this._cacheTimers[e.id]),delete this._cacheTimers[e.id],this._setTileReloadTimer(e.id,t)));var o=Boolean(t);if(!o){var i=e.z,r=i>this._source.maxzoom?Math.pow(2,i-this._source.maxzoom):1;t=new Tile(e,this._source.tileSize*r,this._source.maxzoom),this._loadTile(t,this._tileLoaded.bind(this,t,e.id,t.state))}return t?(t.uses++,this._tiles[e.id]=t,o||this._source.fire(\"dataloading\",{tile:t,coord:t.coord,dataType:\"source\"}),t):null},t.prototype._setTileReloadTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout(function(){o._reloadTile(e,\"expired\"),delete o._timers[e]},i))},t.prototype._setCacheInvalidationTimer=function(e,t){var o=this,i=t.getExpiryTimeout();i&&(this._cacheTimers[e]=setTimeout(function(){o._cache.remove(e),delete o._cacheTimers[e]},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]),delete this._timers[e]),!(t.uses>0)))if(t.stopPlacementThrottler(),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;this._shouldReloadOnResume=!1,this._paused=!1;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,h=0;h=0&&m[1].y>=0){for(var p=[],f=0;f>n.z,h=new Point(n.x*l,n.y*l),u=new Point(h.x+l,h.y+l),c=i.segments.prepareSegment(4,a,r);a.emplaceBack(h.x,h.y,h.x,h.y),a.emplaceBack(u.x,h.y,u.x,h.y),a.emplaceBack(h.x,u.y,h.x,u.y),a.emplaceBack(u.x,u.y,u.x,u.y);var d=c.vertexLength;r.emplaceBack(d,d+1,d+2),r.emplaceBack(d+1,d+2,d+3),c.vertexLength+=4,c.primitiveLength+=2}this.maskedBoundsBuffer=new VertexBuffer(t,a),this.maskedIndexBuffer=new IndexBuffer(t,r)}},Tile.prototype.hasData=function(){return\"loaded\"===this.state||\"reloading\"===this.state||\"expired\"===this.state},Tile.prototype.setExpiryData=function(e){var t=this.expirationTime;if(e.cacheControl){var i=util.parseCacheControl(e.cacheControl);i[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*i[\"max-age\"])}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){var a=Date.now(),r=!1;if(this.expirationTime>a)r=!1;else if(t)if(this.expirationTime=a.minX&&t.x=a.minY&&t.yi.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 h=Math.max(o,Math.floor(i.y0)),s=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,x=h;xd.dy&&(s=n,n=d,d=s),n.dy>a.dy&&(s=n,n=a,a=s),d.dy>a.dy&&(s=d,d=a,a=s),n.dy&&scanSpans(a,n,r,e,h),d.dy&&scanSpans(a,d,r,e,h)}function getQuadkey(t,i,o){for(var r,e=\"\",h=t;h>0;h--)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.isLessThan=function(t){return this.wt.w)&&(this.zt.z)&&(this.xt.x)&&this.y=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.prototype.scaledTo=function(t,i){return this.z>i?new TileCoord(t,this.x,this.y,this.w):t<=this.z?new TileCoord(t,this.x>>this.z-t,this.y>>this.z-t,this.w):new TileCoord(t,this.x<>this.z-t.z&&t.y===this.y>>this.z-t.z},TileCoord.cover=function(t,i,o,r){function e(t,i,e){var n,d,a,y;if(e>=0&&e<=h)for(n=t;nthis.maxzoom?Math.pow(2,e.coord.z-this.maxzoom):1,r=normalizeURL(e.coord.url(this.tiles,this.maxzoom,this.scheme),this.url),s={request:this.map._transformRequest(r,ResourceType.Tile),uid:e.uid,coord:e.coord,zoom:e.coord.z,tileSize:this.tileSize*o,type:this.type,source:this.id,pixelRatio:browser.devicePixelRatio,overscaling:o,angle:this.map.transform.angle,pitch:this.map.transform.pitch,cameraToCenterDistance:this.map.transform.cameraToCenterDistance,cameraToTileDistance:this.map.transform.cameraToTileDistance(e),showCollisionBoxes:this.map.showCollisionBoxes};void 0===e.workerID||\"expired\"===e.state?e.workerID=this.dispatcher.send(\"loadTile\",s,i.bind(this)):\"loading\"===e.state?e.reloadCallback=t:this.dispatcher.send(\"reloadTile\",s,i.bind(this),e.workerID)},t.prototype.abortTile=function(e){this.dispatcher.send(\"abortTile\",{uid:e.uid,type:this.type,source:this.id},void 0,e.workerID)},t.prototype.unloadTile=function(e){e.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:e.uid,type:this.type,source:this.id},void 0,e.workerID)},t}(Evented);module.exports=VectorTileSource;\n},{\"../util/ajax\":230,\"../util/browser\":231,\"../util/evented\":239,\"../util/mapbox\":246,\"../util/util\":252,\"./load_tilejson\":104,\"./tile_bounds\":112}],115:[function(_dereq_,module,exports){\n\"use strict\";function loadVectorTile(e,r){var o=ajax.getArrayBuffer(e.request,function(e,o){e?r(e):o&&r(null,{vectorTile:new vt.VectorTile(new Protobuf(o.data)),rawData:o.data,cacheControl:o.cacheControl,expires:o.expires})});return function(){o.abort()}}var ajax=_dereq_(\"../util/ajax\"),vt=_dereq_(\"@mapbox/vector-tile\"),Protobuf=_dereq_(\"pbf\"),WorkerTile=_dereq_(\"./worker_tile\"),util=_dereq_(\"../util/util\"),VectorTileWorkerSource=function(e,r,o){this.actor=e,this.layerIndex=r,this.loadVectorData=o||loadVectorTile,this.loading={},this.loaded={}};VectorTileWorkerSource.prototype.loadTile=function(e,r){var o=this,t=e.source,a=e.uid;this.loading[t]||(this.loading[t]={});var i=this.loading[t][a]=new WorkerTile(e);i.abort=this.loadVectorData(e,function(e,l){if(delete o.loading[t][a],e||!l)return r(e);var c=l.rawData,n={};l.expires&&(n.expires=l.expires),l.cacheControl&&(n.cacheControl=l.cacheControl),i.vectorTile=l.vectorTile,i.parse(l.vectorTile,o.layerIndex,o.actor,function(e,o,t){if(e||!o)return r(e);r(null,util.extend({rawTileData:c},o,n),t)}),o.loaded[t]=o.loaded[t]||{},o.loaded[t][a]=i})},VectorTileWorkerSource.prototype.reloadTile=function(e,r){function o(e,o){if(this.reloadCallback){var t=this.reloadCallback;delete this.reloadCallback,this.parse(this.vectorTile,i.layerIndex,i.actor,t)}r(e,o)}var t=this.loaded[e.source],a=e.uid,i=this;if(t&&t[a]){var l=t[a];\"parsing\"===l.status?l.reloadCallback=r:\"done\"===l.status&&l.parse(l.vectorTile,this.layerIndex,this.actor,o.bind(l))}},VectorTileWorkerSource.prototype.abortTile=function(e){var r=this.loading[e.source],o=e.uid;r&&r[o]&&r[o].abort&&(r[o].abort(),delete r[o])},VectorTileWorkerSource.prototype.removeTile=function(e){var r=this.loaded[e.source],o=e.uid;r&&r[o]&&delete r[o]},VectorTileWorkerSource.prototype.redoPlacement=function(e,r){var o=this.loaded[e.source],t=this.loading[e.source],a=e.uid;if(o&&o[a]){var i=o[a],l=i.redoPlacement(e.angle,e.pitch,e.cameraToCenterDistance,e.cameraToTileDistance,e.showCollisionBoxes);l.result&&r(null,l.result,l.transferables)}else t&&t[a]&&(t[a].angle=e.angle)},module.exports=VectorTileWorkerSource;\n},{\"../util/ajax\":230,\"../util/util\":252,\"./worker_tile\":118,\"@mapbox/vector-tile\":6,\"pbf\":38}],116:[function(_dereq_,module,exports){\n\"use strict\";var ajax=_dereq_(\"../util/ajax\"),ImageSource=_dereq_(\"./image_source\"),VideoSource=function(e){function t(t,o,i,r){e.call(this,t,o,i,r),this.roundZoom=!0,this.type=\"video\",this.options=o}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.load=function(){var e=this,t=this.options;this.urls=t.urls,ajax.getVideo(t.urls,function(t,o){if(t)e.fire(\"error\",{error:t});else if(o){e.video=o,e.video.loop=!0;var i;e.video.addEventListener(\"playing\",function(){i=e.map.style.animationLoop.set(1/0),e.map._rerender()}),e.video.addEventListener(\"pause\",function(){e.map.style.animationLoop.cancel(i)}),e.map&&e.video.play(),e._finishLoading()}})},t.prototype.getVideo=function(){return this.video},t.prototype.onAdd=function(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},t.prototype.prepare=function(){0===Object.keys(this.tiles).length||this.video.readyState<2||this._prepareImage(this.map.painter.gl,this.video)},t.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},t}(ImageSource);module.exports=VideoSource;\n},{\"../util/ajax\":230,\"./image_source\":103}],117:[function(_dereq_,module,exports){\n\"use strict\";var Actor=_dereq_(\"../util/actor\"),StyleLayerIndex=_dereq_(\"../style/style_layer_index\"),VectorTileWorkerSource=_dereq_(\"./vector_tile_worker_source\"),GeoJSONWorkerSource=_dereq_(\"./geojson_worker_source\"),globalRTLTextPlugin=_dereq_(\"./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),globalRTLTextPlugin.applyArabicShaping&&globalRTLTextPlugin.processBidirectionalText||o(new Error(\"RTL Text Plugin failed to import scripts from \"+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\":193,\"../util/actor\":229,\"./geojson_worker_source\":101,\"./rtl_text_plugin\":108,\"./vector_tile_worker_source\":115}],118:[function(_dereq_,module,exports){\n\"use strict\";function recalculateLayers(e,i){for(var r=0,t=e.layers;r=b.maxzoom||b.layout&&\"none\"===b.layout.visibility)){for(var x=0,T=k;x=0;z--){var B=n[i.symbolOrder[z]];B&&o.symbolBuckets.push(B)}var D,A,C,I=util.mapObject(c.glyphDependencies,function(e){return Object.keys(e).map(Number)});Object.keys(I).length?r.send(\"getGlyphs\",{uid:this.uid,stacks:I},function(e,i){D||(D=e,A=i,a.call(o))}):A={};var w=Object.keys(c.iconDependencies);w.length?r.send(\"getImages\",{icons:w},function(e,i){D||(D=e,C=i,a.call(o))}):C={},a.call(this)},WorkerTile.prototype.redoPlacement=function(e,i,r,t,a){var o=this;if(this.angle=e,this.pitch=i,this.cameraToCenterDistance=r,this.cameraToTileDistance=t,\"done\"!==this.status)return{};for(var s=new CollisionTile(this.angle,this.pitch,this.cameraToCenterDistance,this.cameraToTileDistance,this.collisionBoxArray),l=0,n=o.symbolBuckets;l0;)t[o]=arguments[o+2];this.message=(r?r+\": \":\"\")+format.apply(format,t),null!==i&&void 0!==i&&i.__line__&&(this.line=i.__line__)}var format=_dereq_(\"util\").format;module.exports=ValidationError;\n},{\"util\":45}],122:[function(_dereq_,module,exports){\n\"use strict\";function varargs(r){return{type:r}}function stringifySignature(r){return Array.isArray(r)?\"(\"+r.map(toString).join(\", \")+\")\":\"(\"+toString(r.type)+\"...)\"}var ref=_dereq_(\"./types\"),toString=ref.toString,ParsingContext=_dereq_(\"./parsing_context\"),EvaluationContext=_dereq_(\"./evaluation_context\"),CompoundExpression=function(r,e,n,t,o){this.key=r,this.name=e,this.type=n,this._evaluate=t,this.args=o};CompoundExpression.prototype.evaluate=function(r){return this._evaluate(r,this.args)},CompoundExpression.prototype.eachChild=function(r){this.args.forEach(r)},CompoundExpression.parse=function(r,e){var n=r[0],t=CompoundExpression.definitions[n];if(!t)return e.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var o=Array.isArray(t)?t[0]:t.type,i=Array.isArray(t)?[[t[1],t[2]]]:t.overloads.filter(function(e){return!Array.isArray(e[0][0])||e[0][0].length===r.length-1}),s=[],a=1;a4)return r.error(\"Expected 1, 2, or 3 arguments, but found \"+(e.length-1)+\" instead.\");var t,n;if(e.length>2){var i=e[1];if(\"string\"!=typeof i||!(i in types))return r.error('The item type argument of \"array\" must be one of string, number, boolean',1);t=types[i]}else t=ValueType;if(e.length>3){if(\"number\"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2]))return r.error('The length argument to \"array\" must be a positive integer literal',2);n=e[2]}var o=array(t,n),a=r.parse(e[e.length-1],e.length-1,ValueType);return a?new ArrayAssertion(r.key,o,a):null},ArrayAssertion.prototype.evaluate=function(e){var r=this.input.evaluate(e);if(checkSubtype(this.type,typeOf(r)))throw new RuntimeError(\"Expected value to be of type \"+toString(this.type)+\", but found \"+toString(typeOf(r))+\" instead.\");return r},ArrayAssertion.prototype.eachChild=function(e){e(this.input)},module.exports=ArrayAssertion;\n},{\"../runtime_error\":140,\"../types\":142,\"../values\":143}],124:[function(_dereq_,module,exports){\n\"use strict\";var ref=_dereq_(\"../types\"),ObjectType=ref.ObjectType,ValueType=ref.ValueType,StringType=ref.StringType,NumberType=ref.NumberType,BooleanType=ref.BooleanType,RuntimeError=_dereq_(\"../runtime_error\"),ref$1=_dereq_(\"../types\"),checkSubtype=ref$1.checkSubtype,toString=ref$1.toString,ref$2=_dereq_(\"../values\"),typeOf=ref$2.typeOf,types={string:StringType,number:NumberType,boolean:BooleanType,object:ObjectType},Assertion=function(e,r,t){this.key=e,this.type=r,this.args=t};Assertion.parse=function(e,r){if(e.length<2)return r.error(\"Expected at least one argument.\");for(var t=e[0],n=types[t],o=[],p=1;p=t.length)throw new RuntimeError(\"Array index out of bounds: \"+r+\" > \"+t.length+\".\");if(r!==Math.floor(r))throw new RuntimeError(\"Array index must be an integer, but found \"+r+\" instead.\");return t[r]},At.prototype.eachChild=function(e){e(this.index),e(this.input)},module.exports=At;\n},{\"../runtime_error\":140,\"../types\":142}],126:[function(_dereq_,module,exports){\n\"use strict\";var ref=_dereq_(\"../types\"),BooleanType=ref.BooleanType,Case=function(e,r,t,a){this.key=e,this.type=r,this.branches=t,this.otherwise=a};Case.parse=function(e,r){if(e.length<4)return r.error(\"Expected at least 3 arguments, but found only \"+(e.length-1)+\".\");if(e.length%2!=0)return r.error(\"Expected an odd number of arguments.\");var t;r.expectedType&&\"value\"!==r.expectedType.kind&&(t=r.expectedType);for(var a=[],n=1;n4?\"Invalid rbga value \"+JSON.stringify(o)+\": expected an array containing either three or four numeric values.\":validateRGBA(o[0],o[1],o[2],o[3])))return new Color(o[0]/255,o[1]/255,o[2]/255,o[3])}throw new RuntimeError(t||\"Could not parse color from value '\"+(\"string\"==typeof o?o:JSON.stringify(o))+\"'\")}for(var u=null,l=0,s=e.args;lt&&rr&&(o=u-1)}return Math.max(u-1,0)}var UnitBezier=_dereq_(\"@mapbox/unitbezier\"),interpolate=_dereq_(\"../../util/interpolate\"),ref=_dereq_(\"../types\"),toString=ref.toString,NumberType=ref.NumberType,ref$1=_dereq_(\"../values\"),Color=ref$1.Color,Curve=function(e,r,t,n,i){var a=this;this.key=e,this.type=r,this.interpolation=t,this.input=n,this.labels=[],this.outputs=[];for(var o=0,u=i;o1}))return r.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);t={name:\"cubic-bezier\",controlPoints:o}}var u=\"step\"===t.name,l=u?5:4;if(e.length-1c)return r.error('Input/output pairs for \"curve\" expressions must be arranged with input values in strictly ascending order.',m);var d=r.parse(h,b,v);if(!d)return null;v=v||d.type,s.push([c,d])}return\"step\"===t.name||\"number\"===v.kind||\"color\"===v.kind||\"array\"===v.kind&&\"number\"===v.itemType.kind?new Curve(r.key,v,t,n,s):r.error(\"Type \"+toString(v)+\" is not interpolatable, and thus cannot be used as a \"+t.name+\" curve's output type.\")},Curve.prototype.evaluate=function(e){var r=this.labels,t=this.outputs;if(1===r.length)return t[0].evaluate(e);var n=this.input.evaluate(e);if(n<=r[0])return t[0].evaluate(e);var i=r.length;if(n>=r[i-1])return t[i-1].evaluate(e);var a=findStopLessThanOrEqualTo(r,n);if(\"step\"===this.interpolation.name)return t[a].evaluate(e);var o=r[a],u=r[a+1],l=Curve.interpolationFactor(this.interpolation,n,o,u),p=t[a].evaluate(e),s=t[a+1].evaluate(e),v=this.type.kind.toLowerCase();return\"color\"===v?new(Function.prototype.bind.apply(Color,[null].concat(interpolate.color(p.value,s.value,l)))):interpolate[v](p,s,l)},Curve.prototype.eachChild=function(e){var r=this;e(this.input);for(var t=0,n=r.outputs;ta.evaluate(e)}function lteq(e,r){var t=r[0],a=r[1];return t.evaluate(e)<=a.evaluate(e)}function gteq(e,r){var t=r[0],a=r[1];return t.evaluate(e)>=a.evaluate(e)}var ref=_dereq_(\"../types\"),NullType=ref.NullType,NumberType=ref.NumberType,StringType=ref.StringType,BooleanType=ref.BooleanType,ColorType=ref.ColorType,ObjectType=ref.ObjectType,ValueType=ref.ValueType,ErrorType=ref.ErrorType,array=ref.array,toString=ref.toString,ref$1=_dereq_(\"../values\"),typeOf=ref$1.typeOf,Color=ref$1.Color,validateRGBA=ref$1.validateRGBA,ref$2=_dereq_(\"../compound_expression\"),CompoundExpression=ref$2.CompoundExpression,varargs=ref$2.varargs,RuntimeError=_dereq_(\"../runtime_error\"),Let=_dereq_(\"./let\"),Var=_dereq_(\"./var\"),Literal=_dereq_(\"./literal\"),Assertion=_dereq_(\"./assertion\"),ArrayAssertion=_dereq_(\"./array\"),Coercion=_dereq_(\"./coercion\"),At=_dereq_(\"./at\"),Match=_dereq_(\"./match\"),Case=_dereq_(\"./case\"),Curve=_dereq_(\"./curve\"),Coalesce=_dereq_(\"./coalesce\"),expressions={let:Let,var:Var,literal:Literal,string:Assertion,number:Assertion,boolean:Assertion,object:Assertion,array:ArrayAssertion,\"to-number\":Coercion,\"to-color\":Coercion,at:At,case:Case,match:Match,coalesce:Coalesce,curve:Curve};CompoundExpression.register(expressions,{error:[ErrorType,[StringType],function(e,r){var t=r[0];throw new RuntimeError(t.evaluate(e))}],typeof:[StringType,[ValueType],function(e,r){var t=r[0];return toString(typeOf(t.evaluate(e)))}],\"to-string\":[StringType,[ValueType],function(e,r){var t=r[0];t=t.evaluate(e);var a=typeof t;if(null===t||\"string\"===a||\"number\"===a||\"boolean\"===a)return String(t);if(t instanceof Color){var n=t.value;return\"rgba(\"+255*n[0]+\", \"+255*n[1]+\", \"+255*n[2]+\", \"+n[3]+\")\"}return JSON.stringify(t)}],\"to-boolean\":[BooleanType,[ValueType],function(e,r){var t=r[0];return Boolean(t.evaluate(e))}],\"to-rgba\":[array(NumberType,4),[ColorType],function(e,r){return r[0].evaluate(e).value}],rgb:[ColorType,[NumberType,NumberType,NumberType],rgba],rgba:[ColorType,[NumberType,NumberType,NumberType,NumberType],rgba],length:{type:NumberType,overloads:[[[StringType],length],[[array(ValueType)],length]]},has:{type:BooleanType,overloads:[[[StringType],function(e,r){return has(r[0].evaluate(e),e.properties())}],[[StringType,ObjectType],function(e,r){var t=r[0],a=r[1];return has(t.evaluate(e),a.evaluate(e))}]]},get:{type:ValueType,overloads:[[[StringType],function(e,r){return get(r[0].evaluate(e),e.properties())}],[[StringType,ObjectType],function(e,r){var t=r[0],a=r[1];return get(t.evaluate(e),a.evaluate(e))}]]},properties:[ObjectType,[],function(e){return e.properties()}],\"geometry-type\":[StringType,[],function(e){return e.geometryType()}],id:[ValueType,[],function(e){return e.id()}],zoom:[NumberType,[],function(e){return e.globals.zoom}],\"heatmap-density\":[NumberType,[],function(e){return e.globals.heatmapDensity||0}],\"+\":[NumberType,varargs(NumberType),function(e,r){for(var t=0,a=0,n=r;a\":{type:BooleanType,overloads:[[[NumberType,NumberType],gt],[[StringType,StringType],gt]]},\"<\":{type:BooleanType,overloads:[[[NumberType,NumberType],lt],[[StringType,StringType],lt]]},\">=\":{type:BooleanType,overloads:[[[NumberType,NumberType],gteq],[[StringType,StringType],gteq]]},\"<=\":{type:BooleanType,overloads:[[[NumberType,NumberType],lteq],[[StringType,StringType],lteq]]},all:{type:BooleanType,overloads:[[[BooleanType,BooleanType],function(e,r){var t=r[0],a=r[1];return t.evaluate(e)&&a.evaluate(e)}],[varargs(BooleanType),function(e,r){for(var t=0,a=r;tNumber.MAX_SAFE_INTEGER)return l.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof c&&Math.floor(c)!==c)return l.error(\"Numeric branch labels must be integer values.\");if(r){if(l.checkSubtype(r,typeOf(c)))return null}else r=typeOf(c);if(void 0!==a[String(c)])return l.error(\"Branch labels must be unique.\");a[String(c)]=u.length}var f=t.parse(h,s,n);if(!f)return null;n=n||f.type,u.push(f)}var y=t.parse(e[1],1,r);if(!y)return null;var b=t.parse(e[e.length-1],e.length-1,n);return b?new Match(t.key,r,n,y,a,u,b):null},Match.prototype.evaluate=function(e){var t=this.input.evaluate(e);return(this.outputs[this.cases[t]]||this.otherwise).evaluate(e)},Match.prototype.eachChild=function(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)},module.exports=Match;\n},{\"../values\":143}],134:[function(_dereq_,module,exports){\n\"use strict\";var Var=function(e,r,t){this.key=e,this.type=t,this.name=r};Var.parse=function(e,r){if(2!==e.length||\"string\"!=typeof e[1])return r.error(\"'var' expression requires exactly one string literal argument.\");var t=e[1];return r.scope.has(t)?new Var(r.key,t,r.scope.get(t).type):r.error('Unknown variable \"'+t+'\". Make sure \"'+t+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Var.prototype.evaluate=function(e){return e.scope.get(this.name).evaluate(e)},Var.prototype.eachChild=function(){},module.exports=Var;\n},{}],135:[function(_dereq_,module,exports){\n\"use strict\";var Scope=_dereq_(\"./scope\"),parseColor=_dereq_(\"../util/parse_color\"),ref=_dereq_(\"./values\"),Color=ref.Color,geometryTypes=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],EvaluationContext=function(){this.scope=new Scope,this._parseColorCache={}};EvaluationContext.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},EvaluationContext.prototype.geometryType=function(){return this.feature?\"number\"==typeof this.feature.type?geometryTypes[this.feature.type]:this.feature.type:null},EvaluationContext.prototype.properties=function(){return this.feature&&this.feature.properties||{}},EvaluationContext.prototype.pushScope=function(e){this.scope=this.scope.concat(e)},EvaluationContext.prototype.popScope=function(){this.scope=this.scope.parent},EvaluationContext.prototype.parseColor=function(e){var t=this._parseColorCache[e];if(!t){var o=parseColor(e);t=this._parseColorCache[e]=o?new Color(o[0],o[1],o[2],o[3]):null}return t},module.exports=EvaluationContext;\n},{\"../util/parse_color\":153,\"./scope\":141,\"./values\":143}],136:[function(_dereq_,module,exports){\n\"use strict\";function isExpression(e){return Array.isArray(e)&&e.length>0&&\"string\"==typeof e[0]&&e[0]in definitions}function createExpression(e,r,n,o){void 0===o&&(o={});var t=new ParsingContext(definitions,[],getExpectedType(r)),s=t.parse(e);if(!s)return{result:\"error\",errors:t.errors};var i,a=new EvaluationContext;if(!1===o.handleErrors)i=function(e,r){return a.globals=e,a.feature=r,s.evaluate(a)};else{var u={},l=getDefaultValue(r);i=function(e,r){a.globals=e,a.feature=r;try{var n=s.evaluate(a);return unwrap(null===n||void 0===n?l:n)}catch(e){return u[e.message]||(u[e.message]=!0,\"undefined\"!=typeof console&&console.warn(e.message)),unwrap(l)}}}var p=isConstant.isFeatureConstant(s);if(!p&&\"property\"===n&&!r[\"property-function\"])return{result:\"error\",errors:[new ParsingError(\"\",\"property expressions not supported\")]};if(isConstant.isGlobalPropertyConstant(s,[\"zoom\"]))return{result:\"success\",context:n,isZoomConstant:!0,isFeatureConstant:p,evaluate:i,parsed:s};if(\"filter\"===n)return{result:\"success\",context:\"filter\",isZoomConstant:!1,isFeatureConstant:p,evaluate:i,parsed:s};var f=findZoomCurve(s);return f?f instanceof Curve?\"step\"!==f.interpolation.name&&\"piecewise-constant\"===r.function?{result:\"error\",errors:[new ParsingError(f.key,'interpolation type must be \"step\" for this property')]}:{result:\"success\",context:\"property\",isZoomConstant:!1,isFeatureConstant:p,evaluate:i,parsed:s,interpolation:f.interpolation,zoomStops:f.labels}:{result:\"error\",errors:[new ParsingError(f.key,f.error)]}:{result:\"error\",errors:[new ParsingError(\"\",'\"zoom\" expression may only be used as input to a top-level \"curve\" expression.')]}}function findZoomCurve(e){if(e instanceof Curve){var r=e.input;return r instanceof CompoundExpression&&\"zoom\"===r.name?e:null}if(e instanceof Let)return findZoomCurve(e.result);if(e instanceof Coalesce){for(var n=null,o=0,t=e.args;o=0)return!1;var t=!0;return n.eachChild(function(n){t&&!isGlobalPropertyConstant(n,e)&&(t=!1)}),t}var ref=_dereq_(\"./compound_expression\"),CompoundExpression=ref.CompoundExpression;module.exports={isFeatureConstant:isFeatureConstant,isGlobalPropertyConstant:isGlobalPropertyConstant};\n},{\"./compound_expression\":122}],138:[function(_dereq_,module,exports){\n\"use strict\";function isConstant(e){var r=_dereq_(\"./compound_expression\"),t=r.CompoundExpression,n=_dereq_(\"./is_constant\"),i=n.isGlobalPropertyConstant,o=n.isFeatureConstant;if(e instanceof _dereq_(\"./definitions/var\"))return!1;if(e instanceof t&&\"error\"===e.name)return!1;var a=!0;return e.eachChild(function(e){e instanceof Literal||(a=!1)}),!!a&&(o(e)&&i(e,[\"zoom\",\"heatmap-density\"]))}var Scope=_dereq_(\"./scope\"),ref=_dereq_(\"./types\"),checkSubtype=ref.checkSubtype,ParsingError=_dereq_(\"./parsing_error\"),Literal=_dereq_(\"./definitions/literal\"),ParsingContext=function(e,r,t,n,i){void 0===r&&(r=[]),void 0===n&&(n=new Scope),void 0===i&&(i=[]),this.definitions=e,this.path=r,this.key=r.map(function(e){return\"[\"+e+\"]\"}).join(\"\"),this.scope=n,this.errors=i,this.expectedType=t};ParsingContext.prototype.parse=function(e,r,t,n){var i=this;if(r&&(i=i.concat(r,t,n)),null!==e&&\"string\"!=typeof e&&\"boolean\"!=typeof e&&\"number\"!=typeof e||(e=[\"literal\",e]),Array.isArray(e)){if(0===e.length)return i.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var o=e[0];if(\"string\"!=typeof o)return i.error(\"Expression name must be a string, but found \"+typeof o+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var a=i.definitions[o];if(a){var s=a.parse(e,i);if(!s)return null;var u=i.expectedType,l=s.type;if(u){if((\"string\"===u.kind||\"number\"===u.kind||\"boolean\"===u.kind)&&\"value\"===l.kind){s=new(_dereq_(\"./definitions/assertion\"))(s.key,u,[s])}else if(\"color\"===u.kind&&(\"value\"===l.kind||\"string\"===l.kind)){var p=_dereq_(\"./definitions/coercion\");s=new p(s.key,u,[s])}if(i.checkSubtype(u,s.type))return null}if(!(s instanceof Literal)&&isConstant(s)){var c=new(_dereq_(\"./evaluation_context\"));try{s=new Literal(s.key,s.type,s.evaluate(c))}catch(e){return i.error(e.message),null}}return s}return i.error('Unknown expression \"'+o+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return void 0===e?i.error(\"'undefined' value invalid. Use null instead.\"):\"object\"==typeof e?i.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):i.error(\"Expected an array, but found \"+typeof e+\" instead.\")},ParsingContext.prototype.concat=function(e,r,t){var n=\"number\"==typeof e?this.path.concat(e):this.path,i=t?this.scope.concat(t):this.scope;return new ParsingContext(this.definitions,n,r||null,i,this.errors)},ParsingContext.prototype.error=function(e){for(var r=[],t=arguments.length-1;t-- >0;)r[t]=arguments[t+1];var n=\"\"+this.key+r.map(function(e){return\"[\"+e+\"]\"}).join(\"\");this.errors.push(new ParsingError(n,e))},ParsingContext.prototype.checkSubtype=function(e,r){var t=checkSubtype(e,r);return t&&this.error(t),t},module.exports=ParsingContext;\n},{\"./compound_expression\":122,\"./definitions/assertion\":124,\"./definitions/coercion\":128,\"./definitions/literal\":132,\"./definitions/var\":134,\"./evaluation_context\":135,\"./is_constant\":137,\"./parsing_error\":139,\"./scope\":141,\"./types\":142}],139:[function(_dereq_,module,exports){\n\"use strict\";var ParsingError=function(r){function t(t,o){r.call(this,o),this.message=o,this.key=t}return r&&(t.__proto__=r),t.prototype=Object.create(r&&r.prototype),t.prototype.constructor=t,t}(Error);module.exports=ParsingError;\n},{}],140:[function(_dereq_,module,exports){\n\"use strict\";var RuntimeError=function(r){this.name=\"ExpressionEvaluationError\",this.message=r};RuntimeError.prototype.toJSON=function(){return this.message},module.exports=RuntimeError;\n},{}],141:[function(_dereq_,module,exports){\n\"use strict\";var Scope=function(t,n){var i=this;void 0===n&&(n=[]),this.parent=t,this.bindings={};for(var e=0,r=n;e\":\"value\"===e.itemType.kind?\"array\":\"array<\"+r+\">\"}return e.kind}function checkSubtype(e,r){if(\"error\"===r.kind)return null;if(\"array\"===e.kind){if(\"array\"===r.kind&&!checkSubtype(e.itemType,r.itemType)&&(\"number\"!=typeof e.N||e.N===r.N))return null}else{if(e.kind===r.kind)return null;if(\"value\"===e.kind)for(var n=0,y=valueMemberTypes;n=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255&&\"number\"==typeof n&&n>=0&&n<=255)){return\"Invalid rgba value [\"+(\"number\"==typeof t?[e,r,n,t]:[e,r,n]).join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}return void 0===t||\"number\"==typeof t&&t>=0&&t<=1?null:\"Invalid rgba value [\"+[e,r,n,t].join(\", \")+\"]: 'a' must be between 0 and 1.\"}function isValue(e){if(null===e)return!0;if(\"string\"==typeof e)return!0;if(\"boolean\"==typeof e)return!0;if(\"number\"==typeof e)return!0;if(e instanceof Color)return!0;if(Array.isArray(e)){for(var r=0,n=e;r=2&&\"$id\"!==e[1]&&\"$type\"!==e[1];case\"in\":case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3===e.length&&(Array.isArray(e[1])||Array.isArray(e[2]));case\"any\":case\"all\":for(var r=0,i=e.slice(1);r\"===r||\"<=\"===r||\">=\"===r?compileComparisonOp(e[1],e[2],r,!0):\"any\"===r?compileLogicalOp(e.slice(1),\"||\"):\"all\"===r?compileLogicalOp(e.slice(1),\"&&\"):\"none\"===r?compileNegation(compileLogicalOp(e.slice(1),\"||\")):\"in\"===r?compileInOp(e[1],e.slice(2)):\"!in\"===r?compileNegation(compileInOp(e[1],e.slice(2))):\"has\"===r?compileHasOp(e[1]):\"!has\"===r?compileNegation(compileHasOp(e[1])):\"true\")+\")\"}function compilePropertyReference(e){return\"$type\"===e?\"f.type\":\"$id\"===e?\"f.id\":\"p[\"+JSON.stringify(e)+\"]\"}function compileComparisonOp(e,r,i,n){var t=compilePropertyReference(e),o=\"$type\"===e?types.indexOf(r):JSON.stringify(r);return(n?\"typeof \"+t+\"=== typeof \"+o+\"&&\":\"\")+t+i+o}function compileLogicalOp(e,r){return e.map(compile).join(r)}function compileInOp(e,r){\"$type\"===e&&(r=r.map(function(e){return types.indexOf(e)}));var i=JSON.stringify(r.sort(compare)),n=compilePropertyReference(e);return r.length<=200?i+\".indexOf(\"+n+\") !== -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; }(\"+n+\", \"+i+\",0,\"+(r.length-1)+\")\"}function compileHasOp(e){return\"$id\"===e?'\"id\" in f':JSON.stringify(e)+\" in p\"}function compileNegation(e){return\"!(\"+e+\")\"}function compare(e,r){return er?1:0}var ref=_dereq_(\"../expression\"),createExpression=ref.createExpression;module.exports=createFilter,module.exports.isExpressionFilter=isExpressionFilter;var types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],filterSpec={type:\"boolean\",default:!1,function:!0,\"property-function\":!0};\n},{\"../expression\":136}],145:[function(_dereq_,module,exports){\n\"use strict\";function isFunction(t){return\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function identityFunction(t){return t}function createFunction(t,e,o){var n=\"color\"===e.type,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=findStopLessThanOrEqualTo(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=findStopLessThanOrEqualTo(t.stops,o),i=interpolationFactor(o,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],u=t.stops[a+1][1],p=interpolate[e.type]||identityFunction;return\"function\"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var o=s.evaluate.apply(void 0,t),n=u.evaluate.apply(void 0,t);if(void 0!==o&&void 0!==n)return p(o,n,i)}}:p(s,u,i)}function evaluateIdentityFunction(t,e,o){return\"color\"===e.type?o=parseColor(o):getType(o)===e.type||\"enum\"===e.type&&e.values[o]||(o=void 0),coalesce(o,t.default,e.default)}function findStopLessThanOrEqualTo(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||e>o&&ee&&(i=s-1)}return Math.max(s-1,0)}function interpolationFactor(t,e,o,n){var r=n-o,a=t-o;return 0===r?0:1===e?a/r:(Math.pow(e,a)-1)/(Math.pow(e,r)-1)}var colorSpaces=_dereq_(\"../util/color_spaces\"),parseColor=_dereq_(\"../util/parse_color\"),extend=_dereq_(\"../util/extend\"),getType=_dereq_(\"../util/get_type\"),interpolate=_dereq_(\"../util/interpolate\");module.exports={createFunction:createFunction,isFunction:isFunction};\n},{\"../util/color_spaces\":149,\"../util/extend\":150,\"../util/get_type\":151,\"../util/interpolate\":152,\"../util/parse_color\":153}],146:[function(_dereq_,module,exports){\n\"use strict\";function stringify(r){var t=typeof r;if(\"number\"===t||\"boolean\"===t||\"string\"===t||void 0===r||null===r)return JSON.stringify(r);if(Array.isArray(r)){for(var e=\"[\",i=0,n=r;i\":{},\">=\":{},\"<\":{},\"<=\":{},\"in\":{},\"!in\":{},\"all\":{},\"any\":{},\"none\":{},\"has\":{},\"!has\":{}}},\"geometry_type\":{\"type\":\"enum\",\"values\":{\"Point\":{},\"LineString\":{},\"Polygon\":{}}},\"function\":{\"expression\":{\"type\":\"expression\"},\"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},\"expression\":{\"type\":\"array\",\"value\":\"*\",\"minimum\":1},\"expression_name\":{\"type\":\"enum\",\"values\":{\"let\":{\"group\":\"Variable binding\"},\"var\":{\"group\":\"Variable binding\"},\"literal\":{\"group\":\"Types\"},\"array\":{\"group\":\"Types\"},\"at\":{\"group\":\"Lookup\"},\"case\":{\"group\":\"Decision\"},\"match\":{\"group\":\"Decision\"},\"coalesce\":{\"group\":\"Decision\"},\"curve\":{\"group\":\"Ramps, scales, curves\"},\"ln2\":{\"group\":\"Math\"},\"pi\":{\"group\":\"Math\"},\"e\":{\"group\":\"Math\"},\"typeof\":{\"group\":\"Types\"},\"string\":{\"group\":\"Types\"},\"number\":{\"group\":\"Types\"},\"boolean\":{\"group\":\"Types\"},\"object\":{\"group\":\"Types\"},\"to-string\":{\"group\":\"Types\"},\"to-number\":{\"group\":\"Types\"},\"to-boolean\":{\"group\":\"Types\"},\"to-rgba\":{\"group\":\"Color\"},\"to-color\":{\"group\":\"Types\"},\"rgb\":{\"group\":\"Color\"},\"rgba\":{\"group\":\"Color\"},\"get\":{\"group\":\"Lookup\"},\"has\":{\"group\":\"Lookup\"},\"length\":{\"group\":\"Lookup\"},\"properties\":{\"group\":\"Feature data\"},\"geometry-type\":{\"group\":\"Feature data\"},\"id\":{\"group\":\"Feature data\"},\"zoom\":{\"group\":\"Zoom\"},\"heatmap-density\":{\"group\":\"Heatmap\"},\"+\":{\"group\":\"Math\"},\"*\":{\"group\":\"Math\"},\"-\":{\"group\":\"Math\"},\"/\":{\"group\":\"Math\"},\"%\":{\"group\":\"Math\"},\"^\":{\"group\":\"Math\"},\"log10\":{\"group\":\"Math\"},\"ln\":{\"group\":\"Math\"},\"log2\":{\"group\":\"Math\"},\"sin\":{\"group\":\"Math\"},\"cos\":{\"group\":\"Math\"},\"tan\":{\"group\":\"Math\"},\"asin\":{\"group\":\"Math\"},\"acos\":{\"group\":\"Math\"},\"atan\":{\"group\":\"Math\"},\"min\":{\"group\":\"Math\"},\"max\":{\"group\":\"Math\"},\"==\":{\"group\":\"Decision\"},\"!=\":{\"group\":\"Decision\"},\">\":{\"group\":\"Decision\"},\"<\":{\"group\":\"Decision\"},\">=\":{\"group\":\"Decision\"},\"<=\":{\"group\":\"Decision\"},\"all\":{\"group\":\"Decision\"},\"any\":{\"group\":\"Decision\"},\"!\":{\"group\":\"Decision\"},\"upcase\":{\"group\":\"String\"},\"downcase\":{\"group\":\"String\"},\"concat\":{\"group\":\"String\"}}},\"light\":{\"anchor\":{\"type\":\"enum\",\"default\":\"viewport\",\"values\":{\"map\":{},\"viewport\":{}},\"transition\":false,\"zoom-function\":true,\"property-function\":false,\"function\":\"piecewise-constant\"},\"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_heatmap\",\"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,\"property-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-pitch-alignment\":{\"type\":\"enum\",\"function\":\"piecewise-constant\",\"zoom-function\":true,\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"viewport\"},\"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_heatmap\":{\"heatmap-radius\":{\"type\":\"number\",\"default\":30,\"minimum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true,\"units\":\"pixels\"},\"heatmap-weight\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":true,\"transition\":false},\"heatmap-intensity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true},\"heatmap-color\":{\"type\":\"color\",\"default\":{\"stops\":[[0,\"rgba(0, 0, 255, 0)\"],[0.1,\"royalblue\"],[0.3,\"cyan\"],[0.5,\"lime\"],[0.7,\"yellow\"],[1,\"red\"]]},\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"transition\":true},\"heatmap-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"function\":\"interpolated\",\"zoom-function\":true,\"property-function\":false,\"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},{}],149:[function(_dereq_,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);return[116*o-16,500*(b-o),200*(o-xyz2lab((.0193339*t+.119192*a+.9503041*n)/Zn)),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];return labToRgb([r[2],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},{}],150:[function(_dereq_,module,exports){\n\"use strict\";module.exports=function(r){for(var t=[],e=arguments.length-1;e-- >0;)t[e]=arguments[e+1];for(var n=0,o=t;n7)return[new ValidationError(o,a,\"constants have been deprecated as of v8\")];if(!(a in s.constants))return[new ValidationError(o,a,'constant \"%s\" not found',a)];e=extend({},e,{value:s.constants[a]})}return u.function&&isFunction(unbundle(a))?r(e):u.function&&isExpression(unbundle.deep(a))?i(e):u.type&&n[u.type]?n[u.type](e):t(extend({},e,{valueSpec:u.type?l[u.type]:u}))};\n},{\"../error/validation_error\":121,\"../expression\":136,\"../function\":145,\"../util/extend\":150,\"../util/get_type\":151,\"../util/unbundle_jsonlint\":155,\"./validate_array\":157,\"./validate_boolean\":158,\"./validate_color\":159,\"./validate_constants\":160,\"./validate_enum\":161,\"./validate_expression\":162,\"./validate_filter\":163,\"./validate_function\":164,\"./validate_layer\":166,\"./validate_light\":168,\"./validate_number\":169,\"./validate_object\":170,\"./validate_source\":173,\"./validate_string\":174}],157:[function(_dereq_,module,exports){\n\"use strict\";var getType=_dereq_(\"../util/get_type\"),validate=_dereq_(\"./validate\"),ValidationError=_dereq_(\"../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 a=getType(t);if(\"object\"!==a)return[new ValidationError(e,t,\"object expected, %s found\",a)];var o=[];for(var n in t)\"@\"!==n[0]&&o.push(new ValidationError(e+\".\"+n,t[n],'constants must start with \"@\"'));return o};\n},{\"../error/validation_error\":121,\"../util/get_type\":151}],161:[function(_dereq_,module,exports){\n\"use strict\";var ValidationError=_dereq_(\"../error/validation_error\"),unbundle=_dereq_(\"../util/unbundle_jsonlint\");module.exports=function(e){var r=e.key,n=e.value,u=e.valueSpec,i=[];return Array.isArray(u.values)?-1===u.values.indexOf(unbundle(n))&&i.push(new ValidationError(r,n,\"expected one of [%s], %s found\",u.values.join(\", \"),JSON.stringify(n))):-1===Object.keys(u.values).indexOf(unbundle(n))&&i.push(new ValidationError(r,n,\"expected one of [%s], %s found\",Object.keys(u.values).join(\", \"),JSON.stringify(n))),i};\n},{\"../error/validation_error\":121,\"../util/unbundle_jsonlint\":155}],162:[function(_dereq_,module,exports){\n\"use strict\";var ValidationError=_dereq_(\"../error/validation_error\"),ref=_dereq_(\"../expression\"),createExpression=ref.createExpression,unbundle=_dereq_(\"../util/unbundle_jsonlint\");module.exports=function(e){var r=createExpression(unbundle.deep(e.value),e.valueSpec,e.expressionContext);return\"success\"===r.result?[]:r.errors.map(function(r){return new ValidationError(\"\"+e.key+r.key,e.value,r.message)})};\n},{\"../error/validation_error\":121,\"../expression\":136,\"../util/unbundle_jsonlint\":155}],163:[function(_dereq_,module,exports){\n\"use strict\";var ValidationError=_dereq_(\"../error/validation_error\"),validateExpression=_dereq_(\"./validate_expression\"),validateEnum=_dereq_(\"./validate_enum\"),getType=_dereq_(\"../util/get_type\"),unbundle=_dereq_(\"../util/unbundle_jsonlint\"),extend=_dereq_(\"../util/extend\"),ref=_dereq_(\"../feature_filter\"),isExpressionFilter=ref.isExpressionFilter;module.exports=function e(r){var t,a=r.value,n=r.key,s=r.styleSpec,l=[];if(\"array\"!==getType(a))return[new ValidationError(n,a,\"array expected, %s found\",getType(a))];if(isExpressionFilter(unbundle.deep(a)))return validateExpression(extend({},r,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}}));if(a.length<1)return[new ValidationError(n,a,\"filter array must have at least 1 element\")];switch(l=l.concat(validateEnum({key:n+\"[0]\",value:a[0],valueSpec:s.filter_operator,style:r.style,styleSpec:r.styleSpec})),unbundle(a[0])){case\"<\":case\"<=\":case\">\":case\">=\":a.length>=2&&\"$type\"===unbundle(a[1])&&l.push(new ValidationError(n,a,'\"$type\" cannot be use with operator \"%s\"',a[0]));case\"==\":case\"!=\":3!==a.length&&l.push(new ValidationError(n,a,'filter array for operator \"%s\" must have 3 elements',a[0]));case\"in\":case\"!in\":a.length>=2&&\"string\"!==(t=getType(a[1]))&&l.push(new ValidationError(n+\"[1]\",a[1],\"string expected, %s found\",t));for(var i=2;iunbundle(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},r));return t.concat(validate({key:o+\"[1]\",value:r[1],valueSpec:u,style:e.style,styleSpec:e.styleSpec}))}function a(e,t){var r=getType(e.value),a=unbundle(e.value),o=null!==e.value?e.value:t;if(n){if(r!==n)return[new ValidationError(e.key,o,\"%s stop domain type must match previous stop domain type %s\",r,n)]}else n=r;if(\"number\"!==r&&\"string\"!==r&&\"boolean\"!==r)return[new ValidationError(e.key,o,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==r&&\"categorical\"!==p){var l=\"number expected, %s found\";return u[\"property-function\"]&&void 0===p&&(l+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ValidationError(e.key,o,l,r)]}return\"categorical\"!==p||\"number\"!==r||isFinite(a)&&Math.floor(a)===a?\"categorical\"!==p&&\"number\"===r&&void 0!==i&&a=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\":121,\"../util/get_type\":151,\"../util/unbundle_jsonlint\":155,\"./validate\":156,\"./validate_array\":157,\"./validate_number\":169,\"./validate_object\":170}],165:[function(_dereq_,module,exports){\n\"use strict\";var ValidationError=_dereq_(\"../error/validation_error\"),validateString=_dereq_(\"./validate_string\");module.exports=function(r){var e=r.value,t=r.key,a=validateString(r);return a.length?a:(-1===e.indexOf(\"{fontstack}\")&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{fontstack}\" token')),-1===e.indexOf(\"{range}\")&&a.push(new ValidationError(t,e,'\"glyphs\" url must include a \"{range}\" token')),a)};\n},{\"../error/validation_error\":121,\"./validate_string\":174}],166:[function(_dereq_,module,exports){\n\"use strict\";var ValidationError=_dereq_(\"../error/validation_error\"),unbundle=_dereq_(\"../util/unbundle_jsonlint\"),validateObject=_dereq_(\"./validate_object\"),validateFilter=_dereq_(\"./validate_filter\"),validatePaintProperty=_dereq_(\"./validate_paint_property\"),validateLayoutProperty=_dereq_(\"./validate_layout_property\"),extend=_dereq_(\"../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\":121,\"../util/get_type\":151}],170:[function(_dereq_,module,exports){\n\"use strict\";var ValidationError=_dereq_(\"../error/validation_error\"),getType=_dereq_(\"../util/get_type\"),validateSpec=_dereq_(\"./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},t))}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\":121,\"../util/get_type\":151,\"./validate\":156}],171:[function(_dereq_,module,exports){\n\"use strict\";var validateProperty=_dereq_(\"./validate_property\");module.exports=function(r){return validateProperty(r,\"paint\")};\n},{\"./validate_property\":172}],172:[function(_dereq_,module,exports){\n\"use strict\";var validate=_dereq_(\"./validate\"),ValidationError=_dereq_(\"../error/validation_error\"),getType=_dereq_(\"../util/get_type\");module.exports=function(e,t){var r=e.key,i=e.style,n=e.styleSpec,a=e.value,o=e.objectKey,p=n[t+\"_\"+e.layerType];if(!p)return[];var y=o.match(/^(.*)-transition$/);if(\"paint\"===t&&y&&p[y[1]]&&p[y[1]].transition)return validate({key:r,value:a,valueSpec:n.transition,style:i,styleSpec:n});var l=e.valueSpec||p[o];if(!l)return[new ValidationError(r,a,'unknown property \"%s\"',o)];var s;if(\"string\"===getType(a)&&l[\"property-function\"]&&!l.tokens&&(s=/^{([^}]+)}$/.exec(a)))return[new ValidationError(r,a,'\"%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,a,'use of \"text-field\" requires a style \"glyphs\" property')),u.concat(validate({key:e.key,value:a,valueSpec:l,style:i,styleSpec:n,expressionContext:\"property\"}))};\n},{\"../error/validation_error\":121,\"../util/get_type\":151,\"./validate\":156}],173:[function(_dereq_,module,exports){\n\"use strict\";var ValidationError=_dereq_(\"../error/validation_error\"),unbundle=_dereq_(\"../util/unbundle_jsonlint\"),validateObject=_dereq_(\"./validate_object\"),validateEnum=_dereq_(\"./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\":121,\"../util/unbundle_jsonlint\":155,\"./validate_enum\":161,\"./validate_object\":170}],174:[function(_dereq_,module,exports){\n\"use strict\";var getType=_dereq_(\"../util/get_type\"),ValidationError=_dereq_(\"../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\":121,\"../util/get_type\":151}],175:[function(_dereq_,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=_dereq_(\"./validate/validate_constants\"),validate=_dereq_(\"./validate/validate\"),latestStyleSpec=_dereq_(\"./reference/latest\"),validateGlyphsURL=_dereq_(\"./validate/validate_glyphs_url\");validateStyleMin.source=wrapCleanErrors(_dereq_(\"./validate/validate_source\")),validateStyleMin.light=wrapCleanErrors(_dereq_(\"./validate/validate_light\")),validateStyleMin.layer=wrapCleanErrors(_dereq_(\"./validate/validate_layer\")),validateStyleMin.filter=wrapCleanErrors(_dereq_(\"./validate/validate_filter\")),validateStyleMin.paintProperty=wrapCleanErrors(_dereq_(\"./validate/validate_paint_property\")),validateStyleMin.layoutProperty=wrapCleanErrors(_dereq_(\"./validate/validate_layout_property\")),module.exports=validateStyleMin;\n},{\"./reference/latest\":147,\"./validate/validate\":156,\"./validate/validate_constants\":160,\"./validate/validate_filter\":163,\"./validate/validate_glyphs_url\":165,\"./validate/validate_layer\":166,\"./validate/validate_layout_property\":167,\"./validate/validate_light\":168,\"./validate/validate_paint_property\":171,\"./validate/validate_source\":173}],176:[function(_dereq_,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},{}],177:[function(_dereq_,module,exports){\n\"use strict\";var styleSpec=_dereq_(\"../style-spec/reference/latest\"),util=_dereq_(\"../util/util\"),Evented=_dereq_(\"../util/evented\"),validateStyle=_dereq_(\"./validate_style\"),StyleDeclaration=_dereq_(\"./style_declaration\"),StyleTransition=_dereq_(\"./style_transition\"),TRANSITION_SUFFIX=\"-transition\",properties=[\"anchor\",\"color\",\"position\",\"intensity\"],specifications=styleSpec.light,Light=function(t){function i(i){t.call(this),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:specifications.anchor.default,color:specifications.color.default,position:specifications.position.default,intensity:specifications.intensity.default},t);for(var e=0,o=properties;e1?\"@2x\":\"\";ajax.getJSON(r(normalizeSpriteURL(e,n,\".json\"),ajax.ResourceType.SpriteJSON),function(e,r){u||(u=e,t=r,a())}),ajax.getImage(r(normalizeSpriteURL(e,n,\".png\"),ajax.ResourceType.SpriteImage),function(e,r){u||(u=e,o=r,a())})};\n},{\"../util/ajax\":230,\"../util/browser\":231,\"../util/image\":242,\"../util/mapbox\":246}],180:[function(_dereq_,module,exports){\n\"use strict\";function readFontstacks(e,a,r){1===e&&r.readMessage(readFontstack,a)}function readFontstack(e,a,r){if(3===e){var t=r.readMessage(readGlyph,{}),d=t.id,i=t.bitmap,n=t.width,o=t.height,h=t.left,s=t.top,p=t.advance;a.push({id:d,bitmap:AlphaImage.create({width:n+2*border,height:o+2*border},i),metrics:{width:n,height:o,left:h,top:s,advance:p}})}}function readGlyph(e,a,r){1===e?a.id=r.readVarint():2===e?a.bitmap=r.readBytes():3===e?a.width=r.readVarint():4===e?a.height=r.readVarint():5===e?a.left=r.readSVarint():6===e?a.top=r.readSVarint():7===e&&(a.advance=r.readVarint())}var ref=_dereq_(\"../util/image\"),AlphaImage=ref.AlphaImage,Protobuf=_dereq_(\"pbf\"),border=3;module.exports=function(e){return new Protobuf(e).readFields(readFontstacks,[])},module.exports.GLYPH_PBF_BORDER=border;\n},{\"../util/image\":242,\"pbf\":38}],181:[function(_dereq_,module,exports){\n\"use strict\";function getMaximumPaintValue(t,a,e){return a.isPaintValueFeatureConstant(t)?a.paint[t]:e.programConfigurations.get(a.id).paintPropertyStatistics[t].max}function translateDistance(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function translate(t,a,e,n,r){if(!a[0]&&!a[1])return t;var i=Point.convert(a);\"viewport\"===e&&i._rotate(-n);for(var u=[],s=0;sMath.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){var t=this;if(this._changed){var r=Object.keys(this._updatedLayers),a=Object.keys(this._removedLayers);(r.length||a.length||this._updatedSymbolOrder)&&this._updateWorkerLayers(r,a);for(var i in t._updatedSources){var o=t._updatedSources[i];\"reload\"===o?t._reloadSource(i):\"clear\"===o&&t._clearSource(i)}this._applyPaintPropertyUpdates(e),this._resetUpdates(),this.fire(\"data\",{dataType:\"style\"})}},t.prototype._updateWorkerLayers=function(e,t){var r=this,a=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:a})},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.clone(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 a=r.filter(function(e){return!(e.command in supportedDiffOperations)});if(a.length>0)throw new Error(\"Unimplemented: \"+a.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.addImage=function(e,t){if(this.imageManager.getImage(e))return this.fire(\"error\",{error:new Error(\"An image with this name already exists.\")});this.imageManager.addImage(e,t),this.fire(\"data\",{dataType:\"style\"})},t.prototype.removeImage=function(e){if(!this.imageManager.getImage(e))return this.fire(\"error\",{error:new Error(\"No image with this name exists.\")});this.imageManager.removeImage(e),this.fire(\"data\",{dataType:\"style\"})},t.prototype.addSource=function(e,t,r){var a=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).join(\", \")+\".\");if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\",\"canvas\"].indexOf(t.type)>=0&&this._validate(validateStyle.source,\"sources.\"+e,t,null,r))){var i=this.sourceCaches[e]=new SourceCache(e,t,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:a.loaded(),source:i.serialize(),sourceId:e}}),i.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.fire(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e}),t.setEventedParent(null),t.clearTiles(),t.onRemove&&t.onRemove(this.map),this._changed=!0},t.prototype.setGeoJSONSourceData=function(e,t){this._checkLoaded(),this.sourceCaches[e].getSource().setData(t),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 a=e.id;if(\"object\"==typeof e.source&&(this.addSource(a,e.source),e=util.clone(e),e=util.extend(e,{source:a})),!this._validate(validateStyle.layer,\"layers.\"+a,e,{arrayIndex:-1},r)){var i=StyleLayer.create(e);this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}});var o=t?this._order.indexOf(t):this._order.length;if(t&&-1===o)return void this.fire(\"error\",{message:new Error('Layer with id \"'+t+'\" does not exist on this map.')});if(this._order.splice(o,0,a),this._layers[a]=i,this._removedLayers[a]&&i.source){var s=this._removedLayers[a];delete this._removedLayers[a],s.type!==i.type?this._updatedSources[i.source]=\"clear\":(this._updatedSources[i.source]=\"reload\",this.sourceCaches[i.source].pause())}this._updateLayer(i),\"symbol\"===i.type&&(this._updatedSymbolOrder=!0),this.updatePaintProperties(a)}},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 a=this._order.indexOf(e);this._order.splice(a,1);var i=t?this._order.indexOf(t):this._order.length;this._order.splice(i,0,e),\"symbol\"===r.type&&(this._updatedSymbolOrder=!0,r.source&&!this._updatedSources[r.source]&&(this._updatedSources[r.source]=\"reload\",this.sourceCaches[r.source].pause()))},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 a=this.getLayer(e);if(!a)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")});a.minzoom===t&&a.maxzoom===r||(null!=t&&(a.minzoom=t),null!=r&&(a.maxzoom=r),this._updateLayer(a))},t.prototype.setFilter=function(e,t){this._checkLoaded();var r=this.getLayer(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 filtered.\")});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))},t.prototype.getFilter=function(e){return util.clone(this.getLayer(e).filter)},t.prototype.setLayoutProperty=function(e,t,r){this._checkLoaded();var a=this.getLayer(e);if(!a)return void this.fire(\"error\",{error:new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")});util.deepEqual(a.getLayoutProperty(t),r)||(a.setLayoutProperty(t,r),this._updateLayer(a))},t.prototype.getLayoutProperty=function(e,t){return this.getLayer(e).getLayoutProperty(t)},t.prototype.setPaintProperty=function(e,t,r){this._checkLoaded();var a=this.getLayer(e);if(!a)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(a.getPaintProperty(t),r)){var i=a.isPaintValueFeatureConstant(t);a.setPaintProperty(t,r);a.isPaintValueFeatureConstant(t)&&i||this._updateLayer(a),this.updatePaintProperties(e,t)}},t.prototype.getPaintProperty=function(e,t){return this.getLayer(e).getPaintProperty(t)},t.prototype.getTransition=function(){return util.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},t.prototype.updatePaintProperties=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.sourceCaches[e.source].pause()),this._changed=!0},t.prototype._flattenRenderedFeatures=function(e){for(var t=this,r=[],a=this._order.length-1;a>=0;a--)for(var i=t._order[a],o=0,s=e;o=this.maxzoom)||\"none\"===this.layout.visibility)},e.prototype.updatePaintTransitions=function(t,e,i,a){var o,n=this;for(o in n._paintDeclarations)n._applyPaintDeclaration(o,n._paintDeclarations[o],t,e,i,a);for(o in n._paintTransitions)o in n._paintDeclarations||n._applyPaintDeclaration(o,null,t,e,i,a)},e.prototype.updatePaintTransition=function(t,e,i,a,o){var n=this._paintDeclarations[t];this._applyPaintDeclaration(t,n,e,i,a,o)},e.prototype.recalculate=function(t){var e=this;for(var i in e._paintTransitions)e.paint[i]=e.getPaintValue(i,{zoom:t});for(var a in e._layoutFunctions)e.layout[a]=e.getLayoutValue(a,{zoom:t})},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:util.mapObject(this._layoutDeclarations,getDeclarationValue),paint:util.mapObject(this._paintDeclarations,getDeclarationValue)};return util.filterObject(t,function(t,e){return!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)})},e.prototype._applyPaintDeclaration=function(t,e,i,a,o,n){var r=i.transition?this._paintTransitions[t]:void 0,s=this._paintSpecifications[t];if(null!==e&&void 0!==e||(e=new StyleDeclaration(s,s.default,t)),!r||r.declaration.json!==e.json){var l=util.extend({duration:300,delay:0},a,this.getPaintProperty(t+TRANSITION_SUFFIX)),u=this._paintTransitions[t]=new StyleTransition(s,e,r,l,n);o&&(u.instant()||(u.loopID=o.set(u.endTime-Date.now())),r&&o.cancel(r.loopID))}},e.prototype._updateLayoutValue=function(t){var e=this._layoutDeclarations[t];!e||e.expression.isZoomConstant&&e.expression.isFeatureConstant?(delete this._layoutFunctions[t],this.layout[t]=this.getLayoutValue(t,{zoom:0})):this._layoutFunctions[t]=!0},e.prototype._validate=function(t,e,i,a,o){return(!o||!1!==o.validate)&&validateStyle.emitErrors(this,t.call(validateStyle,{key:e,layerType:this.type,objectKey:i,value:a,styleSpec:styleSpec,style:{glyphs:!0,sprite:!0}}))},e.prototype.has3DPass=function(){return!1},e.prototype.resize=function(t){},e}(Evented);module.exports=StyleLayer;var subclasses={circle:_dereq_(\"./style_layer/circle_style_layer\"),heatmap:_dereq_(\"./style_layer/heatmap_style_layer\"),fill:_dereq_(\"./style_layer/fill_style_layer\"),\"fill-extrusion\":_dereq_(\"./style_layer/fill_extrusion_style_layer\"),line:_dereq_(\"./style_layer/line_style_layer\"),symbol:_dereq_(\"./style_layer/symbol_style_layer\"),background:_dereq_(\"./style_layer/background_style_layer\"),raster:_dereq_(\"./style_layer/raster_style_layer\")};StyleLayer.create=function(t){return new subclasses[t.type](t)};\n},{\"../style-spec/reference/latest\":147,\"../util/evented\":239,\"../util/util\":252,\"./../style-spec/util/parse_color\":153,\"./style_declaration\":183,\"./style_layer/background_style_layer\":185,\"./style_layer/circle_style_layer\":186,\"./style_layer/fill_extrusion_style_layer\":187,\"./style_layer/fill_style_layer\":188,\"./style_layer/heatmap_style_layer\":189,\"./style_layer/line_style_layer\":190,\"./style_layer/raster_style_layer\":191,\"./style_layer/symbol_style_layer\":192,\"./style_transition\":194,\"./validate_style\":195}],185:[function(_dereq_,module,exports){\n\"use strict\";var StyleLayer=_dereq_(\"../style_layer\"),BackgroundStyleLayer=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.prototype.isOpacityZero=function(t){return 0===this.getPaintValue(\"background-opacity\",{zoom:t})},e}(StyleLayer);module.exports=BackgroundStyleLayer;\n},{\"../style_layer\":184}],186:[function(_dereq_,module,exports){\n\"use strict\";var StyleLayer=_dereq_(\"../style_layer\"),CircleBucket=_dereq_(\"../../data/bucket/circle_bucket\"),ref=_dereq_(\"../../util/intersection_tests\"),multiPolygonIntersectsBufferedMultiPoint=ref.multiPolygonIntersectsBufferedMultiPoint,ref$1=_dereq_(\"../query_utils\"),getMaximumPaintValue=ref$1.getMaximumPaintValue,translateDistance=ref$1.translateDistance,translate=ref$1.translate,CircleStyleLayer=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.prototype.createBucket=function(t){return new CircleBucket(t)},e.prototype.isOpacityZero=function(t){return this.isPaintValueFeatureConstant(\"circle-opacity\")&&0===this.getPaintValue(\"circle-opacity\",{zoom:t})&&this.isPaintValueFeatureConstant(\"circle-stroke-width\")&&0===this.getPaintValue(\"circle-stroke-width\",{zoom:t})||this.isPaintValueFeatureConstant(\"circle-stroke-opacity\")&&0===this.getPaintValue(\"circle-stroke-opacity\",{zoom:t})},e.prototype.queryRadius=function(t){return getMaximumPaintValue(\"circle-radius\",this,t)+translateDistance(this.paint[\"circle-translate\"])},e.prototype.queryIntersectsFeature=function(t,e,r,i,a,n){var o=translate(t,this.getPaintValue(\"circle-translate\",{zoom:i},e),this.getPaintValue(\"circle-translate-anchor\",{zoom:i},e),a,n),c=this.getPaintValue(\"circle-radius\",{zoom:i},e)*n;return multiPolygonIntersectsBufferedMultiPoint(o,r,c)},e}(StyleLayer);module.exports=CircleStyleLayer;\n},{\"../../data/bucket/circle_bucket\":52,\"../../util/intersection_tests\":243,\"../query_utils\":181,\"../style_layer\":184}],187:[function(_dereq_,module,exports){\n\"use strict\";var StyleLayer=_dereq_(\"../style_layer\"),FillExtrusionBucket=_dereq_(\"../../data/bucket/fill_extrusion_bucket\"),ref=_dereq_(\"../../util/intersection_tests\"),multiPolygonIntersectsMultiPolygon=ref.multiPolygonIntersectsMultiPolygon,ref$1=_dereq_(\"../query_utils\"),translateDistance=ref$1.translateDistance,translate=ref$1.translate,FillExtrusionStyleLayer=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.prototype.getPaintValue=function(e,r,i){var o=t.prototype.getPaintValue.call(this,e,r,i);return\"fill-extrusion-color\"===e&&o&&(o[3]=1),o},e.prototype.createBucket=function(t){return new FillExtrusionBucket(t)},e.prototype.isOpacityZero=function(t){return 0===this.getPaintValue(\"fill-extrusion-opacity\",{zoom:t})},e.prototype.queryRadius=function(){return translateDistance(this.paint[\"fill-extrusion-translate\"])},e.prototype.queryIntersectsFeature=function(t,e,r,i,o,n){var l=translate(t,this.getPaintValue(\"fill-extrusion-translate\",{zoom:i},e),this.getPaintValue(\"fill-extrusion-translate-anchor\",{zoom:i},e),o,n);return multiPolygonIntersectsMultiPolygon(l,r)},e.prototype.has3DPass=function(){return 0!==this.paint[\"fill-extrusion-opacity\"]&&\"none\"!==this.layout.visibility},e.prototype.resize=function(t){if(this.viewportFrame){var e=this.viewportFrame,r=e.texture,i=e.fbo;t.deleteTexture(r),t.deleteFramebuffer(i),this.viewportFrame=null}},e}(StyleLayer);module.exports=FillExtrusionStyleLayer;\n},{\"../../data/bucket/fill_extrusion_bucket\":54,\"../../util/intersection_tests\":243,\"../query_utils\":181,\"../style_layer\":184}],188:[function(_dereq_,module,exports){\n\"use strict\";var StyleLayer=_dereq_(\"../style_layer\"),FillBucket=_dereq_(\"../../data/bucket/fill_bucket\"),ref=_dereq_(\"../../util/intersection_tests\"),multiPolygonIntersectsMultiPolygon=ref.multiPolygonIntersectsMultiPolygon,ref$1=_dereq_(\"../query_utils\"),translateDistance=ref$1.translateDistance,translate=ref$1.translate,FillStyleLayer=function(t){function o(){t.apply(this,arguments)}return t&&(o.__proto__=t),o.prototype=Object.create(t&&t.prototype),o.prototype.constructor=o,o.prototype.getPaintValue=function(o,e,l){var i=this;if(\"fill-outline-color\"===o){if(void 0===this.getPaintProperty(\"fill-outline-color\"))return t.prototype.getPaintValue.call(this,\"fill-color\",e,l);for(var r=this._paintTransitions[\"fill-outline-color\"];r;){if(!(r&&r.declaration&&r.declaration.value))return t.prototype.getPaintValue.call(i,\"fill-color\",e,l);r=r.oldTransition}}return t.prototype.getPaintValue.call(this,o,e,l)},o.prototype.getPaintInterpolationFactor=function(o){for(var e=[],l=arguments.length-1;l-- >0;)e[l]=arguments[l+1];return\"fill-outline-color\"===o&&void 0===this.getPaintProperty(\"fill-outline-color\")?t.prototype.getPaintInterpolationFactor.apply(this,[\"fill-color\"].concat(e)):t.prototype.getPaintInterpolationFactor.apply(this,[o].concat(e))},o.prototype.isPaintValueFeatureConstant=function(o){return\"fill-outline-color\"===o&&void 0===this.getPaintProperty(\"fill-outline-color\")?t.prototype.isPaintValueFeatureConstant.call(this,\"fill-color\"):t.prototype.isPaintValueFeatureConstant.call(this,o)},o.prototype.isPaintValueZoomConstant=function(o){return\"fill-outline-color\"===o&&void 0===this.getPaintProperty(\"fill-outline-color\")?t.prototype.isPaintValueZoomConstant.call(this,\"fill-color\"):t.prototype.isPaintValueZoomConstant.call(this,o)},o.prototype.createBucket=function(t){return new FillBucket(t)},o.prototype.isOpacityZero=function(t){return this.isPaintValueFeatureConstant(\"fill-opacity\")&&0===this.getPaintValue(\"fill-opacity\",{zoom:t})},o.prototype.queryRadius=function(){return translateDistance(this.paint[\"fill-translate\"])},o.prototype.queryIntersectsFeature=function(t,o,e,l,i,r){var n=translate(t,this.getPaintValue(\"fill-translate\",{zoom:l},o),this.getPaintValue(\"fill-translate-anchor\",{zoom:l},o),i,r);return multiPolygonIntersectsMultiPolygon(n,e)},o}(StyleLayer);module.exports=FillStyleLayer;\n},{\"../../data/bucket/fill_bucket\":53,\"../../util/intersection_tests\":243,\"../query_utils\":181,\"../style_layer\":184}],189:[function(_dereq_,module,exports){\n\"use strict\";var StyleLayer=_dereq_(\"../style_layer\"),HeatmapBucket=_dereq_(\"../../data/bucket/heatmap_bucket\"),RGBAImage=_dereq_(\"../../util/image\").RGBAImage,HeatmapStyleLayer=function(t){function a(a){t.call(this,a),this.colorRampData=new Uint8Array(1024),this.getPaintProperty(\"heatmap-color\")||this.setPaintProperty(\"heatmap-color\",this._paintSpecifications[\"heatmap-color\"].default,\"\")}return t&&(a.__proto__=t),a.prototype=Object.create(t&&t.prototype),a.prototype.constructor=a,a.prototype.createBucket=function(t){return new HeatmapBucket(t)},a.prototype.isOpacityZero=function(t){return 0===this.getPaintValue(\"heatmap-opacity\",{zoom:t})},a.prototype._applyPaintDeclaration=function(a,e,o,r,p,i){var l=this;if(t.prototype._applyPaintDeclaration.call(this,a,e,o,r,p,i),\"heatmap-color\"===a){for(var c=this.colorRampData.length,h=4;h0?e+2*t:t}function offsetLine(t,e){for(var i=[],n=new Point(0,0),r=0;r=this.endTime)return o;var a=this.oldTransition.calculate(t,i,this.startTime),n=util.easeCubicInOut((e-this.startTime-this.delay)/this.duration);return this.interp(a,o,n)},StyleTransition.prototype._calculateTargetValue=function(t,i){if(!this.zoomTransitioned)return this.declaration.calculate(t,i);var e=t.zoom,o=this.zoomHistory.lastIntegerZoom,a=e>o?2:.5,n=this.declaration.calculate({zoom:e>o?e-1:e+1},i),r=this.declaration.calculate({zoom:e},i),s=Math.min((Date.now()-this.zoomHistory.lastIntegerZoomTime)/this.duration,1),l=Math.abs(e-o),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},{\"../style-spec/util/interpolate\":152,\"../util/util\":252}],195:[function(_dereq_,module,exports){\n\"use strict\";module.exports=_dereq_(\"../style-spec/validate_style.min\"),module.exports.emitErrors=function(r,e){if(e&&e.length){for(var t=0,o=e;t-a/2;){if(--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},{}],198:[function(_dereq_,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=_dereq_(\"@mapbox/point-geometry\");module.exports=clipLine;\n},{\"@mapbox/point-geometry\":2}],199:[function(_dereq_,module,exports){\n\"use strict\";var createStructArrayType=_dereq_(\"../util/struct_array\"),Point=_dereq_(\"@mapbox/point-geometry\"),CollisionBoxArray=createStructArrayType({members:[{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"offsetX\"},{type:\"Int16\",name:\"offsetY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Float32\",name:\"unadjustedMaxScale\"},{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\":249,\"@mapbox/point-geometry\":2}],200:[function(_dereq_,module,exports){\n\"use strict\";var CollisionFeature=function(t,e,i,o,a,n,s,l,r,d,u){var h=s.top*l-r,f=s.bottom*l+r,x=s.left*l-r,m=s.right*l+r;if(this.boxStartIndex=t.length,d){var _=f-h,b=m-x;if(_>0)if(_=Math.max(10*l,_),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,a,n)}else this._addLineCollisionBoxes(t,e,i,i.segment,b,_,o,a,n)}else t.emplaceBack(i.x,i.y,0,0,x,h,m,f,1/0,1/0,o,a,n,0,0,0,0,0);this.boxEndIndex=t.length};CollisionFeature.prototype._addLineCollisionBoxes=function(t,e,i,o,a,n,s,l,r){var d=n/2,u=Math.floor(a/d),h=Math.floor(u/2),f=-n/2,x=i,m=o+1,_=f,b=-a/2,v=b-a/8;do{if(--m<0){if(_>b)return;m=0;break}_-=e[m].dist(x),x=e[m]}while(_>v);for(var c=e[m].dist(e[m+1]),g=-h;ga&&(C+=p-a),!(C<_)){for(;_+c=e.length)return;c=e[m].dist(e[m+1])}var M=C-_,y=e[m],B=e[m+1],k=B.sub(y)._unit()._mult(M)._add(y)._round(),F=Math.max(Math.abs(C-f)-d/2,0),L=a/2/F;(g<0||g>=u)&&(L=Math.min(L,.99)),t.emplaceBack(k.x,k.y,k.x-i.x,k.y-i.y,-n/2,-n/2,n/2,n/2,L,L,s,l,r,0,0,0,0,0)}}},module.exports=CollisionFeature;\n},{}],201:[function(_dereq_,module,exports){\n\"use strict\";var Point=_dereq_(\"@mapbox/point-geometry\"),EXTENT=_dereq_(\"../data/extent\"),Grid=_dereq_(\"grid-index\"),intersectionTests=_dereq_(\"../util/intersection_tests\"),CollisionTile=function(e,t,i,a,r,o,n){void 0===o&&(o=new Grid(EXTENT,12,6)),void 0===n&&(n=new Grid(EXTENT,12,0)),this.angle=e,this.pitch=t,this.cameraToCenterDistance=i,this.cameraToTileDistance=a,this.grid=o,this.ignoredGrid=n,this.perspectiveRatio=1+.5*(a/i-1),this.minScale=.5/this.perspectiveRatio,this.maxScale=2/this.perspectiveRatio;var s=Math.sin(this.angle),l=Math.cos(this.angle);this.rotationMatrix=[l,-s,s,l],this.reverseRotationMatrix=[l,s,-s,l],this.yStretch=Math.max(1,a/(i*Math.cos(t/180*Math.PI))),this.collisionBoxArray=r,0===r.length&&(r.emplaceBack(),r.emplaceBack(0,0,0,0,0,-EXTENT,0,EXTENT,1/0,1/0,0,0,0,0,0,0,0,0,0),r.emplaceBack(EXTENT,0,0,0,0,-EXTENT,0,EXTENT,1/0,1/0,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,0,0,0,-EXTENT,0,EXTENT,0,1/0,1/0,0,0,0,0,0,0,0,0,0),r.emplaceBack(0,EXTENT,0,0,-EXTENT,0,EXTENT,0,1/0,1/0,0,0,0,0,0,0,0,0,0)),this.tempCollisionBox=r.get(0),this.edges=[r.get(1),r.get(2),r.get(3),r.get(4)]};CollisionTile.deserialize=function(e,t){return new CollisionTile(e.angle,e.pitch,e.cameraToCenterDistance,e.cameraToTileDistance,t,new Grid(e.grid),new Grid(e.ignoredGrid))},CollisionTile.prototype.serialize=function(e){var t=this.grid.toArrayBuffer(),i=this.ignoredGrid.toArrayBuffer();return e&&(e.push(t),e.push(i)),{angle:this.angle,pitch:this.pitch,cameraToCenterDistance:this.cameraToCenterDistance,cameraToTileDistance:this.cameraToTileDistance,grid:t,ignoredGrid:i}},CollisionTile.prototype.placeCollisionFeature=function(e,t,i){for(var a=this,r=this.collisionBoxArray,o=this.minScale,n=this.rotationMatrix,s=this.yStretch,l=e.boxStartIndex;l=a.maxScale)return o}if(i){var N=void 0;if(a.angle){var C=a.reverseRotationMatrix,w=new Point(c.x1,c.y1).matMult(C),X=new Point(c.x2,c.y1).matMult(C),B=new Point(c.x1,c.y2).matMult(C),G=new Point(c.x2,c.y2).matMult(C);N=a.tempCollisionBox,N.anchorPointX=c.anchorPoint.x,N.anchorPointY=c.anchorPoint.y,N.x1=Math.min(w.x,X.x,B.x,G.x),N.y1=Math.min(w.y,X.x,B.x,G.x),N.x2=Math.max(w.x,X.x,B.x,G.x),N.y2=Math.max(w.y,X.x,B.x,G.x),N.maxScale=c.maxScale}else N=c;for(var R=0;R=a.maxScale)return o}}}return o},CollisionTile.prototype.queryRenderedSymbols=function(e,t){var i={},a=[];if(0===e.length||0===this.grid.keys.length&&0===this.ignoredGrid.keys.length)return a;for(var r=this.collisionBoxArray,o=this.rotationMatrix,n=this.yStretch,s=[],l=1/0,c=1/0,h=-1/0,x=-1/0,m=0;mE.maxScale)){var b=E.anchorPoint.matMult(o),N=b.x+E.x1/v,C=b.y+E.y1/v*n,w=b.x+E.x2/v,X=b.y+E.y2/v*n,B=[new Point(N,C),new Point(w,C),new Point(w,X),new Point(N,X)];intersectionTests.polygonIntersectsPolygon(s,B)&&(i[S][P]=!0,a.push(d[f]))}}return a},CollisionTile.prototype.getPlacementScale=function(e,t,i,a,r){var o=t.x-a.x,n=t.y-a.y,s=(r.x1-i.x2)/o,l=(r.x2-i.x1)/o,c=(r.y1-i.y2)*this.yStretch/n,h=(r.y2-i.y1)*this.yStretch/n;(isNaN(s)||isNaN(l))&&(s=l=1),(isNaN(c)||isNaN(h))&&(c=h=1);var x=Math.min(Math.max(s,l),Math.max(c,h)),m=r.maxScale,p=i.maxScale;return x>m&&(x=m),x>p&&(x=p),x>e&&x>=r.placementScale&&(e=x),e},CollisionTile.prototype.insertCollisionFeature=function(e,t,i){for(var a=this,r=i?this.ignoredGrid:this.grid,o=this.collisionBoxArray,n=e.boxStartIndex;n=1)&&r.insert(n,s.bbox0,s.bbox1,s.bbox2,s.bbox3)}},module.exports=CollisionTile;\n},{\"../data/extent\":58,\"../util/intersection_tests\":243,\"@mapbox/point-geometry\":2,\"grid-index\":23}],202:[function(_dereq_,module,exports){\n\"use strict\";function getAnchors(e,r,t,n,a,l,o,i,c){var h=n?.6*l*o:0,s=Math.max(n?n.right-n.left:0,a?a.right-a.left:0),u=0===e[0].x||e[0].x===c||0===e[0].y||e[0].y===c;r-s*o=0&&k=0&&q=0&&p+h<=s){var M=new Anchor(k,q,A,f);M._round(),n&&!checkMaxAngle(e,M,l,n,a)||x.push(M)}}g+=y}return i||x.length||o||(x=resample(e,g/2,t,n,a,l,o,!0,c)),x}var interpolate=_dereq_(\"../style-spec/util/interpolate\"),Anchor=_dereq_(\"../symbol/anchor\"),checkMaxAngle=_dereq_(\"./check_max_angle\");module.exports=getAnchors;\n},{\"../style-spec/util/interpolate\":152,\"../symbol/anchor\":196,\"./check_max_angle\":197}],203:[function(_dereq_,module,exports){\n\"use strict\";module.exports=function(e){function t(t){g.push(e[t]),l++}function r(e,t,r){var n=u[e];return delete u[e],u[t]=n,g[n].geometry[0].pop(),g[n].geometry[0]=g[n].geometry[0].concat(r[0]),n}function n(e,t,r){var n=i[t];return delete i[t],i[e]=n,g[n].geometry[0].shift(),g[n].geometry[0]=r[0].concat(g[n].geometry[0]),n}function o(e,t,r){var n=r?t[0][t[0].length-1]:t[0][0];return e+\":\"+n.x+\":\"+n.y}for(var i={},u={},g=[],l=0,m=0;m=-a[0]&&r<=a[0]&&i>=-a[1]&&i<=a[1]&&n.frameHistory.isVisible(t)}function updateLineLabels(e,t,a,n,r,i,o,l,s,p){var m=n?e.textSizeData:e.iconSizeData,c=symbolSize.evaluateSizeForZoom(m,a.transform,p,n),u=[256/a.width*2+1,256/a.height*2+1],y=n?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;y.clear();for(var g=e.lineVertexArray,d=n?e.placedGlyphArray:e.placedIconArray,f=0;f1){var h=e.glyphStartIndex+e.numGlyphs,x=l.get(e.glyphStartIndex).offsetX,v=l.get(h-1).offsetX,b=e.lineStartIndex,L=e.lineStartIndex+e.lineLength,A=placeGlyphAlongLine(g*x,d,f,a,m,c,e.segment,b,L,s,i,u);if(!A)return{notEnoughRoom:!0};var G=placeGlyphAlongLine(g*v,d,f,a,m,c,e.segment,b,L,s,i,u);if(!G)return{notEnoughRoom:!0};var S=project(A.point,o).point,P=project(G.point,o).point;if(n&&!a&&(e.vertical?S.yP.x))return{needsFlipping:!0};y=[A];for(var D=e.glyphStartIndex+1;D0?w.point:projectTruncatedLineSegment(c,new Point(j.x,j.y),M,1,r);if(e.vertical?F.y>M.y:F.x0?1:-1,g=0;n&&(y*=-1,g=Math.PI),y<0&&(g+=Math.PI);for(var d=y>0?l+o:l+o+1,f=r,h=r,x=0,v=0,b=Math.abs(u);x+v<=b;){if((d+=y)=s)return null;if(h=f,void 0===(f=c[d])){var L=project(p.get(d),m);if(L.signedDistanceFromCamera>0)f=c[d]=L.point;else{f=projectTruncatedLineSegment(0===x?i:new Point(p.get(d-y).x,p.get(d-y).y),new Point(p.get(d).x,p.get(d).y),h,b-x+1,m)}}x+=v,v=h.dist(f)}var A=(b-x)/v,G=f.sub(h),S=G.mult(A)._add(h);return S._add(G._unit()._perp()._mult(a*y)),{point:S,angle:g+Math.atan2(f.y-h.y,f.x-h.x)}}function hideGlyphs(e,t){for(var a=0;a1||(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){DOM.mousePos(g,e).equals(L)&&h(\"click\",e)}function m(e){h(\"dblclick\",e),e.preventDefault()}function v(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 k in handlers)e[k]=new handlers[k](e,t),t.interactive&&t[k]&&e[k].enable(t[k]);g.addEventListener(\"mouseout\",n,!1),g.addEventListener(\"mousedown\",o,!1),g.addEventListener(\"mouseup\",r,!1),g.addEventListener(\"mousemove\",u,!1),g.addEventListener(\"touchstart\",a,!1),g.addEventListener(\"touchend\",c,!1),g.addEventListener(\"touchmove\",i,!1),g.addEventListener(\"touchcancel\",d,!1),g.addEventListener(\"click\",s,!1),g.addEventListener(\"dblclick\",m,!1),g.addEventListener(\"contextmenu\",v,!1)};\n},{\"../util/dom\":238,\"./handler/box_zoom\":218,\"./handler/dblclick_zoom\":219,\"./handler/drag_pan\":220,\"./handler/drag_rotate\":221,\"./handler/keyboard\":222,\"./handler/scroll_zoom\":223,\"./handler/touch_zoom_rotate\":224,\"@mapbox/point-geometry\":2}],210:[function(_dereq_,module,exports){\n\"use strict\";var util=_dereq_(\"../util/util\"),interpolate=_dereq_(\"../style-spec/util/interpolate\"),browser=_dereq_(\"../util/browser\"),LngLat=_dereq_(\"../geo/lng_lat\"),LngLatBounds=_dereq_(\"../geo/lng_lat_bounds\"),Point=_dereq_(\"@mapbox/point-geometry\"),Evented=_dereq_(\"../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)},i.prototype.panBy=function(t,i,e){return t=Point.convert(t).mult(-1),this.panTo(this.transform.center,util.extend({offset:t},i),e)},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 util.warnOnce(\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\"),this;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),a=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+n[0],i.offset[1]+n[1]];var s=Point.convert(i.offset),h=this.transform,p=h.project(t.getNorthWest()),u=h.project(t.getSouthEast()),c=u.sub(p),m=(h.width-2*r-2*Math.abs(s.x))/c.x,f=(h.height-2*a-2*Math.abs(s.y))/c.y;return f<0||m<0?(util.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\"),this):(i.center=h.unproject(p.add(u).div(2)),i.zoom=Math.min(h.scaleZoom(h.scale*Math.min(m,f)),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),void 0!==t.center&&(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(\"pitchstart\",i).fire(\"pitch\",i).fire(\"pitchend\",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),!1===t.animate&&(t.duration=0),t.smoothEasing&&0!==t.duration&&(t.easing=this._smoothOutEasing(t.duration));var o=this.transform,n=this.getZoom(),r=this.getBearing(),a=this.getPitch(),s=\"zoom\"in t?+t.zoom:n,h=\"bearing\"in t?this._normalizeBearing(t.bearing,r):r,p=\"pitch\"in t?+t.pitch:a,u=o.centerPoint.add(Point.convert(t.offset)),c=o.pointLocation(u),m=LngLat.convert(t.center||c);this._normalizeCenter(m);var f,g,d=o.project(c),l=o.project(m).sub(d),v=o.zoomScale(s-n);return t.around&&(f=LngLat.convert(t.around),g=o.locationPoint(f)),this.zooming=s!==n,this.rotating=r!==h,this.pitching=p!==a,this._prepareEase(i,t.noMoveStart),clearTimeout(this._onEaseEnd),this._ease(function(t){if(this.zooming&&(o.zoom=interpolate(n,s,t)),this.rotating&&(o.bearing=interpolate(r,h,t)),this.pitching&&(o.pitch=interpolate(a,p,t)),f)o.setLocationAtPoint(f,g);else{var e=o.zoomScale(o.zoom-n),c=s>n?Math.min(2,v):Math.max(.5,v),m=Math.pow(c,1-t),b=o.unproject(d.add(l.mult(t*m)).mult(e));o.setLocationAtPoint(o.renderWorldCopies?b.wrap():b,u)}this._fireMoveEvents(i)},function(){t.delayEndEvents?e._onEaseEnd=setTimeout(function(){return e._easeToEnd(i)},t.delayEndEvents):e._easeToEnd(i)},t),this},i.prototype._prepareEase=function(t,i){this.moving=!0,i||this.fire(\"movestart\",t),this.zooming&&this.fire(\"zoomstart\",t),this.pitching&&this.fire(\"pitchstart\",t)},i.prototype._fireMoveEvents=function(t){this.fire(\"move\",t),this.zooming&&this.fire(\"zoom\",t),this.rotating&&this.fire(\"rotate\",t),this.pitching&&this.fire(\"pitch\",t)},i.prototype._easeToEnd=function(t){var i=this.zooming,e=this.pitching;this.moving=!1,this.zooming=!1,this.rotating=!1,this.pitching=!1,i&&this.fire(\"zoomend\",t),e&&this.fire(\"pitchend\",t),this.fire(\"moveend\",t)},i.prototype.flyTo=function(t,i){function e(t){var i=(M*M-z*z+(t?-1:1)*L*L*E*E)/(2*(t?M:z)*L*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)}var a=this;this.stop(),t=util.extend({offset:[0,0],speed:1.2,curve:1.42,easing:util.ease},t);var s=this.transform,h=this.getZoom(),p=this.getBearing(),u=this.getPitch(),c=\"zoom\"in t?util.clamp(+t.zoom,s.minZoom,s.maxZoom):h,m=\"bearing\"in t?this._normalizeBearing(t.bearing,p):p,f=\"pitch\"in t?+t.pitch:u,g=s.zoomScale(c-h),d=s.centerPoint.add(Point.convert(t.offset)),l=s.pointLocation(d),v=LngLat.convert(t.center||l);this._normalizeCenter(v);var b=s.project(l),y=s.project(v).sub(b),_=t.curve,z=Math.max(s.width,s.height),M=z/g,E=y.mag();if(\"minZoom\"in t){var T=util.clamp(Math.min(t.minZoom,h,c),s.minZoom,s.maxZoom),x=z/s.zoomScale(T-h);_=Math.sqrt(x/E*2)}var L=_*_,j=e(0),Z=function(t){return n(j)/n(j+_*t)},w=function(t){return z*((n(j)*r(j+_*t)-o(j))/L)/E},P=(e(1)-j)/_;if(Math.abs(E)<1e-6||!isFinite(P)){if(Math.abs(z-M)<1e-6)return this.easeTo(t,i);var q=Mt.maxDuration&&(t.duration=0),this.zooming=!0,this.rotating=p!==m,this.pitching=f!==u,this._prepareEase(i,!1),this._ease(function(t){var e=t*P,o=1/Z(e);s.zoom=h+s.scaleZoom(o),this.rotating&&(s.bearing=interpolate(p,m,t)),this.pitching&&(s.pitch=interpolate(u,f,t));var n=s.unproject(b.add(y.mult(w(e))).mult(o));s.setLocationAtPoint(s.renderWorldCopies?n.wrap():n,d),this._fireMoveEvents(i)},function(){return a._easeToEnd(i)},t),this},i.prototype.isEasing=function(){return!!this._abortFn},i.prototype.isMoving=function(){return this.moving},i.prototype.stop=function(){return this._abortFn&&(this._abortFn(),this._finishEase()),this},i.prototype._ease=function(t,i,e){this._finishFn=i,this._abortFn=browser.timed(function(i){t.call(this,e.easing(i)),1===i&&this._finishEase()},!1===e.animate?0:e.duration,this)},i.prototype._finishEase=function(){delete this._abortFn;var t=this._finishFn;delete this._finishFn,t.call(this)},i.prototype._normalizeBearing=function(t,i){t=util.wrap(t,-180,180);var e=Math.abs(t-i);return Math.abs(t-360-i)180?-360:e<-180?360:0}},i.prototype._smoothOutEasing=function(t){var i=util.ease;if(this._prevEase){var e=this._prevEase,o=(Date.now()-e.start)/e.duration,n=e.easing(o+.01)-e.easing(o),r=.27/Math.sqrt(n*n+1e-4)*.01,a=Math.sqrt(.0729-r*r);i=util.bezier(r,a,.25,1)}return this._prevEase={start:(new Date).getTime(),duration:t,easing:i},i},i}(Evented);module.exports=Camera;\n},{\"../geo/lng_lat\":68,\"../geo/lng_lat_bounds\":69,\"../style-spec/util/interpolate\":152,\"../util/browser\":231,\"../util/evented\":239,\"../util/util\":252,\"@mapbox/point-geometry\":2}],211:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),config=_dereq_(\"../../util/config\"),AttributionControl=function(t){this.options=t,util.bindAll([\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};AttributionControl.prototype.getDefaultPosition=function(){return\"bottom-right\"},AttributionControl.prototype.onAdd=function(t){var i=this.options&&this.options.compact;return this._map=t,this._container=DOM.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),i&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===i&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},AttributionControl.prototype.onRemove=function(){DOM.remove(this._container),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0},AttributionControl.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var i=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:config.ACCESS_TOKEN}];if(t){var o=i.reduce(function(t,o,e){return o.value&&(t+=o.key+\"=\"+o.value+(e=0)return!1;return!0}),this._container.innerHTML=t.join(\" | \"),this._editLink=null}},AttributionControl.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\")},module.exports=AttributionControl;\n},{\"../../util/config\":235,\"../../util/dom\":238,\"../../util/util\":252}],212:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),window=_dereq_(\"../../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\"),this._className=\"mapboxgl-ctrl\"};FullscreenControl.prototype.onAdd=function(e){return this._map=e,this._mapContainer=this._map.getContainer(),this._container=DOM.create(\"div\",this._className+\" mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display=\"none\",util.warnOnce(\"This device does not support fullscreen mode.\")),this._container},FullscreenControl.prototype.onRemove=function(){DOM.remove(this._container),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._checkFullscreenSupport=function(){return!!(window.document.fullscreenEnabled||window.document.mozFullScreenEnabled||window.document.msFullscreenEnabled||window.document.webkitFullscreenEnabled)},FullscreenControl.prototype._setupUI=function(){var e=this._fullscreenButton=DOM.create(\"button\",this._className+\"-icon \"+this._className+\"-fullscreen\",this._container);e.setAttribute(\"aria-label\",\"Toggle fullscreen\"),e.type=\"button\",this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._changeIcon)},FullscreenControl.prototype._isFullscreen=function(){return this._fullscreen},FullscreenControl.prototype._changeIcon=function(){(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+\"-shrink\"),this._fullscreenButton.classList.toggle(this._className+\"-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\":238,\"../../util/util\":252,\"../../util/window\":233}],213:[function(_dereq_,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=_dereq_(\"../../util/evented\"),DOM=_dereq_(\"../../util/dom\"),window=_dereq_(\"../../util/window\"),util=_dereq_(\"../../util/util\"),LngLat=_dereq_(\"../../geo/lng_lat\"),Marker=_dereq_(\"../marker\"),defaultOptions={positionOptions:{enableHighAccuracy:!1,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},className=\"mapboxgl-ctrl\",supportsGeolocation,GeolocateControl=function(t){function o(o){t.call(this),this.options=util.extend({},defaultOptions,o),util.bindAll([\"_onSuccess\",\"_onError\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\",\"_onClickGeolocate\"],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(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),DOM.remove(this._container),this._map=void 0},o.prototype._onSuccess=function(t){if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\")}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(\"geolocate\",t),this._finish()},o.prototype._updateCamera=function(t){var o=new LngLat(t.coords.longitude,t.coords.latitude),e=t.coords.accuracy;this._map.fitBounds(o.toBounds(e),this.options.fitBoundsOptions,{geolocateSource:!0})},o.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},o.prototype._onError=function(t){if(this.options.trackUserLocation)if(1===t.code)this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),void 0!==this._geolocationWatchID&&this._clearWatch();else switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\")}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(\"error\",t),this._finish()},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},o.prototype._setupUI=function(t){var o=this;!1!==t&&(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.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=DOM.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Marker(this._dotElement),this.options.trackUserLocation&&(this._watchState=\"OFF\")),this._geolocateButton.addEventListener(\"click\",this._onClickGeolocate.bind(this)),this.options.trackUserLocation&&this._map.on(\"movestart\",function(t){t.geolocateSource||\"ACTIVE_LOCK\"!==o._watchState||(o._watchState=\"BACKGROUND\",o._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),o._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),o.fire(\"trackuserlocationend\"))}))},o.prototype._onClickGeolocate=function(){if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(\"trackuserlocationstart\");break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(\"trackuserlocationend\");break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(\"trackuserlocationstart\")}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\")}\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4)},o.prototype._clearWatch=function(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)},o}(Evented);module.exports=GeolocateControl;\n},{\"../../geo/lng_lat\":68,\"../../util/dom\":238,\"../../util/evented\":239,\"../../util/util\":252,\"../../util/window\":233,\"../marker\":227}],214:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),LogoControl=function(){util.bindAll([\"_updateLogo\"],this)};LogoControl.prototype.onAdd=function(o){this._map=o,this._container=DOM.create(\"div\",\"mapboxgl-ctrl\");var t=DOM.create(\"a\",\"mapboxgl-ctrl-logo\");return t.target=\"_blank\",t.href=\"https://www.mapbox.com/\",t.setAttribute(\"aria-label\",\"Mapbox logo\"),this._container.appendChild(t),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._container},LogoControl.prototype.onRemove=function(){DOM.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo)},LogoControl.prototype.getDefaultPosition=function(){return\"bottom-left\"},LogoControl.prototype._updateLogo=function(o){o&&\"metadata\"!==o.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\")},LogoControl.prototype._logoRequired=function(){if(this._map.style){var o=this._map.style.sourceCaches;for(var t in o){if(o[t].getSource().mapbox_logo)return!0}return!1}},module.exports=LogoControl;\n},{\"../../util/dom\":238,\"../../util/util\":252}],215:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),DragRotateHandler=_dereq_(\"../handler/drag_rotate\"),NavigationControl=function(){var t=this;util.bindAll([\"_rotateCompassArrow\"],this),this._container=DOM.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in\",\"Zoom In\",function(){return t._map.zoomIn()}),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out\",\"Zoom Out\",function(){return t._map.zoomOut()}),this._compass=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-compass\",\"Reset North\",function(){return t._map.resetNorth()}),this._compassArrow=DOM.create(\"span\",\"mapboxgl-ctrl-compass-arrow\",this._compass)};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._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new DragRotateHandler(t,{button:\"left\",element:this._compass,pitchWithRotate:!1}),this._handler.enable(),this._container},NavigationControl.prototype.onRemove=function(){DOM.remove(this._container),this._map.off(\"rotate\",this._rotateCompassArrow),delete this._map,this._handler.disable(),delete this._handler},NavigationControl.prototype._createButton=function(t,o,r){var e=DOM.create(\"button\",t,this._container);return e.type=\"button\",e.setAttribute(\"aria-label\",o),e.addEventListener(\"click\",r),e},module.exports=NavigationControl;\n},{\"../../util/dom\":238,\"../../util/util\":252,\"../handler/drag_rotate\":221}],216:[function(_dereq_,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 l=3.2808*a;if(l>5280){setScale(e,n,l/5280,\"mi\")}else setScale(e,n,l,\"ft\")}else if(o&&\"nautical\"===o.unit){var r=a/1852;setScale(e,n,r,\"nm\")}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=Math.PI/180,n=t.lat*o,i=e.lat*o,a=Math.sin(n)*Math.sin(i)+Math.cos(n)*Math.cos(i)*Math.cos((e.lng-t.lng)*o);return 6371e3*Math.acos(Math.min(a,1))}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=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../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(){DOM.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},module.exports=ScaleControl;\n},{\"../../util/dom\":238,\"../../util/util\":252}],217:[function(_dereq_,module,exports){\n\"use strict\";\n},{}],218:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),LngLatBounds=_dereq_(\"../../geo/lng_lat_bounds\"),util=_dereq_(\"../../util/util\"),window=_dereq_(\"../../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._map.dragPan&&this._map.dragPan.disable(),this._el.addEventListener(\"mousedown\",this._onMouseDown,!1),this._map.dragPan&&this._map.dragPan.enable(),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),a=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=a-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&&(DOM.remove(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\":69,\"../../util/dom\":238,\"../../util/util\":252,\"../../util/window\":233}],219:[function(_dereq_,module,exports){\n\"use strict\";var util=_dereq_(\"../../util/util\"),DoubleClickZoomHandler=function(o){this._map=o,util.bindAll([\"_onDblClick\",\"_onZoomEnd\"],this)};DoubleClickZoomHandler.prototype.isEnabled=function(){return!!this._enabled},DoubleClickZoomHandler.prototype.isActive=function(){return!!this._active},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._active=!0,this._map.on(\"zoomend\",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(o.originalEvent.shiftKey?-1:1),{around:o.lngLat},o)},DoubleClickZoomHandler.prototype._onZoomEnd=function(){this._active=!1,this._map.off(\"zoomend\",this._onZoomEnd)},module.exports=DoubleClickZoomHandler;\n},{\"../../util/util\":252}],220:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),window=_dereq_(\"../../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.classList.add(\"mapboxgl-touch-drag-pan\"),this._el.addEventListener(\"mousedown\",this._onDown),this._el.addEventListener(\"touchstart\",this._onDown),this._enabled=!0)},DragPanHandler.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\"mapboxgl-touch-drag-pan\"),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;return!(!e.boxZoom||!e.boxZoom.isActive())||(!(!e.dragRotate||!e.dragRotate.isActive())||(t.touches?t.touches.length>1:!!t.ctrlKey||\"mousemove\"!==t.type&&t.button&&0!==t.button))},DragPanHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now();t.length>0&&e-t[0][0]>160;)t.shift()},module.exports=DragPanHandler;\n},{\"../../util/dom\":238,\"../../util/util\":252,\"../../util/window\":233}],221:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),window=_dereq_(\"../../util/window\"),inertiaLinearity=.25,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaMaxSpeed=180,inertiaDeceleration=720,DragRotateHandler=function(t,e){this._map=t,this._el=e.element||t.getCanvasContainer(),this._button=e.button||\"right\",this._bearingSnap=e.bearingSnap||0,this._pitchWithRotate=!1!==e.pitchWithRotate,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){if(!(this._map.boxZoom&&this._map.boxZoom.isActive()||this._map.dragPan&&this._map.dragPan.isActive()||this.isActive())){if(\"right\"===this._button){var e=t.ctrlKey?0:2,i=t.button;if(void 0!==window.InstallTrigger&&2===t.button&&t.ctrlKey&&window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0&&(i=0),i!==e)return}else if(t.ctrlKey||0!==t.button)return;DOM.disableDrag(),window.document.addEventListener(\"mousemove\",this._onMove,{capture:!0}),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){this.isActive()||(this._active=!0,this._map.moving=!0,this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t),this._pitchWithRotate&&this._fireEvent(\"pitchstart\",t));var e=this._map;e.stop();var i=this._pos,n=DOM.mousePos(this._el,t),r=.8*(i.x-n.x),a=-.5*(i.y-n.y),o=e.getBearing()-r,s=e.getPitch()-a,h=this._inertia,_=h[h.length-1];this._drainInertiaBuffer(),h.push([Date.now(),e._normalizeBearing(o,_[1])]),e.transform.bearing=o,this._pitchWithRotate&&(this._fireEvent(\"pitch\",t),e.transform.pitch=s),this._fireEvent(\"rotate\",t),this._fireEvent(\"move\",t),this._pos=n},DragRotateHandler.prototype._onUp=function(t){var e=this;if(window.document.removeEventListener(\"mousemove\",this._onMove,{capture:!0}),window.document.removeEventListener(\"mouseup\",this._onUp),window.removeEventListener(\"blur\",this._onUp),DOM.enableDrag(),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&&(l=inertiaMaxSpeed);var u=l/(inertiaDeceleration*inertiaLinearity);_+=v*l*(u/2),Math.abs(i._normalizeBearing(_,0))0&&e-t[0][0]>160;)t.shift()},module.exports=DragRotateHandler;\n},{\"../../util/dom\":238,\"../../util/util\":252,\"../../util/window\":233}],222:[function(_dereq_,module,exports){\n\"use strict\";function easeOut(e){return e*(2-e)}var util=_dereq_(\"../../util/util\"),panStep=100,bearingStep=15,pitchStep=10,KeyboardHandler=function(e){this._map=e,this._el=e.getCanvasContainer(),util.bindAll([\"_onKeyDown\"],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,a=0,n=0,r=0,i=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?a=-1:(e.preventDefault(),r=-1);break;case 39:e.shiftKey?a=1:(e.preventDefault(),r=1);break;case 38:e.shiftKey?n=1:(e.preventDefault(),i=-1);break;case 40:e.shiftKey?n=-1:(i=1,e.preventDefault());break;default:return}var s=this._map,o=s.getZoom(),l={duration:300,delayEndEvents:500,easing:easeOut,zoom:t?Math.round(o)+t*(e.shiftKey?2:1):o,bearing:s.getBearing()+a*bearingStep,pitch:s.getPitch()+n*pitchStep,offset:[-r*panStep,-i*panStep],center:s.getCenter()};s.easeTo(l,{originalEvent:e})}},module.exports=KeyboardHandler;\n},{\"../../util/util\":252}],223:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),browser=_dereq_(\"../../util/browser\"),window=_dereq_(\"../../util/window\"),ua=window.navigator.userAgent.toLowerCase(),firefox=-1!==ua.indexOf(\"firefox\"),safari=-1!==ua.indexOf(\"safari\")&&-1===ua.indexOf(\"chrom\"),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=0;\"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\":231,\"../../util/dom\":238,\"../../util/util\":252,\"../../util/window\":233}],224:[function(_dereq_,module,exports){\n\"use strict\";var DOM=_dereq_(\"../../util/dom\"),util=_dereq_(\"../../util/util\"),window=_dereq_(\"../../util/window\"),inertiaLinearity=.15,inertiaEasing=util.bezier(0,0,inertiaLinearity,1),inertiaDeceleration=12,inertiaMaxSpeed=2.5,significantScaleThreshold=.15,significantRotateThreshold=10,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.classList.add(\"mapboxgl-touch-zoom-rotate\"),this._el.addEventListener(\"touchstart\",this._onStart,!1),this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},TouchZoomRotateHandler.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\"),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;Math.abs(r)>significantRotateThreshold?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 l=s*inertiaLinearity/h;Math.abs(l)>inertiaMaxSpeed&&(l=l>0?inertiaMaxSpeed:-inertiaMaxSpeed);var d=1e3*Math.abs(l/(inertiaDeceleration*inertiaLinearity)),c=a+l*d/2e3;c<0&&(c=0),o.easeTo({zoom:c,duration:d,easing:inertiaEasing,around:this._aroundCenter?o.getCenter():o.unproject(u)},{originalEvent:t})},TouchZoomRotateHandler.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=Date.now();t.length>2&&e-t[0][0]>160;)t.shift()},module.exports=TouchZoomRotateHandler;\n},{\"../../util/dom\":238,\"../../util/util\":252,\"../../util/window\":233}],225:[function(_dereq_,module,exports){\n\"use strict\";var util=_dereq_(\"../util/util\"),window=_dereq_(\"../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.getHashString=function(t){var a=this._map.getCenter(),h=Math.round(100*this._map.getZoom())/100,e=Math.max(0,Math.ceil(Math.log(h)/Math.LN2)),n=Math.round(a.lng*Math.pow(10,e))/Math.pow(10,e),o=Math.round(a.lat*Math.pow(10,e))/Math.pow(10,e),i=this._map.getBearing(),s=this._map.getPitch(),r=\"\";return r+=t?\"#/\"+n+\"/\"+o+\"/\"+h:\"#\"+h+\"/\"+o+\"/\"+n,(i||s)&&(r+=\"/\"+Math.round(10*i)/10),s&&(r+=\"/\"+Math.round(s)),r},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.getHashString();window.history.replaceState(\"\",\"\",t)},module.exports=Hash;\n},{\"../util/util\":252,\"../util/window\":233}],226:[function(_dereq_,module,exports){\n\"use strict\";function removeNode(t){t.parentNode&&t.parentNode.removeChild(t)}var util=_dereq_(\"../util/util\"),browser=_dereq_(\"../util/browser\"),window=_dereq_(\"../util/window\"),ref=_dereq_(\"../util/window\"),HTMLImageElement=ref.HTMLImageElement,DOM=_dereq_(\"../util/dom\"),ajax=_dereq_(\"../util/ajax\"),Style=_dereq_(\"../style/style\"),AnimationLoop=_dereq_(\"../style/animation_loop\"),Painter=_dereq_(\"../render/painter\"),Transform=_dereq_(\"../geo/transform\"),Hash=_dereq_(\"./hash\"),bindHandlers=_dereq_(\"./bind_handlers\"),Camera=_dereq_(\"./camera\"),LngLat=_dereq_(\"../geo/lng_lat\"),LngLatBounds=_dereq_(\"../geo/lng_lat_bounds\"),Point=_dereq_(\"@mapbox/point-geometry\"),AttributionControl=_dereq_(\"./control/attribution_control\"),LogoControl=_dereq_(\"./control/logo_control\"),isSupported=_dereq_(\"mapbox-gl-supported\");_dereq_(\"./events\");var 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,maxTileCacheSize:null,transformRequest:null},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 r=new Transform(e.minZoom,e.maxZoom,e.renderWorldCopies);t.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles;var i=e.transformRequest;if(this._transformRequest=i?function(t,e){return i(t,e)||{url:t}}:function(t){return{url:t}},\"string\"==typeof e.container){var n=window.document.getElementById(e.container);if(!n)throw new Error(\"Container '\"+e.container+\"' not found.\");this._container=n}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()}),void 0!==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.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),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({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),r=this._controlPositions[e];return-1!==e.indexOf(\"bottom\")?r.insertBefore(o,r.firstChild):r.appendChild(o),this},e.prototype.removeControl=function(t){return t.onRemove(this),this},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.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new LngLatBounds([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},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=null,this.transform.latRange=null,this._update());return this},e.prototype.setMinZoom=function(t){if((t=null===t||void 0===t?defaultMinZoom: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.on=function(e,o,r){var i=this;if(void 0===r)return t.prototype.on.call(this,e,o);var n=function(){if(\"mouseenter\"===e||\"mouseover\"===e){var t=!1;return{layer:o,listener:r,delegates:{mousemove:function(n){var s=i.getLayer(o)?i.queryRenderedFeatures(n.point,{layers:[o]}):[];s.length?t||(t=!0,r.call(i,util.extend({features:s},n,{type:e}))):t=!1},mouseout:function(){t=!1}}}}if(\"mouseleave\"===e||\"mouseout\"===e){var n=!1;return{layer:o,listener:r,delegates:{mousemove:function(t){(i.getLayer(o)?i.queryRenderedFeatures(t.point,{layers:[o]}):[]).length?n=!0:n&&(n=!1,r.call(i,util.extend({},t,{type:e})))},mouseout:function(t){n&&(n=!1,r.call(i,util.extend({},t,{type:e})))}}}}var s=function(t){var e=i.getLayer(o)?i.queryRenderedFeatures(t.point,{layers:[o]}):[];e.length&&r.call(i,util.extend({features:e},t))};return{layer:o,listener:r,delegates:(a={},a[e]=s,a)};var a}();this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(n);for(var s in n.delegates)i.on(s,n.delegates[s]);return this},e.prototype.off=function(e,o,r){var i=this;if(void 0===r)return t.prototype.off.call(this,e,o);if(this._delegatedListeners&&this._delegatedListeners[e])for(var n=this._delegatedListeners[e],s=0;sthis._map.transform.height-i?[\"bottom\"]:[],t.xthis._map.transform.width-n/2&&o.push(\"right\"),o=0===o.length?\"bottom\":o.join(\"-\")}var r=t.add(e[o]).round(),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-\"+o),DOM.setTransform(this._container,s[o]+\" translate(\"+r.x+\"px,\"+r.y+\"px)\")}},o.prototype._onClickClose=function(){this.remove()},o}(Evented);module.exports=Popup;\n},{\"../geo/lng_lat\":68,\"../util/dom\":238,\"../util/evented\":239,\"../util/smart_wrap\":248,\"../util/util\":252,\"../util/window\":233,\"@mapbox/point-geometry\":2}],229:[function(_dereq_,module,exports){\n\"use strict\";var util=_dereq_(\"./util\"),Actor=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,util.bindAll([\"receive\"],this),this.target.addEventListener(\"message\",this.receive,!1)};Actor.prototype.send=function(t,e,r,a,i){var s=r?this.mapId+\":\"+this.callbackID++:null;r&&(this.callbacks[s]=r),this.target.postMessage({targetMapId:i,sourceMapId:this.mapId,type:t,id:String(s),data:e},a)},Actor.prototype.receive=function(t){var e,r=this,a=t.data,i=a.id;if(!a.targetMapId||this.mapId===a.targetMapId){var s=function(t,e,a){r.target.postMessage({sourceMapId:r.mapId,type:\"\",id:String(i),error:t?String(t):null,data:e},a)};if(\"\"===a.type)e=this.callbacks[a.id],delete this.callbacks[a.id],e&&a.error?e(new Error(a.error)):e&&e(null,a.data);else if(void 0!==a.id&&this.parent[a.type])this.parent[a.type](a.sourceMapId,a.data,s);else if(void 0!==a.id&&this.parent.getWorkerSource){var o=a.type.split(\".\"),p=this.parent.getWorkerSource(a.sourceMapId,o[0]);p[o[1]](a.data,s)}else this.parent[a.type](a.data)}},Actor.prototype.remove=function(){this.target.removeEventListener(\"message\",this.receive,!1)},module.exports=Actor;\n},{\"./util\":252}],230:[function(_dereq_,module,exports){\n\"use strict\";function makeRequest(e){var t=new window.XMLHttpRequest;t.open(\"GET\",e.url,!0);for(var r in e.headers)t.setRequestHeader(r,e.headers[r]);return t.withCredentials=\"include\"===e.credentials,t}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=_dereq_(\"./window\"),ResourceType={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};exports.ResourceType=ResourceType,\"function\"==typeof Object.freeze&&Object.freeze(ResourceType);var AJAXError=function(e){function t(t,r){e.call(this,t),this.status=r}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(Error);exports.getJSON=function(e,t){var r=makeRequest(e);return r.setRequestHeader(\"Accept\",\"application/json\"),r.onerror=function(){t(new Error(r.statusText))},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var e;try{e=JSON.parse(r.response)}catch(e){return t(e)}t(null,e)}else t(new AJAXError(r.statusText,r.status))},r.send(),r},exports.getArrayBuffer=function(e,t){var r=makeRequest(e);return r.responseType=\"arraybuffer\",r.onerror=function(){t(new Error(r.statusText))},r.onload=function(){var e=r.response;if(0===e.byteLength&&200===r.status)return t(new Error(\"http status 200 returned without content.\"));r.status>=200&&r.status<300&&r.response?t(null,{data:e,cacheControl:r.getResponseHeader(\"Cache-Control\"),expires:r.getResponseHeader(\"Expires\")}):t(new AJAXError(r.statusText,r.status))},r.send(),r};var transparentPngUrl=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";exports.getImage=function(e,t){return exports.getArrayBuffer(e,function(e,r){if(e)t(e);else if(r){var n=new window.Image,o=window.URL||window.webkitURL;n.onload=function(){t(null,n),o.revokeObjectURL(n.src)};var s=new window.Blob([new Uint8Array(r.data)],{type:\"image/png\"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?o.createObjectURL(s):transparentPngUrl}})},exports.getVideo=function(e,t){var r=window.document.createElement(\"video\");r.onloadstart=function(){t(null,r)};for(var n=0;n=o+n?e.call(t,1):(e.call(t,(r-o)/n),frame(a))}}if(!n)return e.call(t,1),null;var i=!1,o=now();return frame(a),function(){i=!0}},getImageData:function(e){var n=window.document.createElement(\"canvas\"),t=n.getContext(\"2d\");if(!t)throw new Error(\"failed to create canvas 2d context\");return n.width=e.width,n.height=e.height,t.drawImage(e,0,0,e.width,e.height),t.getImageData(0,0,e.width,e.height)},hardwareConcurrency:window.navigator.hardwareConcurrency||4,get devicePixelRatio(){return window.devicePixelRatio},supportsWebp:!1};var webpImgTest=window.document.createElement(\"img\");webpImgTest.onload=function(){module.exports.supportsWebp=!0},webpImgTest.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\";\n},{\"./window\":233}],232:[function(_dereq_,module,exports){\n\"use strict\";var WebWorkify=_dereq_(\"webworkify\"),window=_dereq_(\"../window\"),workerURL=window.URL.createObjectURL(new WebWorkify(_dereq_(\"../../source/worker\"),{bare:!0}));module.exports=function(){return new window.Worker(workerURL)};\n},{\"../../source/worker\":117,\"../window\":233,\"webworkify\":48}],233:[function(_dereq_,module,exports){\n\"use strict\";module.exports=self;\n},{}],234:[function(_dereq_,module,exports){\n\"use strict\";function compareAreas(e,r){return r.area-e.area}var quickselect=_dereq_(\"quickselect\"),calculateSignedArea=_dereq_(\"./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\":252}],240:[function(_dereq_,module,exports){\n\"use strict\";function compareMax(e,t){return t.max-e.max}function Cell(e,t,n,o){this.p=new Point(e,t),this.h=n,this.d=pointToPolygonDist(this.p,o),this.max=this.d+this.h*Math.SQRT2}function pointToPolygonDist(e,t){for(var n=!1,o=1/0,r=0;re.y!=p.y>e.y&&e.x<(p.x-s.x)*(e.y-s.y)/(p.y-s.y)+s.x&&(n=!n),o=Math.min(o,distToSegmentSquared(e,s,p))}return(n?1:-1)*Math.sqrt(o)}function getCentroidCell(e){for(var t=0,n=0,o=0,r=e[0],i=0,l=r.length,u=l-1;ii)&&(i=s.x),(!a||s.y>l)&&(l=s.y)}var p=i-o,h=l-r,d=Math.min(p,h),x=d/2,y=new Queue(null,compareMax);if(0===d)return new Point(o,r);for(var g=o;gm.d||!m.d)&&(m=c,n&&console.log(\"found best %d after %d probes\",Math.round(1e4*c.d)/1e4,v)),c.max-m.d<=t||(x=c.h/2,y.push(new Cell(c.p.x-x,c.p.y-x,x,e)),y.push(new Cell(c.p.x+x,c.p.y-x,x,e)),y.push(new Cell(c.p.x-x,c.p.y+x,x,e)),y.push(new Cell(c.p.x+x,c.p.y+x,x,e)),v+=4)}return n&&(console.log(\"num probes: \"+v),console.log(\"best distance: \"+m.d)),m.p};\n},{\"./intersection_tests\":243,\"@mapbox/point-geometry\":2,\"tinyqueue\":42}],241:[function(_dereq_,module,exports){\n\"use strict\";var WorkerPool=_dereq_(\"./worker_pool\"),globalWorkerPool;module.exports=function(){return globalWorkerPool||(globalWorkerPool=new WorkerPool),globalWorkerPool};\n},{\"./worker_pool\":255}],242:[function(_dereq_,module,exports){\n\"use strict\";function createImage(e,t,i){var h=e.width,a=e.height;if(i){if(i.length!==h*a*t)throw new RangeError(\"mismatched image size\")}else i=new Uint8Array(h*a*t);return{width:h,height:a,data:i}}function resizeImage(e,t,i){var h=t.width,a=t.height;if(h===e.width&&a===e.height)return e;var r=createImage({width:h,height:a},i);copyImage(e,r,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,h),height:Math.min(e.height,a)},i),e.width=h,e.height=a,e.data=r.data}function copyImage(e,t,i,h,a,r){if(0===a.width||0===a.height)return t;if(a.width>e.width||a.height>e.height||i.x>e.width-a.width||i.y>e.height-a.height)throw new RangeError(\"out of range source coordinates for image copy\");if(a.width>t.width||a.height>t.height||h.x>t.width-a.width||h.y>t.height-a.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var g=e.data,n=t.data,o=0;o=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 ref=_dereq_(\"./util\"),isCounterClockwise=ref.isCounterClockwise;module.exports={multiPolygonIntersectsBufferedMultiPoint:multiPolygonIntersectsBufferedMultiPoint,multiPolygonIntersectsMultiPolygon:multiPolygonIntersectsMultiPolygon,multiPolygonIntersectsBufferedMultiLine:multiPolygonIntersectsBufferedMultiLine,polygonIntersectsPolygon:polygonIntersectsPolygon,distToSegmentSquared:distToSegmentSquared};\n},{\"./util\":252}],244:[function(_dereq_,module,exports){\n\"use strict\";var unicodeBlockLookup={\"Latin-1 Supplement\":function(n){return n>=128&&n<=255},Arabic:function(n){return n>=1536&&n<=1791},\"Arabic Supplement\":function(n){return n>=1872&&n<=1919},\"Arabic Extended-A\":function(n){return n>=2208&&n<=2303},\"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},\"Arabic Presentation Forms-A\":function(n){return n>=64336&&n<=65023},\"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},\"Arabic Presentation Forms-B\":function(n){return n>=65136&&n<=65279},\"Halfwidth and Fullwidth Forms\":function(n){return n>=65280&&n<=65519}};module.exports=unicodeBlockLookup;\n},{}],245:[function(_dereq_,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){return this.has(t)?this.data[t]:null},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},{}],246:[function(_dereq_,module,exports){\n\"use strict\";function makeAPIURL(r,e){var t=parseUrl(config.API_URL);if(r.protocol=t.protocol,r.authority=t.authority,\"/\"!==t.path&&(r.path=\"\"+t.path+r.path),!config.REQUIRE_ACCESS_TOKEN)return formatUrl(r);if(!(e=e||config.ACCESS_TOKEN))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\":\"\",p=browser.supportsWebp?\".webp\":\"$1\";return a.path=a.path.replace(imageExtensionRe,\"\"+o+p),replaceTempAccessToken(a.params),formatUrl(a)};var urlRe=/^(\\w+):\\/\\/([^\\/?]*)(\\/[^?]+)?\\??(.+)?/;\n},{\"./browser\":231,\"./config\":235}],247:[function(_dereq_,module,exports){\n\"use strict\";var isChar=_dereq_(\"./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\":244}],248:[function(_dereq_,module,exports){\n\"use strict\";var LngLat=_dereq_(\"../geo/lng_lat\");module.exports=function(n,t,l){if(n=new LngLat(n.lng,n.lat),t){var a=new LngLat(n.lng-360,n.lat),i=new LngLat(n.lng+360,n.lat),o=l.locationPoint(n).distSqr(t);l.locationPoint(a).distSqr(t)180;){var e=l.locationPoint(n);if(e.x>=0&&e.y>=0&&e.x<=l.width&&e.y<=l.height)break;n.lng>l.center.lng?n.lng-=360:n.lng+=360}return n};\n},{\"../geo/lng_lat\":68}],249:[function(_dereq_,module,exports){\n\"use strict\";function createStructArrayType(t){var r=JSON.stringify(t);if(structArrayTypeCache[r])return structArrayTypeCache[r];var e=void 0===t.alignment?1:t.alignment,i=0,n=0,a=[\"Uint8\"],s=t.members.map(function(t){a.indexOf(t.type)<0&&a.push(t.type);var r=sizeOf(t.type),s=i=align(i,Math.max(e,r)),o=t.components||1;return n=Math.max(n,r),i+=r*o,{name:t.name,type:t.type,components:o,offset:s}}),o=align(i,Math.max(n,e)),p=function(t){function r(){t.apply(this,arguments)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r}(Struct);p.prototype.alignment=e,p.prototype.size=o;for(var y=0,c=s;y1&&(f+=u),f in p.prototype)throw new Error(f+\" is a reserved name and cannot be used as a member name.\");Object.defineProperty(p.prototype,f,createAccessors(h,u))}var m=function(t){function r(){t.apply(this,arguments)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r}(StructArray);return m.prototype.members=s,m.prototype.StructType=p,m.prototype.bytesPerElement=o,m.prototype.emplaceBack=createEmplaceBack(s,o),m.prototype._usedTypes=a,structArrayTypeCache[r]=m,m}function align(t,r){return Math.ceil(t/r)*r}function sizeOf(t){return viewTypes[t].BYTES_PER_ELEMENT}function getArrayViewName(t){return t.toLowerCase()}function createEmplaceBack(t,r){for(var e=[],i=[],n=\"var i = this.length;\\nthis.resize(this.length + 1);\\n\",a=0,s=t;athis.capacity){this.capacity=Math.max(t,Math.floor(this.capacity*RESIZE_MULTIPLIER),DEFAULT_CAPACITY),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var r=this.uint8;this._refreshViews(),r&&this.uint8.set(r)}},StructArray.prototype._refreshViews=function(){for(var t=this,r=0,e=t._usedTypes;r=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){for(var e=[],t=arguments.length-1;t-- >0;)e[t]=arguments[t+1];for(var n=0,o=e;n=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\":67,\"@mapbox/point-geometry\":2,\"@mapbox/unitbezier\":5}],253:[function(_dereq_,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},{}],254:[function(_dereq_,module,exports){\n\"use strict\";var scriptDetection=_dereq_(\"./script_detection\");module.exports=function(t){for(var o=\"\",e=0;e\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};\n},{\"./script_detection\":247}],255:[function(_dereq_,module,exports){\n\"use strict\";var WebWorker=_dereq_(\"./web_worker\"),WorkerPool=function(){this.active={}};WorkerPool.prototype.acquire=function(r){var e=this;if(!this.workers){var o=_dereq_(\"../\").workerCount;for(this.workers=[];this.workers.length{{buttons}}\",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\"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/node_modules/alertify.js/dist/js/alertify.js\n// module id = 4\n// module chunks = 0","//newnote.js\n\nimport enableLocateButton from './newnote-button';\nimport persistFormData from './persist-form';\n\nlet button = document.querySelector('#locate');\nenableLocateButton(button);\npersistFormData();\n\n\n\n// WEBPACK FOOTER //\n// ./newnote.js","//newnote-button.js\n\nimport getLocation from './newnote-getlocation';\n\nexport default function enableLocateButton(button) {\n if ('geolocation' in navigator) {\n if (button.addEventListener) {\n //if we have javascript, event listeners and geolocation\n //make the locate button clickable and add event\n button.disabled = false;\n button.addEventListener('click', getLocation);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./newnote-button.js","//newnote-getlocation.js\n\nimport addMapWithPlaces from './nearby-places';\n\nexport default function getLocation() {\n let container = document.querySelector('fieldset');\n let mapDiv = document.createElement('div');\n mapDiv.classList.add('map');\n container.appendChild(mapDiv);\n navigator.geolocation.getCurrentPosition(function (position) {\n mapDiv.dataset.latitude = position.coords.latitude;\n mapDiv.dataset.longitude = position.coords.longitude;\n mapDiv.dataset.accuracy = position.coords.accuracy;\n addMapWithPlaces(mapDiv, position);\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./newnote-getlocation.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// /Users/jonny/Development/git/jonnybarnes.uk/node_modules/alertify.js/dist/js/alertify.js\n// module id = 4\n// module chunks = 0","//newnote.js\n\nimport enableLocateButton from './newnote-button';\nimport persistFormData from './persist-form';\n\nlet button = document.querySelector('#locate');\nenableLocateButton(button);\npersistFormData();\n\n\n\n// WEBPACK FOOTER //\n// ./newnote.js","//newnote-button.js\n\nimport getLocation from './newnote-getlocation';\n\nexport default function enableLocateButton(button) {\n if ('geolocation' in navigator) {\n if (button.addEventListener) {\n //if we have javascript, event listeners and geolocation\n //make the locate button clickable and add event\n button.disabled = false;\n button.addEventListener('click', getLocation);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./newnote-button.js","//newnote-getlocation.js\n\nimport addMapWithPlaces from './nearby-places';\n\nexport default function getLocation() {\n let container = document.querySelector('fieldset');\n let mapDiv = document.createElement('div');\n mapDiv.classList.add('map');\n container.appendChild(mapDiv);\n navigator.geolocation.getCurrentPosition(function (position) {\n mapDiv.dataset.latitude = position.coords.latitude;\n mapDiv.dataset.longitude = position.coords.longitude;\n mapDiv.dataset.accuracy = position.coords.accuracy;\n addMapWithPlaces(mapDiv, position);\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./newnote-getlocation.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 + +
+ +
+ +@stop diff --git a/resources/views/admin/likes/edit.blade.php b/resources/views/admin/likes/edit.blade.php new file mode 100644 index 00000000..d5de12f5 --- /dev/null +++ b/resources/views/admin/likes/edit.blade.php @@ -0,0 +1,24 @@ +@extends('master') + +@section('title')Edit Like « Admin CP « @stop + +@section('content') +

Edit Like

+
+ {{ csrf_field() }} + {{ method_field('PUT') }} +
+ + +
+
+ +
+
+
+
+ {{ csrf_field() }} + {{ method_field('DELETE') }} + +
+@stop diff --git a/resources/views/admin/likes/index.blade.php b/resources/views/admin/likes/index.blade.php new file mode 100644 index 00000000..874eacd1 --- /dev/null +++ b/resources/views/admin/likes/index.blade.php @@ -0,0 +1,15 @@ +@extends('master') + +@section('title')List Likes « Admin CP « @stop + +@section('content') +

Likes

+
+

Create a new like?

+@stop diff --git a/resources/views/admin/welcome.blade.php b/resources/views/admin/welcome.blade.php index a0f994f9..3e8600b7 100644 --- a/resources/views/admin/welcome.blade.php +++ b/resources/views/admin/welcome.blade.php @@ -11,6 +11,9 @@

Notes

You can either create new notes, or edit them.

+

Likes

+

You can either create a new like, or edit them.

+

Clients

You can either create new client names, or edit them.

diff --git a/resources/views/likes/index.blade.php b/resources/views/likes/index.blade.php index 4275a4ee..c15b0c7d 100644 --- a/resources/views/likes/index.blade.php +++ b/resources/views/likes/index.blade.php @@ -3,18 +3,20 @@ @section('title')Likes « @stop @section('content') -
+
@foreach($likes as $like)
- Liked a post by - + Liked a post +@isset($like->author_name) + by @isset($like->author_url) {{ $like->author_name }} @else {{ $like->author_name }} @endisset +@endisset @isset($like->content)
{!! $like->content !!} diff --git a/resources/views/likes/show.blade.php b/resources/views/likes/show.blade.php index 5c75e4de..7e745c03 100644 --- a/resources/views/likes/show.blade.php +++ b/resources/views/likes/show.blade.php @@ -5,17 +5,22 @@ @section('content')
- Liked a post by - + Liked a post +@isset($like->author_name) + by @isset($like->author_url) {{ $like->author_name }} @else {{ $like->author_name }} @endisset - : + +@endisset
{!! $like->content !!}
+ + + @stop diff --git a/routes/web.php b/routes/web.php index f0a54a44..b1e077d2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -85,6 +85,16 @@ Route::group(['domain' => config('url.longurl')], function () { Route::post('/merge', 'PlacesController@mergeStore'); Route::delete('/{id}', 'PlacesController@destroy'); }); + + //Likes + Route::group(['prefix' => 'likes'], function () { + Route::get('/', 'LikesController@index'); + Route::get('/create', 'LikesController@create'); + Route::post('/', 'LikesController@store'); + Route::get('/{id}/edit', 'LikesController@edit'); + Route::put('/{id}', 'LikesController@update'); + Route::delete('/{id}', 'LikesController@destroy'); + }); }); //Blog pages using ArticlesController diff --git a/tests/Feature/Admin/LikesTest.php b/tests/Feature/Admin/LikesTest.php new file mode 100644 index 00000000..83271072 --- /dev/null +++ b/tests/Feature/Admin/LikesTest.php @@ -0,0 +1,76 @@ +withSession(['loggedin' => true]) + ->get('/admin/likes'); + $response->assertSeeText('Likes'); + } + + public function test_create_page() + { + $response = $this->withSession(['loggedin' => true]) + ->get('/admin/likes/create'); + $response->assertSeeText('New Like'); + } + + public function test_create_new_like() + { + Queue::fake(); + $this->withSession(['loggedin' => true]) + ->post('/admin/likes', [ + 'like_url' => 'https://example.com' + ]); + $this->assertDatabaseHas('likes', [ + 'url' => 'https://example.com' + ]); + Queue::assertPushed(ProcessLike::class); + } + + public function test_see_edit_form() + { + $response = $this->withSession(['loggedin' => true]) + ->get('/admin/likes/1/edit'); + $response->assertSee('Edit Like'); + } + + public function test_edit_like() + { + Queue::fake(); + $this->withSession(['loggedin' => true]) + ->post('/admin/likes/1', [ + '_method' => 'PUT', + 'like_url' => 'https://example.com', + ]); + $this->assertDatabaseHas('likes', [ + 'url' => 'https://example.com', + ]); + Queue::assertPushed(ProcessLike::class); + } + + public function test_delete_like() + { + $like = Like::find(1); + $url = $like->url; + $this->withSession(['loggedin' => true]) + ->post('/admin/likes/1', [ + '_method' => 'DELETE', + ]); + $this->assertDatabaseMissing('likes', [ + 'url' => $url, + ]); + } +}