Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
@@ -25,7 +25,9 @@
"ogc-schemas": "~2.2.0",
"w3c-schemas": "~1.1.0",
"jsonix": "~2.2.1",
"nvd3": "https://github.com/nvd3-community/nvd3.git#~1.7.1"
"nvd3": "https://github.com/nvd3-community/nvd3.git#~1.7.1",
"terraformer": "~1.0.4",
"terraformer-wkt-parser": "~1.0.0"
},
"resolutions": {
"d3": ">=3.5.5"
Diff not rendered.
Diff not rendered.
@@ -0,0 +1,17 @@
{
"type": "FeatureCollection",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },

"features": [
{ "type": "Feature", "properties": { "naam": "Kliniek \"medica\" Wieken", "omschrijvi": "ziekenhuis , opvangcapaciteit 25 bedden" }, "geometry": { "type": "Point", "coordinates": [ 5.285033144799832, 51.879651081237199 ] } },
{ "type": "Feature", "properties": { "naam": "verzorg.h. Het Leede", "omschrijvi": "bejaardenhuis, opvangcapaciteit 50 bedden" }, "geometry": { "type": "Point", "coordinates": [ 5.090507830090041, 51.897485764310964 ] } },
{ "type": "Feature", "properties": { "naam": "ÄV zorg locatie Emma", "omschrijvi": "bejaardenhuis, opvangcapaciteit 50 bedden" }, "geometry": { "type": "Point", "coordinates": [ 5.080380752391332, 51.893660190939862 ] } },
{ "type": "Feature", "properties": { "naam": "Beatrix ziekenhuis", "omschrijvi": "zk, opvang speciale zorg 20, normaal 80 bed." }, "geometry": { "type": "Point", "coordinates": [ 4.958127888313602, 51.838499428843299 ] } },
{ "type": "Feature", "properties": { "naam": "Partycentrum", "omschrijvi": "Tot 400 personen, catering aanwezig" }, "geometry": { "type": "Point", "coordinates": [ 5.18779192568477, 51.898204082331311 ] } },
{ "type": "Feature", "properties": { "naam": "verz.h. Lingehof", "omschrijvi": "noodcapaciteit 25 bedden" }, "geometry": { "type": "Point", "coordinates": [ 5.1912567073161, 51.886614993145074 ] } },
{ "type": "Feature", "properties": { "naam": "Hotel de Gentel", "omschrijvi": "# Beschikbare bedden op aanvraag" }, "geometry": { "type": "Point", "coordinates": [ 5.272361657634152, 51.882560590356618 ] } },
{ "type": "Feature", "properties": { "naam": "zorgcentrum Wielewaal", "omschrijvi": "capaciteit 15-20 bedden" }, "geometry": { "type": "Point", "coordinates": [ 5.252990185845687, 51.80826038119941 ] } },
{ "type": "Feature", "properties": { "naam": "sporthal Interweij", "omschrijvi": "tot max 2000 personen" }, "geometry": { "type": "Point", "coordinates": [ 5.244297667339519, 51.947793649048918 ] } },
{ "type": "Feature", "properties": { "naam": "sporthal De Smidseberg", "omschrijvi": "maximaal 1500 personen" }, "geometry": { "type": "Point", "coordinates": [ 4.943673964348398, 51.903829345857915 ] } }
]
}
Diff not rendered.
@@ -8,11 +8,11 @@
<script>
Polymer({
connected: false,
herdname: 'ontw',
herdname: 'eagle',
protocol: 'wss',
url: 'websocket.geodan.nl',
port: 443,
directory: 'ontw',
directory: 'eagle',
created: function(){
},
observe: {
@@ -0,0 +1,25 @@
<link rel="import" href="../bower_components/geodan-polymer/elements/g-drawingmenu.html">
<link rel="import" href="../bower_components/paper-dialog/paper-action-dialog.html">
<polymer-element name="icm-drawmenu" attributes="map">
<template>
<style>
</style>


<g-drawingmenu id="drawmenu" core="{{core}}" map="{{map}}"></g-drawingmenu>

</template>

<script>
var tmp;
Polymer({
observe: {
'core._projectid': 'switchProject'
},
switchProject: function(){

}
});

</script>
</polymer-element>
@@ -0,0 +1,78 @@
<!--
Create, update or delete incident
-->
<polymer-element name="icm-incidentcrud" attributes='core'>
<template>
<style>
#paper-button {
background: steelBlue;
color: yellow;
}
</style>
<paper-input id="name" label="Naam"></paper-input><br>
<paper-button on-click="{{crud}}">
Voeg toe
</paper-button>

</template>

<script>
Polymer({
created: function(){

},
crud: function(a,b,c){
var name = this.$.name.value;
var project = this.core.projects({});
project.data('name', name)
.data('status','Actief')
.data('type', 'Geofort')
.data('location',{lat: 51.881892, lon: 5.110007, zoomlevel: 20})
.data('teams',[
{id: 1, name: 'Incident', boxes: [
{id: 1, type: 'text', name: 'Meldingen'}
]},
{id: 2, name: 'Team Populatie', boxes: [
{id: 2, type: 'text', name: 'Opdracht'},
{id: 1, type: 'text', name: 'Samenvatting'}
]},
{id: 3, name: 'Team Evacuatie', boxes: [
{id: 2, type: 'text', name: 'Opdracht'},
{id: 1, type: 'text', name: 'Samenvatting'}
]},
{id: 4, name: 'Team Opvang', boxes: [
{id: 2, type: 'text', name: 'Opdracht'},
{id: 1, type: 'text', name: 'Samenvatting'}
]},
{id: 5, name: 'Team Communicatie', boxes: [
{id: 2, type: 'text', name: 'Opdracht'},
{id: 1, type: 'text', name: 'Samenvatting'}
]}
]).sync();
var opvangtext = ""
+ "U moet de locaties zoeken waar de evacuees kunnen worden opgevangen. Gebruik hiervoor google maps en zoek naar sporthallen. Voeg in ieder geval de volgende locaties toe:"
+ "- Verzorgingstehuis Ter Leede, opvangcapaciteit 50 bedden<br>"
+ "- Beatrix ziekenhuis, opvang speciale zorg 20, normaal 80 bed.<br>"
+ "- Verzorgingstehuis Lingehof, noodcapaciteit 25 bedden. <br>"
+ "- Sporthal Interweij, tot max 2000 personen.<br>"
+ "- Sporthal De Smidseberg, maximaal 1500 personen. <br>";
project.items({}).data({type: "text", team: 2, box: 2, text: "U moet zien uit te vinden waar en hoeveel bewoners in het gebied zijn.<br> Let daarbij extra op kwetsbare groepen."}).sync();
project.items({}).data({type: "text", team: 3, box: 2, text: "U moet de beste evacuatieroutes vinden en intekenen met behulp van de hoogtekaart. Let op de locatie van de bruggen!"}).sync();
project.items({}).data({type: "text", team: 4, box: 2, text: opvangtext}).sync();
project.items({}).data({type: "text", team: 5, box: 2, text: "U moet zorgen dat alle teams met elkaar blijven comminiceren en uiteindelijk geeft u een samenvatting aan de burgemeester."}).sync();
},
domReady: function(){
var self = this;
var core = this.core;

},
name: function(d){
return d.data('name');
},
date: function(d){
return new Date(d.created()).toLocaleString();
}

});
</script>
</polymer-element>
@@ -0,0 +1,131 @@
<link rel="import" href="../bower_components/paper-toggle-button/paper-toggle-button.html">
<link rel="import" href="../bower_components/paper-dialog/paper-dialog.html">
<link rel="import" href="../bower_components/paper-button/paper-button.html">

<polymer-element name="icm-incidentlist" attributes='core'>
<template>
<style>
.incidentlist {
overflow: auto;
width: 600px;
}
.incident {
margin-left: 100px;
padding: 10px;
}
</style>
<h3>Kies uw incident</h3>
Actief - <paper-toggle-button id="archief"></paper-toggle-button> - Archief

<div class='incidentlist' style="display:{{$.archief.checked?'none':'block'}}">
<template repeat="{{i,idx in incidents}}">
<div horizontal layout class='incident' index="{{idx}}">
<paper-button raised flex value="{{i.id}}" on-click="{{select}}">{{i.name}} {{i.date}} </paper-button>
<paper-icon-button value="{{i.id}}" icon='archive' on-click='{{delete}}'></paper-icon-button>
</div>
</template>
</div>

<div class='incidentlist' style="display:{{$.archief.checked?'block':'none'}}">
<template repeat="{{i,idx in deletedincidents}}">
<div horizontal layout class='incident' index="{{idx}}">
<paper-button raised flex value="{{i.id}}" on-click="{{select}}">{{i.name}} {{i.date}} </paper-button>
<paper-icon-button value="{{i.id}}" icon='restore' on-click='{{undelete}}'></paper-icon-button>
</div>
</template>
</div>


<paper-dialog id="dialog" transition="core-transition-center">
<p>Archiveren?</p>
<paper-button dismissive on-click="{{cancel}}">Nee</paper-button>
<paper-button affirmative on-click="{{affirm}}">Ja</paper-button>
</paper-dialog>

</template>

<script>
Polymer({
selectedid: null,
created: function(){
this.incidents = [];
},
domReady: function(){
var self = this;
var core = this.core;
function lastedit(d){
var items = d.items();
if (items.length > 0)
return new Date(_.max(items, function(x){ return x.updated(); }).updated()).toLocaleString();
else
return new Date(d.updated()).toLocaleString();
}
function makeitem(d){
return {
id: d.id(),
name:d.data('name') ? d.data('name'): 'unknown',
status:d.data('status') ? d.data('status').name: 'unknown',
date:new Date(d.created()).toLocaleString(),
type:d.data('type') ? d.data('type').title: 'unknown',
items:d.items().length,
lastedit:lastedit(d)
};
}

function reload(){
self.incidents = [];
self.deletedincidents = [];
core.projects()
.filter(function(d){return !d.deleted() && d.data('name');})
.forEach(function(d){
self.incidents.push(makeitem(d));
});
core.projects()
.filter(function(d){return d.deleted() && d.data('name');})
.forEach(function(d){
self.deletedincidents.push(makeitem(d));
});
}
core.projectStore().loaded.then(function(d){
reload();
});
core.projectStore().on('datachange', function(d){
reload();
});
},
name: function(d){
return d.data('name');
},
date: function(d){
return new Date(d.created()).toLocaleString();
},
live: function(d){
if (d.data('type') && d.data('type').name == 'live') return true;
},
select: function(a,b,c){
this.core.project(c.getAttribute('value'));
this.fire('selected');
},
delete: function(a,b,c){
this.selectedid = c.getAttribute('value');
this.$.dialog.open();
},
affirm: function(){
core.projects(this.selectedid).deleted(true).sync();
this.$.dialog.close();
},
undelete: function(a,b,c){
core.projects(c.getAttribute('value')).deleted(false).sync();
},
cancel: function(){
this.$.dialog.close();
}
//selectedChanged: function(a,b,c){
// if (this.selected){
// this.core.project(this.selected.id.toString());
// this.fire('selected');
// }
//}
});
</script>
</polymer-element>
@@ -14,25 +14,32 @@
<link rel="import" href="../bower_components/paper-dialog/paper-action-dialog.html">
<link rel="import" href="../bower_components/paper-icon-button/paper-icon-button.html">
<link rel="import" href="../bower_components/paper-button/paper-button.html">
<link rel="import" href="../bower_components/paper-item/paper-item.html">
<link rel="import" href="../bower_components/paper-icon-button/paper-icon-button.html">
<link rel="import" href="../bower_components/paper-toast/paper-toast.html">

<!-- disabled
<link rel="import" href="../bower_components/geodan-polymer/elements/g-cas.html">
-->
<link rel="import" href="../bower_components/geodan-polymer/elements/g-layercatalogus.html">
<link rel="import" href="../bower_components/geodan-polymer/elements/gm-configreader.html">
<link rel="import" href="../bower_components/geodan-polymer/elements/g-wmsreader.html">

<link rel="import" href="../elements/icm-core.html">
<link rel="import" href="../elements/icm-userlist.html">
<link rel="import" href="../elements/icm-incidentlist.html">
<link rel="import" href="../elements/icm-incidentcrud.html">
<link rel="import" href="../elements/icm-incidentlist-simple.html">
<link rel="import" href="../elements/icm-tekst.html">
<link rel="import" href="../elements/icm-welcome.html">
<link rel="import" href="../elements/icm-map.html">
<!-- disabled
<link rel="import" href="../elements/icm-drawmenu.html">
<link rel="import" href="../elements/icm-plugin-natuurbrand.html">
<link rel="import" href="../elements/icm-plugin-p2000.html">
<link rel="import" href="../elements/icm-plugin-rail.html">
<link rel="import" href="../elements/icm-plugin-rws.html">
<link rel="import" href="../elements/icm-plugin-tracker.html">

<link rel="import" href="../elements/icm-plugin-video.html">
-->
<polymer-element name="icm-main">
<template>
<style>
@@ -73,6 +80,16 @@
width: 100%;
z-index: 1;
}
#page0 {
background-color: white;
padding: 10px;
}
#page1 {
background-color: white;
}
#page2 {
background-color: white;
}
paper-icon-button {
color: lightGray;
}
@@ -97,7 +114,10 @@
display: block;
width: 10%;
}

