From 9fa81de6a2873054c48f8eacfbec08b778b9f7e4 Mon Sep 17 00:00:00 2001 From: Christian Date: Sun, 7 Apr 2019 02:17:31 +0200 Subject: [PATCH 1/5] merge --- client/Nightr/src/app/home-page/home-page.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/Nightr/src/app/home-page/home-page.component.ts b/client/Nightr/src/app/home-page/home-page.component.ts index 0894901..3b29d40 100644 --- a/client/Nightr/src/app/home-page/home-page.component.ts +++ b/client/Nightr/src/app/home-page/home-page.component.ts @@ -4,7 +4,7 @@ import { RouterExtensions } from "nativescript-angular/router"; import { TouchGestureEventData, GestureEventData } from 'tns-core-modules/ui/gestures' import { isEnabled, enableLocationRequest, getCurrentLocation, watchLocation, distance, clearWatch, Location } from "nativescript-geolocation"; -import { MyHttpPostService } from '../services/my-http-post-service'' +import { MyHttpPostService } from '../services/my-http-post-service' @Component({ From 7d1b4d4537773d57061f1c36d71f4563829f5976 Mon Sep 17 00:00:00 2001 From: "Casper V. Kristensen" Date: Sun, 7 Apr 2019 03:04:26 +0200 Subject: [PATCH 2/5] Australia in Australia strat. --- server/nightr/strategies/miloStrats.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/server/nightr/strategies/miloStrats.py b/server/nightr/strategies/miloStrats.py index afe5af5..2b7903d 100644 --- a/server/nightr/strategies/miloStrats.py +++ b/server/nightr/strategies/miloStrats.py @@ -35,12 +35,20 @@ def australiaStrat(context : Context) -> Prediction: hour = t.hour p = Prediction() - if hour > 22 or hour < 6: - p.probability = 0.0 - p.reasons.append('It\'s night-time in Australia, so it must be day-time here.') + if context.in_australia: + if hour > 22 or hour < 6: + p.probability = 1.0 + p.reasons.append('It\'s night-time in Australia, and that\'s where we\'re at.') + else: + p.probability = 0.0 + p.reasons.append('It\'s day-time in Australia, and that\'s where we\'re at.') else: - p.probability = 1.0 - p.reasons.append('It\'s day-time in Australia, so it must be night-time here.') + if hour > 22 or hour < 6: + p.probability = 0.0 + p.reasons.append('It\'s night-time in Australia, so it must be day-time here.') + else: + p.probability = 1.0 + p.reasons.append('It\'s day-time in Australia, so it must be night-time here.') return p From 62e549015ec8aab235246fbc2c840aca4cb72dd8 Mon Sep 17 00:00:00 2001 From: "Casper V. Kristensen" Date: Sun, 7 Apr 2019 03:39:16 +0200 Subject: [PATCH 3/5] Randomised battery. --- server/nightr/util.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/nightr/util.py b/server/nightr/util.py index 82725a1..5985465 100644 --- a/server/nightr/util.py +++ b/server/nightr/util.py @@ -1,4 +1,5 @@ import base64 +import random from dataclasses import dataclass, field from pathlib import Path from typing import List, Dict @@ -9,7 +10,7 @@ import numpy as np @dataclass class Context: - battery: int = 55 + battery: int = field(default_factory=lambda: random.randint(0, 100)) position: Dict[str, float] = field(default_factory=lambda: {'latitude': 53.0, 'longitude': 9.0}) # Denmark somewhere image: np.ndarray = None From ca4c0fe1d94224201967b1cc60f6db700fd4f281 Mon Sep 17 00:00:00 2001 From: Whizel Date: Sun, 7 Apr 2019 04:33:31 +0200 Subject: [PATCH 4/5] added sliders on frontpage --- client/Nightr/package-lock.json | 5 ++ client/Nightr/package.json | 1 + .../app/home-page/home-page.component.html | 11 ++-- .../src/app/home-page/home-page.component.ts | 57 ++++++++++++------- .../app/result-page/result-page.component.ts | 14 +++-- 5 files changed, 58 insertions(+), 30 deletions(-) diff --git a/client/Nightr/package-lock.json b/client/Nightr/package-lock.json index 6091599..10dcff8 100644 --- a/client/Nightr/package-lock.json +++ b/client/Nightr/package-lock.json @@ -3784,6 +3784,11 @@ "nativescript-permissions": "^1.2.3" } }, + "nativescript-checkbox": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/nativescript-checkbox/-/nativescript-checkbox-3.0.3.tgz", + "integrity": "sha1-H5oC4BvPi9fSd79IW8CvMa3jdcs=" + }, "nativescript-dev-typescript": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/nativescript-dev-typescript/-/nativescript-dev-typescript-0.9.0.tgz", diff --git a/client/Nightr/package.json b/client/Nightr/package.json index f583598..ea733d8 100644 --- a/client/Nightr/package.json +++ b/client/Nightr/package.json @@ -23,6 +23,7 @@ "@angular/router": "~7.2.0", "nativescript-angular": "~7.2.0", "nativescript-camera": "^4.4.0", + "nativescript-checkbox": "^3.0.3", "nativescript-geolocation": "^5.0.0", "nativescript-powerinfo": "^1.0.7", "nativescript-theme-core": "~1.0.4", diff --git a/client/Nightr/src/app/home-page/home-page.component.html b/client/Nightr/src/app/home-page/home-page.component.html index 34a9045..91270c3 100644 --- a/client/Nightr/src/app/home-page/home-page.component.html +++ b/client/Nightr/src/app/home-page/home-page.component.html @@ -2,13 +2,14 @@ + + + + + + - - - - - diff --git a/client/Nightr/src/app/home-page/home-page.component.ts b/client/Nightr/src/app/home-page/home-page.component.ts index 329ff98..bb41300 100644 --- a/client/Nightr/src/app/home-page/home-page.component.ts +++ b/client/Nightr/src/app/home-page/home-page.component.ts @@ -1,12 +1,11 @@ import { Component, OnInit } from "@angular/core"; -import * as dialogs from "tns-core-modules/ui/dialogs"; import { RouterExtensions } from "nativescript-angular/router"; -import { TouchGestureEventData, GestureEventData } from 'tns-core-modules/ui/gestures' -import { isEnabled, enableLocationRequest, getCurrentLocation, watchLocation, distance, clearWatch, Location } from "nativescript-geolocation"; +import { GestureEventData } from 'tns-core-modules/ui/gestures' +import { Switch } from "tns-core-modules/ui/switch"; +import * as appSettings from "tns-core-modules/application-settings"; import { MyHttpPostService } from '../services/my-http-post-service'; - @Component({ selector: "home-page", moduleId: module.id, @@ -15,29 +14,47 @@ import { MyHttpPostService } from '../services/my-http-post-service'; providers: [MyHttpPostService] }) export class HomePageComponent implements OnInit { - returnMessage: string = ""; - myReturnJSON: Object; - locationData: Location; - myPicture: String; - image: any; - flat_earth: boolean; - in_australia: boolean; - changeYes: boolean; - + public toggleFlatEarthState = "Is the earth flat?"; + public toggleIsAustraliaState = "Are you in Australia?"; + isEarthFlat: boolean; + inAustralia: boolean; constructor(private routerExtensions: RouterExtensions, ) { } ngOnInit(): void { } - public changeGenderMale(){ - if(this.changeYes == true) - this.changeYes = false; - else - this.changeYes = true; - } + public toggleFlatEarth(args) { + console.log('Reached toggleFlatearch'); + let firstSwitch = args.object; + if (firstSwitch.checked) { + this.isEarthFlat = true; + appSettings.setBoolean("applicationIsEarthFlat", true); + } else { + this.isEarthFlat = false; + appSettings.setBoolean("applicationIsEarthFlat", false); + } + } + + public toggleIsAustralia(args) { + let secondSwitch = args.object; + if (secondSwitch.checked) { + this.inAustralia = true; + appSettings.setBoolean("applicationinAustralia", true); + } else { + this.inAustralia = false; + appSettings.setBoolean("applicationinAustralia", false); + console.log('isEarthflat', this.isEarthFlat); + } + } public onTap(args: GestureEventData): void { - this.routerExtensions.navigateByUrl("/result-page"); + let navigationExtras = { + queryParams: { + isEarthFlat: this.isEarthFlat, + inAustralia: this.inAustralia } + } + //console.log('this is inAustralia', this.inAustralia, 'This is isEarthFlat', this.isEarthFlat); + this.routerExtensions.navigateByUrl("/result-page"), navigationExtras; } } diff --git a/client/Nightr/src/app/result-page/result-page.component.ts b/client/Nightr/src/app/result-page/result-page.component.ts index f447ffb..0d94949 100644 --- a/client/Nightr/src/app/result-page/result-page.component.ts +++ b/client/Nightr/src/app/result-page/result-page.component.ts @@ -6,6 +6,7 @@ import { MyBatteryInfoService } from '../services/my-battery-info.service'; import { MyCameraService } from '../services/my-camera-service' import { RouterExtensions } from 'nativescript-angular/router'; import { Location } from 'nativescript-geolocation'; +import * as appSettings from "tns-core-modules/application-settings"; class Reason { constructor(public str: string, public causestring: string) { @@ -18,6 +19,7 @@ class Reason { templateUrl: './result-page.component.html', styleUrls: ['./result-page.component.css'], moduleId: module.id, + providers: [MyHttpPostService] }) export class ResultPageComponent implements OnInit { returnMessage: string = ""; @@ -33,10 +35,10 @@ export class ResultPageComponent implements OnInit { public reasons: Array; constructor(private myHttpPostSerivce: MyHttpPostService, - private routerExtensions: RouterExtensions, - private geoLocationService: MyGeoLocationService, - private batterInfoService: MyBatteryInfoService, - private cameraService: MyCameraService,){ } + private routerExtensions: RouterExtensions, + private geoLocationService: MyGeoLocationService, + private batterInfoService: MyBatteryInfoService, + private cameraService: MyCameraService,){ } ngOnInit(): Promise { return this.cameraService.takePicture(). @@ -61,7 +63,9 @@ public submit(): void { private makePostRequest(): void { this.myHttpPostSerivce - .postData({ position: this.locationData, image: this.image, flat_earth: true, in_australia: true, }) + .postData({ position: this.locationData, image: this.image, + flat_earth: appSettings.getBoolean("applicationIsEarthFlat", false), + in_australia: appSettings.getBoolean("applicationinAustralia", false), }) .subscribe(res => { //console.log('This is res', res); this.JSONObject = res; From f0b568b3fbf0f063c099002e00506e52f62eeb08 Mon Sep 17 00:00:00 2001 From: Whizel Date: Sun, 7 Apr 2019 04:47:12 +0200 Subject: [PATCH 5/5] deleted cause this is a sirius project --- client/Nightr/src/app/app.module.ts | 4 --- .../camera-button/camera-button.component.css | 1 - .../camera-button.component.html | 1 - .../camera-button/camera-button.component.ts | 24 --------------- .../locationButton.component.css | 1 - .../locationButton.component.html | 4 --- .../locationButton.component.ts | 29 ------------------- .../src/app/home-page/home-page.component.ts | 3 -- .../app/result-page/result-page.component.ts | 4 --- client/Nightr/src/main.js | 2 +- 10 files changed, 1 insertion(+), 72 deletions(-) delete mode 100644 client/Nightr/src/app/component/camera-button/camera-button.component.css delete mode 100644 client/Nightr/src/app/component/camera-button/camera-button.component.html delete mode 100644 client/Nightr/src/app/component/camera-button/camera-button.component.ts delete mode 100644 client/Nightr/src/app/component/locationButton/locationButton.component.css delete mode 100644 client/Nightr/src/app/component/locationButton/locationButton.component.html delete mode 100644 client/Nightr/src/app/component/locationButton/locationButton.component.ts diff --git a/client/Nightr/src/app/app.module.ts b/client/Nightr/src/app/app.module.ts index 46046e5..6185091 100644 --- a/client/Nightr/src/app/app.module.ts +++ b/client/Nightr/src/app/app.module.ts @@ -6,8 +6,6 @@ import { AppComponent } from "./app.component"; import { HomePageComponent } from "./home-page/home-page.component"; import { MyButtonComponent } from './component/my-button/my-button.component'; import { NativeScriptHttpClientModule } from "nativescript-angular/http-client"; -import { MyLocationButtonComponent } from './component/locationButton/locationButton.component'; -import { CameraButtonComponent } from './component/camera-button/camera-button.component'; import { ResultPageComponent } from './result-page/result-page.component'; // Uncomment and add to NgModule imports if you need to use two-way binding @@ -32,9 +30,7 @@ import { ResultPageComponent } from './result-page/result-page.component'; ], declarations: [ AppComponent, - MyLocationButtonComponent, MyButtonComponent, - CameraButtonComponent, ResultPageComponent, HomePageComponent, ], diff --git a/client/Nightr/src/app/component/camera-button/camera-button.component.css b/client/Nightr/src/app/component/camera-button/camera-button.component.css deleted file mode 100644 index bcd4764..0000000 --- a/client/Nightr/src/app/component/camera-button/camera-button.component.css +++ /dev/null @@ -1 +0,0 @@ -/* Add mobile styles for the component here. */ diff --git a/client/Nightr/src/app/component/camera-button/camera-button.component.html b/client/Nightr/src/app/component/camera-button/camera-button.component.html deleted file mode 100644 index 4fe4caf..0000000 --- a/client/Nightr/src/app/component/camera-button/camera-button.component.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/client/Nightr/src/app/component/camera-button/camera-button.component.ts b/client/Nightr/src/app/component/camera-button/camera-button.component.ts deleted file mode 100644 index d3bd803..0000000 --- a/client/Nightr/src/app/component/camera-button/camera-button.component.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { MyCameraService } from '../../services/my-camera-service'; - -@Component({ - selector: 'ns-camera-button', - templateUrl: './camera-button.component.html', - styleUrls: ['./camera-button.component.css'], - moduleId: module.id, -}) -export class CameraButtonComponent implements OnInit { - - camera:MyCameraService = new MyCameraService(); - constructor() { } - - ngOnInit() { - } - - onTap() { - this.camera.takePicture().then( - (res) => {console.log(res)}, () => {} - ); -} - -} diff --git a/client/Nightr/src/app/component/locationButton/locationButton.component.css b/client/Nightr/src/app/component/locationButton/locationButton.component.css deleted file mode 100644 index bcd4764..0000000 --- a/client/Nightr/src/app/component/locationButton/locationButton.component.css +++ /dev/null @@ -1 +0,0 @@ -/* Add mobile styles for the component here. */ diff --git a/client/Nightr/src/app/component/locationButton/locationButton.component.html b/client/Nightr/src/app/component/locationButton/locationButton.component.html deleted file mode 100644 index 9fe4bc3..0000000 --- a/client/Nightr/src/app/component/locationButton/locationButton.component.html +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/client/Nightr/src/app/component/locationButton/locationButton.component.ts b/client/Nightr/src/app/component/locationButton/locationButton.component.ts deleted file mode 100644 index d28c873..0000000 --- a/client/Nightr/src/app/component/locationButton/locationButton.component.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Component, EventEmitter, OnInit, Output } from '@angular/core'; -import { TouchGestureEventData, GestureEventData } from 'tns-core-modules/ui/gestures' -import { MyGeoLocationService} from '../../services/my-geo-location.service'; -@Component({ - selector: 'ns-locationButton', - templateUrl: './locationButton.component.html', - styleUrls: ['./locationButton.component.css'], - moduleId: module.id, -}) -export class MyLocationButtonComponent implements OnInit { - title = "Click to get location!"; - lat = "start"; - geoLocationService = new MyGeoLocationService(); - - @Output() tap: EventEmitter = new EventEmitter(); - - constructor() { - } - ngOnInit() { - } - - onTap(args: GestureEventData): any { - this.tap.emit(args); - this.geoLocationService.getLocation().then(location => { - this.lat = ""+location.latitude; - }).catch(error => { - }); - } -} diff --git a/client/Nightr/src/app/home-page/home-page.component.ts b/client/Nightr/src/app/home-page/home-page.component.ts index 15debd5..f239bd7 100644 --- a/client/Nightr/src/app/home-page/home-page.component.ts +++ b/client/Nightr/src/app/home-page/home-page.component.ts @@ -26,7 +26,6 @@ export class HomePageComponent implements OnInit { } public toggleFlatEarth(args) { - console.log('Reached toggleFlatearch'); let firstSwitch = args.object; if (firstSwitch.checked) { this.isEarthFlat = true; @@ -45,7 +44,6 @@ export class HomePageComponent implements OnInit { } else { this.inAustralia = false; appSettings.setBoolean("applicationinAustralia", false); - console.log('isEarthflat', this.isEarthFlat); } } @@ -55,7 +53,6 @@ export class HomePageComponent implements OnInit { isEarthFlat: this.isEarthFlat, inAustralia: this.inAustralia } } - //console.log('this is inAustralia', this.inAustralia, 'This is isEarthFlat', this.isEarthFlat); this.routerExtensions.navigateByUrl("/result-page"), navigationExtras; } } diff --git a/client/Nightr/src/app/result-page/result-page.component.ts b/client/Nightr/src/app/result-page/result-page.component.ts index 0f6e194..b19dd1c 100644 --- a/client/Nightr/src/app/result-page/result-page.component.ts +++ b/client/Nightr/src/app/result-page/result-page.component.ts @@ -50,7 +50,6 @@ export class ResultPageComponent implements OnInit { return this.cameraService.takePicture(). then(picture => { this.image = JSON.stringify(picture); - //console.log('this is picture in json', JSON.stringify(picture)); this.getLocation(); }) } @@ -58,7 +57,6 @@ export class ResultPageComponent implements OnInit { public getLocation(): any { this.geoLocationService.getLocation().then(location => { this.locationData = location; - //console.log('this is locationData', this.locationData); this.submit(); }).catch(error => { }); @@ -74,11 +72,9 @@ private makePostRequest(): void { flat_earth: appSettings.getBoolean("applicationIsEarthFlat", false), in_australia: appSettings.getBoolean("applicationinAustralia", false), }) .subscribe(res => { - console.log('This is res', res); this.JSONObject = res; this.isBusy = false; this.addToArray(); - //console.log('THis is myreturnJSON', this.myReturnJSON); }); } diff --git a/client/Nightr/src/main.js b/client/Nightr/src/main.js index d07591d..faf70ce 100644 --- a/client/Nightr/src/main.js +++ b/client/Nightr/src/main.js @@ -11,4 +11,4 @@ var app_module_1 = require("./app/app.module"); // so we provide a wrapper platform object, platformNativeScriptDynamic, // that sets up a NativeScript application and can bootstrap the Angular framework. platform_1.platformNativeScriptDynamic().bootstrapModule(app_module_1.AppModule); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwR0FBMEc7QUFDMUcsMERBQTRFO0FBRTVFLCtDQUE2QztBQUU3QyxnRkFBZ0Y7QUFDaEYsMEVBQTBFO0FBQzFFLHNFQUFzRTtBQUN0RSx5REFBeUQ7QUFDekQseUVBQXlFO0FBQ3pFLHdFQUF3RTtBQUN4RSxtRkFBbUY7QUFDbkYsc0NBQTJCLEVBQUUsQ0FBQyxlQUFlLENBQUMsc0JBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdGhpcyBpbXBvcnQgc2hvdWxkIGJlIGZpcnN0IGluIG9yZGVyIHRvIGxvYWQgc29tZSByZXF1aXJlZCBzZXR0aW5ncyAobGlrZSBnbG9iYWxzIGFuZCByZWZsZWN0LW1ldGFkYXRhKVxuaW1wb3J0IHsgcGxhdGZvcm1OYXRpdmVTY3JpcHREeW5hbWljIH0gZnJvbSBcIm5hdGl2ZXNjcmlwdC1hbmd1bGFyL3BsYXRmb3JtXCI7XG5cbmltcG9ydCB7IEFwcE1vZHVsZSB9IGZyb20gXCIuL2FwcC9hcHAubW9kdWxlXCI7XG5cbi8vIEEgdHJhZGl0aW9uYWwgTmF0aXZlU2NyaXB0IGFwcGxpY2F0aW9uIHN0YXJ0cyBieSBpbml0aWFsaXppbmcgZ2xvYmFsIG9iamVjdHMsXG4vLyBzZXR0aW5nIHVwIGdsb2JhbCBDU1MgcnVsZXMsIGNyZWF0aW5nLCBhbmQgbmF2aWdhdGluZyB0byB0aGUgbWFpbiBwYWdlLlxuLy8gQW5ndWxhciBhcHBsaWNhdGlvbnMgbmVlZCB0byB0YWtlIGNhcmUgb2YgdGhlaXIgb3duIGluaXRpYWxpemF0aW9uOlxuLy8gbW9kdWxlcywgY29tcG9uZW50cywgZGlyZWN0aXZlcywgcm91dGVzLCBESSBwcm92aWRlcnMuXG4vLyBBIE5hdGl2ZVNjcmlwdCBBbmd1bGFyIGFwcCBuZWVkcyB0byBtYWtlIGJvdGggcGFyYWRpZ21zIHdvcmsgdG9nZXRoZXIsXG4vLyBzbyB3ZSBwcm92aWRlIGEgd3JhcHBlciBwbGF0Zm9ybSBvYmplY3QsIHBsYXRmb3JtTmF0aXZlU2NyaXB0RHluYW1pYyxcbi8vIHRoYXQgc2V0cyB1cCBhIE5hdGl2ZVNjcmlwdCBhcHBsaWNhdGlvbiBhbmQgY2FuIGJvb3RzdHJhcCB0aGUgQW5ndWxhciBmcmFtZXdvcmsuXG5wbGF0Zm9ybU5hdGl2ZVNjcmlwdER5bmFtaWMoKS5ib290c3RyYXBNb2R1bGUoQXBwTW9kdWxlKTtcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1haW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwR0FBMEc7QUFDMUcsMERBQTRFO0FBRTVFLCtDQUE2QztBQUU3QyxnRkFBZ0Y7QUFDaEYsMEVBQTBFO0FBQzFFLHNFQUFzRTtBQUN0RSx5REFBeUQ7QUFDekQseUVBQXlFO0FBQ3pFLHdFQUF3RTtBQUN4RSxtRkFBbUY7QUFDbkYsc0NBQTJCLEVBQUUsQ0FBQyxlQUFlLENBQUMsc0JBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdGhpcyBpbXBvcnQgc2hvdWxkIGJlIGZpcnN0IGluIG9yZGVyIHRvIGxvYWQgc29tZSByZXF1aXJlZCBzZXR0aW5ncyAobGlrZSBnbG9iYWxzIGFuZCByZWZsZWN0LW1ldGFkYXRhKVxyXG5pbXBvcnQgeyBwbGF0Zm9ybU5hdGl2ZVNjcmlwdER5bmFtaWMgfSBmcm9tIFwibmF0aXZlc2NyaXB0LWFuZ3VsYXIvcGxhdGZvcm1cIjtcclxuXHJcbmltcG9ydCB7IEFwcE1vZHVsZSB9IGZyb20gXCIuL2FwcC9hcHAubW9kdWxlXCI7XHJcblxyXG4vLyBBIHRyYWRpdGlvbmFsIE5hdGl2ZVNjcmlwdCBhcHBsaWNhdGlvbiBzdGFydHMgYnkgaW5pdGlhbGl6aW5nIGdsb2JhbCBvYmplY3RzLFxyXG4vLyBzZXR0aW5nIHVwIGdsb2JhbCBDU1MgcnVsZXMsIGNyZWF0aW5nLCBhbmQgbmF2aWdhdGluZyB0byB0aGUgbWFpbiBwYWdlLlxyXG4vLyBBbmd1bGFyIGFwcGxpY2F0aW9ucyBuZWVkIHRvIHRha2UgY2FyZSBvZiB0aGVpciBvd24gaW5pdGlhbGl6YXRpb246XHJcbi8vIG1vZHVsZXMsIGNvbXBvbmVudHMsIGRpcmVjdGl2ZXMsIHJvdXRlcywgREkgcHJvdmlkZXJzLlxyXG4vLyBBIE5hdGl2ZVNjcmlwdCBBbmd1bGFyIGFwcCBuZWVkcyB0byBtYWtlIGJvdGggcGFyYWRpZ21zIHdvcmsgdG9nZXRoZXIsXHJcbi8vIHNvIHdlIHByb3ZpZGUgYSB3cmFwcGVyIHBsYXRmb3JtIG9iamVjdCwgcGxhdGZvcm1OYXRpdmVTY3JpcHREeW5hbWljLFxyXG4vLyB0aGF0IHNldHMgdXAgYSBOYXRpdmVTY3JpcHQgYXBwbGljYXRpb24gYW5kIGNhbiBib290c3RyYXAgdGhlIEFuZ3VsYXIgZnJhbWV3b3JrLlxyXG5wbGF0Zm9ybU5hdGl2ZVNjcmlwdER5bmFtaWMoKS5ib290c3RyYXBNb2R1bGUoQXBwTW9kdWxlKTtcclxuIl19 \ No newline at end of file