-
Notifications
You must be signed in to change notification settings - Fork 0
/
3718-es2015.aa420cc274511f753d06.js
1 lines (1 loc) · 48.7 KB
/
3718-es2015.aa420cc274511f753d06.js
1
(self.webpackChunkv2x_frontend=self.webpackChunkv2x_frontend||[]).push([[3718],{3718:function(t,n,e){"use strict";e.r(n),e.d(n,{MapModule:function(){return S}});var o=e(3337),i=e(5353),r=e(5959),a=e(6673),c=e(8318),m=e(7570),g=e(4156);const s={url:"",deserializer:t=>JSON.parse(t.data),serializer:t=>JSON.stringify(t)};class p extends r.ug{constructor(t,n){if(super(),t instanceof c.y)this.destination=n,this.source=t;else{const n=this._config=Object.assign({},s);if(this._output=new r.xQ,"string"==typeof t)n.url=t;else for(let e in t)t.hasOwnProperty(e)&&(n[e]=t[e]);if(!n.WebSocketCtor&&WebSocket)n.WebSocketCtor=WebSocket;else if(!n.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new g.t}}lift(t){const n=new p(this._config,this.destination);return n.operator=t,n.source=this,n}_resetState(){this._socket=null,this.source||(this.destination=new g.t),this._output=new r.xQ}multiplex(t,n,e){const o=this;return new c.y(i=>{try{o.next(t())}catch(a){i.error(a)}const r=o.subscribe(t=>{try{e(t)&&i.next(t)}catch(a){i.error(a)}},t=>i.error(t),()=>i.complete());return()=>{try{o.next(n())}catch(a){i.error(a)}r.unsubscribe()}})}_connectSocket(){const{WebSocketCtor:t,protocol:n,url:e,binaryType:o}=this._config,i=this._output;let r=null;try{r=n?new t(e,n):new t(e),this._socket=r,o&&(this._socket.binaryType=o)}catch(s){return void i.error(s)}const c=new m.w(()=>{this._socket=null,r&&1===r.readyState&&r.close()});r.onopen=t=>{const{_socket:n}=this;if(!n)return r.close(),void this._resetState();const{openObserver:e}=this._config;e&&e.next(t);const o=this.destination;this.destination=a.L.create(n=>{if(1===r.readyState)try{const{serializer:t}=this._config;r.send(t(n))}catch(t){this.destination.error(t)}},t=>{const{closingObserver:n}=this._config;n&&n.next(void 0),t&&t.code?r.close(t.code,t.reason):i.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),this._resetState()},()=>{const{closingObserver:t}=this._config;t&&t.next(void 0),r.close(),this._resetState()}),o&&o instanceof g.t&&c.add(o.subscribe(this.destination))},r.onerror=t=>{this._resetState(),i.error(t)},r.onclose=t=>{this._resetState();const{closeObserver:n}=this._config;n&&n.next(t),t.wasClean?i.complete():i.error(t)},r.onmessage=t=>{try{const{deserializer:n}=this._config;i.next(n(t))}catch(n){i.error(n)}}}_subscribe(t){const{source:n}=this;return n?n.subscribe(t):(this._socket||this._connectSocket(),this._output.subscribe(t),t.add(()=>{const{_socket:t}=this;0===this._output.observers.length&&(t&&1===t.readyState&&t.close(),this._resetState())}),t)}unsubscribe(){const{_socket:t}=this;t&&1===t.readyState&&t.close(),this._resetState(),super.unsubscribe()}}var l=e(5366),d=e(7871),h=e(1116);function C(t,n){if(1&t&&(l.TgZ(0,"div",6),l.TgZ(1,"ion-label"),l.TgZ(2,"span",7),l._uU(3," warning "),l.qZA(),l.TgZ(4,"div",8),l.TgZ(5,"h1"),l._uU(6,"Alert"),l.qZA(),l.TgZ(7,"h3"),l._uU(8),l.qZA(),l.qZA(),l.qZA(),l.qZA()),2&t){const t=n.$implicit;l.xp6(8),l.Oqu(t)}}let _=(()=>{class t{constructor(t){this.modalController=t}ngOnInit(){setTimeout(()=>{this.dismiss()},3e3)}dismiss(){this.modalController.dismiss()}}return t.\u0275fac=function(n){return new(n||t)(l.Y36(d.IN))},t.\u0275cmp=l.Xpm({type:t,selectors:[["app-alert-modal"]],inputs:{alerts:"alerts"},decls:9,vars:1,consts:[[1,"my-modal"],["slot","end"],[3,"click"],["name","close-outline"],[1,"wrapper-alerts"],["let","","i","index","class","alert-item",4,"ngFor","ngForOf"],["let","","i","index",1,"alert-item"],[1,"material-symbols-outlined",2,"color","#2d1516","width","30px"],[1,"alert-message"]],template:function(t,n){1&t&&(l.TgZ(0,"div",0),l.TgZ(1,"ion-toolbar"),l.TgZ(2,"ion-title"),l._uU(3,"Alert"),l.qZA(),l.TgZ(4,"ion-buttons",1),l.TgZ(5,"ion-button",2),l.NdJ("click",function(){return n.dismiss()}),l._UZ(6,"ion-icon",3),l.qZA(),l.qZA(),l.qZA(),l.TgZ(7,"div",4),l.YNc(8,C,9,1,"div",5),l.qZA(),l.qZA()),2&t&&(l.xp6(8),l.Q6J("ngForOf",n.alerts))},directives:[d.sr,d.wd,d.Sm,d.YG,d.gu,h.sg,d.Q$],styles:["ion-modal{--border-radius:20px} ion-modal.my-custom-modal{--height:250px}ion-toolbar[_ngcontent-%COMP%]{border-bottom:1px solid #ccc}.wrapper[_ngcontent-%COMP%]{background-color:#ffdad9}.alert-item[_ngcontent-%COMP%] ion-label[_ngcontent-%COMP%]{display:flex;align-items:center;margin:0 auto;width:80%}.wrapper-alerts[_ngcontent-%COMP%]{margin:50px;padding:10px;border-radius:20px;background-color:#ffdad9}.alert-item[_ngcontent-%COMP%]{padding:.375rem .5rem;border-radius:.375rem;margin-top:.5rem}.alert-message[_ngcontent-%COMP%]{display:flex;flex-direction:column}.alert-message[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-family:Google Sans Medium,sans-serif;font-size:1.2em;margin-left:10px}.alert-message[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-family:Google Sans Regular,sans-serif;font-size:1em;margin-left:10px}"]}),t})();var M=JSON.parse('[{"label":"Non-signed message","type":"bad_sign","value":"bad_sign"},{"label":"Non-valid certificate message","type":"bad_cert","value":"bad_cert"},{"label":"Non-authorized message","type":"bad_auth","value":"bad_auth"},{"label":"Replayed message","type":"replayed","value":"replayed"},{"label":"OBU tampering attack","type":"obu","value":"obu"}]'),O=function(t){return t[t.UNKNOWN=0]="UNKNOWN",t[t.PEDESTRIAN=1]="PEDESTRIAN",t[t.CYCLIST=2]="CYCLIST",t[t.MOPED=3]="MOPED",t[t.MOTORCYCLE=4]="MOTORCYCLE",t[t.PASSENGERCAR=5]="PASSENGERCAR",t[t.BUS=6]="BUS",t[t.LIGHTTRUCK=7]="LIGHTTRUCK",t[t.HEAVYTRUCK=8]="HEAVYTRUCK",t[t.TRAILER=9]="TRAILER",t[t.SPECIALVEHICLES=10]="SPECIALVEHICLES",t[t.TRAM=11]="TRAM",t[t.ROADSIDEUNIT=15]="ROADSIDEUNIT",t}({}),P=e(3793),b=e(5476);const u=["googleMap"];function f(t,n){if(1&t){const t=l.EpF();l.TgZ(0,"map-marker",17,18),l.NdJ("mapClick",function(){const n=l.CHM(t).$implicit;return l.oxw().markerSelectedEvent(n)}),l.qZA()}if(2&t){const t=n.$implicit,e=l.oxw();l.Q6J("options",e.getMarkerOptions(t))}}function w(t,n){if(1&t&&(l.TgZ(0,"div",19),l.TgZ(1,"ion-label"),l.TgZ(2,"h1"),l._uU(3),l.qZA(),l.TgZ(4,"h3"),l._uU(5),l.qZA(),l.TgZ(6,"p"),l._uU(7),l.qZA(),l.qZA(),l.qZA()),2&t){const t=n.$implicit;l.xp6(3),l.hij("Station ID: ",t.station_id,""),l.xp6(2),l.hij("Station type: ",t.station_type,""),l.xp6(2),l.Oqu(t.position.latitude+", "+t.position.longitude)}}function x(t,n){if(1&t&&(l.TgZ(0,"div",20),l.TgZ(1,"ion-label"),l.TgZ(2,"span",21),l._uU(3," warning "),l.qZA(),l.TgZ(4,"div",22),l.TgZ(5,"h1"),l._uU(6,"Alert"),l.qZA(),l.TgZ(7,"h3"),l._uU(8),l.qZA(),l.qZA(),l.qZA(),l.qZA()),2&t){const t=n.$implicit;l.xp6(8),l.Oqu(t)}}const v=[{path:"",component:(()=>{class t{constructor(t,n,e){this.ngZone=t,this.env=n,this.modalController=e,this.subject=new p(this.env.apiUrl),this.title="V2X",this.MAP_SIZE_RATIO=.45,this.MAP_SIZE_RATIO_MD=.77,this.isAccordionExpanded=!0,this.typeOptions=M,this.markers=[],this.subscriptions=[],this.markerIsClicked=!1,this.attackIsSelected="",this.calculateHeight(),this.setMapOptions()}set content(t){t&&(this.mapRef=t,this.mapBounds=new google.maps.LatLngBounds)}onResize(t){this.calculateHeight()}ngOnInit(){this.subject.next({request:"general"}),this.setupGeolocation(),setInterval(()=>{this.setupGeolocation()},1e3),this.centerMap(),this.subscriptions.push(this.subject.subscribe(t=>{t.content.vehicles.forEach(t=>{const n=this.markers.find(n=>n.station_id===t.station_id);n?n.position.latitude===t.position.latitude&&n.position.longitude===t.position.longitude||(n.position=Object.assign({},t.position)):this.markers.push(t),this.mapBounds.extend(new google.maps.LatLng(t.position.latitude,t.position.longitude))})},t=>{console.log(t)})),this.subscriptions.push(this.subject.subscribe(t=>{const n=t.content.alerts;this.alerts=this.alerts||[],this.alerts=[...this.alerts,...n],n.length>0&&this.openAlertModal(n)},t=>{console.log(t)}))}openAlertModal(t){return(0,i.mG)(this,void 0,void 0,function*(){const n=yield this.modalController.create({component:_,cssClass:"my-custom-modal",componentProps:{alerts:t}});return yield n.present()})}centerMap(){setTimeout(()=>{this.mapRef.panToBounds(this.mapBounds),this.mapRef.fitBounds(this.mapBounds)},1e3)}calculateHeight(){this.mapHeight=window.innerWidth<=991?"480px":window.innerHeight-60+"px"}setMapOptions(){this.mapOption={streetViewControl:!1,fullscreenControl:!1,scrollwheel:!0,styles:[{featureType:"all",elementType:"all",stylers:[{saturation:-50,lightness:-100}]},{featureType:"poi",elementType:"labels.text",stylers:[{visibility:"off"}]},{featureType:"poi.business",stylers:[{visibility:"off"}]},{featureType:"road",elementType:"labels.icon",stylers:[{visibility:"off"}]},{featureType:"transit",stylers:[{visibility:"off"}]}]}}getMarkerOptions(t){const n=t.station_id.toString();return{clickable:!1,icon:{url:function(t,n){let e="#F8C024";n&&(e=n);let o="";switch(t){case O.BUS:o='<svg width="{{width}}" height="{{height}}" fill="{{color}}" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 45.437 45.437" style="enable-background:new 0 0 45.437 45.437;" xml:space="preserve"> <path d="M41.403,11.11c-0.371-3.627-0.962-6.451-1.897-7.561c-3.855-4.564-30.859-4.898-33.925,0 c-0.75,1.2-1.276,4.014-1.629,7.567c-1.139,0.134-2.026,1.093-2.026,2.267v4.443c0,0.988,0.626,1.821,1.5,2.146 c-0.207,6.998-0.039,14.299,0.271,17.93c0,2.803,1.883,2.338,1.883,2.338h1.765v3.026c0,1.2,1.237,2.171,2.761,2.171 c1.526,0,2.763-0.971,2.763-2.171V40.24h20.534v3.026c0,1.2,1.236,2.171,2.762,2.171c1.524,0,2.761-0.971,2.761-2.171V40.24h0.58 c0,0,2.216,0.304,2.358-1.016c0-3.621,0.228-11.646,0.04-19.221c0.929-0.291,1.607-1.147,1.607-2.177v-4.443 C43.512,12.181,42.582,11.206,41.403,11.11z M12.176,4.2h20.735v3.137H12.176V4.2z M12.472,36.667c-1.628,0-2.947-1.32-2.947-2.948 c0-1.627,1.319-2.946,2.947-2.946s2.948,1.319,2.948,2.946C15.42,35.347,14.101,36.667,12.472,36.667z M32.8,36.667 c-1.627,0-2.949-1.32-2.949-2.948c0-1.627,1.321-2.946,2.949-2.946s2.947,1.319,2.947,2.946 C35.748,35.347,34.428,36.667,32.8,36.667z M36.547,23.767H8.54V9.077h28.007V23.767z"/></svg>';break;case O.CYCLIST:o='<svg width="{{width}}" height="{{height}}" fill="{{color}}" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"> <g><g><g><path d="M330.667,122.667c23.467,0,42.667-19.2,42.667-42.667s-19.2-42.667-42.667-42.667S288, 56.533,288,80 S307.2,122.667,330.667,122.667z"/><path d="M106.667,261.333C48,261.333,0,309.333,0, 368s48,106.667,106.667,106.667c58.667,0,106.667-48,106.667-106.667 S165.333,261.333,106.667,261.333z M106.667,442.667C65.067,442.667,32,409.6,32,368s33.067-74.667,74.667-74.667 c41.6,0,74.667,33.067,74.667,74.667S148.267,442.667,106.667,442.667z"/> <path d="M404.267,238.933v-42.667c-32,0-58.667-11.733-77.867-30.933L284.8,124.8c-6.4-7.467-17.067-12.8-28.8-12.8 s-22.4,4.267-29.867,12.8l-58.667,58.667c-7.467,7.467-12.8,18.133-12.8,29.867s5.333,22.4,12.8,30.933l67.2,59.733v106.667 h42.667V277.333L230.4,230.4l50.133-51.2l16,16C323.2,222.933,360.533,238.933,404.267,238.933z"/> <path d="M405.333,261.333c-58.667,0-106.667,48-106.667,106.667s48,106.667,106.667,106.667C464,474.667,512,426.667,512,368 S464,261.333,405.333,261.333z M405.333,442.667c-41.6,0-74.667-33.067-74.667-74.667 s33.067-74.667,74.667-74.667 C446.933,293.333,480,326.4,480,368S446.933,442.667,405.333,442.667z"/> </g></g></g></svg>';break;case O.MOTORCYCLE:o='<svg width="{{width}}" height="{{height}}" fill="{{color}}" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 467.168 467.168" style="enable-background:new 0 0 467.168 467.168;" xml:space="preserve"><path d="M76.849,210.531C34.406,210.531,0,244.937,0,287.388c0,42.438,34.406, 76.847,76.849,76.847 c30.989,0,57.635-18.387,69.789-44.819l18.258,14.078c0,0,134.168,0.958,141.538-3.206c0, 0-16.65-45.469,4.484-64.688 c2.225-2.024,5.021-4.332,8.096-6.777c-3.543,8.829-5.534,18.45-5.534, 28.558c0,42.446,34.403,76.846,76.846,76.846 c42.443,0,76.843-34.415,76.843-76.846c0-42.451-34.408 -76.849-76.843-76.849c-0.697,0-1.362,0.088-2.056,0.102 c5.551-3.603,9.093-5.865,9.093-5.865l-5.763 -5.127c0,0,16.651-3.837,12.816-12.167c-3.848-8.33-44.19-58.28-44.19-58.28 s7.146-15.373-7.634-26.261l -7.098,15.371c0,0-18.093-12.489-25.295-10.084c-7.205,2.398-18.005,3.603-21.379,8.884l-3.358,3.124 c0,0-0.95,5.528,4.561,13.693c0,0,55.482,17.05,58.119,29.537c0,0,3.848,7.933-12.728,9.844l-3.354,4.328l-8.896,0.479 l-16.082-36.748c0,0-15.381,4.082-23.299,10.323l1.201,6.24c0,0-64.599-43.943-125.362,21.137c0,0-44.909,12.966-76.37-26.897 c0,0-0.479-12.968-76.367-10.565l5.286,5.524c0,0-5.286,0.479-7.444,3.841c-2.158,3.358,1.2,6.961,18.494,6.961 c0,0,39.153,44.668,69.17,42.032l42.743,20.656l18.975,32.42c0,0,0.034,2.785,0.23,7.045c-4.404,0.938-9.341,1.979-14.579,3.09 C139.605,232.602,110.832,210.531,76.849,210.531z M390.325,234.081c29.395,0,53.299,23.912,53.299,53.299 c0,29.39-23.912,53.294-53.299,53.294c-29.394,0-53.294-23.912-53.294-53.294C337.031,257.993,360.932,234.081,390.325,234.081z M76.849,340.683c-29.387,0-53.299-23.913-53.299-53.295c0-29.395,23.912-53.299,53.299-53.299 c22.592,0,41.896,14.154,49.636,34.039c-28.26,6.011-56.31,11.99-56.31,11.99l3.619,19.933l55.339-2.444 C124.365,322.116,102.745,340.683,76.849,340.683z M169.152,295.835c1.571,5.334,3.619,9.574,6.312, 11.394l-24.696,0.966 c1.058-3.783,1.857-7.666,2.338-11.662L169.152,295.835z"/></svg>';break;case O.MOPED:o='<svg width="{{width}}" height="{{height}}" fill="{{color}}" id="Layer_1" enable-background="new 0 0 489.194 489.194" viewBox="0 0 489.194 489.194" xmlns="http://www.w3.org/2000/svg"><path d="m79 262.651c-43.56 0-79 35.44-79 79s35.44 79 79 79 79-35.44 79-79-35.44-79-79-79zm.5 98c-10.2 0-18.5-8.3-18.5-18.5s8.3-18.5 18.5-18.5 18.5 8.3 18.5 18.5-8.3 18.5-18.5 18.5zm409.19-27.78c-.63-5.53-6.61-8.71-11.57-6.19-114.31 58.06-92.63 47.05-118.76 60.32-5 2.54-5.87 9.29-1.73 13.08 14.33 13.13 33.23 20.69 53.4 20.69 47.66 0 83.9-41.76 78.66-87.9zm-8.77-54.91c-48.63-53.55-138.4-35.05-160.93 34.99-5.09 15.81-5.95 32.3-2.71 48.14 1.07 5.19 6.75 7.98 11.48 5.58 28.44-14.44 46.92-23.84 149.89-76.15 4.74-2.4 5.83-8.64 2.27-12.56zm-112.39-129.9 14.03-4.55c8.61-2.78 13.17-12.18 10.12-20.64l- 15.8-43.87c-2.63-7.29-10.1-11.65-17.74-10.35-98.11 16.66-68.36 11.61-118.75 20.18-8.71 1.48-14.57 9.74-13.09 18.45s9.74 14.57 18.45 13.09l22.41-3.8 17.93 42.78c2.17 5.19 6.8 8.67 12.01 9.58l2.2 25.92c2.74 32.19-8.25 63.49-30.27 86.8h-50.25l-6.27-42.89c13.97-7.88 23.43-22.83 23.49-39.95.09-25.39-21.43-46.16-46.82-46.16h-111.18c-34.9 0-57.11 37.6-40.34 68.08-16.676 8.789-29.122 24.698-33.13 37.54 77.942-69.718 203.685-3.386 185.94 102.38h92. 44c-18.466-82.472 51.31-158.555 135.27-146.85-3.23-5.49-13.79-18.32-50.65-65.74z"/></svg>';break;case O.PEDESTRIAN:o='<svg width="{{width}}" height="{{height}}" fill="{{color}}" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 94.684 94.684" style="enable-background:new 0 0 94.684 94.684;" xml:space="preserve"> <path d="M70.62,48.185l-11.01-7.007c-0.707-0.45-1.539-1.601-1.745-2.414l-3.049-12.058c-0.002-0.007-0.005-0.014-0.007-0.021 c-0.251-1.402-1.473-2.471-2.947-2.471h-14.83c-0.678,0-1.297,0.234-1.799,0.615c-0.104,0.058-0.211,0.114-0.305,0.18 l-10.552,7.518c-1.205,0.858-1.935,2.67-1.663,4.125l3.268,17.458c0.28,1.499,1.7,2.673,3.233,2.673l1.678-0.09 c0.808-0.046,1.55-0.422,2.038-1.034c0.487-0.611,0.69-1.419,0.555-2.216l-2.28-13.465c-0.12-0.707,0.306-1.726,0.892-2.138 l1.936-1.362v19.745c-0.024,0.067-0.059,0.128-0.081,0.196l-9.783,30.638c-0.407,1.276-0.283,2.619,0.35,3.781 s1.694,1.994,2.987,2.343l0.654,0.177c0.428,0.116,0.872,0.175,1.318,0.175c2.251,0,4.296-1.481,4.974-3.603l9.288-29.087h0.771 l1.694,8.421c0.269,1.334,0.521,3.612,0.552,4.973l0.382,17.203c0.041,1.85,1.452,3.245,3.282,3.245 c0.16,0,0.323-0.011,0.488-0.034l3.223-0.447c1.921-0.267,3.402-2.06,3.301-3.997L56.53,72.935 c-0.075-1.452-0.299-3.81-0.498-5.257l-1.258-9.147c0.053-0.222,0.087-0.451,0.087-0.689v-9.963L66.7,54.695 c0.456,0.262,0.976,0.401,1.505,0.401c1.068,0,2.07-0.563,2.615-1.469l0.778-1.295C72.442,50.925,72.003,49.065,70.62,48.185z"/> <path d="M43.448,21.672c5.975,0,10.836-4.861,10.836-10.836S49.423,0,43.448,0c-5.975,0-10.835,4.861-10.835,10.836 S37.473,21.672,43.448,21.672z"/></svg>';break;case O.PASSENGERCAR:o='<svg stroke="black" stroke-width="10" width="{{width}}" height="{{height}}" fill="{{color}}" xmlns="http://www.w3.org/2000/svg" class="ionicon" viewBox="0 0 512 512"><title>Car</title><path d="M447.68 220.78a16 16 0 00-1-3.08l-37.78-88.16C400.19 109.17 379 96 354.89 96H157.11c-24.09 0-45.3 13.17-54 33.54L65.29 217.7A15.72 15.72 0 0064 224v176a16 16 0 0016 16h32a16 16 0 0016-16v-16h256v16a16 16 0 0016 16h32a16 16 0 0016-16V224a16.15 16.15 0 00-.32-3.22zM144 320a32 32 0 1132-32 32 32 0 01-32 32zm224 0a32 32 0 1132-32 32 32 0 01-32 32zM104.26 208l28.23-65.85C136.11 133.69 146 128 157.11 128h197.78c11.1 0 21 5.69 24.62 14.15L407.74 208z"/></svg>';break;case O.HEAVYTRUCK:o='<svg width="{{width}}" height="{{height}}" fill="{{color}}" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 612 612" style="enable-background:new 0 0 612 612;" xml:space="preserve"> <path d="M541.322,500.219v-94.372c0-20.277-16.438-36.716-36.715-36.716h-9.598V24.598c0-3.082-1.547-5.958-4.117-7.657 L467.587,1.537c-6.103-4.033-14.239,0.342-14.239,7.657v110.652l-6.945-18.734c-9.34-25.196-33.373-41.918-60.245-41.918H225.702 c-27.03,0-51.169,16.916-60.394,42.323l-6.655,18.329V9.194c0-7.314-8.137-11.69-14.24-7.657L121.107,16.94 c-2.571,1.699-4.118,4.575-4.118,7.657v344.534h-9.597c-20.277,0-36.715,16.438-36.715,36.716v94.372H55.035 c-5.069,0-9.178,4.109-9.178,9.179v50.743c0,5.069,4.109,9.179,9.178,9.179h39.598v24.322c0,10.139,8.219,18.357,18.358,18.357 h48.645c10.139,0,18.358-8.219,18.358-18.357V569.32h252.014v24.322c0,10.139,8.22,18.357,18.357,18.357h48.646 c10.139,0,18.357-8.219,18.357-18.357V569.32h39.598c5.07,0,9.179-4.11,9.179-9.179v-50.742c0-5.07-4.109-9.179-9.179-9.179 L541.322,500.219L541.322,500.219z M170.814,170.975h270.372v90.44H170.814V170.975z M164.527,474.533H133.17 c-9.581,0-17.348-7.768-17.348-17.349v-0.438c0-9.581,7.767-17.348,17.348-17.348h31.356c9.581,0,17.348,7.767,17.348,17.348v0.438 C181.875,466.765,174.108,474.533,164.527,474.533z M368.398,479.648H243.602c-10.139,0-18.358-8.22-18.358-18.357V344.976 c0-10.138,8.219-18.357,18.358-18.357h124.796c10.138,0,18.357,8.22,18.357,18.357v116.314 C386.756,471.428,378.536,479.648,368.398,479.648z M478.829,474.533h-31.356c-9.58,0-17.348-7.768-17.348-17.349v-0.438 c0-9.581,7.768-17.348,17.348-17.348h31.356c9.581,0,17.349,7.767,17.349,17.348v0.438 C496.178,466.765,488.41,474.533,478.829,474.533z M365.607,393.801H246.099c-5.019,0-9.087-4.068-9.087-9.088v-0.184 c0-5.019,4.068-9.086,9.087-9.086h119.508c5.019,0,9.087,4.067,9.087,9.086v0.184C374.694,389.733,370.626,393.801,365.607,393.801 z M365.607,357.085H246.099c-5.019,0-9.087-4.068-9.087-9.087v-0.184c0-5.018,4.068-9.086,9.087-9.086h119.508 c5.019,0,9.087,4.068,9.087,9.086v0.184C374.694,353.017,370.626,357.085,365.607,357.085z M365.607,467.232H246.099 c-5.019,0-9.087-4.068-9.087-9.087v-0.184c0-5.019,4.068-9.087,9.087-9.087h119.508c5.019,0,9.087,4.068,9.087,9.087v0.184 C374.694,463.164,370.626,467.232,365.607,467.232z M365.607,430.516H246.099c-5.019,0-9.087-4.068-9.087-9.086v-0.184 c0-5.019,4.068-9.087,9.087-9.087h119.508c5.019,0,9.087,4.068,9.087,9.087v0.184C374.694,426.448,370.626,430.516,365.607,430.516 z"/></svg>';break;case O.LIGHTTRUCK:o='<svg width="{{width}}" height="{{height}}" fill="{{color}}" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 612 612" style="enable-background:new 0 0 612 612;" xml:space="preserve"> <path d="M504.9,395.756c-28.684,0-52.02,23.342-52.02,52.02c0,28.684,23.336,52.02,52.02,52.02c28.678,0,52.02-23.336,52.02-52.02 C556.92,419.098,533.578,395.756,504.9,395.756z M504.9,463.076c-8.439,0-15.3-6.861-15.3-15.3c0-8.439,6.861-15.3,15.3-15.3 s15.3,6.861,15.3,15.3C520.2,456.215,513.339,463.076,504.9,463.076z"/> <path d="M499.918,179.518H410.04c-6.763,0-12.24,5.484-12.24,12.24v238.68c0,6.756,5.477,12.24,12.24,12.24h12.981 c6.059,0,11.426-4.364,12.209-10.373c4.804-36.806,34.162-59.633,69.676-59.633s64.872,22.828,69.676,59.633 c0.783,6.01,6.144,10.373,12.209,10.373h12.968c6.756,0,12.24-5.484,12.24-12.24v-119.34c0-2.876-1.01-5.655-2.852-7.852 l-99.842-119.34C506.981,181.128,503.541,179.518,499.918,179.518z M422.28,277.438v-61.2c0-6.756,5.477-12.24,12.24-12.24h53.917 c3.629,0,7.075,1.616,9.4,4.406l50.998,61.2c6.64,7.974,0.973,20.074-9.406,20.074H434.52 C427.757,289.678,422.28,284.201,422.28,277.438z"/> <path d="M12.24,442.684h31.341c6.059,0,11.426-4.364,12.209-10.373c4.804-36.806,34.162-59.633,69.676-59.633 s64.872,22.828,69.676,59.633c0.783,6.01,6.144,10.373,12.209,10.373H361.08c6.757,0,12.24-5.484,12.24-12.24v-306 c0-6.756-5.484-12.24-12.24-12.24H12.24c-6.763,0-12.24,5.484-12.24,12.24v306C0,437.201,5.477,442.684,12.24,442.684z"/> <path d="M125.46,395.756c-28.684,0-52.02,23.342-52.02,52.02c0,28.684,23.336,52.02,52.02,52.02 c28.678,0,52.02-23.336,52.02-52.02C177.48,419.098,154.138,395.756,125.46,395.756z M125.46,463.076 c-8.439,0-15.3-6.861-15.3-15.3c0-8.439,6.861-15.3,15.3-15.3s15.3,6.861,15.3,15.3 C140.76,456.215,133.899,463.076,125.46,463.076z"/></svg>'}return"data:image/svg+xml;u;charset=UTF-8;base64,"+btoa(o.replace("{{color}}",e).replace("{{width}}","36").replace("{{height}}","44"))}(t.station_type,null==t?void 0:t.state),scaledSize:new google.maps.Size(60,60),origin:new google.maps.Point(0,0),labelOrigin:new google.maps.Point(31,20)},label:{fontWeight:"600",fontSize:"10px",color:"black",text:n},position:{lat:t.position.latitude,lng:t.position.longitude}}}getIconImage(t){return function(t,n){let e="";switch(t){case O.BUS:e="assets/icons/bus.svg";break;case O.CYCLIST:e="assets/icons/cyclist.svg";break;case O.MOTORCYCLE:e="assets/icons/moto.svg";break;case O.MOPED:e="assets/icons/ciclomotor.svg";break;case O.PEDESTRIAN:e="assets/icons/pedestrian.svg";break;case O.PASSENGERCAR:e="assets/icons/car.svg";break;case O.HEAVYTRUCK:e="assets/icons/heavy-truck.svg";break;case O.LIGHTTRUCK:e="assets/icons/light-truck.svg"}return e}(t.station_type)}markerSelectedEvent(t){this.markerIsClicked=!0,this.markerId=t.station_id,setTimeout(()=>{this.updateSubscription("general")},100)}toggleGeneralView(){this.markerIsClicked=!this.markerIsClicked,this.centerMap(),setTimeout(()=>{this.updateSubscription("general")},100)}updateSubscription(t){switch(t){case"general":this.subject.next({request:"general"});break;case"general":this.subject.next({request:"general",content:{vehicles:[{station_id:this.markerId}],alerts:[this.alerts]}})}this.subscriptions.push(this.subject.subscribe(t=>{this.markers=t.content.vehicles,this.markers.forEach(t=>{this.mapBounds.extend(new google.maps.LatLng(t.position.latitude,t.position.longitude))})},t=>{console.log(t)}))}setupGeolocation(){navigator.geolocation?navigator.geolocation.getCurrentPosition(t=>{const n={class:"TPV",device:"/dev/gps",mode:3,time:new Date(t.timestamp).toISOString(),ept:.005,lat:t.coords.latitude,lon:t.coords.longitude,alt:null!==t.coords.altitude?t.coords.altitude:0,speed:null!==t.coords.speed?t.coords.speed:0,climb:0};this.subject.next(n)},t=>{console.error("Error getting geolocation:",t.message)}):console.error("Geolocation is not supported by this browser.")}ngOnDestroy(){this.subscriptions.forEach(t=>t.unsubscribe())}}return t.\u0275fac=function(n){return new(n||t)(l.Y36(l.R0b),l.Y36(P.D),l.Y36(d.IN))},t.\u0275cmp=l.Xpm({type:t,selectors:[["app-map-page"]],viewQuery:function(t,n){if(1&t&&l.Gf(u,5),2&t){let t;l.iGM(t=l.CRH())&&(n.content=t.first)}},hostBindings:function(t,n){1&t&&l.NdJ("resize",function(t){return n.onResize(t)},!1,l.Jf7)},decls:27,vars:5,consts:[[1,"scrolling-content"],["size","12","size-lg","12","size-sm","12","size-md","12",1,"map-wrapper","no-padding"],["width","100%",3,"height","options"],["googleMap",""],["class","animated-marker",3,"options","mapClick",4,"ngFor","ngForOf"],[1,"accordion-wrapper"],[1,"vehicles-content"],[1,"accordion"],["expanded","","value","first"],["slot","header"],["slot","content",1,"station-list-content","ion-padding"],["no-padding","",1,"station-list"],["class","station-item",4,"ngFor","ngForOf"],[1,"alerts-content"],["value","second"],[1,"wrapper-alerts"],["let","","i","index","class","alert-item",4,"ngFor","ngForOf"],[1,"animated-marker",3,"options","mapClick"],["mapMarkers",""],[1,"station-item"],["let","","i","index",1,"alert-item"],[1,"material-symbols-outlined",2,"color","#2d1516"],[1,"alert-message"]],template:function(t,n){1&t&&(l.TgZ(0,"ion-content",0),l.TgZ(1,"ion-grid"),l.TgZ(2,"ion-row"),l.TgZ(3,"ion-col",1),l.TgZ(4,"google-map",2,3),l.YNc(6,f,2,1,"map-marker",4),l.qZA(),l.TgZ(7,"div",5),l.TgZ(8,"ion-card",6),l.TgZ(9,"ion-accordion-group",7),l.TgZ(10,"ion-accordion",8),l.TgZ(11,"ion-item",9),l.TgZ(12,"ion-label"),l._uU(13,"Vehicles"),l.qZA(),l.qZA(),l.TgZ(14,"div",10),l.TgZ(15,"ion-list",11),l.YNc(16,w,8,3,"div",12),l.qZA(),l.qZA(),l.qZA(),l.qZA(),l.qZA(),l.TgZ(17,"ion-card",13),l.TgZ(18,"ion-accordion-group",7),l.TgZ(19,"ion-accordion",14),l.TgZ(20,"ion-item",9),l.TgZ(21,"ion-label"),l._uU(22,"Alerts's center"),l.qZA(),l.qZA(),l.TgZ(23,"div",10),l.TgZ(24,"ion-list",11),l.TgZ(25,"div",15),l.YNc(26,x,9,1,"div",16),l.qZA(),l.qZA(),l.qZA(),l.qZA(),l.qZA(),l.qZA(),l.qZA(),l.qZA(),l.qZA(),l.qZA(),l.qZA()),2&t&&(l.xp6(4),l.Q6J("height",n.mapHeight)("options",n.mapOption),l.xp6(2),l.Q6J("ngForOf",n.markers),l.xp6(10),l.Q6J("ngForOf",n.markers),l.xp6(10),l.Q6J("ngForOf",n.alerts))},directives:[d.W2,d.jY,d.Nd,d.wI,b.b6,h.sg,d.PM,d.eh,d.We,d.Ie,d.Q$,d.q_,b.O_],styles:[".w-25[_ngcontent-%COMP%]{width:25%}.w-50[_ngcontent-%COMP%]{width:50%}.w-75[_ngcontent-%COMP%]{width:75%}.w-100[_ngcontent-%COMP%]{width:100%}.box-border[_ngcontent-%COMP%]{box-sizing:border-box!important}.text-truncate[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline[_ngcontent-%COMP%]{vertical-align:baseline!important}.align-top[_ngcontent-%COMP%]{vertical-align:top!important}.align-middle[_ngcontent-%COMP%]{vertical-align:middle!important}.align-bottom[_ngcontent-%COMP%]{vertical-align:bottom!important}.align-text-bottom[_ngcontent-%COMP%]{vertical-align:text-bottom!important}.align-text-top[_ngcontent-%COMP%]{vertical-align:text-top!important}.float-left[_ngcontent-%COMP%]{float:left!important}.float-right[_ngcontent-%COMP%]{float:right!important}.float-none[_ngcontent-%COMP%]{float:none!important}.overflow-auto[_ngcontent-%COMP%]{overflow:auto!important}.overflow-hidden[_ngcontent-%COMP%]{overflow:hidden!important}.d-none[_ngcontent-%COMP%]{display:none!important}.d-inline[_ngcontent-%COMP%]{display:inline!important}.d-inline-block[_ngcontent-%COMP%]{display:inline-block!important}.d-block[_ngcontent-%COMP%]{display:block!important}.d-table[_ngcontent-%COMP%]{display:table!important}.d-table-row[_ngcontent-%COMP%]{display:table-row!important}.d-table-cell[_ngcontent-%COMP%]{display:table-cell!important}.d-flex[_ngcontent-%COMP%]{display:flex!important}.d-inline-flex[_ngcontent-%COMP%]{display:inline-flex!important}.shadow-sm[_ngcontent-%COMP%]{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow[_ngcontent-%COMP%]{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg[_ngcontent-%COMP%]{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none[_ngcontent-%COMP%]{box-shadow:none!important}.position-static[_ngcontent-%COMP%]{position:static!important}.position-relative[_ngcontent-%COMP%]{position:relative!important}.position-absolute[_ngcontent-%COMP%]{position:absolute!important}.position-fixed[_ngcontent-%COMP%]{position:fixed!important}.position-sticky[_ngcontent-%COMP%]{position:sticky!important}.border[_ngcontent-%COMP%]{border:1px solid #dee2e6!important}.border-0[_ngcontent-%COMP%]{border:0!important}.border-top[_ngcontent-%COMP%]{border-top:1px solid #dee2e6!important}.border-top-0[_ngcontent-%COMP%]{border-top:0!important}.border-right[_ngcontent-%COMP%]{border-right:1px solid #dee2e6!important}.border-right-0[_ngcontent-%COMP%]{border-right:0!important}.border-bottom[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6!important}.border-bottom-0[_ngcontent-%COMP%]{border-bottom:0!important}.border-left[_ngcontent-%COMP%]{border-left:1px solid #dee2e6!important}.border-left-0[_ngcontent-%COMP%]{border-left:0!important}.border-primary[_ngcontent-%COMP%]{border-color:#007bff!important}.border-secondary[_ngcontent-%COMP%]{border-color:#6c757d!important}.border-success[_ngcontent-%COMP%]{border-color:#28a745!important}.border-info[_ngcontent-%COMP%]{border-color:#17a2b8!important}.border-warning[_ngcontent-%COMP%]{border-color:#ffc107!important}.border-danger[_ngcontent-%COMP%]{border-color:#dc3545!important}.border-light[_ngcontent-%COMP%]{border-color:#f8f9fa!important}.border-dark[_ngcontent-%COMP%]{border-color:#343a40!important}.border-white[_ngcontent-%COMP%]{border-color:#fff!important}.w-25[_ngcontent-%COMP%]{width:25%!important}.w-33[_ngcontent-%COMP%]{width:33.33%!important}.w-50[_ngcontent-%COMP%]{width:50%!important}.w-66[_ngcontent-%COMP%]{width:66.66%!important}.w-75[_ngcontent-%COMP%]{width:75%!important}.w-100[_ngcontent-%COMP%]{width:100%!important}.w-auto[_ngcontent-%COMP%]{width:auto!important}.mw-100[_ngcontent-%COMP%]{max-width:100%!important}.vw-100[_ngcontent-%COMP%]{width:100vw!important}.min-vw-100[_ngcontent-%COMP%]{min-width:100vw!important}.h-25[_ngcontent-%COMP%]{height:25%!important}.h-50[_ngcontent-%COMP%]{height:50%!important}.h-75[_ngcontent-%COMP%]{height:75%!important}.h-100[_ngcontent-%COMP%]{height:100%!important}.h-auto[_ngcontent-%COMP%]{height:auto!important}.mh-100[_ngcontent-%COMP%]{max-height:100%!important}.vh-100[_ngcontent-%COMP%]{height:100vh!important}.min-vh-100[_ngcontent-%COMP%]{min-height:100vh!important}.min-vh-75[_ngcontent-%COMP%]{min-height:75vh!important}.flex-fill[_ngcontent-%COMP%]{flex:1 1 auto!important}.flex-row[_ngcontent-%COMP%]{flex-direction:row!important}.flex-column[_ngcontent-%COMP%]{flex-direction:column!important}.flex-row-reverse[_ngcontent-%COMP%]{flex-direction:row-reverse!important}.flex-column-reverse[_ngcontent-%COMP%]{flex-direction:column-reverse!important}.flex-grow-0[_ngcontent-%COMP%]{flex-grow:0!important}.flex-grow-1[_ngcontent-%COMP%]{flex-grow:1!important}.flex-shrink-0[_ngcontent-%COMP%]{flex-shrink:0!important}.flex-shrink-1[_ngcontent-%COMP%]{flex-shrink:1!important}.flex-wrap[_ngcontent-%COMP%]{flex-wrap:wrap!important}.flex-nowrap[_ngcontent-%COMP%]{flex-wrap:nowrap!important}.flex-wrap-reverse[_ngcontent-%COMP%]{flex-wrap:wrap-reverse!important}.justify-content-start[_ngcontent-%COMP%]{justify-content:flex-start!important}.justify-content-end[_ngcontent-%COMP%]{justify-content:flex-end!important}.justify-content-center[_ngcontent-%COMP%]{justify-content:center!important}.justify-content-between[_ngcontent-%COMP%]{justify-content:space-between!important}.justify-content-around[_ngcontent-%COMP%]{justify-content:space-around!important}.align-items-start[_ngcontent-%COMP%]{align-items:flex-start!important}.align-items-end[_ngcontent-%COMP%]{align-items:flex-end!important}.align-items-center[_ngcontent-%COMP%]{align-items:center!important}.align-items-baseline[_ngcontent-%COMP%]{align-items:baseline!important}.align-items-stretch[_ngcontent-%COMP%]{align-items:stretch!important}.align-content-start[_ngcontent-%COMP%]{align-content:flex-start!important}.align-content-end[_ngcontent-%COMP%]{align-content:flex-end!important}.align-content-center[_ngcontent-%COMP%]{align-content:center!important}.align-content-between[_ngcontent-%COMP%]{align-content:space-between!important}.align-content-around[_ngcontent-%COMP%]{align-content:space-around!important}.align-content-stretch[_ngcontent-%COMP%]{align-content:stretch!important}.align-self-auto[_ngcontent-%COMP%]{align-self:auto!important}.align-self-start[_ngcontent-%COMP%]{align-self:flex-start!important}.align-self-end[_ngcontent-%COMP%]{align-self:flex-end!important}.align-self-center[_ngcontent-%COMP%]{align-self:center!important}.align-self-baseline[_ngcontent-%COMP%]{align-self:baseline!important}.align-self-stretch[_ngcontent-%COMP%]{align-self:stretch!important}.order-first[_ngcontent-%COMP%]{order:-1!important}.order-0[_ngcontent-%COMP%]{order:0!important}.order-1[_ngcontent-%COMP%]{order:1!important}.order-2[_ngcontent-%COMP%]{order:2!important}.order-3[_ngcontent-%COMP%]{order:3!important}.order-4[_ngcontent-%COMP%]{order:4!important}.order-5[_ngcontent-%COMP%]{order:5!important}.order-last[_ngcontent-%COMP%]{order:6!important}.m-0[_ngcontent-%COMP%]{margin:0!important}.m-1[_ngcontent-%COMP%]{margin:.25rem!important}.m-2[_ngcontent-%COMP%]{margin:.5rem!important}.m-3[_ngcontent-%COMP%]{margin:1rem!important}.m-4[_ngcontent-%COMP%]{margin:1.5rem!important}.m-5[_ngcontent-%COMP%]{margin:3rem!important}.m-auto[_ngcontent-%COMP%]{margin:auto!important}.mx-0[_ngcontent-%COMP%]{margin-right:0!important;margin-left:0!important}.mx-1[_ngcontent-%COMP%]{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2[_ngcontent-%COMP%]{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3[_ngcontent-%COMP%]{margin-right:1rem!important;margin-left:1rem!important}.mx-4[_ngcontent-%COMP%]{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5[_ngcontent-%COMP%]{margin-right:3rem!important;margin-left:3rem!important}.mx-auto[_ngcontent-%COMP%]{margin-right:auto!important;margin-left:auto!important}.my-0[_ngcontent-%COMP%]{margin-top:0!important;margin-bottom:0!important}.my-1[_ngcontent-%COMP%]{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2[_ngcontent-%COMP%]{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3[_ngcontent-%COMP%]{margin-top:1rem!important;margin-bottom:1rem!important}.my-4[_ngcontent-%COMP%]{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5[_ngcontent-%COMP%]{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto[_ngcontent-%COMP%]{margin-top:auto!important;margin-bottom:auto!important}.mt-0[_ngcontent-%COMP%]{margin-top:0!important}.mt-1[_ngcontent-%COMP%]{margin-top:.25rem!important}.mt-2[_ngcontent-%COMP%]{margin-top:.5rem!important}.mt-3[_ngcontent-%COMP%]{margin-top:1rem!important}.mt-4[_ngcontent-%COMP%]{margin-top:1.5rem!important}.mt-5[_ngcontent-%COMP%]{margin-top:3rem!important}.mt-auto[_ngcontent-%COMP%]{margin-top:auto!important}.mr-0[_ngcontent-%COMP%]{margin-right:0!important}.mr-1[_ngcontent-%COMP%]{margin-right:.25rem!important}.mr-2[_ngcontent-%COMP%]{margin-right:.5rem!important}.mr-3[_ngcontent-%COMP%]{margin-right:1rem!important}.mr-4[_ngcontent-%COMP%]{margin-right:1.5rem!important}.mr-5[_ngcontent-%COMP%]{margin-right:3rem!important}.mr-auto[_ngcontent-%COMP%]{margin-right:auto!important}.mb-0[_ngcontent-%COMP%]{margin-bottom:0!important}.mb-1[_ngcontent-%COMP%]{margin-bottom:.25rem!important}.mb-2[_ngcontent-%COMP%]{margin-bottom:.5rem!important}.mb-3[_ngcontent-%COMP%]{margin-bottom:1rem!important}.mb-4[_ngcontent-%COMP%]{margin-bottom:1.5rem!important}.mb-5[_ngcontent-%COMP%]{margin-bottom:3rem!important}.mb-auto[_ngcontent-%COMP%]{margin-bottom:auto!important}.ml-0[_ngcontent-%COMP%]{margin-left:0!important}.ml-1[_ngcontent-%COMP%]{margin-left:.25rem!important}.ml-2[_ngcontent-%COMP%]{margin-left:.5rem!important}.ml-3[_ngcontent-%COMP%]{margin-left:1rem!important}.ml-4[_ngcontent-%COMP%]{margin-left:1.5rem!important}.ml-5[_ngcontent-%COMP%]{margin-left:3rem!important}.ml-auto[_ngcontent-%COMP%]{margin-left:auto!important}.m-n1[_ngcontent-%COMP%]{margin:-.25rem!important}.m-n2[_ngcontent-%COMP%]{margin:-.5rem!important}.m-n3[_ngcontent-%COMP%]{margin:-1rem!important}.m-n4[_ngcontent-%COMP%]{margin:-1.5rem!important}.m-n5[_ngcontent-%COMP%]{margin:-3rem!important}.mx-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3[_ngcontent-%COMP%]{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5[_ngcontent-%COMP%]{margin-right:-3rem!important;margin-left:-3rem!important}.my-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3[_ngcontent-%COMP%]{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5[_ngcontent-%COMP%]{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-n1[_ngcontent-%COMP%]{margin-top:-.25rem!important}.mt-n2[_ngcontent-%COMP%]{margin-top:-.5rem!important}.mt-n3[_ngcontent-%COMP%]{margin-top:-1rem!important}.mt-n4[_ngcontent-%COMP%]{margin-top:-1.5rem!important}.mt-n5[_ngcontent-%COMP%]{margin-top:-3rem!important}.mr-n1[_ngcontent-%COMP%]{margin-right:-.25rem!important}.mr-n2[_ngcontent-%COMP%]{margin-right:-.5rem!important}.mr-n3[_ngcontent-%COMP%]{margin-right:-1rem!important}.mr-n4[_ngcontent-%COMP%]{margin-right:-1.5rem!important}.mr-n5[_ngcontent-%COMP%]{margin-right:-3rem!important}.mb-n1[_ngcontent-%COMP%]{margin-bottom:-.25rem!important}.mb-n2[_ngcontent-%COMP%]{margin-bottom:-.5rem!important}.mb-n3[_ngcontent-%COMP%]{margin-bottom:-1rem!important}.mb-n4[_ngcontent-%COMP%]{margin-bottom:-1.5rem!important}.mb-n5[_ngcontent-%COMP%]{margin-bottom:-3rem!important}.ml-n1[_ngcontent-%COMP%]{margin-left:-.25rem!important}.ml-n2[_ngcontent-%COMP%]{margin-left:-.5rem!important}.ml-n3[_ngcontent-%COMP%]{margin-left:-1rem!important}.ml-n4[_ngcontent-%COMP%]{margin-left:-1.5rem!important}.ml-n5[_ngcontent-%COMP%]{margin-left:-3rem!important}.p-0[_ngcontent-%COMP%]{padding:0!important}.p-1[_ngcontent-%COMP%]{padding:.25rem!important}.p-2[_ngcontent-%COMP%]{padding:.5rem!important}.p-3[_ngcontent-%COMP%]{padding:1rem!important}.p-4[_ngcontent-%COMP%]{padding:1.5rem!important}.p-5[_ngcontent-%COMP%]{padding:3rem!important}.px-0[_ngcontent-%COMP%]{padding-right:0!important;padding-left:0!important}.px-1[_ngcontent-%COMP%]{padding-right:.25rem!important;padding-left:.25rem!important}.px-2[_ngcontent-%COMP%]{padding-right:.5rem!important;padding-left:.5rem!important}.px-3[_ngcontent-%COMP%]{padding-right:1rem!important;padding-left:1rem!important}.px-4[_ngcontent-%COMP%]{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5[_ngcontent-%COMP%]{padding-right:3rem!important;padding-left:3rem!important}.py-0[_ngcontent-%COMP%]{padding-top:0!important;padding-bottom:0!important}.py-1[_ngcontent-%COMP%]{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2[_ngcontent-%COMP%]{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3[_ngcontent-%COMP%]{padding-top:1rem!important;padding-bottom:1rem!important}.py-4[_ngcontent-%COMP%]{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5[_ngcontent-%COMP%]{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0[_ngcontent-%COMP%]{padding-top:0!important}.pt-1[_ngcontent-%COMP%]{padding-top:.25rem!important}.pt-2[_ngcontent-%COMP%]{padding-top:.5rem!important}.pt-3[_ngcontent-%COMP%]{padding-top:1rem!important}.pt-4[_ngcontent-%COMP%]{padding-top:1.5rem!important}.pt-5[_ngcontent-%COMP%]{padding-top:3rem!important}.pr-0[_ngcontent-%COMP%]{padding-right:0!important}.pr-1[_ngcontent-%COMP%]{padding-right:.25rem!important}.pr-2[_ngcontent-%COMP%]{padding-right:.5rem!important}.pr-3[_ngcontent-%COMP%]{padding-right:1rem!important}.pr-4[_ngcontent-%COMP%]{padding-right:1.5rem!important}.pr-5[_ngcontent-%COMP%]{padding-right:3rem!important}.pb-0[_ngcontent-%COMP%]{padding-bottom:0!important}.pb-1[_ngcontent-%COMP%]{padding-bottom:.25rem!important}.pb-2[_ngcontent-%COMP%]{padding-bottom:.5rem!important}.pb-3[_ngcontent-%COMP%]{padding-bottom:1rem!important}.pb-4[_ngcontent-%COMP%]{padding-bottom:1.5rem!important}.pb-5[_ngcontent-%COMP%]{padding-bottom:3rem!important}.pl-0[_ngcontent-%COMP%]{padding-left:0!important}.pl-1[_ngcontent-%COMP%]{padding-left:.25rem!important}.pl-2[_ngcontent-%COMP%]{padding-left:.5rem!important}.pl-3[_ngcontent-%COMP%]{padding-left:1rem!important}.pl-4[_ngcontent-%COMP%]{padding-left:1.5rem!important}.pl-5[_ngcontent-%COMP%]{padding-left:3rem!important}.font-weight-light[_ngcontent-%COMP%]{font-weight:300!important}.font-weight-lighter[_ngcontent-%COMP%]{font-weight:lighter!important}.font-weight-normal[_ngcontent-%COMP%]{font-weight:400!important}.font-weight-bold[_ngcontent-%COMP%]{font-weight:700!important}.font-weight-bolder[_ngcontent-%COMP%]{font-weight:bolder!important}.text-lowercase[_ngcontent-%COMP%]{text-transform:lowercase!important}.text-uppercase[_ngcontent-%COMP%]{text-transform:uppercase!important}.text-capitalize[_ngcontent-%COMP%]{text-transform:capitalize!important}.text-left[_ngcontent-%COMP%]{text-align:left!important}.text-right[_ngcontent-%COMP%]{text-align:right!important}.text-center[_ngcontent-%COMP%]{text-align:center!important}.text-justify[_ngcontent-%COMP%]{text-align:justify!important}.text-wrap[_ngcontent-%COMP%]{white-space:normal!important}.text-nowrap[_ngcontent-%COMP%]{white-space:nowrap!important}.text-decoration-none[_ngcontent-%COMP%]{text-decoration:none!important}.font-italic[_ngcontent-%COMP%]{font-style:italic!important}.text-break[_ngcontent-%COMP%]{overflow-wrap:break-word!important;word-break:break-word!important}.font-monospace[_ngcontent-%COMP%]{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.oval[_ngcontent-%COMP%]{border-radius:100%!important}.rounded[_ngcontent-%COMP%]{border-radius:.25rem!important}.rounded-sm[_ngcontent-%COMP%]{border-radius:.2rem!important}.rounded-lg[_ngcontent-%COMP%]{border-radius:.3rem!important}.rounded-circle[_ngcontent-%COMP%]{border-radius:50%!important}.rounded-pill[_ngcontent-%COMP%]{border-radius:50rem!important}.rounded-0[_ngcontent-%COMP%]{border-radius:0!important}.rounded-top[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important}.rounded-right[_ngcontent-%COMP%], .rounded-top[_ngcontent-%COMP%]{border-top-right-radius:.25rem!important}.rounded-bottom[_ngcontent-%COMP%], .rounded-right[_ngcontent-%COMP%]{border-bottom-right-radius:.25rem!important}.rounded-bottom[_ngcontent-%COMP%], .rounded-left[_ngcontent-%COMP%]{border-bottom-left-radius:.25rem!important}.rounded-left[_ngcontent-%COMP%]{border-top-left-radius:.25rem!important}.visible[_ngcontent-%COMP%]{visibility:visible!important}.invisible[_ngcontent-%COMP%]{visibility:hidden!important}.pointer[_ngcontent-%COMP%]{cursor:pointer!important}h3.sub-title[_ngcontent-%COMP%]{font-size:18px;font-weight:700}h3.sub-title[_ngcontent-%COMP%], ion-color-primary[_ngcontent-%COMP%]{color:#3c8dbc}ion-card-header.title-header[_ngcontent-%COMP%]{background:#4d4d4d;color:#fff;padding:20px}ion-card-header[_ngcontent-%COMP%] h3.title[_ngcontent-%COMP%]{font-size:20px;margin:0}.map-wrapper[_ngcontent-%COMP%]{padding:0;position:relative}ion-card[_ngcontent-%COMP%]{border-radius:0;border-radius:.5rem}.accordion-wrapper[_ngcontent-%COMP%]{position:absolute;top:20px;right:10px;z-index:1000}ion-card.alerts-content[_ngcontent-%COMP%], ion-card.vehicles-content[_ngcontent-%COMP%]{background-color:#f8f9fa;box-shadow:0 1px 2px rgba(60,64,67,.3),0 2px 6px 2px rgba(60,64,67,.15)}ion-accordion-group[_ngcontent-%COMP%]{width:400px}.card-center[_ngcontent-%COMP%]{text-align:center}.europe-card[_ngcontent-%COMP%]{padding-bottom:16px;padding-left:10px;padding-right:10px}ion-item.notification[_ngcontent-%COMP%]{--background:#fc732f;color:#fff;border-radius:.2rem;margin-bottom:.8rem;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}ion-item.notification[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], ion-item.notification[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-weight:700}ion-item[_ngcontent-%COMP%]:hover{cursor:pointer}ion-card-content.station-list-content[_ngcontent-%COMP%]{overflow-y:scroll;height:350px;background-color:#414141}.station-list-content[_ngcontent-%COMP%]{padding-top:0;overflow-y:scroll;height:350px}ion-list.station-list[_ngcontent-%COMP%]{height:-moz-max-content;height:max-content}ion-list[_ngcontent-%COMP%] .alert-item[_ngcontent-%COMP%], ion-list[_ngcontent-%COMP%] .station-item[_ngcontent-%COMP%]{background:#efeded;padding:10px;border-radius:.5rem}ion-list[_ngcontent-%COMP%] .alert-item[_ngcontent-%COMP%] ion-label[_ngcontent-%COMP%]{display:flex;align-items:center}ion-accordion.accordion-collapsed[_ngcontent-%COMP%] ion-item[slot=header][_ngcontent-%COMP%], ion-accordion.accordion-expanded[_ngcontent-%COMP%] ion-item[slot=header][_ngcontent-%COMP%], ion-accordion.accordion-expanding[_ngcontent-%COMP%] ion-item[slot=header][_ngcontent-%COMP%]{font-family:Montserrat,sans-serif}ion-item[slot=header][_ngcontent-%COMP%] ion-label[_ngcontent-%COMP%]{font-family:Google Sans Bold,sans-serif}.station-item[_ngcontent-%COMP%]{padding:.375rem .5rem;border-radius:.375rem;margin-top:.5rem}ion-avatar.notification[_ngcontent-%COMP%]{width:40%!important;height:40%!important;max-width:40px;max-height:40px}ion-label[_ngcontent-%COMP%] h1[_ngcontent-%COMP%], ion-label[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], ion-label[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:1.2em;color:#211a1a;font-family:Google Sans Regular,sans-serif}ion-label[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.3em;font-family:Google Sans Bold,sans-serif}ion-label[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:10px}.wrapper-alerts[_ngcontent-%COMP%]{overflow-y:auto}.wrapper-alerts[_ngcontent-%COMP%] .alert-item[_ngcontent-%COMP%]{background-color:#ffdad9}.alert-item[_ngcontent-%COMP%]{padding:.375rem .5rem;border-radius:.375rem;margin-top:.5rem}.alert-message[_ngcontent-%COMP%]{display:flex;flex-direction:column}.alert-message[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-family:Google Sans Medium,sans-serif;font-size:1.2em;margin-left:10px}.alert-message[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-family:Google Sans Regular,sans-serif;font-size:1em;margin-left:10px}[_ngcontent-%COMP%]::-webkit-scrollbar{width:5px}[_ngcontent-%COMP%]::-webkit-scrollbar-track{box-shadow:inset 0 0 1px grey;border-radius:2px}[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#d7d7d7;border-radius:2px}@media only screen and (min-device-width:1366px) and (orientation:landscape) and (-webkit-min-device-pixel-ratio:2){ion-content.scrolling-content[_ngcontent-%COMP%]{--overflow:hidden}}@media only screen and (min-device-width:1024px) and (max-device-width:1024px) and (orientation:portrait) and (-webkit-min-device-pixel-ratio:2){ion-content.scrolling-content[_ngcontent-%COMP%]{--overflow:hidden}}@media only screen and (max-device-width:768px){ion-list.station-list[_ngcontent-%COMP%]{height:inherit;overflow:auto}}"]}),t})()}];let y=(()=>{class t{}return t.\u0275fac=function(n){return new(n||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[o.Bz.forChild(v)],o.Bz]}),t})();var k=e(7064);e(9861),e(878),e(1225),e(3148),e(6599),e(9996),e(7727),e(1520),e(1055),e(611),e(436),e(3835),e(9624);let T=(()=>{class t{}return t.\u0275fac=function(n){return new(n||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[k.BQ],k.BQ]}),t})(),Z=(()=>{class t{}return t.\u0275fac=function(n){return new(n||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[h.ez,d.Pc.forRoot(),b.Y4,T],h.ez,d.Pc,b.Y4,T]}),t})(),S=(()=>{class t{}return t.\u0275fac=function(n){return new(n||t)},t.\u0275mod=l.oAB({type:t}),t.\u0275inj=l.cJS({imports:[[Z,y]]}),t})()}}]);