icm-map {
display: block;

}
icm-tekst {
overflow: auto;
display: block;
@@ -139,6 +159,17 @@

<icm-core id="icmcore"></icm-core>

<paper-action-dialog class="scrolling" id="incidentcrud" transition="core-transition-left" heading="Nieuw incident" autoCloseDisabled>
<icm-incidentcrud core="{{core}}"></icm-incidentcrud>
<paper-button affirmative autofocus>Sluit</paper-button>
</paper-action-dialog>

<paper-action-dialog class="scrolling" id="drawmenu" transition="core-transition-left" heading="Tekenen" autoCloseDisabled>
<icm-drawmenu map="{{map}}"></icm-drawmenu>
<paper-button affirmative autofocus>Sluit</paper-button>
</paper-action-dialog>


<paper-action-dialog class="scrolling" id="NBPlugin" transition="core-transition-right" heading="Natuurbrandmodel" autoCloseDisabled>
<icm-plugin-natuurbrand core="{{core}}" map="{{$.map}}"></icm-plugin-natuurbrand>
<paper-button affirmative autofocus>Sluit</paper-button>
@@ -164,6 +195,11 @@
<paper-button affirmative autofocus>Sluit</paper-button>
</paper-action-dialog>

<paper-action-dialog class="scrolling" id="VideoPlugin" transition="core-transition-right" heading="Video" autoCloseDisabled>
<icm-plugin-video core="{{core}}" map="{{$.map}}"></icm-plugin-video>
<paper-button affirmative autofocus>Sluit</paper-button>
</paper-action-dialog>

<paper-action-dialog class="scrolling" id="layerlist" transition="core-transition-right" heading="Beschikbare lagen">
<div>
<h4>WMS:</h4>
@@ -179,39 +215,56 @@ <h4>GM-config:</h4>
<core-header-panel flex>
<core-toolbar layout>
<h3>Eagle Research</h3>
<div flex>
<paper-icon-button
icon="home"
on-click="{{gohome}}"></paper-icon-button>
<paper-icon-button id="idicon"
icon="{{account.ID==undefined?'social:person-outline':'account-circle'}}"
on-click="{{toggleLogin}}"></paper-icon-button>
<paper-icon-button id="connectionicon"
icon="{{$.icmcore.connected?'notification:sync':'notification:sync-disabled'}}"
class="{{$.icmcore.connected?'connected':'disconnected'}}"
on-click="{{toggleConnection}}"></paper-icon-button>
<div style="display:{{$.pages.selected==0?'block':'none'}}">
<paper-icon-button
icon="add-box"
on-click="{{toggleIncidentcrud}}"></paper-icon-button>
</div>
<div flex style="display:{{$.pages.selected>=1?'block':'none'}}">
<paper-icon-button
icon="home"
on-click="{{gohome}}"></paper-icon-button>
</div>
<div flex style="display:{{$.pages.selected==200?'block':'none'}}"><!--disabled-->
<paper-icon-button id="idicon"
icon="{{account.ID==undefined?'social:person-outline':'account-circle'}}"
on-click="{{toggleLogin}}"></paper-icon-button>
<paper-icon-button id="connectionicon"
icon="{{$.icmcore.connected?'notification:sync':'notification:sync-disabled'}}"
class="{{$.icmcore.connected?'connected':'disconnected'}}"
on-click="{{toggleConnection}}"></paper-icon-button>
</div>
<div style="display:{{$.pages.selected==2?'block':'none'}}">
<paper-icon-button
icon="social:whatshot"
on-click="{{toggleNBPlugin}}"></paper-icon-button>
<paper-icon-button
icon="device:wifi-tethering"
on-click="{{toggleP2000Plugin}}"></paper-icon-button>
<paper-icon-button
icon="maps:directions-train"
on-click="{{toggleRailPlugin}}"></paper-icon-button>
<paper-icon-button
icon="trending-up"
on-click="{{toggleRwsPlugin}}"></paper-icon-button>
<paper-icon-button
icon="image:flare"
on-click="{{toggleTrackerPlugin}}"></paper-icon-button>
<div flex style="display:{{$.pages.selected>=2?'block':'none'}}">Uw rol:<i>{{user._id}}</i></div>
<div style="display:{{$.pages.selected==200?'block':'none'}}"><!--disabled -->

<paper-icon-button
icon="social:whatshot"
on-click="{{toggleNBPlugin}}"></paper-icon-button>

<paper-icon-button
icon="device:wifi-tethering"
on-click="{{toggleP2000Plugin}}"></paper-icon-button>

<paper-icon-button
icon="maps:directions-train"
on-click="{{toggleRailPlugin}}"></paper-icon-button>
<paper-icon-button
icon="trending-up"
on-click="{{toggleRwsPlugin}}"></paper-icon-button>
<paper-icon-button
icon="image:flare"
on-click="{{toggleTrackerPlugin}}"></paper-icon-button>
<paper-icon-button
icon="image:flare"
on-click="{{toggleVideoPlugin}}"></paper-icon-button>
<paper-icon-button
icon="trending-up"
on-click="{{toggleDrawMenu}}"></paper-icon-button>

<paper-icon-button
icon="maps:layers"
on-click="{{toggleLayerCatalog}}"></paper-icon-button>
</div>
<paper-icon-button
icon="maps:layers"
on-click="{{toggleLayerCatalog}}"></paper-icon-button>
</div>
</core-toolbar>

<div id="content" vertical layout>
@@ -225,20 +278,18 @@ <h3>Eagle Research</h3>

<core-animated-pages id="pages" selected=0 fit transitions="cross-fade">
<section id="page0" >
<paper-shadow z=2>
<div id="msg">
U bent niet aangemeld bij de geodan cloud...
</div>
</paper-shadow>
</section>
<section id="page1">
<div cross-fade layout vertical>
<icm-incidentlist id="incidentlist" core="{{core}}"></icm-incidentlist>
</div>
</section>
<section id="page1">
<paper-shadow z=2>
<icm-welcome core="{{core}}" user="{{user}}"></icm-welcome>
</paper-shadow>
</section>
<section id="page2">
<div cross-fade layout horizontal style="height:100%">
<icm-userlist core="{{core}}"></icm-userlist>
<!--<icm-userlist core="{{core}}"></icm-userlist>-->
<icm-map id="map" core="{{core}}" layers="{{layers}}"></icm-map>
<core-splitter id="splitter" direction="left" allowOverflow></core-splitter>
<icm-tekst id="textbeeld" core="{{core}}" flex on-goto-location="{{gotolocation}}"></icm-tekst>
@@ -258,18 +309,22 @@ <h3>Eagle Research</h3>
var self = this;
this.core = this.$.icmcore.core;
core = this.core;
this.user = this.user || {};
this.ws = this.core.websocket();
this.account = this.account || {};
this.layers = [];
this.$.incidentlist.addEventListener('selected', function(d){
self.$.pages.selected = 2;
self.$.pages.selected = 1;
});
this.$.splitter.addEventListener('track', function(){
self.$.map.resize();
});
},
gohome: function(){
this.$.pages.selected = 1;
this.$.pages.selected = 0;
},
toggleIncidentcrud: function(){
this.$.incidentcrud.toggle();
},
toggleLogin: function() {
this.$.login.toggle();
@@ -292,14 +347,27 @@ <h3>Eagle Research</h3>
toggleTrackerPlugin: function() {
this.$.TrackerPlugin.toggle();
},
toggleVideoPlugin: function() {
this.$.VideoPlugin.toggle();
},
toggleLayerCatalog: function(){
this.$.layerlist.toggle();
},
toggleDrawMenu: function(){
this.$.drawmenu.toggle();
},
accountChanged: function(){
if (this.account.ID){
this.$.pages.selected = 1;
this.$.icmcore.login(this.account);
}
//TT: disabled cloud login
//if (this.account.ID){
// this.$.pages.selected = 1;
// this.$.icmcore.login(this.account);
//}
},
userChanged: function(){
if (this.user._id){
this.$.pages.selected = 2;
this.$.map.switchProject(); //delayed switch project
}
},
gotolocation: function(event, data){
this.$.map.map.center = data.msg;
@@ -1,9 +1,12 @@
<link rel="import" href="../bower_components/paper-dialog/paper-action-dialog.html">
<link rel="import" href="../bower_components/core-icon-button/core-icon-button.html">
<link rel="import" href="../bower_components/core-dropdown/core-dropdown.html">
<link rel="import" href="../bower_components/geodan-polymer/elements/g-zoommenu.html">
<link rel="import" href="./icm-drawmenu.html">
<link rel="import" href="../bower_components/geodan-polymer/elements/g-suggest.html">
<link rel="import" href="../bower_components/geodan-polymer/elements/g-mapvectorlayer.html">
<link rel="import" href="../bower_components/geodan-polymer/elements/g-maprasterlayer.html">
<link rel="import" href="../bower_components/geodan-polymer/elements/g-map.html">
<link rel="import" href="../bower_components/geodan-polymer/elements/g-drawingmenu.html">
<link rel="import" href="../bower_components/geodan-polymer/elements/g-layermanager.html">

<polymer-element name="icm-map" attributes="core layers">
@@ -14,14 +17,29 @@
height: 100%;
position: relative;
}
#trigger {
display: block;
position: absolute;
margin-left: 10px;
top: 70px;
z-index: 10;
}
g-layermanager {
display: block;
display: none;
position: absolute;
left: 10%;
top: 70px;
left: 10px;
top: 120px;
width: 300px;
z-index: 102;
}
g-suggest {
display: block;
position: absolute;
left: 40%;
top: 10px;
width: 400px;
z-index: 101;
}
/*
g-layercatalogus {
display: block;
@@ -42,24 +60,25 @@
g-zoommenu{
display: block;
position: absolute;
margin-left: 10px;
margin-top: 10px;
top: 0px;
width: 200px;
z-index: 101;
}
</style>

<g-suggest id="suggest"></g-suggest>
<g-zoommenu id="zoommenu" map="{{map}}"></g-zoommenu>
<g-drawingmenu id="drawmenu" map="{{map}}"></g-drawingmenu>
<paper-fab mini id="trigger" icon="list" on-click="{{toggleLayers}}"></paper-fab>
<g-layermanager id="layermngr" map="{{map}}" layers="{{layers}}"></g-layermanager>

<g-map id="mapelement" layers="{{layers}}" latitude="52.2" longitude="5.2" zoomlevel="23">
<g-drawingmenu id="drawmenu" core="{{core}}" map="{{map}}"></g-drawingmenu>
<g-map id="mapelement" layers="{{layers}}" latitude="52.2" longitude="5.2" zoomlevel="20">
<g-maprasterlayer
id="Mapbox"
type="tms"
url="http://{s}.tiles.mapbox.com/v3/examples.map-i86nkdio/{z}/{x}/{y}.png"
></g-maprasterlayer>
<g-mapvectorlayer id="communication" name="Communication" config="{{layerconfig}}"></g-mapvectorlayer>
<g-mapvectorlayer id="location" name="Search"></g-mapvectorlayer>
</g-map>

</template>
@@ -85,10 +104,20 @@
this.activeLayers = [];
},
domReady: function(){
var self = this;
var core = this.core;
this.map = this.$.mapelement.map;
tmp = this.map;
this.map.zoom = 18;
//this.map.zoom = 24;
this.map.maxzoom = 30;
this.$.suggest.addEventListener('location', function(d){
var center = d.detail.msg.centroid.geometry.coordinates;
self.map.center = center;
//self.$.mapelement.map.zoomToFeature(d.detail.msg.geom); //Doesn't work yet
var feat = d.detail.msg.geom;
self.$.location.newdata([feat]);
});

/*
l = new d3.mappu.RasterLayer("Mapbox", {
ogc_type: 'tms',
@@ -101,13 +130,68 @@
});
this.layers.push(l);
*/
this.$.communication.addEventListener('featchanged', function(d){
/* Geofort layers */

var l1 = new d3.mappu.VectorLayer('Overstroming', {
reproject: true,
visible: true,
opacity: 0,
style: {
fill: 'none',
stroke: 'blue',
}
}).addTo(this.map);
var t = 0;
d3.json('./data/flood_merged.geojson', function(data){
data.features.forEach(function(d){
d.id = t++;
});
l1.data = data.features;
});
//this.layers.push(l1);


this.$.communication.addEventListener('editFeature', function(d){
var feat = d.detail;
self.$.drawmenu.sketch.edit(feat);//TODO: cleaner method?
});
this.$.communication.addEventListener('changeFeature', function(d){
var feat = d.detail;
var id = feat.id;
var item = core.project().items(id);
item.data('feature',feat).sync();
});
this.$.communication.addEventListener('removeFeature', function(e){
var id = e.detail.id;
if (id){
var item = core.project().items(id.toString());
item.deleted(true);
item.sync();
}
else {
console.warn('No id for feature given');
}
});

this.map.mapdiv.addEventListener('featureCreated', function(e){
//TODO: This should be arranged from the drawingmenu
var feature = e.detail;
if (feature.geometry.type == 'Point'){
feature.style['marker-url'] = self.$.drawmenu.selectedIcon;
}
else if (feature.geometry.type == 'LineString'){
feature.style.stroke = self.$.drawmenu.selectedLineColor || 'blue';
feature.style.fill = 'none';
feature.style['stroke-width'] = '4px';
}
else if (feature.geometry.type == 'Polygon'){
feature.style.stroke = self.$.drawmenu.selectedPolyColor || 'blue';
feature.style.fill = 'none'; //Fill is not usefull on map
feature.style['fill-opacity'] = 0.3;
feature.style['stroke-width'] = '2px';
}


var item = core.project().items({});
item.data('type', 'feature');
item.data('feature', e.detail);
@@ -142,6 +226,7 @@
switchProject: function(){
var self = this;
var core = this.core;
//Here's an issue: since the SVG doesn;t have a size at this moment, the map centers wrong
window.setTimeout(function(){ //FIXME
self.$.mapelement.resize();
self.map = self.$.mapelement.map;
@@ -211,6 +296,14 @@
toggleLayerCatalog: function(){
this.$.layerlist.toggle();
}*/
toggleLayers: function(){
if (this.$.layermngr.style.display != 'block'){
this.$.layermngr.style.display = 'block';
}
else {
this.$.layermngr.style.display = 'none';
}
}

});
</script>
@@ -99,7 +99,8 @@ <h2>Trains</h2>
}
else { //OFF
this.locations = [];
clearInterval(this.treininterval);
//clearInterval(this.treininterval);
this.socket.close();
this.map.map.removeLayer(this.layer);
this.map.map.removeLayer(this.spoorvakkenlayer);
}
@@ -117,6 +118,8 @@ <h2>Trains</h2>
enable: function(){
var self = this;
var map = this.map.$.mapelement.map;
var m = d3.map([], function(d) { return d.id; });

if (map.mapdiv){
this.spoorvakkenlayer = new d3.mappu.VectorLayer('spoor', {
reproject: false,
@@ -174,42 +177,91 @@ <h2>Trains</h2>
treinnummers = d3.map(data, function(d){return d.nummer;});
});

var socket = new WebSocket("ws://192.168.24.15:9998",['connect']);
this.socket = socket;
socket.onopen = function(){
self.socketState = socket.readyState;
}
socket.onerror = function(error){
console.warn(error);
self.socketState = socket.readyState;
}
socket.onclose = function(){
console.log('Socket closed, readystate: ',socket.readyState);
self.socketState = socket.readyState;
}
socket.onmessage = function(msg){
var json = JSON.parse(msg.data);
addTrain(json);
//console.log(json);
}
var color = d3.scale.linear()
.domain([0, 40, 100,160])
.range(['gray', 'orange', 'red','purple']);
function doCircles(){
var circles = map.svg.select('#'+self.layer.id).selectAll('circle').data(m.values(), function(d){return d.id;});
circles.enter().append('circle')
.attr('r',5)
.style('fill',function(d){
return d.style.fill;
}).style('stroke',function(d){
return d.style.stroke;
});
circles.each(function(d){
if (d.x != d.x_old || d.y != d.y_old){
var circle = d3.select(this);
d.x_old = d.x;
d.y_old = d.y;
var loc = map.projection([d.x,d.y]);
circle.transition().duration(1000 * 10).ease('linear')
.attr('cx',loc[0])
.attr('cy',loc[1])
.style('fill', function(d){
return color(d.properties.speed);
}).style('stroke', 'none');
}
});
circles.exit().remove();
}
window.setInterval(doCircles,100);
//d3.timer(doCircles, 5 * 1000);
var counter = 0;
/* Prepare treindata as a geoJSON collection */
function treindataCallback(err,json){
var collection = {"type":"FeatureCollection","features":[]};
json.forEach(function(d){
if (d.Trackee.match(/OBIS/g) || d.Trackee >= 4011)
function addTrain(d){
if (d.trackeeid.match(/OBIS/g) || d.trackeeid >= 4011)
var color = "#000099";
else if (d.Trackee.match(/OBU/g) || d.Trackee < 4011)
else if (d.trackeeid.match(/OBU/g) || d.trackeeid < 4011)
var color = "#ffff00";
else
var color = "#cccccc";

var treinnummer = treinnummers.get(Math.trunc(d.Number/100)*100);
//var treinnummer = treinnummers.get(Math.trunc(d.Number/100)*100);

var newlocation = {
type: "Feature",
style: {
fill: color,
stroke: color
},
id: d.Trackee,
id: d.trackeeid,
x: d.x,
y: d.y,
properties: {
id: d.Trackee,
number: d.Number,
speed: d.Speed,
track: d.Track,
bps: d.Bps,
dop: d.Dop,
type: treinnummer ? treinnummer.type:'..',
route: treinnummer ? treinnummer.route:'..',
bijz: treinnummer ? treinnummer.bijz:'..'
id: d.trackeeid,
//number: d.Number,
speed: d.speed,
//track: d.Track,
//bps: d.Bps,
//dop: d.Dop,
//type: treinnummer ? treinnummer.type:'..',
//route: treinnummer ? treinnummer.route:'..',
//bijz: treinnummer ? treinnummer.bijz:'..'
},
geometry: {
type: "Point",
coordinates: [
d.Longitude,
d.Latitude
d.x,
d.y
]
},
crs: {
@@ -220,11 +272,19 @@ <h2>Trains</h2>
}

};
collection.features.push(newlocation);
});
collection.features.sort(function(a,b){return a.properties.number - b.properties.number;});
self.locations = collection.features;
var rows = d3.select(self.$.trainlist).selectAll('.row').data(self.locations);

//collection.features.sort(function(a,b){return a.properties.number - b.properties.number;});

//self.layer.addFeature(newlocation);
m.set(newlocation.id, newlocation);
counter++;
if (counter > 1000){
counter = 0;
//doCircles();
}

/*
var rows = d3.select(self.$.trainlist).selectAll('.row').data(m.values);
rows.enter().append('div').classed('row', true).on('click', function(d){
d3.select(self.$.trainlist).selectAll('.row').classed('selected', false);
d3.select(this).classed('selected',true);
@@ -236,30 +296,8 @@ <h2>Trains</h2>
+ '<small><i>'+d.properties.bijz+'</i></small>';
});
rows.exit().remove();
self.layer.data = collection.features;
}
function gettreinen(t){
var timestring = t.toISOString();
var datasource_treinen = "http://research.geodan.nl/service/trein/location/api/positions?username=ns&timestamp="+timestring;
d3.json(datasource_treinen)
.header("Authorization","Basic TlNhZG1pbjoyMGludGVyY2l0eTEz")
.get(treindataCallback);
*/
}
clearInterval(this.treininterval);
if (this.interval == 0){

}
else if (this.interval <= 1000){
console.warn('Too small interval');
}
else{
time = new Date();
gettreinen(time);
this.treininterval = setInterval(function(){
time = new Date();
gettreinen(time);
},this.interval);
}
}
}
});
@@ -102,7 +102,7 @@
.attrTween("transform", translateAlong(path.node()))
.each("end", function(){
running--;
transition()
transition();
});
});
}
@@ -0,0 +1,75 @@
<link rel="import" href="../bower_components/core-ajax/core-ajax.html">
<link rel="import" href="../bower_components/core-list/core-list.html">
<link rel="import" href="../bower_components/core-icons/social-icons.html">
<link rel="import" href="../bower_components/core-icons/maps-icons.html">
<link rel="import" href="../bower_components/paper-toggle-button/paper-toggle-button.html">
<link rel="import" href="../bower_components/paper-button/paper-button.html">
<link rel="import" href="icm-plugin.html">


