Files
osm-search/frontend/dist/js/app.58a4be23.js
Logan Williams ed5473b6e5 Add API
2022-10-05 10:56:44 +02:00

2 lines
20 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(function(){"use strict";var e={9672:function(e,t,s){var o=s(144),r=s(1653),a=s(998),n=s(5716),l=s(6312),i=s(2118),c=s(3059),u=s(3687),m=function(){var e=this,t=e._self._c;return t(a.Z,[t(n.Z,{staticClass:"text-no-wrap",staticStyle:{"flex-grow":"0"}},[t(l.Z,[e._v("Bellingcat OpenStreetMap search")]),t(u.Z),t("google-login")],1),e.$store.state.user?t(c.Z,[t("SearchControls"),t("SearchResults")],1):t(c.Z,[t(i.Z,[t(r.Z,{staticStyle:{padding:"0.75em","margin-top":"1em"},attrs:{type:"error"}},[e._v(" Please sign in to continue. ")])],1)],1)],1)},p=[],d=s(6190),g=s(9582),h=s(4886),y=s(6243),f=s(8687),v=s(1713),b=function(){var e=this,t=e._self._c;return t(i.Z,[t(g.Z,{attrs:{loading:e.$store.state.loading}},[t(h.EB,[e._v(" "+e._s(100==e.$store.state.searchResults.length?"100 results of many":e.$store.state.searchResults.length+" total results")+" "),t("span",{staticClass:"timing"},[e._v(e._s("in "+(e.$store.state.responseTime/1e3).toFixed(2)+" seconds"))])]),t(h.ZB,[t(f.Z,{attrs:{row:""},model:{value:e.mode,callback:function(t){e.mode=t},expression:"mode"}},[t(y.Z,{attrs:{label:"OSM",value:"osm"}}),t(y.Z,{attrs:{label:"Google",value:"google"}}),t(y.Z,{attrs:{label:"Satellite",value:"satellite"}})],1),t("div",{staticClass:"results"},[t(v.Z,e._l(e.$store.state.searchResults,(function(e,s){return t("SearchResult",{key:"result"+s,attrs:{result:e,resultIndex:s,index:s}})})),1)],1)],1),t(h.h7,[t(d.Z,{attrs:{text:""},on:{click:e.csv}},[e._v("Export as CSV")]),t(d.Z,{attrs:{text:""},on:{click:e.kml}},[e._v("Export as KML")])],1)],1)],1)},S=[],_=s(266),Z=function(){var e=this,t=e._self._c;return t(_.Z,[t(g.Z,{staticClass:"result",attrs:{id:"result"+e.index,color:e.hovered?"#D1C4E9":e.selected?"#F48FB1":"#FFFFFF"},on:{mouseover:function(t){return e.$store.commit("setHoveredResult",e.index)},mouseleave:function(t){return e.$store.commit("setHoveredResult",null)},click:e.clicked}},[t(h.EB,[e._v(e._s(e.resultIndex+1)+" ")]),t(h.Qq,[e._v(" "+e._s(e.result.name)+" ")]),t(h.ZB,[t("div",{staticClass:"map"},[t("l-map",{staticStyle:{width:"180px",height:"100px"},attrs:{zoom:17,center:[e.result.lat,e.result.lng],options:{zoomControl:!1}}},[t("l-tile-layer",{attrs:{url:e.url}})],1)],1)]),t(h.h7,[t(d.Z,{attrs:{href:`https://www.google.com/maps/search/?api=1&query=${e.result.lat},${e.result.lng}`,text:"",target:"_blank"}},[e._v("("+e._s(e.result.lat.toFixed(5))+", "+e._s(e.result.lng.toFixed(5))+")")])],1)],1)],1)},w=[],x=s(5352),k=s(2727),$={name:"SearchResult",components:{LMap:x.Z,LTileLayer:k.Z},props:{result:Object,resultIndex:Number,mode:String,index:Number},computed:{url(){return"google"==this.$store.state.mode?"https://maps.googleapis.com/maps/vt?pb=!1m5!1m4!1i{z}!2i{x}!3i{y}!4i256!2m3!1e0!2sm!3i70350780!3m12!2sen-US!3sUS!5e18!12m4!1e68!2m2!1sset!2sRoadmap!12m3!1e37!2m1!1ssmartmaps!4e0!23i1379903&key=AIzaSyAo0g0nZh5aOEhMW2S876KMjJ8OqaN-VwQ":"satellite"==this.$store.state.mode?"https://api.mapbox.com/styles/v1/mapbox/satellite-v9/tiles/512/{z}/{x}/{y}{r}?access_token=pk.eyJ1IjoiYmVsbGluZ2NhdC1tYXBib3giLCJhIjoiY2w4c201OGZsMHdkOTNwbWhkb3I4dGE2cCJ9.GFxMJQJ-dV7VRBAcTTHOzg":"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"},hovered(){return this.index==this.$store.state.hovered},selected(){return this.index==this.$store.state.selectedResult}},methods:{clicked(){this.$store.commit("setSelectedResult",this.index),this.$store.commit("setCenter",[this.result.lat,this.result.lng]),this.$store.commit("setZoom",13)}}},O=$,R=s(1001),C=(0,R.Z)(O,Z,w,!1,null,null,null),B=C.exports,T=s(2816),I=s.n(T),F=s(3162),E=s(1818),z={name:"SearchResults",components:{SearchResult:B},computed:{mode:{get(){return this.$store.state.mode},set(e){this.$store.commit("setMode",e)}}},methods:{kml(){let e=this.$store.state.searchResults.map((e=>({type:"Feature",properties:{name:e.name},geometry:{type:"Point",coordinates:[e.lng,e.lat]}}))),t={type:"FeatureCollection",features:e},s=I()(t);(0,F.saveAs)(new Blob([s],{type:"text/plain;charset=utf-8"}),"osm-search.kml")},csv(){const e={fieldSeparator:",",quoteStrings:'"',decimalSeparator:".",showLabels:!0,showTitle:!1,useTextFile:!1,useBom:!0,useKeysAsHeaders:!0,filename:"osm-search"},t=new E.ExportToCsv(e);t.generateCsv(this.$store.state.searchResults.map((e=>({name:e.name,lat:e.lat,lng:e.lng}))))}}},M=z,j=(0,R.Z)(M,b,S,!1,null,null,null),N=j.exports,L=s(7414),A=function(){var e=this,t=e._self._c;return t(i.Z,[t(v.Z,{staticStyle:{padding:"0.75em"}},[t(g.Z,{staticStyle:{width:"100%"}},[t(h.EB,[e._v("Getting started")]),t(h.ZB,[t("p",[e._v(" With the OpenStreetMap search tool, a researcher can find geolocation leads by searching for specific objects on OpenStreetMap. ")]),t("p",[e._v(' To begin, drag a feature type from the presets list to the "Selected features" list. Adding multiple features will find only locations where those features are nearby each other. Set the maximum distance slider to adjust how far apart the features can be. Adjust the map to contain the area that you want to search, and press the search button. Some queries may take several minutes to run. To increase the speed, zoom in on the map to select a smaller area. Results can be browsed directly, opened in Google Maps by clicking the lat/lng, or downloaded as a CSV or KML file. ')]),t("p",[e._v(" OpenStreetMap is very detailed but accuracy and completeness varies significantly around the world. This tool can be used to find possible leads, but it should not be considered exhaustive or used to exclude areas of interest. "),t("strong",[e._v("Want to search for a type of feature that's not included on the list?")]),e._v(" Contact logan@bellingcat.com. ")])])],1)],1),t("feature-selector"),e.$store.state.selected.length<1?t(r.Z,{staticStyle:{padding:"0.75em","margin-top":"1em"},attrs:{type:"error"}},[e._v(" Select at least one feature to begin a search. ")]):e._e(),t(v.Z,{staticStyle:{padding:"0.75em"}},[t(g.Z,{staticStyle:{width:"100%"}},[t(h.EB,[e._v("Maximum distance between features")]),t(h.ZB,[t(L.Z,{staticStyle:{"margin-bottom":"-1em","margin-top":"1em"},attrs:{"thumb-label":"always","thumb-size":36,max:500,label:"Longer distance will take longer to search"},scopedSlots:e._u([{key:"thumb-label",fn:function({value:t}){return[e._v(" "+e._s(t)+"m ")]}}]),model:{value:e.range,callback:function(t){e.range=t},expression:"range"}})],1)],1)],1),t(v.Z,{staticStyle:{padding:"0.75em"}},[t(g.Z,{staticStyle:{width:"100%"}},[t(h.EB,[e._v("Search area")]),t("l-map",{ref:"map",staticStyle:{width:"100%",height:"600px"},attrs:{zoom:e.zoom,center:e.center},on:{"update:zoom":function(t){e.zoom=t},"update:center":function(t){e.center=t}}},[t("l-tile-layer",{attrs:{url:e.url}}),e._l(e.$store.state.searchResults,(function(s,o){return t("l-circle-marker",{key:"marker"+o,attrs:{"lat-lng":[s.lat,s.lng],radius:4,color:o==e.$store.state.hovered?"#673AB7":o==e.$store.state.selectedResult?"#E91E63":"#2196F3"},on:{mouseover:function(t){return e.$store.commit("setHoveredResult",o)},mouseleave:function(t){return e.$store.commit("setHoveredResult",null)},click:function(t){return e.mapClick(o)}}})})),e.$store.state.bbox.length>0?t("l-rectangle",{attrs:{bounds:e.$store.state.bbox,fill:!1,color:"blue",weight:3}}):e._e()],2)],1)],1),e.zoom<6?t(r.Z,{staticStyle:{padding:"0.75em","margin-top":"1em"},attrs:{type:"error"}},[e._v(" Your search area is too large. Zoom in to reduce the search area. ")]):e.zoom<8?t(r.Z,{staticStyle:{padding:"0.75em","margin-top":"1em"},attrs:{type:"warning"}},[e._v(" Your search area is very large. You can still run it, but the search may fail or take a long time to execute. Zoom in to reduce the search area. ")]):e._e(),t(v.Z,{staticStyle:{padding:"0.75em"}},[t(d.Z,{on:{click:e.search}},[e._v("Search")])],1),e.$store.state.error?t(r.Z,{staticStyle:{padding:"0.75em","margin-top":"1em"},attrs:{type:"error"}},[e._v(" "+e._s(e.$store.state.error)+" ")]):e._e()],1)},G=[],J=s(4985),D=s(4393),P=s(4127),q=s(7256),H=s(7808),Q=function(){var e=this,t=e._self._c;return t(v.Z,[t(_.Z,[t(g.Z,{staticStyle:{"min-height":"100%"},attrs:{color:e.accepting?"#ddd":"#fff"},on:{drop:e.onDrop,dragover:e.onDragOver,dragleave:e.onDragLeave}},[t(h.EB,[e._v("Selected features")]),t(h.ZB,[t(_.Z,e._l(e.$store.state.selected,(function(s,o){return t(g.Z,{key:s.name+s.type,staticStyle:{"margin-bottom":"1em"},attrs:{close:""}},[t(h.EB,{attrs:{color:"point"==s.type?"#8BC34A":"line"==s.type?"#00BCD4":"#FFC107"}},[e._v(" "+e._s(s.name)+"  "),t("span",{staticClass:"type"},[e._v("("+e._s(s.type)+")")])]),t(h.ZB,[t("span",{staticClass:"code"},[e._v(" "+e._s(s.filter)+" ")])]),t(h.h7,[t(d.Z,{attrs:{color:"red",text:""},on:{click:function(t){return e.remove(o)}}},[e._v(" Remove ")])],1)],1)})),1)],1)],1)],1),t(_.Z,[t(g.Z,[t(h.EB,[e._v("Feature presets")]),t(h.ZB,e._l(e.queries,(function(s){return t(P.Z,{key:s.name+s.type,staticStyle:{margin:"0.25em"},attrs:{color:"point"==s.type?"#8BC34A":"line"==s.type?"#00BCD4":"#FFC107",draggable:""},on:{dragstart:function(t){return e.startDrag(t,s)},click:function(t){return e.addFeature(s)}}},[e._v(e._s(s.name))])})),1)],1),t(g.Z,{staticStyle:{"margin-top":"1em"}},[t(h.EB,[e._v("Custom feature")]),t(h.ZB,[t(v.Z,[t(_.Z,{attrs:{cols:"3"}},[t(q.Z,{attrs:{label:"Feature type",items:e.queryTypes},model:{value:e.selectedQueryType,callback:function(t){e.selectedQueryType=t},expression:"selectedQueryType"}})],1),t(_.Z,[t(H.Z,{staticClass:"code",attrs:{label:"Filter statement"},model:{value:e.customFilter,callback:function(t){e.customFilter=t},expression:"customFilter"}})],1)],1)],1),t(h.h7,[t(d.Z,{attrs:{color:"primary",text:""},on:{click:e.addCustom}},[e._v("Add")])],1)],1)],1)],1)},V=[],W=[{name:"Power pylon",type:"point",filter:"power = 'tower' OR power = 'pole'"},{name:"Public transport stop",type:"point",filter:"(public_transport IS NOT null OR highway='bus_stop')"},{name:"Church",type:"point",filter:"amenity = 'place_of_worship'"},{name:"Hospital",type:"point",filter:"amenity = 'hospital'"},{name:"Military",type:"point",filter:"military IS NOT null OR landuse = 'military'"},{name:"Restaurant",type:"point",filter:"amenity = 'restaurant' OR amenity = 'cafe' OR amenity = 'pub' OR amenity = 'fast_food'"},{name:"Waterway",type:"line",filter:"waterway IS NOT null"},{name:"Road",type:"line",filter:"highway IS NOT null"},{name:"Railroad",type:"line",filter:"railway IS NOT null"},{name:"Bridge",type:"line",filter:"bridge IS NOT null"},{name:"Road (motorway)",type:"line",filter:"highway = 'motorway' OR highway = 'motorway_link'"},{name:"Road (primary)",type:"line",filter:"highway = 'primary' OR highway = 'primary_link'"},{name:"Road (secondary)",type:"line",filter:"highway = 'secondary' OR highway = 'secondary_link"},{name:"Road (residential)",type:"line",filter:"highway = 'residential'"},{name:"Unpaved road",type:"line",filter:"surface = 'unpaved'"},{name:"1-lane road",type:"line",filter:"tags->'lanes' = '1'"},{name:"2-lane road",type:"line",filter:"tags->'lanes' = '2'"},{name:"3-lane road",type:"line",filter:"tags->'lanes' = '3'"},{name:"4-lane road",type:"line",filter:"tags->'lanes' = '4'"},{name:"5-lane road",type:"line",filter:"tags->'lanes' = '5'"},{name:"6-lane road",type:"line",filter:"tags->'lanes' = '6'"},{name:"Cliff",type:"line",filter:"planet_osm_line.natural = 'cliff'"},{name:"Park",type:"polygon",filter:"leisure = 'park'"},{name:"Industrial area",type:"polygon",filter:"landuse = 'industrial'"},{name:"Body of water",type:"polygon",filter:"water IS NOT null"},{name:"Forest",type:"polygon",filter:"landuse = 'forest' OR planet_osm_polygon.natural = 'forest'"},{name:"Farmland",type:"polygon",filter:"landuse = 'farmland'"},{name:"Building",type:"polygon",filter:"building IS NOT null"},{name:"Building (1 story)",type:"polygon",filter:"tags->'building:levels' = '1'"},{name:"Building (2 story)",type:"polygon",filter:"tags->'building:levels' = '2'"},{name:"Building (3 story)",type:"polygon",filter:"tags->'building:levels' = '3'"},{name:"Building (4 story)",type:"polygon",filter:"tags->'building:levels' = '4'"},{name:"Building (5+ stories)",type:"polygon",filter:"(tags->'building:levels')::integer >= 5"},{name:"Beach",type:"polygon",filter:"planet_osm_polygon.natural = 'beach'"},{name:"Military",type:"polygon",filter:"military IS NOT null OR landuse = 'military'"}],Y={name:"FeatureSelector",data(){return{queries:W,queryTypes:["point","line","polygon"],selectedQueryType:"point",customFilter:"",accepting:!1}},methods:{onDrop(e){this.accepting=!1;let t=JSON.parse(e.dataTransfer.getData("object"));this.$store.commit("updateSelected",[...this.$store.state.selected,t])},addFeature(e){this.$store.commit("updateSelected",[...this.$store.state.selected,e])},onDragOver(e){this.accepting=!0,e.preventDefault()},onDragLeave(){this.accepting=!1},startDrag(e,t){e.dataTransfer.setData("object",JSON.stringify(t))},remove(e){let t=this.$store.state.selected,s=[...t.slice(0,e),...t.slice(e+1,t.length)];console.log(e,t,s),this.$store.commit("updateSelected",s)},addCustom(){this.$store.commit("updateSelected",[...this.$store.state.selected,{name:"Custom filter",type:this.selectedQueryType,filter:this.customFilter}]),this.customFilter="",this.selectedQueryType="point"}}},U=Y,K=(0,R.Z)(U,Q,V,!1,null,null,null),X=K.exports,ee={name:"SearchControls",components:{LMap:x.Z,LTileLayer:k.Z,LCircleMarker:J.Z,LRectangle:D.Z,FeatureSelector:X},computed:{range:{get(){return this.$store.state.range},set(e){this.$store.commit("setRange",e)}},center:{get(){return this.$store.state.mapCenter},set(e){this.$store.commit("setCenter",e)}},zoom:{get(){return this.$store.state.mapZoom},set(e){this.$store.commit("setZoom",e)}},url(){return"google"==this.$store.state.mode?"https://maps.googleapis.com/maps/vt?pb=!1m5!1m4!1i{z}!2i{x}!3i{y}!4i256!2m3!1e0!2sm!3i70350780!3m12!2sen-US!3sUS!5e18!12m4!1e68!2m2!1sset!2sRoadmap!12m3!1e37!2m1!1ssmartmaps!4e0!23i1379903&key=AIzaSyAo0g0nZh5aOEhMW2S876KMjJ8OqaN-VwQ":"satellite"==this.$store.state.mode?"https://api.mapbox.com/styles/v1/mapbox/satellite-v9/tiles/512/{z}/{x}/{y}{r}?access_token=pk.eyJ1IjoiYmVsbGluZ2NhdC1tYXBib3giLCJhIjoiY2w4c201OGZsMHdkOTNwbWhkb3I4dGE2cCJ9.GFxMJQJ-dV7VRBAcTTHOzg":"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}},methods:{search(){if(this.zoom<6)return;let e=this.$refs.map.mapObject.getBounds(),t=[[e._southWest.lat,e._southWest.lng],[e._northEast.lat,e._northEast.lng]];this.$store.commit("setBbox",t),this.$store.dispatch("search")},mapClick(e){this.$store.commit("setSelectedResult",e),console.log("scrolling?"),document.getElementById("result"+e).scrollIntoView({behavior:"smooth"})}}},te=ee,se=(0,R.Z)(te,A,G,!1,null,null,null),oe=se.exports,re=s(3423),ae=s(7953),ne=function(){var e=this,t=e._self._c;return t(ae.lj,{staticClass:"my-auto align-center"},[e.$store.state.user?t("div",{key:"logout",staticStyle:{display:"flex"}},[t(g.Z,{staticClass:"login-button px-2 py-2 my-auto",staticStyle:{"margin-right":"1em"},attrs:{outllined:"",light:"",color:"white"}},[t(re.Z,{attrs:{size:"24"}},[t("img",{attrs:{src:e.$store.state.user.picture,alt:"Google profile picture"}})]),e._v(" Signed in ")],1),t(d.Z,{staticClass:"px-2 py-2 my-auto",on:{click:function(t){return e.$store.commit("signOut")}}},[e._v(" Sign out ")])],1):t("div",{directives:[{name:"google-identity-login-btn",rawName:"v-google-identity-login-btn",value:{clientId:e.clientId},expression:"{ clientId }"}],key:"login",attrs:{id:"google-login-btn","aria-label":"Sign in with Google"}})])},le=[],ie=(s(2801),s(1703),o.ZP.directive("google-identity-login-btn",{bind:function(e,t,s){c();let o=t.value.clientId;const r={type:t.value.type||"standard",shape:t.value.shape||"rectangular",theme:t.value.theme||"outline",text:t.value.text||"signin",size:t.value.size||"large",logo_alignment:t.value.logo_alignment||"center",locale:t.value.locale||"en-us"},a=e.id,n=document.createElement("script");function l(){google.accounts.id.initialize({client_id:o,callback:i}),google.accounts.id.renderButton(document.getElementById(a),r)}function i(e){s.context.onGoogleAuthSuccess(e.credential)}function c(){if(!e.id)throw new Error("The google sign in container requires an 'id' attribute");if(!s.context.onGoogleAuthSuccess)throw new Error("The method onGoogleAuthSuccess must be defined on the component")}n.setAttribute("src","https://accounts.google.com/gsi/client"),document.head.appendChild(n),n.onload=l}})),ce={name:"GoogleLogin",directives:{OneTap:ie},data(){return{clientId:"919009657823-74o4l4qjo8ugebg9evb6are67q0ifd6j.apps.googleusercontent.com"}},methods:{onGoogleAuthSuccess(e){const t=JSON.parse(atob(e.split(".")[1]));this.$store.commit("setUser",{token:e,user:t}),this.$store.commit("setError",!1),this.$store.state.channelsLoading||0!=this.$store.state.channels.length||this.$store.dispatch("loadInitialData")}}},ue=ce,me=(0,R.Z)(ue,ne,le,!1,null,null,null),pe=me.exports,de={name:"App",components:{SearchResults:N,SearchControls:oe,GoogleLogin:pe}},ge=de,he=(0,R.Z)(ge,m,p,!1,null,null,null),ye=he.exports,fe=s(629);o.ZP.use(fe.ZP);var ve=new fe.ZP.Store({state:{selected:[],searchResults:[],bbox:[],error:!1,range:100,hovered:null,selectedResult:null,mode:"osm",loading:!1,token:!1,user:!1,mapCenter:[42.2,-71.7],mapZoom:8,responseTime:null},mutations:{initializeCredentials(e){if(localStorage.getItem("token")){const t=JSON.parse(localStorage.getItem("user"));Math.floor(Date.now()/1e3)>t.exp?(localStorage.removeItem("token"),localStorage.removeItem("user")):(e.token=localStorage.getItem("token"),e.user=JSON.parse(localStorage.getItem("user")))}},signOut(e){localStorage.removeItem("token"),e.token=!1,e.user=!1},setUser(e,{token:t,user:s}){e.token=t,e.user=s,localStorage.setItem("token",t),localStorage.setItem("user",JSON.stringify(s))},updateSelected(e,t){e.selected=[...t]},setSearchResults(e,t){e.searchResults=t},setBbox(e,t){e.bbox=t},setRange(e,t){e.range=t},setHoveredResult(e,t){e.hovered=t},setSelectedResult(e,t){e.selectedResult=t},setMode(e,t){e.mode=t},setLoading(e,t){e.loading=t},setError(e,t){e.error=t},setCenter(e,t){e.mapCenter=t},setZoom(e,t){e.mapZoom=t},setResponseTime(e,t){e.responseTime=t}},actions:{search({state:e,commit:t}){let s=e.bbox,o=e.range,r=JSON.stringify(e.selected);t("setLoading",!0);let a=performance.now();fetch(`https://api.baarle-hertog.xyz/intersection?l=${s[0][1]}&b=${s[0][0]}&r=${s[1][1]}&t=${s[1][0]}&buffer=${o}&filters=${r}`,{headers:{Authorization:"Bearer "+e.token}}).then((e=>e.json())).then((e=>{let s=performance.now();t("setResponseTime",s-a),t("setSearchResults",e),t("setLoading",!1),t("setError",!1)})).catch((()=>{t("setLoading",!1),t("setError","Search error. Check your custom features or email logan@bellingcat.com.")}))}},modules:{}}),be=s(1705);o.ZP.use(be.Z);var Se=new be.Z({});o.ZP.config.productionTip=!1,new o.ZP({store:ve,vuetify:Se,beforeCreate(){this.$store.commit("initializeCredentials")},render:e=>e(ye)}).$mount("#app")}},t={};function s(o){var r=t[o];if(void 0!==r)return r.exports;var a=t[o]={exports:{}};return e[o].call(a.exports,a,a.exports,s),a.exports}s.m=e,function(){var e=[];s.O=function(t,o,r,a){if(!o){var n=1/0;for(u=0;u<e.length;u++){o=e[u][0],r=e[u][1],a=e[u][2];for(var l=!0,i=0;i<o.length;i++)(!1&a||n>=a)&&Object.keys(s.O).every((function(e){return s.O[e](o[i])}))?o.splice(i--,1):(l=!1,a<n&&(n=a));if(l){e.splice(u--,1);var c=r();void 0!==c&&(t=c)}}return t}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[o,r,a]}}(),function(){s.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return s.d(t,{a:t}),t}}(),function(){s.d=function(e,t){for(var o in t)s.o(t,o)&&!s.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){s.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}}(),function(){var e={143:0};s.O.j=function(t){return 0===e[t]};var t=function(t,o){var r,a,n=o[0],l=o[1],i=o[2],c=0;if(n.some((function(t){return 0!==e[t]}))){for(r in l)s.o(l,r)&&(s.m[r]=l[r]);if(i)var u=i(s)}for(t&&t(o);c<n.length;c++)a=n[c],s.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return s.O(u)},o=self["webpackChunkosm_search"]=self["webpackChunkosm_search"]||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))}();var o=s.O(void 0,[998],(function(){return s(9672)}));o=s.O(o)})();
//# sourceMappingURL=app.58a4be23.js.map