<polymer-element name="icm-plugin-video" extends="icm-plugin">
<template>
<style>
.incidentinfo {
padding: 5px;
padding-left: 10px;
font-size: 8pt;
width: 400px;
}
core-list {
height: 600px;
}
.selected {
background: #e2e2ff;
}
</style>
<shadow></shadow>


<video width="320" height="240" controls>
<source src="https://manifest.googlevideo.com/api/manifest/hls_variant/key/yt5/ip/80.113.1.130/gcr/nl/maudio/1/sparams/gcr%2Chfr%2Cid%2Cip%2Cipbits%2Citag%2Cmaudio%2Cplaylist_type%2Cpmbypass%2Cratebypass%2Csource%2Cexpire/hfr/1/fexp/907263%2C934954%2C935000%2C938028%2C9406517%2C9406921%2C9407662%2C9408026%2C9408142%2C9408706%2C9408968%2C9409060%2C9413058%2C9414602%2C948124%2C952612%2C952637%2C952642/ratebypass/yes/ipbits/0/pmbypass/yes/itag/0/id/gnQ-OL-vkqw.1/upn/d2VU7SD4xYg/signature/3371FBA0A82AF22C6650FA044CB76EA21F910583.6BBE96F2307726DD752E69234440D5030FB87CF9/source/yt_live_broadcast/playlist_type/DVR/keepalive/yes/sver/3/expire/1431032587/file/index.m3u8" type="video/mp4">

Your browser does not support the video tag.
</video>


</template>



<script>

Polymer({
socketState: null,
ready: function(){
this.super();
this.layer = {};
this.locations = [];
},
selection: null,
domReady: function(){
this.super();
},
toggle: function(e){
this.super();
if (e.srcElement.checked){ //ON
this.enable();
}
else { //OFF
this.locations = [];
}
},
selectionChanged: function(){
if (this.selection){
this.map.map.center = this.selection.geometry.coordinates;
//this.map.map.zoom = 24; //can't zoom while still centering (bug in mappu)
}

},
enable: function(){
var self = this;
}
});
</script>

</polymer-element>
@@ -16,6 +16,7 @@
margin-bottom: 0px;
padding: 10px;
font-size: 16pt;
cursor: pointer;
}
.icon {
width: 24px;
@@ -50,7 +51,34 @@
<script>

if (1==2){//so never....
core.project().data('location',{lat: 53.1, lon: 5.8, zoomlevel: 20}).sync();
var project = core.projects({});
core.project(project.id());
core.project()
.data('location',{lat: 52.16, lon: 4.493, zoomlevel: 20})
.data('name','Brand in Leiden')
.sync();
core.project().data('teams',[
{id: 1, name: 'Incident', boxes: [
{id: 1, type: 'text', name: 'Meldingen'}
]},
{id: 2, name: 'Team Populatie', boxes: [
{id: 2, type: 'text', name: 'Opdracht'},
{id: 1, type: 'text', name: 'Samenvatting'}
]},
{id: 3, name: 'Team Evacuatie', boxes: [
{id: 2, type: 'text', name: 'Opdracht'},
{id: 1, type: 'text', name: 'Samenvatting'}
]},
{id: 4, name: 'Team Afzetting', boxes: [
{id: 2, type: 'text', name: 'Opdracht'},
{id: 1, type: 'text', name: 'Samenvatting'}
]},
{id: 5, name: 'Team Brandweer', boxes: [
{id: 2, type: 'text', name: 'Opdracht'},
{id: 1, type: 'text', name: 'Samenvatting'}
]}
]).sync();

core.project().data('teams',[
{id: 1, name: 'Meldingen', boxes: [
{id: 1, type: 'text', name: 'Acute meldingen'},
@@ -26,6 +26,7 @@
#viewtext {
display: block;
background: white;
color: gray;
padding-left: 10px;
padding-right: 10px;
cursor: pointer;
@@ -143,7 +144,9 @@

var text = items[0].data('text');
//Some discussion going on about size update here: https://github.com/Polymer/paper-input/issues/118
this.$.text.value = text;
if (!this.dirty){ //only update when not in edit mode
this.$.text.value = text;
}
this.$.a1.update(this.$.text);
this.text = text;
this.itemtime = new Date(this.item.updated()).toLocaleTimeString();
@@ -49,10 +49,14 @@
#flashbacktext {
display: block;
background: white;

padding-left: 10px;
padding-right: 10px;
cursor: pointer;
}
#viewtext {
color: gray;
}
#textarea {
display: none;
background: white;
@@ -14,6 +14,8 @@
padding-left: 10px;
}
</style>
<h3>Current user:</h3>
<p>{{curuser._id}}<p>
<h3>Online users:</h3>
<template repeat="{{user,i in users}}">
<paper-shadow z=2><div class='user' val="{{i}}" on-click="{{toggle}}">{{user | name}}</div></paper-shadow>
@@ -45,17 +47,20 @@ <h3>All users:</h3>
created: function(){
this.users = [];
this.chats = [];
this.curuser = {};
},
domReady: function(){
var self = this;
var core = this.core;

core.userStore().loaded.then(function(d){

self.users = core.activeUsers();
self.offlineusers = core.users().filter(function(d){return !d.deleted();});
});
core.peerStore().on('datachange', function(d){
self.users = core.activeUsers();
self.curuser = core.user();
self.offlineusers = core.users().filter(function(d){return !d.deleted();});
if (core.project()){
self.chats = core.project().items().filter(function(d){return d.data('from') && d.data('to')});
@@ -0,0 +1,77 @@
<polymer-element name="icm-welcome" attributes="core user">
<template>
<style>
#header {
padding: 10px;
}
.rol {
width: 250px;
display: inline-block;
padding: 20px;
cursor: pointer;
border: 1px solid;
margin: 5px;
}
</style>
<div id="header">
<h3>Welkom bij de crisismanagement workshop!</h3>
<p>Kies hieronder de rol die u gaat vervullen tijdens de workshop.</p>
</div>
<hr/>
<div>
<span value='populatie' on-click="{{login}}">
<div class="rol">
<h4>Populatie</h4>
<p>U gaat zich bezig houden met het in kaart brengen van de hoeveelheid mensen die in het rampgebied wonen en werken. </p>
<!--<p><img width="100%" src="../images/populatie.jpg"/></p>-->
</div>
</span>
<span value='evacuatie' on-click="{{login}}">
<div class="rol">
<h4>Evacuatie</h4>
<p>U gaat zich bezig houden met het in kaart brengen van vluchtroutes voor mensen uit het rampgebied naar buiten het gebied.</p>
<!--<p><img width="100%" src="../images/evacuatie.jpg"/></p>-->
</div>
</span>

<span value='afzetting' on-click="{{login}}">
<div class="rol">
<h4>Opvang</h4>
<p>U gaat zich bezig houden met de locaties zoeken waar de evacuees kunnen worden opgevangen. </p>
<!--<p><img width="100%" src="../images/opvang.jpg" /></p>-->
</div>
</span>
<span value='brandweer' on-click="{{login}}">
<div class="rol">
<h4>Communicatie</h4>
<p>U gaat zorgen dat alle teams met elkaar blijven comminiceren en uiteindelijk geeft u een samenvatting aan de burgemeester.</p>
<!--<p><img width="100%" src="../images/communicatie.jpg"/></p>-->
</div>
</span>
</div>
</template>

<script>

Polymer({
created: function(){
},
domReady: function(){
var core = this.core;
},
login: function(a,b,c){
var userid = c.getAttribute('value');
if (core.users(userid)){
core.user(userid);
core.user().data('name', userid).sync();
}
else {
core.users({_id: userid}).sync();
core.user(userid);
core.user().data('name', userid).sync();
}
this.user = core.user();
}
});
</script>
</polymer-element>
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN +12.8 KB images/evacuatie.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.