From 36e5a85aa6782c04065099a6c0870cb546581f7c Mon Sep 17 00:00:00 2001 From: Luke Vella Date: Wed, 4 Feb 2015 15:04:40 +0100 Subject: [PATCH] Updated Event Page - Removed datepicker plugin --- bower.json | 4 +- public/build/app.js | 4 +- public/css/style.css | 2 +- public/css/style.css.map | 2 +- public/js/main.js | 2 +- public/js/templates.js | 2 +- public/scss/partials/pages/_event.scss | 96 +- public/scss/partials/ui/_comments.scss | 1 - public/scss/partials/ui/_datepicker.scss | 143 -- public/scss/partials/ui/_poll.scss | 17 +- public/templates/event.html | 9 +- .../vendor/bootstrap-datepicker/.bower.json | 23 - public/vendor/bootstrap-datepicker/.gitignore | 3 - public/vendor/bootstrap-datepicker/.jscs.json | 27 - public/vendor/bootstrap-datepicker/.jshintrc | 20 - .../vendor/bootstrap-datepicker/.travis.yml | 5 - .../vendor/bootstrap-datepicker/CHANGELOG.md | 172 -- .../bootstrap-datepicker/CONTRIBUTING.md | 41 - .../vendor/bootstrap-datepicker/Gruntfile.js | 118 -- public/vendor/bootstrap-datepicker/LICENSE | 202 -- public/vendor/bootstrap-datepicker/README.md | 22 - public/vendor/bootstrap-datepicker/bower.json | 9 - .../bootstrap-datepicker/build/build.less | 67 - .../bootstrap-datepicker/build/build3.less | 71 - .../build/build_standalone.less | 64 - .../build/build_standalone3.less | 66 - .../vendor/bootstrap-datepicker/composer.json | 28 - .../bootstrap-datepicker/css/datepicker.css | 510 ----- .../bootstrap-datepicker/css/datepicker3.css | 786 -------- .../vendor/bootstrap-datepicker/docs/Makefile | 153 -- .../vendor/bootstrap-datepicker/docs/REAME.md | 8 - .../docs/_screenshots/demo_head.html | 31 - .../docs/_screenshots/markup_component.html | 20 - .../docs/_screenshots/markup_daterange.html | 28 - .../docs/_screenshots/markup_inline.html | 15 - .../docs/_screenshots/markup_input.html | 17 - .../_screenshots/option_calendarweeks.html | 23 - .../docs/_screenshots/option_clearbtn.html | 18 - .../option_daysofweekdisabled.html | 18 - .../docs/_screenshots/option_enddate.html | 18 - .../docs/_screenshots/option_language.html | 31 - .../docs/_screenshots/option_multidate.html | 27 - .../docs/_screenshots/option_startdate.html | 18 - .../docs/_screenshots/option_todaybtn.html | 17 - .../_screenshots/option_todayhighlight.html | 45 - .../docs/_screenshots/option_weekstart.html | 23 - .../docs/_screenshots/script/common.css | 9 - .../docs/_screenshots/script/common.js | 2 - .../docs/_screenshots/script/debug.js | 21 - .../_screenshots/script/html-imports.min.js | 30 - .../docs/_screenshots/script/screenshot.js | 69 - .../docs/_static/screenshots/demo_head.png | Bin 35214 -> 0 bytes .../_static/screenshots/markup_component.png | Bin 12899 -> 0 bytes .../_static/screenshots/markup_daterange.png | Bin 18503 -> 0 bytes .../_static/screenshots/markup_inline.png | Bin 12398 -> 0 bytes .../docs/_static/screenshots/markup_input.png | Bin 13085 -> 0 bytes .../screenshots/option_calendarweeks.png | Bin 19901 -> 0 bytes .../_static/screenshots/option_clearbtn.png | Bin 13180 -> 0 bytes .../screenshots/option_daysofweekdisabled.png | Bin 12861 -> 0 bytes .../_static/screenshots/option_enddate.png | Bin 12162 -> 0 bytes .../_static/screenshots/option_language.png | Bin 47404 -> 0 bytes .../_static/screenshots/option_multidate.png | Bin 26853 -> 0 bytes .../_static/screenshots/option_startdate.png | Bin 12901 -> 0 bytes .../_static/screenshots/option_todaybtn.png | Bin 13420 -> 0 bytes .../screenshots/option_todayhighlight.png | Bin 17533 -> 0 bytes .../_static/screenshots/option_weekstart.png | Bin 22478 -> 0 bytes .../vendor/bootstrap-datepicker/docs/conf.py | 248 --- .../bootstrap-datepicker/docs/events.rst | 48 - .../vendor/bootstrap-datepicker/docs/i18n.rst | 31 - .../bootstrap-datepicker/docs/index.rst | 122 -- .../bootstrap-datepicker/docs/keyboard.rst | 27 - .../vendor/bootstrap-datepicker/docs/make.bat | 190 -- .../bootstrap-datepicker/docs/markup.rst | 62 - .../bootstrap-datepicker/docs/methods.rst | 164 -- .../bootstrap-datepicker/docs/options.rst | 221 --- .../js/bootstrap-datepicker.js | 1681 ----------------- .../js/locales/bootstrap-datepicker.ar.js | 15 - .../js/locales/bootstrap-datepicker.az.js | 12 - .../js/locales/bootstrap-datepicker.bg.js | 14 - .../js/locales/bootstrap-datepicker.bs.js | 15 - .../js/locales/bootstrap-datepicker.ca.js | 17 - .../js/locales/bootstrap-datepicker.cs.js | 18 - .../js/locales/bootstrap-datepicker.cy.js | 14 - .../js/locales/bootstrap-datepicker.da.js | 15 - .../js/locales/bootstrap-datepicker.de.js | 17 - .../js/locales/bootstrap-datepicker.el.js | 16 - .../js/locales/bootstrap-datepicker.en-GB.js | 17 - .../js/locales/bootstrap-datepicker.es.js | 17 - .../js/locales/bootstrap-datepicker.et.js | 18 - .../js/locales/bootstrap-datepicker.eu.js | 15 - .../js/locales/bootstrap-datepicker.fa.js | 17 - .../js/locales/bootstrap-datepicker.fi.js | 16 - .../js/locales/bootstrap-datepicker.fo.js | 15 - .../js/locales/bootstrap-datepicker.fr-CH.js | 20 - .../js/locales/bootstrap-datepicker.fr.js | 17 - .../js/locales/bootstrap-datepicker.gl.js | 13 - .../js/locales/bootstrap-datepicker.he.js | 15 - .../js/locales/bootstrap-datepicker.hr.js | 13 - .../js/locales/bootstrap-datepicker.hu.js | 16 - .../js/locales/bootstrap-datepicker.hy.js | 17 - .../js/locales/bootstrap-datepicker.id.js | 15 - .../js/locales/bootstrap-datepicker.is.js | 14 - .../js/locales/bootstrap-datepicker.it-CH.js | 20 - .../js/locales/bootstrap-datepicker.it.js | 17 - .../js/locales/bootstrap-datepicker.ja.js | 16 - .../js/locales/bootstrap-datepicker.ka.js | 17 - .../js/locales/bootstrap-datepicker.kh.js | 15 - .../js/locales/bootstrap-datepicker.kk.js | 15 - .../js/locales/bootstrap-datepicker.kr.js | 13 - .../js/locales/bootstrap-datepicker.lt.js | 16 - .../js/locales/bootstrap-datepicker.lv.js | 16 - .../js/locales/bootstrap-datepicker.mk.js | 15 - .../js/locales/bootstrap-datepicker.ms.js | 14 - .../js/locales/bootstrap-datepicker.nb.js | 14 - .../js/locales/bootstrap-datepicker.nl-BE.js | 17 - .../js/locales/bootstrap-datepicker.nl.js | 17 - .../js/locales/bootstrap-datepicker.no.js | 16 - .../js/locales/bootstrap-datepicker.pl.js | 16 - .../js/locales/bootstrap-datepicker.pt-BR.js | 15 - .../js/locales/bootstrap-datepicker.pt.js | 16 - .../js/locales/bootstrap-datepicker.ro.js | 16 - .../locales/bootstrap-datepicker.rs-latin.js | 16 - .../js/locales/bootstrap-datepicker.rs.js | 16 - .../js/locales/bootstrap-datepicker.ru.js | 17 - .../js/locales/bootstrap-datepicker.sk.js | 15 - .../js/locales/bootstrap-datepicker.sl.js | 14 - .../js/locales/bootstrap-datepicker.sq.js | 15 - .../locales/bootstrap-datepicker.sr-latin.js | 16 - .../js/locales/bootstrap-datepicker.sr.js | 16 - .../js/locales/bootstrap-datepicker.sv.js | 17 - .../js/locales/bootstrap-datepicker.sw.js | 15 - .../js/locales/bootstrap-datepicker.th.js | 14 - .../js/locales/bootstrap-datepicker.tr.js | 16 - .../js/locales/bootstrap-datepicker.uk.js | 15 - .../js/locales/bootstrap-datepicker.vi.js | 16 - .../js/locales/bootstrap-datepicker.zh-CN.js | 17 - .../js/locales/bootstrap-datepicker.zh-TW.js | 17 - .../bootstrap-datepicker/less/datepicker.less | 254 --- .../less/datepicker3.less | 247 --- .../vendor/bootstrap-datepicker/package.json | 33 - .../bootstrap-datepicker/tests/README.md | 30 - .../tests/assets/coverage.js | 48 - .../tests/assets/jquery-1.7.1.min.js | 4 - .../bootstrap-datepicker/tests/assets/mock.js | 26 - .../tests/assets/qunit-logging.js | 29 - .../tests/assets/qunit.css | 235 --- .../tests/assets/qunit.js | 1669 ---------------- .../tests/assets/utils.js | 21 - .../tests/suites/calendar-weeks.js | 48 - .../tests/suites/component.js | 202 -- .../tests/suites/data-api.js | 114 -- .../tests/suites/events.js | 306 --- .../tests/suites/formats.js | 235 --- .../tests/suites/inline.js | 28 - .../tests/suites/keyboard_navigation/2011.js | 92 - .../tests/suites/keyboard_navigation/2012.js | 469 ----- .../tests/suites/keyboard_navigation/all.js | 26 - .../tests/suites/methods.js | 78 - .../tests/suites/mouse_navigation/2011.js | 66 - .../tests/suites/mouse_navigation/2012.js | 251 --- .../tests/suites/mouse_navigation/all.js | 33 - .../tests/suites/noconflict.js | 20 - .../tests/suites/options.js | 648 ------- .../bootstrap-datepicker/tests/tests.html | 49 - views/index.ejs | 4 +- 165 files changed, 59 insertions(+), 12118 deletions(-) delete mode 100644 public/vendor/bootstrap-datepicker/.bower.json delete mode 100644 public/vendor/bootstrap-datepicker/.gitignore delete mode 100644 public/vendor/bootstrap-datepicker/.jscs.json delete mode 100644 public/vendor/bootstrap-datepicker/.jshintrc delete mode 100644 public/vendor/bootstrap-datepicker/.travis.yml delete mode 100644 public/vendor/bootstrap-datepicker/CHANGELOG.md delete mode 100644 public/vendor/bootstrap-datepicker/CONTRIBUTING.md delete mode 100644 public/vendor/bootstrap-datepicker/Gruntfile.js delete mode 100644 public/vendor/bootstrap-datepicker/LICENSE delete mode 100644 public/vendor/bootstrap-datepicker/README.md delete mode 100644 public/vendor/bootstrap-datepicker/bower.json delete mode 100644 public/vendor/bootstrap-datepicker/build/build.less delete mode 100644 public/vendor/bootstrap-datepicker/build/build3.less delete mode 100644 public/vendor/bootstrap-datepicker/build/build_standalone.less delete mode 100644 public/vendor/bootstrap-datepicker/build/build_standalone3.less delete mode 100644 public/vendor/bootstrap-datepicker/composer.json delete mode 100644 public/vendor/bootstrap-datepicker/css/datepicker.css delete mode 100644 public/vendor/bootstrap-datepicker/css/datepicker3.css delete mode 100644 public/vendor/bootstrap-datepicker/docs/Makefile delete mode 100644 public/vendor/bootstrap-datepicker/docs/REAME.md delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/demo_head.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/markup_component.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/markup_daterange.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/markup_inline.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/markup_input.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/option_calendarweeks.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/option_clearbtn.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/option_daysofweekdisabled.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/option_enddate.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/option_language.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/option_multidate.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/option_startdate.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/option_todaybtn.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/option_todayhighlight.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/option_weekstart.html delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/script/common.css delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/script/common.js delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/script/debug.js delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/script/html-imports.min.js delete mode 100644 public/vendor/bootstrap-datepicker/docs/_screenshots/script/screenshot.js delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/demo_head.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/markup_component.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/markup_daterange.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/markup_inline.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/markup_input.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_calendarweeks.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_clearbtn.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_daysofweekdisabled.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_enddate.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_language.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_multidate.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_startdate.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_todaybtn.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_todayhighlight.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_weekstart.png delete mode 100644 public/vendor/bootstrap-datepicker/docs/conf.py delete mode 100644 public/vendor/bootstrap-datepicker/docs/events.rst delete mode 100644 public/vendor/bootstrap-datepicker/docs/i18n.rst delete mode 100644 public/vendor/bootstrap-datepicker/docs/index.rst delete mode 100644 public/vendor/bootstrap-datepicker/docs/keyboard.rst delete mode 100644 public/vendor/bootstrap-datepicker/docs/make.bat delete mode 100644 public/vendor/bootstrap-datepicker/docs/markup.rst delete mode 100644 public/vendor/bootstrap-datepicker/docs/methods.rst delete mode 100644 public/vendor/bootstrap-datepicker/docs/options.rst delete mode 100644 public/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ar.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.az.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.bg.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.bs.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ca.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cs.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cy.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.da.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.de.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.el.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.en-GB.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.es.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.et.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.eu.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fa.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fi.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fo.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr-CH.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.gl.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.he.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hr.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hu.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hy.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.id.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.is.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.it-CH.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.it.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ja.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ka.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kh.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kk.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kr.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lt.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lv.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.mk.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ms.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nb.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl-BE.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pl.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt-BR.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ro.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs-latin.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ru.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sk.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sl.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sq.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sr-latin.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sr.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sv.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sw.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.th.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.tr.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.uk.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.vi.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js delete mode 100644 public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-TW.js delete mode 100644 public/vendor/bootstrap-datepicker/less/datepicker.less delete mode 100644 public/vendor/bootstrap-datepicker/less/datepicker3.less delete mode 100644 public/vendor/bootstrap-datepicker/package.json delete mode 100644 public/vendor/bootstrap-datepicker/tests/README.md delete mode 100644 public/vendor/bootstrap-datepicker/tests/assets/coverage.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/assets/jquery-1.7.1.min.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/assets/mock.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/assets/qunit-logging.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/assets/qunit.css delete mode 100644 public/vendor/bootstrap-datepicker/tests/assets/qunit.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/assets/utils.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/calendar-weeks.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/component.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/data-api.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/events.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/formats.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/inline.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/keyboard_navigation/2011.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/keyboard_navigation/2012.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/keyboard_navigation/all.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/methods.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/mouse_navigation/2011.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/mouse_navigation/2012.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/mouse_navigation/all.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/noconflict.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/suites/options.js delete mode 100644 public/vendor/bootstrap-datepicker/tests/tests.html diff --git a/bower.json b/bower.json index c399d69df..42071e82e 100644 --- a/bower.json +++ b/bower.json @@ -17,7 +17,6 @@ "dependencies": { "bootstrap": "~3.3.1", "angular": "~1.3.3", - "bootstrap-datepicker": "~1.3.0", "angular-ui-router": "~0.2.13", "angular-resource": "~1.3.6", "angular-modal": "~0.4.0", @@ -25,6 +24,7 @@ "angular-hotkeys": "~0.2.2", "ng-tags-input": "2.1.1", "angular-animate": "~1.3.10", - "datejs": "~1.0.0-rc3" + "datejs": "~1.0.0-rc3", + "ngFitText": "~3.3.0" } } diff --git a/public/build/app.js b/public/build/app.js index 15f33f790..6be7ecca0 100644 --- a/public/build/app.js +++ b/public/build/app.js @@ -1,3 +1,3 @@ -angular.module("rallly",["ui.router","ngResource","btford.modal","ngTagsInput","ngAnimate"]).config(["$stateProvider","$urlRouterProvider","$locationProvider",function(e,t,n){n.html5Mode(!0),t.otherwise("/notfound"),e.state("index",{url:"/",templateUrl:"templates/home.html",controller:"HomeCtrl"}).state("newevent",{url:"/new",templateUrl:"templates/newEvent/layout.html",controller:"NewEventCtrl"}).state("newevent.general",{templateUrl:"templates/newEvent/general.html"}).state("newevent.datetime",{templateUrl:"templates/newEvent/datetime.html"}).state("newevent.invite",{templateUrl:"templates/newEvent/invite.html"}).state("newevent.success",{templateUrl:"templates/newEvent/success.html"}).state("about",{url:"/about",templateUrl:"templates/about.html",controller:"AboutCtrl"}).state("notfound",{url:"/notfound",templateUrl:"templates/notfound.html"}).state("event",{url:"/:id",templateUrl:"templates/event.html",controller:"EventCtrl"}).state("editevent",{url:"/:id/edit",templateUrl:"templates/editevent.html",controller:"EditEventCtrl"}).state("verifyevent",{url:"/verify/:id/code/:code",controller:"VerificationCtrl"}).state("deleteevent",{url:"/delete/:id/code/:code",controller:"DeletionCtrl"})}]).factory("Event",["$resource",function(e){return e("/api/event/:id",{id:"@_id"},{update:{method:"PUT"},verify:{method:"GET",url:"/api/event/:id/code/:code"},destroy:{method:"DELETE",url:"/api/event/:id/code/:code"}})}]).factory("Participant",["$resource",function(e){return e("/api/event/:id/participant/:pid",{id:"@_id"},{update:{method:"PUT"}})}]).factory("Comment",["$resource",function(e){return e("/api/event/:id/comment/:cid",{id:"@_id"},{update:{method:"PUT"}})}]).factory("Title",function(){return{set:function(e){document.title=e}}}),angular.module("rallly").run(["$templateCache",function(e){e.put("templates/about.html",'
\n

What is Rallly?

\n
Rallly is a collaborative scheduling service that makes deciding on a date fast and easy.
\n

Hi, I\'m Luke!

\n

\n I created Rallly as side project to help me learn some new technologies. I decided to publish it because I thought other people might find it useful. Rallly is a completely free service. In fact it is even open source. You can look at the latest source code on Github.\n

\n
\n'),e.put("templates/confirmmodal.html",'
\n\n
\n
{{modal.title}}
\n
\n {{modal.message}}\n
\n
\n \n \n
\n
\n'),e.put("templates/editevent.html",'
\n
\n\n
Edit Event
\n
\n You can makes changes to your existing event by changing the fields in the form below.\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n \n \n Done\n
\n\n
\n\n
\n\n
\n'),e.put("templates/event.html",'
\n
\n
\n
\n
\n {{event.title}}\n Poll Closed\n Poll Open\n
\n
\n Created by {{event.creator.name}} • {{event.created | elapsed}}\n
\n
\n
\n \n
\n
\n
{{event.description}}
\n \n\n
\n
\n
\n
\n
\n\n
\n
\n Discussion\n
\n
\n You can discuss the event with your friends by leaving a comment below.\n
\n
\n\n
\n
\n
\n'),e.put("templates/home.html",'
\n
\n \n
\n
\n Schedule an Event\n
\n
\n Want to host an event but can’t decide on a date? Click on the button below to start!\n
\n \n
\n'),e.put("templates/newevent.html",'
\n
\n\n
Schedule a New Event
\n
\n Fill in the form below to create your event and share it with your friends and colleagues.\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n
\n
\n\n
\n\n
\n\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n\n\n
\n \n \n \n
\n\n
\n
\n\n
\n
\n
\n
\n \n
\n
Event Created
\n
\n Your event has been created successfully! You should receive an email shortly with instructions to verify your email address.\n
\n
\n
\n
\n \n GO\n
\n
\n
\n'),e.put("templates/notfound.html","

Error 404

\n

Not Found

\n"),e.put("templates/notification.html",'
\n
\n {{notification.title}}\n
\n
\n {{notification.message}}\n
\n
\n'),e.put("templates/directives/datePicker.html",'
\n
\n
\n \n \n {{title}}\n \n \n
\n
\n
\n Sun\n
\n
\n Mon\n
\n
\n Tue\n
\n
\n Wed\n
\n
\n Thu\n
\n
\n Fri\n
\n
\n Sat\n
\n
\n
\n
\n {{day.date | date : \'d\' }}\n
\n
\n
\n
\n'),e.put("templates/directives/discussion.html",'\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n \n \n Make sure you fill in all the fields.\n \n
\n
\n
\n
\n'),e.put("templates/directives/poll.html",'
\n
\n {{event.participants.length}} participants\n
\n
\n
\n
\n {{d | date: \'EEE\'}}\n
\n
\n {{d | date: \'d\'}}\n
\n
\n {{d | date : \'MMM\'}}\n
\n {{selectedDate($index)}}\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n \n \n \n \n {{participant.name}}\n
\n
\n \n \n \n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n
\n \n \n \n {{example.name}}\n
\n
\n \n \n
\n
\n\n
\n
\n
\n
\n Fill in the form below to get started\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n'),e.put("templates/directives/timePicker.html",'
\n
\n
\n
\n {{date | date: \'EEE\'}}\n
\n
\n {{date | date: \'d\'}}\n
\n
\n {{date | date : \'MMM\'}}\n
\n \n
\n
\n
\n \n
\n
\n'),e.put("templates/form/dateForm.html",'
\n
Choose Dates
\n \n
\n
\n
\n
\n \n \n You need to select a few dates\n \n
\n\n
\n
\n
\n
\n'),e.put("templates/form/eventForm.html",'
\n
Event Details
\n
\n
\n
\n
\n
\n \n \n {{errors.title}}\n \n \n
\n
\n
\n
\n \n \n {{errors.location}}\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n'),e.put("templates/form/participantsForm.html",'
\n
Invite Participants
\n
\n
\n
\n
\n \n \n \n\n
\n
\n
\n\n'),e.put("templates/form/settingsForm.html",'
\n
Settings
\n
\n
\n
\n
\n
\n Poll Status\n
\n
\n Let people vote on the poll.\n
\n
\n
\n
\n {{event.isClosed ? \'Closed\' : \'Open\' }}\n
\n
\n
\n
\n
\n
\n
\n
\n Notifications\n
\n
\n Send email notifications to the creator of this event.\n
\n
\n
\n
\n {{event.creator.allowNotifications ? \'Enabled\' : \'Disabled\' }}\n
\n
\n
\n
\n
\n
\n
\n
\n Delete Event\n
\n
\n Once you delete an event it will no longer be accessible.\n
\n
\n
\n \n
\n
\n
\n\n'),e.put("templates/form/timeForm.html",'
\n
Choose Times
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n Time 1\n \n Time 2\n \n Time 3\n
\n
\n
\n {{d.date | date: \'EEE\'}}\n
\n
\n {{d.date | date: \'d\'}}\n
\n
\n {{d.date | date : \'MMM\'}}\n
\n \n
\n
\n \n
\n
\n'),e.put("templates/form/userForm.html",'
\n
Your Details
\n
\n
\n
\n
\n
\n \n \n {{errors.name}}\n \n \n
\n
\n
\n
\n \n \n {{errors.email}}\n \n \n
\n
\n
\n
\n'),e.put("templates/newEvent/datetime.html",'
\n\n
\n\n
\n \n \n
\n'),e.put("templates/newEvent/general.html",'
\n\n
\n\n
\n\n
\n\n
\n \n
\n'),e.put("templates/newEvent/invite.html",'
\n\n
\n\n
\n \n \n
\n'),e.put("templates/newEvent/layout.html",'
\n\n
Schedule a New Event
\n
\n Fill in the form below to create your event and share it with your friends and colleagues.\n
\n
    \n
  1. \n General Details\n
  2. \n
  3. \n Dates & Times\n
  4. \n
  5. \n Invites\n
  6. \n
  7. \n Done\n
  8. \n
\n
\n
\n\n
\n
\n
\n'),e.put("templates/newEvent/success.html",'
\n
\n \n
\n
Event Created
\n
\n Your event has been created successfully! You should receive an email shortly with instructions to verify your email address.\n
\n
\n
\n
\n \n GO\n
\n
\n')}]),angular.module("rallly").controller("AboutCtrl",["Title",function(e){e.set("About Rallly")}]),angular.module("rallly").controller("AccountCtrl",["$scope","ConfirmModal",function(e){e.showNotice=function(){}}]),angular.module("rallly").controller("DeletionCtrl",["$state","Notification","Event",function(e,t,n){n.destroy({id:e.params.id,code:e.params.code},function(){new t({title:"Event deleted",message:"This event has been deleted",type:"success",timeout:5e3})},function(){new t({title:"Deletion Failed",message:"The event could not be deleted. Make sure that it exists and that the url is correct",type:"error"})}),e.go("event",{id:e.params.id})}]),angular.module("rallly").controller("EditEventCtrl",["$scope","$http","$state","$timeout","Event","ConfirmModal","Notification","Title",function(e,t,n,i,a,o,s,l){var r=n.params.id;e.event=a.get({id:r},function(){l.set("Edit: "+e.event.title),e.master=angular.copy(e.event)},function(){n.go("notfound")}),e.undoChanges=function(){e.event=angular.copy(e.master)},e.didChange=function(){return JSON.stringify(e.master)!=JSON.stringify(e.event)},e.didChangeDates=function(){return JSON.stringify(e.master.dates)!=JSON.stringify(e.event.dates)},e.submit=function(){if(e.form.$valid)if(e.didChangeDates()){new o({title:"Hold up!",message:"Changing the dates will reset all entries by the participants. Are you sure you want to do that?",confirmText:"Yes, I'm sure",isDestructive:!0,confirm:function(){e.event.participants=[],d()}})}else d();else{new s({title:"Not so fast",message:"Make sure you fill in all the required fields and try again.",type:"error"})}};var d=function(){a.update({id:r},e.event,function(){new s({title:"Changes Saved",message:"Your changes have been saved successfully.",type:"success"});e.master=angular.copy(e.event)})}}]),angular.module("rallly").controller("EventCtrl",["$scope","$http","$state","Title","Event","ConfirmModal",function(e,t,n,i,a,o){var s=n.params.id;e.event=a.get({id:s},function(){i.set(e.event.title),e.eventUrl=n.href("event",{id:e.event._id},{absolute:!0})},function(){n.go("notfound")}),e.openEvent=function(){e.event.isClosed=!1,a.update({id:s},e.event,function(){new o({title:"Event Open",message:"People can vote and comment on this event.",cancelText:"OK"})})},e.closeEvent=function(){e.event.isClosed=!0,a.update({id:s},e.event,function(){new o({title:"Event Closed",message:"People can no longer vote or comment on this event.",cancelText:"OK"})})},e.editEvent=function(){n.go("editevent",{id:e.event._id})}}]),angular.module("rallly").controller("HomeCtrl",["$scope","$state","Title",function(e,t,n){n.set("Rallly - Collaborative Scheduling"),e.newEvent=function(){t.go("newevent")}}]),angular.module("rallly").controller("NavigationCtrl",["$scope","$location",function(e,t){e.isActive=function(e){return t.path()==e?!0:!1}}]),angular.module("rallly").controller("NewEventCtrl",["$scope","$http","$state","Event","ConfirmModal","Notification",function(e,t,n,i,a){e.title="Schedule a New Event",e.description="Fill in the form below to create your event and share it with your friends and colleagues.",e.event={};var o=["newevent.general","newevent.datetime","newevent.invite"];e.page=1;var s=function(t){e.page=t,n.go(o[t-1])};s(e.page),e.submit=function(){e.form.$valid&&e.page==o.length?t.post("/api/event",e.event).success(function(t){e.event=t,e.eventUrl=n.href("event",{id:e.event._id},{absolute:!0}),e.page++,n.go("newevent.success")}).error(function(){new a({title:"Uh oh!",message:"There was an error creating your event. Please try again later.",cancelText:"OK"})}):e.form.$valid&&(e.form.$setPristine(),e.nextPage())},e.nextPage=function(){s(e.page+1)},e.prevPage=function(){s(e.page-1)}}]),angular.module("rallly").controller("VerificationCtrl",["Event","Notification","$state",function(e,t,n){e.verify({id:n.params.id,code:n.params.code},function(){new t({title:"Email Verified",message:"Your email has been verified. You will now be able to receive email notifications for this event",type:"success",timeout:5e3})},function(){new t({title:"Verification Failed",message:"Your verification code has expired.",type:"error"}) +angular.module("rallly",["ui.router","ngResource","btford.modal","ngTagsInput","ngAnimate","ngFitText"]).config(["$stateProvider","$urlRouterProvider","$locationProvider",function(e,t,n){n.html5Mode(!0),t.otherwise("/notfound"),e.state("index",{url:"/",templateUrl:"templates/home.html",controller:"HomeCtrl"}).state("newevent",{url:"/new",templateUrl:"templates/newEvent/layout.html",controller:"NewEventCtrl"}).state("newevent.general",{templateUrl:"templates/newEvent/general.html"}).state("newevent.datetime",{templateUrl:"templates/newEvent/datetime.html"}).state("newevent.invite",{templateUrl:"templates/newEvent/invite.html"}).state("newevent.success",{templateUrl:"templates/newEvent/success.html"}).state("about",{url:"/about",templateUrl:"templates/about.html",controller:"AboutCtrl"}).state("notfound",{url:"/notfound",templateUrl:"templates/notfound.html"}).state("event",{url:"/:id",templateUrl:"templates/event.html",controller:"EventCtrl"}).state("editevent",{url:"/:id/edit",templateUrl:"templates/editevent.html",controller:"EditEventCtrl"}).state("verifyevent",{url:"/verify/:id/code/:code",controller:"VerificationCtrl"}).state("deleteevent",{url:"/delete/:id/code/:code",controller:"DeletionCtrl"})}]).factory("Event",["$resource",function(e){return e("/api/event/:id",{id:"@_id"},{update:{method:"PUT"},verify:{method:"GET",url:"/api/event/:id/code/:code"},destroy:{method:"DELETE",url:"/api/event/:id/code/:code"}})}]).factory("Participant",["$resource",function(e){return e("/api/event/:id/participant/:pid",{id:"@_id"},{update:{method:"PUT"}})}]).factory("Comment",["$resource",function(e){return e("/api/event/:id/comment/:cid",{id:"@_id"},{update:{method:"PUT"}})}]).factory("Title",function(){return{set:function(e){document.title=e}}}),angular.module("rallly").run(["$templateCache",function(e){e.put("templates/about.html",'
\n

What is Rallly?

\n
Rallly is a collaborative scheduling service that makes deciding on a date fast and easy.
\n

Hi, I\'m Luke!

\n

\n I created Rallly as side project to help me learn some new technologies. I decided to publish it because I thought other people might find it useful. Rallly is a completely free service. In fact it is even open source. You can look at the latest source code on Github.\n

\n
\n'),e.put("templates/confirmmodal.html",'
\n\n
\n
{{modal.title}}
\n
\n {{modal.message}}\n
\n
\n \n \n
\n
\n'),e.put("templates/editevent.html",'
\n
\n\n
Edit Event
\n
\n You can makes changes to your existing event by changing the fields in the form below.\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n \n \n Done\n
\n\n
\n\n
\n\n
\n'),e.put("templates/event.html",'
\n
\n
\n
\n
\n {{event.title}}\n Poll Closed\n Poll Open\n
\n
\n Created by {{event.creator.name}} • {{event.created | elapsed}}\n
\n
\n
\n \n
\n
\n
{{event.description}}
\n
\n Location:\n {{event.location}}\n
\n\n
\n
\n
\n\n
\n
\n Discussion\n
\n
\n You can discuss the event with your friends by leaving a comment below.\n
\n
\n\n
\n
\n
\n'),e.put("templates/home.html",'
\n
\n \n
\n
\n Schedule an Event\n
\n
\n Want to host an event but can’t decide on a date? Click on the button below to start!\n
\n \n
\n'),e.put("templates/newevent.html",'
\n
\n\n
Schedule a New Event
\n
\n Fill in the form below to create your event and share it with your friends and colleagues.\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n
\n
\n\n
\n\n
\n\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n\n\n
\n \n \n \n
\n\n
\n
\n\n
\n
\n
\n
\n \n
\n
Event Created
\n
\n Your event has been created successfully! You should receive an email shortly with instructions to verify your email address.\n
\n
\n
\n
\n \n GO\n
\n
\n
\n'),e.put("templates/notfound.html","

Error 404

\n

Not Found

\n"),e.put("templates/notification.html",'
\n
\n {{notification.title}}\n
\n
\n {{notification.message}}\n
\n
\n'),e.put("templates/directives/datePicker.html",'
\n
\n
\n \n \n {{title}}\n \n \n
\n
\n
\n Sun\n
\n
\n Mon\n
\n
\n Tue\n
\n
\n Wed\n
\n
\n Thu\n
\n
\n Fri\n
\n
\n Sat\n
\n
\n
\n
\n {{day.date | date : \'d\' }}\n
\n
\n
\n
\n'),e.put("templates/directives/discussion.html",'\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n \n \n Make sure you fill in all the fields.\n \n
\n
\n
\n
\n'),e.put("templates/directives/poll.html",'
\n
\n {{event.participants.length}} participants\n
\n
\n
\n
\n {{d | date: \'EEE\'}}\n
\n
\n {{d | date: \'d\'}}\n
\n
\n {{d | date : \'MMM\'}}\n
\n {{selectedDate($index)}}\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n \n \n \n \n {{participant.name}}\n
\n
\n \n \n \n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n
\n \n \n \n {{example.name}}\n
\n
\n \n \n
\n
\n\n
\n
\n
\n
\n Fill in the form below to get started\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n'),e.put("templates/directives/timePicker.html",'
\n
\n
\n
\n {{date | date: \'EEE\'}}\n
\n
\n {{date | date: \'d\'}}\n
\n
\n {{date | date : \'MMM\'}}\n
\n \n
\n
\n
\n \n
\n
\n'),e.put("templates/form/dateForm.html",'
\n
Choose Dates
\n \n
\n
\n
\n
\n \n \n You need to select a few dates\n \n
\n\n
\n
\n
\n
\n'),e.put("templates/form/eventForm.html",'
\n
Event Details
\n
\n
\n
\n
\n
\n \n \n {{errors.title}}\n \n \n
\n
\n
\n
\n \n \n {{errors.location}}\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n'),e.put("templates/form/participantsForm.html",'
\n
Invite Participants
\n
\n
\n
\n
\n \n \n \n\n
\n
\n
\n\n'),e.put("templates/form/settingsForm.html",'
\n
Settings
\n
\n
\n
\n
\n
\n Poll Status\n
\n
\n Let people vote on the poll.\n
\n
\n
\n
\n {{event.isClosed ? \'Closed\' : \'Open\' }}\n
\n
\n
\n
\n
\n
\n
\n
\n Notifications\n
\n
\n Send email notifications to the creator of this event.\n
\n
\n
\n
\n {{event.creator.allowNotifications ? \'Enabled\' : \'Disabled\' }}\n
\n
\n
\n
\n
\n
\n
\n
\n Delete Event\n
\n
\n Once you delete an event it will no longer be accessible.\n
\n
\n
\n \n
\n
\n
\n\n'),e.put("templates/form/timeForm.html",'
\n
Choose Times
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n Time 1\n \n Time 2\n \n Time 3\n
\n
\n
\n {{d.date | date: \'EEE\'}}\n
\n
\n {{d.date | date: \'d\'}}\n
\n
\n {{d.date | date : \'MMM\'}}\n
\n \n
\n
\n \n
\n
\n'),e.put("templates/form/userForm.html",'
\n
Your Details
\n
\n
\n
\n
\n
\n \n \n {{errors.name}}\n \n \n
\n
\n
\n
\n \n \n {{errors.email}}\n \n \n
\n
\n
\n
\n'),e.put("templates/newEvent/datetime.html",'
\n\n
\n\n
\n \n \n
\n'),e.put("templates/newEvent/general.html",'
\n\n
\n\n
\n\n
\n\n
\n \n
\n'),e.put("templates/newEvent/invite.html",'
\n\n
\n\n
\n \n \n
\n'),e.put("templates/newEvent/layout.html",'
\n\n
Schedule a New Event
\n
\n Fill in the form below to create your event and share it with your friends and colleagues.\n
\n
    \n
  1. \n General Details\n
  2. \n
  3. \n Dates & Times\n
  4. \n
  5. \n Invites\n
  6. \n
  7. \n Done\n
  8. \n
\n
\n
\n\n
\n
\n
\n'),e.put("templates/newEvent/success.html",'
\n
\n \n
\n
Event Created
\n
\n Your event has been created successfully! You should receive an email shortly with instructions to verify your email address.\n
\n
\n
\n
\n \n GO\n
\n
\n')}]),angular.module("rallly").controller("AboutCtrl",["Title",function(e){e.set("About Rallly")}]),angular.module("rallly").controller("AccountCtrl",["$scope","ConfirmModal",function(e){e.showNotice=function(){}}]),angular.module("rallly").controller("DeletionCtrl",["$state","Notification","Event",function(e,t,n){n.destroy({id:e.params.id,code:e.params.code},function(){new t({title:"Event deleted",message:"This event has been deleted",type:"success",timeout:5e3})},function(){new t({title:"Deletion Failed",message:"The event could not be deleted. Make sure that it exists and that the url is correct",type:"error"})}),e.go("event",{id:e.params.id})}]),angular.module("rallly").controller("EditEventCtrl",["$scope","$http","$state","$timeout","Event","ConfirmModal","Notification","Title",function(e,t,n,i,a,o,s,l){var r=n.params.id;e.event=a.get({id:r},function(){l.set("Edit: "+e.event.title),e.master=angular.copy(e.event)},function(){n.go("notfound")}),e.undoChanges=function(){e.event=angular.copy(e.master)},e.didChange=function(){return JSON.stringify(e.master)!=JSON.stringify(e.event)},e.didChangeDates=function(){return JSON.stringify(e.master.dates)!=JSON.stringify(e.event.dates)},e.submit=function(){if(e.form.$valid)if(e.didChangeDates()){new o({title:"Hold up!",message:"Changing the dates will reset all entries by the participants. Are you sure you want to do that?",confirmText:"Yes, I'm sure",isDestructive:!0,confirm:function(){e.event.participants=[],d()}})}else d();else{new s({title:"Not so fast",message:"Make sure you fill in all the required fields and try again.",type:"error"})}};var d=function(){a.update({id:r},e.event,function(){new s({title:"Changes Saved",message:"Your changes have been saved successfully.",type:"success"});e.master=angular.copy(e.event)})}}]),angular.module("rallly").controller("EventCtrl",["$scope","$http","$state","Title","Event","ConfirmModal",function(e,t,n,i,a,o){var s=n.params.id;e.event=a.get({id:s},function(){i.set(e.event.title),e.eventUrl=n.href("event",{id:e.event._id},{absolute:!0})},function(){n.go("notfound")}),e.openEvent=function(){e.event.isClosed=!1,a.update({id:s},e.event,function(){new o({title:"Event Open",message:"People can vote and comment on this event.",cancelText:"OK"})})},e.closeEvent=function(){e.event.isClosed=!0,a.update({id:s},e.event,function(){new o({title:"Event Closed",message:"People can no longer vote or comment on this event.",cancelText:"OK"})})},e.editEvent=function(){n.go("editevent",{id:e.event._id})}}]),angular.module("rallly").controller("HomeCtrl",["$scope","$state","Title",function(e,t,n){n.set("Rallly - Collaborative Scheduling"),e.newEvent=function(){t.go("newevent")}}]),angular.module("rallly").controller("NavigationCtrl",["$scope","$location",function(e,t){e.isActive=function(e){return t.path()==e?!0:!1}}]),angular.module("rallly").controller("NewEventCtrl",["$scope","$http","$state","Event","ConfirmModal","Notification",function(e,t,n,i,a){e.title="Schedule a New Event",e.description="Fill in the form below to create your event and share it with your friends and colleagues.",e.event={};var o=["newevent.general","newevent.datetime","newevent.invite"];e.page=1;var s=function(t){e.page=t,n.go(o[t-1])};s(e.page),e.submit=function(){e.form.$valid&&e.page==o.length?t.post("/api/event",e.event).success(function(t){e.event=t,e.eventUrl=n.href("event",{id:e.event._id},{absolute:!0}),e.page++,n.go("newevent.success")}).error(function(){new a({title:"Uh oh!",message:"There was an error creating your event. Please try again later.",cancelText:"OK"})}):e.form.$valid&&(e.form.$setPristine(),e.nextPage())},e.nextPage=function(){s(e.page+1)},e.prevPage=function(){s(e.page-1)}}]),angular.module("rallly").controller("VerificationCtrl",["Event","Notification","$state",function(e,t,n){e.verify({id:n.params.id,code:n.params.code},function(){new t({title:"Email Verified",message:"Your email has been verified. You will now be able to receive email notifications for this event",type:"success",timeout:5e3})},function(){new t({title:"Verification Failed",message:"Your verification code has expired.",type:"error"}) }),n.go("event",{id:n.params.id})}]),angular.module("rallly").directive("backImg",function(){return function(e,t,n){var i=n.backImg;t.css({"background-image":"url(/images/"+i+".png)"})}}),angular.module("rallly").directive("datepicker",function(){return{restrict:"A",require:"ngModel",scope:{model:"=ngModel",control:"="},templateUrl:"templates/directives/datePicker.html",link:function(e,t,n,i){e.model=e.model||[],e.control=e.control||{},e.$watchCollection("model",function(e){i.$setViewValue(e),i.$validate()}),i.$validators.required=function(e){return e&&0!=e.length?!0:!1};var a=Date.today(),o=a.clone(),s=function(t){o=t;var n=o.clone().moveToFirstDayOfMonth(),i=n.getDay();n.add(i-7).days(),e.title=o.toString("MMMM yyyy");for(var s=new Array(42),l=0;l0)&&(e.model.splice(n,0,t.date),i=!0),n++;while(0==i)}},e.isActive=function(t,n){e.model=e.model||[];for(var i=0;i0;i||t.toggle()};t.toggle=function(){t.open=!t.open,t.open?(n.addClass("open"),e.bind("click",i)):(n.removeClass("open"),e.unbind("click",i))}}}}]),angular.module("rallly").service("FormHelper",function(){this.emailRegexString="^([\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4})?$",this.emailRegex=new RegExp(this.emailRegexString),this.prettyError=function(e,t){return e.required?t+" is required":e.pattern?t+" is invalid":e.maxlength?t+" is too long":!1}}).directive("userForm",["FormHelper",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/form/userForm.html",link:function(t){t.errors={},t.emailRegex=e.emailRegex,t.$watchCollection("form.name.$error",function(n){t.errors.name=e.prettyError(n,"Name")}),t.$watchCollection("form.email.$error",function(n){t.errors.email=e.prettyError(n,"Email")})}}}]).directive("eventForm",["FormHelper",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/form/eventForm.html",link:function(t){t.errors={},t.$watchCollection("form.title.$error",function(n){t.errors.title=e.prettyError(n,"Title")}),t.$watchCollection("form.location.$error",function(n){t.errors.location=e.prettyError(n,"Location")})}}}]).directive("dateForm",function(){return{scope:{event:"=",form:"="},templateUrl:"templates/form/dateForm.html"}}).directive("participantsForm",["FormHelper",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/form/participantsForm.html",link:function(t){t.emailRegex=e.emailRegexString}}}]).directive("settingsForm",["Event","ConfirmModal",function(e,t){return{scope:{event:"=",form:"="},templateUrl:"templates/form/settingsForm.html",link:function(n){n.deleteEvent=function(){n.deleteRequestSent||e.delete({id:n.event._id},function(){n.deleteRequestSent=!0;new t({title:"Delete Request Sent",message:"An email has been sent to the creator of this event with instructions to delete it.",cancelText:"OK"})})}}}}]).directive("switchToggle",function(){return{scope:{model:"=ngModel"},require:"ngModel",link:function(e,t,n,i){t.addClass("switch-toggle");var a=function(){e.model^"undefined"!=typeof n.invert?t.addClass("active"):t.removeClass("active")};e.$watch("model",a),t.bind("click",function(t){e.model=!e.model,i.$setViewValue(e.model,t)})}}}).directive("timeForm",["DatePickerService",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/form/timeForm.html",link:function(t){var n,i=!1,a=t.$watch("event.dates",function(o){o&&!i&&a(),i=!0,n=new e(t.event.dates),t.unsetDate=function(e){n.removeDate(e)}})}}}]).directive("timePicker",["$timeout",function(){return{scope:{model:"=ngModel"},require:"ngModel",link:function(e,t,n,i){i.$viewChangeListeners.push(function(){e.model=i.$modelValue}),i.$parsers.push(function(e){return e?Date.parse(e):void 0}),i.$validators.time=function(e){if(i.$isEmpty(e))return!0;var t=Date.parse(e);return t?(i.$setViewValue(t.toString("hh:mm tt")),i.$render(),!0):!1}}}}]),angular.module("rallly").directive("poll",["$timeout","Participant","ConfirmModal",function(e,t,n){return{restrict:"A",templateUrl:"templates/directives/poll.html",scope:{event:"="},link:function(e){e.defaults=[],e.participant={};var i=[];e.event.$promise.then(function(t){for(var n=["John Example","Jane Specimen","Mark Instance","Mary Case"],i=[],a=0;at)return!1;return!0},e.selectedDate=function(t){i[t]=0;for(var n=0;n30?"on "+e("date")(t,"MMMM d"):r>1?r+" days ago":1==r?"1 day ago":l>1?l+" hours ago":1==l?"an hour ago":s>1?s+" minutes ago":1==s?"a minute ago":"a few seconds ago"}}}]),angular.module("rallly").factory("ConfirmModal",["btfModal",function(e){return function(t){var n;n=e({templateUrl:"templates/confirmmodal.html",controllerAs:"modal",controller:function(){this.title=t.title,this.message=t.message,this.confirm=t.confirm?function(){t.confirm(),n.deactivate()}:!1,this.cancel=n.deactivate,this.confirmText=t.confirmText||"Confirm",this.cancelText=t.cancelText||"Cancel",this.isDestructive=t.isDestructive}}),n.activate(),this.destroy=function(){n.deactivate()}}}]),angular.module("rallly").factory("Notification",["$timeout","btfModal",function(e,t){return function(n){var i;i=t({templateUrl:"templates/notification.html",controllerAs:"notification",controller:function(){this.title=n.title,this.message=n.message,this.close=i.deactivate,this.type=n.type;var t=n.timeout||5e3;e(i.deactivate,t)}}),i.activate(),this.destroy=function(){i.deactivate()}}}]); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uanMiLCJ0ZW1wbGF0ZXMuanMiLCJjb250cm9sbGVycy9hYm91dC5jb250cm9sbGVyLmpzIiwiY29udHJvbGxlcnMvYWNjb3VudC5jb250cm9sbGVyLmpzIiwiY29udHJvbGxlcnMvZGVsZXRpb24uY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL2VkaXRldmVudC5jb250cm9sbGVyLmpzIiwiY29udHJvbGxlcnMvZXZlbnQuY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL2hvbWUuY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL25hdmlnYXRpb24uY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL25ld2V2ZW50LmNvbnRyb2xsZXIuanMiLCJjb250cm9sbGVycy92ZXJpZmljYXRpb24uY29udHJvbGxlci5qcyIsImRpcmVjdGl2ZXMvYmFja0ltZy5kaXJlY3RpdmUuanMiLCJkaXJlY3RpdmVzL2RhdGVwaWNrZXIuZGlyZWN0aXZlLmpzIiwiZGlyZWN0aXZlcy9kaXNjdXNzaW9uLmRpcmVjdGl2ZS5qcyIsImRpcmVjdGl2ZXMvZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwiZGlyZWN0aXZlcy9mb3JtLmRpcmVjdGl2ZS5qcyIsImRpcmVjdGl2ZXMvcG9sbC5kaXJlY3RpdmUuanMiLCJmaWx0ZXJzL2VsYXBzZWQuZmlsdGVyLmpzIiwic2VydmljZXMvbW9kYWwuc2VydmljZS5qcyIsInNlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFFBQUEsT0FBQSxVQUFBLFlBQUEsYUFBQSxlQUFBLGNBQUEsY0FDQSxRQUFBLGlCQUFBLHFCQUFBLG9CQUFBLFNBQUEsRUFBQSxFQUFBLEdBQ0EsRUFBQSxXQUFBLEdBQ0EsRUFBQSxVQUFBLGFBQ0EsRUFDQSxNQUFBLFNBQ0EsSUFBQSxJQUNBLFlBQUEsc0JBQ0EsV0FBQSxhQUVBLE1BQUEsWUFDQSxJQUFBLE9BQ0EsWUFBQSxpQ0FDQSxXQUFBLGlCQUVBLE1BQUEsb0JBQ0EsWUFBQSxvQ0FFQSxNQUFBLHFCQUNBLFlBQUEscUNBRUEsTUFBQSxtQkFDQSxZQUFBLG1DQUVBLE1BQUEsb0JBQ0EsWUFBQSxvQ0FFQSxNQUFBLFNBQ0EsSUFBQSxTQUNBLFlBQUEsdUJBQ0EsV0FBQSxjQUVBLE1BQUEsWUFDQSxJQUFBLFlBQ0EsWUFBQSw0QkFFQSxNQUFBLFNBQ0EsSUFBQSxPQUNBLFlBQUEsdUJBQ0EsV0FBQSxjQUVBLE1BQUEsYUFDQSxJQUFBLFlBQ0EsWUFBQSwyQkFDQSxXQUFBLGtCQUVBLE1BQUEsZUFDQSxJQUFBLHlCQUNBLFdBQUEscUJBRUEsTUFBQSxlQUNBLElBQUEseUJBQ0EsV0FBQSxvQkFHQSxRQUFBLFNBQUEsWUFBQSxTQUFBLEdBQ0EsTUFBQSxHQUFBLGtCQUFBLEdBQUEsU0FDQSxRQUFBLE9BQUEsT0FDQSxRQUFBLE9BQUEsTUFBQSxJQUFBLDZCQUNBLFNBQUEsT0FBQSxTQUFBLElBQUEsa0NBR0EsUUFBQSxlQUFBLFlBQUEsU0FBQSxHQUNBLE1BQUEsR0FBQSxtQ0FBQSxHQUFBLFNBQ0EsUUFBQSxPQUFBLFlBR0EsUUFBQSxXQUFBLFlBQUEsU0FBQSxHQUNBLE1BQUEsR0FBQSwrQkFBQSxHQUFBLFNBQ0EsUUFBQSxPQUFBLFlBR0EsUUFBQSxRQUFBLFdBQ0EsT0FDQSxJQUFBLFNBQUEsR0FDQSxTQUFBLE1BQUEsTUMzRUEsUUFBQSxPQUFBLFVBQUEsS0FBQSxpQkFBQSxTQUFBLEdBQUEsRUFBQSxJQUFBLHVCQUFBLDhnQkFDQSxFQUFBLElBQUEsOEJBQUEsbWlCQUNBLEVBQUEsSUFBQSwyQkFBQSxpdkNBQ0EsRUFBQSxJQUFBLHVCQUFBLGlvREFDQSxFQUFBLElBQUEsc0JBQUEsMlpBQ0EsRUFBQSxJQUFBLDBCQUFBLHF2RUFDQSxFQUFBLElBQUEsMEJBQUEsNENBQ0EsRUFBQSxJQUFBLDhCQUFBLDRPQUNBLEVBQUEsSUFBQSx1Q0FBQSxtdENBQ0EsRUFBQSxJQUFBLHVDQUFBLGtrREFDQSxFQUFBLElBQUEsaUNBQUEsZ2lKQUNBLEVBQUEsSUFBQSx1Q0FBQSxtdEJBQ0EsRUFBQSxJQUFBLCtCQUFBLDRuQ0FDQSxFQUFBLElBQUEsZ0NBQUEsa2tEQUNBLEVBQUEsSUFBQSx1Q0FBQSwyakJBQ0EsRUFBQSxJQUFBLG1DQUFBLG96REFDQSxFQUFBLElBQUEsK0JBQUEsczZDQUNBLEVBQUEsSUFBQSwrQkFBQSx1dkNBQ0EsRUFBQSxJQUFBLG1DQUFBLGlSQUNBLEVBQUEsSUFBQSxrQ0FBQSwyUkFDQSxFQUFBLElBQUEsaUNBQUEsMlJBQ0EsRUFBQSxJQUFBLGlDQUFBLHd3QkFDQSxFQUFBLElBQUEsa0NBQUEsc2xCQ3RCQSxRQUFBLE9BQUEsVUFDQSxXQUFBLGFBQUEsUUFBQSxTQUFBLEdBQ0EsRUFBQSxJQUFBLG1CQ0ZBLFFBQUEsT0FBQSxVQUNBLFdBQUEsZUFBQSxTQUFBLGVBQUEsU0FBQSxHQUNBLEVBQUEsV0FBQSxnQkNGQSxRQUFBLE9BQUEsVUFDQSxXQUFBLGdCQUFBLFNBQUEsZUFBQSxRQUFBLFNBQUEsRUFBQSxFQUFBLEdBQ0EsRUFBQSxTQUFBLEdBQUEsRUFBQSxPQUFBLEdBQUEsS0FBQSxFQUFBLE9BQUEsTUFBQSxXQUNBLEdBQUEsSUFDQSxNQUFBLGdCQUNBLFFBQUEsOEJBQ0EsS0FBQSxVQUNBLFFBQUEsT0FFQSxXQUNBLEdBQUEsSUFDQSxNQUFBLGtCQUNBLFFBQUEsdUZBQ0EsS0FBQSxZQUdBLEVBQUEsR0FBQSxTQUFBLEdBQUEsRUFBQSxPQUFBLFFDaEJBLFFBQUEsT0FBQSxVQUNBLFdBQUEsaUJBQUEsU0FBQSxRQUFBLFNBQUEsV0FBQSxRQUFBLGVBQUEsZUFBQSxRQUFBLFNBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxHQUNBLEdBQUEsR0FBQSxFQUFBLE9BQUEsRUFDQSxHQUFBLE1BQUEsRUFBQSxLQUFBLEdBQUEsR0FBQSxXQUNBLEVBQUEsSUFBQSxTQUFBLEVBQUEsTUFBQSxPQUNBLEVBQUEsT0FBQSxRQUFBLEtBQUEsRUFBQSxRQUNBLFdBQ0EsRUFBQSxHQUFBLGNBRUEsRUFBQSxZQUFBLFdBQ0EsRUFBQSxNQUFBLFFBQUEsS0FBQSxFQUFBLFNBRUEsRUFBQSxVQUFBLFdBQ0EsTUFBQSxNQUFBLFVBQUEsRUFBQSxTQUFBLEtBQUEsVUFBQSxFQUFBLFFBRUEsRUFBQSxlQUFBLFdBQ0EsTUFBQSxNQUFBLFVBQUEsRUFBQSxPQUFBLFFBQUEsS0FBQSxVQUFBLEVBQUEsTUFBQSxRQUVBLEVBQUEsT0FBQSxXQUNBLEdBQUEsRUFBQSxLQUFBLE9BQ0EsR0FBQSxFQUFBLGlCQUNBLENBQUEsR0FBQSxJQUNBLE1BQUEsV0FDQSxRQUFBLG1HQUNBLFlBQUEsZ0JBQ0EsZUFBQSxFQUNBLFFBQUEsV0FDQSxFQUFBLE1BQUEsZ0JBQ0EsV0FLQSxTQUdBLENBQUEsR0FBQSxJQUNBLE1BQUEsY0FDQSxRQUFBLCtEQUNBLEtBQUEsV0FJQSxJQUFBLEdBQUEsV0FDQSxFQUFBLFFBQ0EsR0FBQSxHQUNBLEVBQUEsTUFDQSxXQUNBLEdBQUEsSUFDQSxNQUFBLGdCQUNBLFFBQUEsNkNBQ0EsS0FBQSxXQUVBLEdBQUEsT0FBQSxRQUFBLEtBQUEsRUFBQSxhQ3JEQSxRQUFBLE9BQUEsVUFDQSxXQUFBLGFBQUEsU0FBQSxRQUFBLFNBQUEsUUFBQSxRQUFBLGVBQUEsU0FBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsR0FDQSxHQUFBLEdBQUEsRUFBQSxPQUFBLEVBRUEsR0FBQSxNQUFBLEVBQUEsS0FBQSxHQUFBLEdBQUEsV0FFQSxFQUFBLElBQUEsRUFBQSxNQUFBLE9BRUEsRUFBQSxTQUFBLEVBQUEsS0FBQSxTQUNBLEdBQUEsRUFBQSxNQUFBLE1BRUEsVUFBQSxLQUVBLFdBQ0EsRUFBQSxHQUFBLGNBR0EsRUFBQSxVQUFBLFdBQ0EsRUFBQSxNQUFBLFVBQUEsRUFDQSxFQUFBLFFBQ0EsR0FBQSxHQUNBLEVBQUEsTUFDQSxXQUNBLEdBQUEsSUFDQSxNQUFBLGFBQ0EsUUFBQSw2Q0FDQSxXQUFBLFVBS0EsRUFBQSxXQUFBLFdBQ0EsRUFBQSxNQUFBLFVBQUEsRUFDQSxFQUFBLFFBQ0EsR0FBQSxHQUNBLEVBQUEsTUFDQSxXQUNBLEdBQUEsSUFDQSxNQUFBLGVBQ0EsUUFBQSxzREFDQSxXQUFBLFVBS0EsRUFBQSxVQUFBLFdBQ0EsRUFBQSxHQUFBLGFBQUEsR0FBQSxFQUFBLE1BQUEsVUM5Q0EsUUFBQSxPQUFBLFVBQ0EsV0FBQSxZQUFBLFNBQUEsU0FBQSxRQUFBLFNBQUEsRUFBQSxFQUFBLEdBQ0EsRUFBQSxJQUFBLHFDQUVBLEVBQUEsU0FBQSxXQUNBLEVBQUEsR0FBQSxnQkNMQSxRQUFBLE9BQUEsVUFDQSxXQUFBLGtCQUFBLFNBQUEsWUFBQSxTQUFBLEVBQUEsR0FDQSxFQUFBLFNBQUEsU0FBQSxHQUNBLE1BQUEsR0FBQSxRQUFBLEdBQ0EsR0FFQSxNQ05BLFFBQUEsT0FBQSxVQUNBLFdBQUEsZ0JBQUEsU0FBQSxRQUFBLFNBQUEsUUFBQSxlQUFBLGVBQUEsU0FBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEdBRUEsRUFBQSxNQUFBLHVCQUNBLEVBQUEsWUFBQSw2RkFDQSxFQUFBLFFBRUEsSUFBQSxJQUNBLG1CQUNBLG9CQUNBLGtCQUdBLEdBQUEsS0FBQSxDQUVBLElBQUEsR0FBQSxTQUFBLEdBQ0EsRUFBQSxLQUFBLEVBQ0EsRUFBQSxHQUFBLEVBQUEsRUFBQSxJQUdBLEdBQUEsRUFBQSxNQUdBLEVBQUEsT0FBQSxXQUNBLEVBQUEsS0FBQSxRQUFBLEVBQUEsTUFBQSxFQUFBLE9BQ0EsRUFBQSxLQUFBLGFBQUEsRUFBQSxPQUNBLFFBQUEsU0FBQSxHQUNBLEVBQUEsTUFBQSxFQUNBLEVBQUEsU0FBQSxFQUFBLEtBQUEsU0FDQSxHQUFBLEVBQUEsTUFBQSxNQUVBLFVBQUEsSUFFQSxFQUFBLE9BQ0EsRUFBQSxHQUFBLHNCQUVBLE1BQUEsV0FDQSxHQUFBLElBQ0EsTUFBQSxTQUNBLFFBQUEsa0VBQ0EsV0FBQSxTQUdBLEVBQUEsS0FBQSxTQUNBLEVBQUEsS0FBQSxlQUNBLEVBQUEsYUFJQSxFQUFBLFNBQUEsV0FDQSxFQUFBLEVBQUEsS0FBQSxJQUdBLEVBQUEsU0FBQSxXQUNBLEVBQUEsRUFBQSxLQUFBLE9DdERBLFFBQUEsT0FBQSxVQUNBLFdBQUEsb0JBQUEsUUFBQSxlQUFBLFNBQUEsU0FBQSxFQUFBLEVBQUEsR0FDQSxFQUFBLFFBQUEsR0FBQSxFQUFBLE9BQUEsR0FBQSxLQUFBLEVBQUEsT0FBQSxNQUFBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsaUJBQ0EsUUFBQSxtR0FDQSxLQUFBLFVBQ0EsUUFBQSxPQUVBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsc0JBQ0EsUUFBQSxzQ0FDQSxLQUFBO0dBR0EsRUFBQSxHQUFBLFNBQUEsR0FBQSxFQUFBLE9BQUEsUUNoQkEsUUFBQSxPQUFBLFVBQ0EsVUFBQSxVQUFBLFdBQ0EsTUFBQSxVQUFBLEVBQUEsRUFBQSxHQUNBLEdBQUEsR0FBQSxFQUFBLE9BQ0EsR0FBQSxLQUNBLG1CQUFBLGVBQUEsRUFBQSxhQ0xBLFFBQUEsT0FBQSxVQUNBLFVBQUEsYUFBQSxXQUNBLE9BQ0EsU0FBQSxJQUNBLFFBQUEsVUFDQSxPQUNBLE1BQUEsV0FDQSxRQUFBLEtBRUEsWUFBQSx1Q0FDQSxLQUFBLFNBQUEsRUFBQSxFQUFBLEVBQUEsR0FDQSxFQUFBLE1BQUEsRUFBQSxVQUNBLEVBQUEsUUFBQSxFQUFBLFlBRUEsRUFBQSxpQkFBQSxRQUFBLFNBQUEsR0FDQSxFQUFBLGNBQUEsR0FDQSxFQUFBLGNBR0EsRUFBQSxZQUFBLFNBQUEsU0FBQSxHQUNBLE1BQUEsSUFBQSxHQUFBLEVBQUEsUUFHQSxHQUZBLEVBS0EsSUFBQSxHQUFBLEtBQUEsUUFBQSxFQUFBLEVBQUEsUUFDQSxFQUFBLFNBQUEsR0FDQSxFQUFBLENBQ0EsSUFBQSxHQUFBLEVBQUEsUUFBQSx3QkFDQSxFQUFBLEVBQUEsUUFDQSxHQUFBLElBQUEsRUFBQSxHQUFBLE9BQ0EsRUFBQSxNQUFBLEVBQUEsU0FBQSxZQUVBLEtBQUEsR0FEQSxHQUFBLEdBQUEsT0FBQSxJQUNBLEVBQUEsRUFBQSxFQUFBLEVBQUEsT0FBQSxJQUFBLENBQ0EsR0FBQSxHQUFBLEVBQUEsUUFBQSxJQUFBLEdBQUEsTUFDQSxHQUFBLElBQ0EsS0FBQSxFQUNBLGVBQUEsRUFBQSxZQUFBLEVBQUEsWUFBQSxHQUFBLEVBQ0EsUUFBQSxLQUFBLE9BQUEsRUFBQSxJQUdBLEVBQUEsS0FBQSxFQUVBLEdBQUEsR0FDQSxFQUFBLFVBQUEsU0FBQSxHQUlBLEdBSEEsRUFBQSxnQkFDQSxFQUFBLEVBQUEsTUFFQSxLQUFBLEVBQUEsRUFBQSxTQUFBLEVBQUEsTUFBQSxJQUVBLEVBQUEsTUFBQSxPQUFBLEVBQUEsT0FDQSxDQUVBLEdBQUEsR0FBQSxFQUFBLEdBQUEsQ0FDQSxJQUNBLFFBQUEsRUFBQSxNQUFBLElBQUEsS0FBQSxRQUFBLEtBQUEsTUFBQSxFQUFBLE1BQUEsSUFBQSxFQUFBLE1BQUEsS0FDQSxFQUFBLE1BQUEsT0FBQSxFQUFBLEVBQUEsRUFBQSxNQUNBLEdBQUEsR0FFQSxVQUNBLEdBQUEsS0FHQSxFQUFBLFNBQUEsU0FBQSxFQUFBLEdBQ0EsRUFBQSxNQUFBLEVBQUEsU0FDQSxLQUFBLEdBQUEsR0FBQSxFQUFBLEVBQUEsRUFBQSxNQUFBLE9BQUEsSUFDQSxHQUFBLEtBQUEsT0FBQSxLQUFBLE1BQUEsRUFBQSxNQUFBLElBQUEsR0FDQSxNQUFBLEdBQUEsR0FBQSxDQUdBLE9BQUEsR0FBQSxJQUFBLEdBRUEsRUFBQSxVQUFBLFdBQ0EsRUFBQSxFQUFBLElBQUEsR0FBQSxXQUVBLEVBQUEsVUFBQSxXQUNBLEVBQUEsRUFBQSxJQUFBLElBQUEsV0FHQSxFQUFBLFFBQUEsV0FBQSxTQUFBLEdBQ0EsS0FBQSxNQUFBLEVBQUEsU0FBQSxLQUFBLE1BQUEsSUFBQSxLQUNBLEVBQUEsTUFBQSxPQUFBLE1BQUEsUUNsRkEsUUFBQSxPQUFBLFVBQ0EsVUFBQSxjQUFBLFdBQUEsVUFBQSxlQUFBLFNBQUEsRUFBQSxFQUFBLEdBQ0EsT0FDQSxTQUFBLElBQ0EsWUFBQSx1Q0FDQSxPQUNBLE1BQUEsS0FFQSxLQUFBLFNBQUEsR0FDQSxFQUFBLFVBQ0EsSUFBQSxHQUFBLFFBQUEsUUFBQSxrQkFDQSxHQUFBLFdBQ0EsRUFBQSxVQUFBLEVBQUEsS0FBQSxtQkFFQSxFQUFBLGNBQUEsU0FBQSxHQUNBLEdBQUEsSUFDQSxNQUFBLGdCQUNBLFFBQUEsZ0RBQ0EsWUFBQSxlQUNBLFdBQUEsaUJBQ0EsZUFBQSxFQUNBLFFBQUEsV0FDQSxFQUFBLFFBQUEsR0FBQSxFQUFBLE1BQUEsSUFBQSxJQUFBLEVBQUEsS0FBQSxTQUFBLEdBQ0EsRUFBQSxNQUFBLFFBS0EsRUFBQSxZQUFBLFdBQ0EsR0FBQSxFQUFBLFlBQUEsT0FBQSxDQUNBLEdBQUEsR0FBQSxHQUFBLEdBQUEsRUFBQSxRQUNBLEdBQUEsT0FBQSxHQUFBLEVBQUEsTUFBQSxLQUFBLFNBQUEsR0FDQSxFQUFBLE1BQUEsRUFDQSxFQUFBLGFBRUEsRUFBQSxZQUFBLHNCQ25DQSxRQUFBLE9BQUEsVUFDQSxVQUFBLFlBQUEsWUFBQSxTQUFBLEdBQ0EsT0FDQSxTQUFBLElBQ0EsS0FBQSxTQUFBLEVBQUEsR0FDQSxFQUFBLFNBQUEsWUFDQSxFQUFBLE1BQUEsQ0FFQSxJQUFBLEdBQUEsU0FBQSxHQUNBLEdBQUEsR0FBQSxFQUFBLEtBQUEsRUFBQSxRQUFBLE9BQUEsQ0FDQSxJQUNBLEVBQUEsU0FHQSxHQUFBLE9BQUEsV0FDQSxFQUFBLE1BQUEsRUFBQSxLQUNBLEVBQUEsTUFDQSxFQUFBLFNBQUEsUUFDQSxFQUFBLEtBQUEsUUFBQSxLQUVBLEVBQUEsWUFBQSxRQUNBLEVBQUEsT0FBQSxRQUFBLFVDckJBLFFBQUEsT0FBQSxVQUNBLFFBQUEsYUFBQSxXQUNBLEtBQUEsaUJBQUEsMkNBQ0EsS0FBQSxXQUFBLEdBQUEsUUFBQSxLQUFBLGtCQUNBLEtBQUEsWUFBQSxTQUFBLEVBQUEsR0FDQSxNQUFBLEdBQUEsU0FBQSxFQUFBLGVBQ0EsRUFBQSxRQUFBLEVBQUEsY0FDQSxFQUFBLFVBQUEsRUFBQSxnQkFDQSxLQUdBLFVBQUEsWUFBQSxhQUFBLFNBQUEsR0FDQSxPQUNBLE9BQ0EsTUFBQSxJQUNBLEtBQUEsS0FFQSxZQUFBLCtCQUNBLEtBQUEsU0FBQSxHQUNBLEVBQUEsVUFFQSxFQUFBLFdBQUEsRUFBQSxXQUVBLEVBQUEsaUJBQUEsbUJBQUEsU0FBQSxHQUNBLEVBQUEsT0FBQSxLQUFBLEVBQUEsWUFBQSxFQUFBLFVBR0EsRUFBQSxpQkFBQSxvQkFBQSxTQUFBLEdBQ0EsRUFBQSxPQUFBLE1BQUEsRUFBQSxZQUFBLEVBQUEsZ0JBS0EsVUFBQSxhQUFBLGFBQUEsU0FBQSxHQUNBLE9BQ0EsT0FDQSxNQUFBLElBQ0EsS0FBQSxLQUVBLFlBQUEsZ0NBQ0EsS0FBQSxTQUFBLEdBQ0EsRUFBQSxVQUVBLEVBQUEsaUJBQUEsb0JBQUEsU0FBQSxHQUNBLEVBQUEsT0FBQSxNQUFBLEVBQUEsWUFBQSxFQUFBLFdBR0EsRUFBQSxpQkFBQSx1QkFBQSxTQUFBLEdBQ0EsRUFBQSxPQUFBLFNBQUEsRUFBQSxZQUFBLEVBQUEsbUJBTUEsVUFBQSxXQUFBLFdBQ0EsT0FDQSxPQUNBLE1BQUEsSUFDQSxLQUFBLEtBRUEsWUFBQSxrQ0FHQSxVQUFBLG9CQUFBLGFBQUEsU0FBQSxHQUNBLE9BQ0EsT0FDQSxNQUFBLElBQ0EsS0FBQSxLQUVBLFlBQUEsdUNBQ0EsS0FBQSxTQUFBLEdBQ0EsRUFBQSxXQUFBLEVBQUEsc0JBSUEsVUFBQSxnQkFBQSxRQUFBLGVBQUEsU0FBQSxFQUFBLEdBQ0EsT0FDQSxPQUNBLE1BQUEsSUFDQSxLQUFBLEtBRUEsWUFBQSxtQ0FDQSxLQUFBLFNBQUEsR0FDQSxFQUFBLFlBQUEsV0FDQSxFQUFBLG1CQUNBLEVBQUEsUUFBQSxHQUFBLEVBQUEsTUFBQSxLQUFBLFdBQ0EsRUFBQSxtQkFBQSxDQUNBLElBQUEsSUFDQSxNQUFBLHNCQUNBLFFBQUEsc0ZBQ0EsV0FBQSxlQU9BLFVBQUEsZUFBQSxXQUNBLE9BQ0EsT0FDQSxNQUFBLFlBRUEsUUFBQSxVQUNBLEtBQUEsU0FBQSxFQUFBLEVBQUEsRUFBQSxHQUNBLEVBQUEsU0FBQSxnQkFDQSxJQUFBLEdBQUEsV0FDQSxFQUFBLE1BQUEsbUJBQUEsR0FBQSxPQUNBLEVBQUEsU0FBQSxVQUVBLEVBQUEsWUFBQSxVQUdBLEdBQUEsT0FBQSxRQUFBLEdBQ0EsRUFBQSxLQUFBLFFBQUEsU0FBQSxHQUNBLEVBQUEsT0FBQSxFQUFBLE1BQ0EsRUFBQSxjQUFBLEVBQUEsTUFBQSxTQUtBLFVBQUEsWUFBQSxvQkFBQSxTQUFBLEdBQ0EsT0FDQSxPQUNBLE1BQUEsSUFDQSxLQUFBLEtBRUEsWUFBQSwrQkFDQSxLQUFBLFNBQUEsR0FDQSxHQUNBLEdBREEsR0FBQSxFQUVBLEVBQUEsRUFBQSxPQUFBLGNBQUEsU0FBQSxHQUNBLElBQUEsR0FDQSxJQUVBLEdBQUEsRUFDQSxFQUFBLEdBQUEsR0FBQSxFQUFBLE1BQUEsT0FDQSxFQUFBLFVBQUEsU0FBQSxHQUNBLEVBQUEsV0FBQSxXQU1BLFVBQUEsY0FBQSxXQUFBLFdBQ0EsT0FDQSxPQUNBLE1BQUEsWUFFQSxRQUFBLFVBQ0EsS0FBQSxTQUFBLEVBQUEsRUFBQSxFQUFBLEdBQ0EsRUFBQSxxQkFBQSxLQUFBLFdBQ0EsRUFBQSxNQUFBLEVBQUEsY0FHQSxFQUFBLFNBQUEsS0FBQSxTQUFBLEdBQ0EsTUFBQSxHQUNBLEtBQUEsTUFBQSxHQURBLFNBSUEsRUFBQSxZQUFBLEtBQUEsU0FBQSxHQUNBLEdBQUEsRUFBQSxTQUFBLEdBQUEsT0FBQSxDQUNBLElBQUEsR0FBQSxLQUFBLE1BQUEsRUFDQSxPQUFBLElBQ0EsRUFBQSxjQUFBLEVBQUEsU0FBQSxhQUNBLEVBQUEsV0FDQSxJQUVBLFFDdktBLFFBQUEsT0FBQSxVQUNBLFVBQUEsUUFBQSxXQUFBLGNBQUEsZUFBQSxTQUFBLEVBQUEsRUFBQSxHQUNBLE9BQ0EsU0FBQSxJQUNBLFlBQUEsaUNBQ0EsT0FDQSxNQUFBLEtBRUEsS0FBQSxTQUFBLEdBQ0EsRUFBQSxZQUNBLEVBQUEsY0FDQSxJQUFBLEtBRUEsR0FBQSxNQUFBLFNBQUEsS0FBQSxTQUFBLEdBR0EsSUFBQSxHQUZBLElBQUEsZUFBQSxnQkFBQSxnQkFBQSxhQUNBLEtBQ0EsRUFBQSxFQUFBLEVBQUEsRUFBQSxPQUFBLElBQUEsQ0FDQSxHQUFBLElBQUEsS0FBQSxFQUFBLEdBQ0EsR0FBQSxRQUNBLEtBQUEsR0FBQSxHQUFBLEVBQUEsRUFBQSxFQUFBLE1BQUEsT0FBQSxJQUFBLENBQ0EsR0FBQSxHQUFBLEtBQUEsU0FBQSxFQUNBLEdBQUEsTUFBQSxHQUFBLEVBRUEsRUFBQSxLQUFBLEdBRUEsRUFBQSxTQUFBLElBRUEsRUFBQSxPQUFBLFNBQUEsR0FDQSxHQUFBLElBQ0EsTUFBQSxVQUFBLEVBQUEsS0FBQSxJQUNBLFFBQUEsbUNBQUEsRUFBQSxLQUFBLGtCQUNBLFlBQUEsZUFDQSxXQUFBLGlCQUNBLGVBQUEsRUFDQSxRQUFBLFdBQ0EsRUFBQSxRQUFBLEdBQUEsRUFBQSxNQUFBLElBQUEsSUFBQSxFQUFBLEtBQUEsU0FBQSxHQUNBLEVBQUEsTUFBQSxRQUtBLEVBQUEsVUFBQSxTQUFBLEdBRUEsSUFBQSxHQURBLEdBQUEsRUFBQSxHQUNBLEVBQUEsRUFBQSxFQUFBLEVBQUEsT0FBQSxJQUNBLEdBQUEsRUFBQSxHQUFBLEVBQUEsT0FBQSxDQUVBLFFBQUEsR0FFQSxFQUFBLGFBQUEsU0FBQSxHQUNBLEVBQUEsR0FBQSxDQUNBLEtBQUEsR0FBQSxHQUFBLEVBQUEsRUFBQSxFQUFBLE1BQUEsYUFBQSxPQUFBLElBQ0EsRUFBQSxNQUFBLGFBQUEsR0FBQSxNQUFBLElBQUEsRUFBQSxJQUVBLE9BQUEsR0FBQSxJQUVBLEVBQUEsT0FBQSxTQUFBLEdBQ0EsRUFBQSxRQUNBLEdBQUEsRUFBQSxNQUFBLElBQ0EsSUFBQSxFQUFBLEtBQ0EsSUFFQSxFQUFBLEtBQUEsU0FBQSxHQUNBLEVBQUEsU0FBQSxFQUFBLE1BQUEsYUFBQSxRQUFBLElBQUEsUUFBQSxLQUFBLElBRUEsRUFBQSxPQUFBLFNBQUEsR0FDQSxFQUFBLE1BQUEsYUFBQSxHQUFBLEVBQUEsU0FBQSxJQUVBLEVBQUEsS0FBQSxXQUNBLEdBQUEsRUFBQSxRQUFBLE9BQUEsQ0FDQSxHQUFBLEdBQUEsR0FBQSxHQUFBLEVBQUEsWUFDQSxHQUFBLE9BQUEsR0FBQSxFQUFBLE1BQUEsS0FBQSxTQUFBLEdBQ0EsRUFBQSxNQUFBLEVBQ0EsRUFBQSxpQkFFQSxFQUFBLFFBQUEsc0JDMUVBLFFBQUEsT0FBQSxVQUNBLE9BQUEsV0FBQSxVQUFBLFNBQUEsR0FDQSxNQUFBLFVBQUEsR0FDQSxHQUFBLEVBQUEsQ0FDQSxHQUFBLEdBQUEsS0FBQSxNQUFBLEdBQ0EsR0FBQSxHQUFBLE9BQUEsVUFDQSxFQUFBLEVBQUEsRUFDQSxFQUFBLEtBQUEsTUFBQSxFQUFBLEtBQ0EsRUFBQSxLQUFBLE1BQUEsRUFBQSxJQUNBLEVBQUEsS0FBQSxNQUFBLEVBQUEsSUFDQSxFQUFBLEtBQUEsTUFBQSxFQUFBLEdBQ0EsT0FBQSxHQUFBLEdBQ0EsTUFBQSxFQUFBLFFBQUEsRUFBQSxVQUNBLEVBQUEsRUFDQSxFQUFBLFlBQ0EsR0FBQSxFQUNBLFlBQ0EsRUFBQSxFQUNBLEVBQUEsYUFDQSxHQUFBLEVBQ0EsY0FDQSxFQUFBLEVBQ0EsRUFBQSxlQUNBLEdBQUEsRUFDQSxlQUVBLHlCQzFCQSxRQUFBLE9BQUEsVUFDQSxRQUFBLGdCQUFBLFdBQUEsU0FBQSxHQUVBLE1BQUEsVUFBQSxHQUNBLEdBQUEsRUFDQSxHQUFBLEdBQ0EsWUFBQSw4QkFDQSxhQUFBLFFBQ0EsV0FBQSxXQUNBLEtBQUEsTUFBQSxFQUFBLE1BQ0EsS0FBQSxRQUFBLEVBQUEsUUFDQSxLQUFBLFFBQUEsRUFBQSxRQUFBLFdBQUEsRUFBQSxVQUFBLEVBQUEsZUFBQSxFQUNBLEtBQUEsT0FBQSxFQUFBLFdBQ0EsS0FBQSxZQUFBLEVBQUEsYUFBQSxVQUNBLEtBQUEsV0FBQSxFQUFBLFlBQUEsU0FDQSxLQUFBLGNBQUEsRUFBQSxpQkFHQSxFQUFBLFdBRUEsS0FBQSxRQUFBLFdBQ0EsRUFBQSxrQkNyQkEsUUFBQSxPQUFBLFVBQ0EsUUFBQSxnQkFBQSxXQUFBLFdBQUEsU0FBQSxFQUFBLEdBQ0EsTUFBQSxVQUFBLEdBQ0EsR0FBQSxFQUNBLEdBQUEsR0FDQSxZQUFBLDhCQUNBLGFBQUEsZUFDQSxXQUFBLFdBQ0EsS0FBQSxNQUFBLEVBQUEsTUFDQSxLQUFBLFFBQUEsRUFBQSxRQUNBLEtBQUEsTUFBQSxFQUFBLFdBQ0EsS0FBQSxLQUFBLEVBQUEsSUFDQSxJQUFBLEdBQUEsRUFBQSxTQUFBLEdBQ0EsR0FBQSxFQUFBLFdBQUEsTUFHQSxFQUFBLFdBRUEsS0FBQSxRQUFBLFdBQ0EsRUFBQSIsImZpbGUiOiJwdWJsaWMvYnVpbGQvYXBwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScsIFsndWkucm91dGVyJywnbmdSZXNvdXJjZScsJ2J0Zm9yZC5tb2RhbCcsJ25nVGFnc0lucHV0JywnbmdBbmltYXRlJ10pXG4gICAgLmNvbmZpZyhmdW5jdGlvbigkc3RhdGVQcm92aWRlciwgJHVybFJvdXRlclByb3ZpZGVyLCAkbG9jYXRpb25Qcm92aWRlcil7XG4gICAgICAgICRsb2NhdGlvblByb3ZpZGVyLmh0bWw1TW9kZSh0cnVlKTtcbiAgICAgICAgJHVybFJvdXRlclByb3ZpZGVyLm90aGVyd2lzZShcIi9ub3Rmb3VuZFwiKVxuICAgICAgICAkc3RhdGVQcm92aWRlclxuICAgICAgICAuc3RhdGUoJ2luZGV4Jyx7XG4gICAgICAgICAgICB1cmwgOiAnLycsXG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvaG9tZS5odG1sJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiAnSG9tZUN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnbmV3ZXZlbnQnLHtcbiAgICAgICAgICAgIHVybCA6ICcvbmV3JyxcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9uZXdFdmVudC9sYXlvdXQuaHRtbCcsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ05ld0V2ZW50Q3RybCcsXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnbmV3ZXZlbnQuZ2VuZXJhbCcsIHtcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9uZXdFdmVudC9nZW5lcmFsLmh0bWwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnbmV3ZXZlbnQuZGF0ZXRpbWUnLCB7XG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvbmV3RXZlbnQvZGF0ZXRpbWUuaHRtbCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCduZXdldmVudC5pbnZpdGUnLCB7XG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvbmV3RXZlbnQvaW52aXRlLmh0bWwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnbmV3ZXZlbnQuc3VjY2VzcycsIHtcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9uZXdFdmVudC9zdWNjZXNzLmh0bWwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnYWJvdXQnLCB7XG4gICAgICAgICAgICB1cmwgOiAnL2Fib3V0JyxcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9hYm91dC5odG1sJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiAnQWJvdXRDdHJsJ1xuICAgICAgICB9KVxuICAgICAgICAuc3RhdGUoJ25vdGZvdW5kJywge1xuICAgICAgICAgICAgdXJsIDogJy9ub3Rmb3VuZCcsXG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvbm90Zm91bmQuaHRtbCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCdldmVudCcse1xuICAgICAgICAgICAgdXJsIDogJy86aWQnLFxuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2V2ZW50Lmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlciA6ICdFdmVudEN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnZWRpdGV2ZW50Jywge1xuICAgICAgICAgICAgdXJsOiAnLzppZC9lZGl0JyxcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9lZGl0ZXZlbnQuaHRtbCcsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ0VkaXRFdmVudEN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgndmVyaWZ5ZXZlbnQnLCB7XG4gICAgICAgICAgICB1cmwgOiAnL3ZlcmlmeS86aWQvY29kZS86Y29kZScsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ1ZlcmlmaWNhdGlvbkN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnZGVsZXRlZXZlbnQnLCB7XG4gICAgICAgICAgICB1cmwgOiAnL2RlbGV0ZS86aWQvY29kZS86Y29kZScsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ0RlbGV0aW9uQ3RybCdcbiAgICAgICAgfSlcbiAgICB9KVxuICAgIC5mYWN0b3J5KCdFdmVudCcsIGZ1bmN0aW9uKCRyZXNvdXJjZSl7XG4gICAgICAgIHJldHVybiAkcmVzb3VyY2UoJy9hcGkvZXZlbnQvOmlkJywgeyBpZCA6ICdAX2lkJyB9LCB7XG4gICAgICAgICAgICAndXBkYXRlJyA6IHsgbWV0aG9kIDogJ1BVVCcgfSxcbiAgICAgICAgICAgICd2ZXJpZnknIDogeyBtZXRob2QgOiAnR0VUJywgdXJsIDogJy9hcGkvZXZlbnQvOmlkL2NvZGUvOmNvZGUnIH0sXG4gICAgICAgICAgICAnZGVzdHJveSc6IHsgbWV0aG9kIDogJ0RFTEVURScsIHVybDogJy9hcGkvZXZlbnQvOmlkL2NvZGUvOmNvZGUnIH1cbiAgICAgICAgfSk7XG4gICAgfSlcbiAgICAuZmFjdG9yeSgnUGFydGljaXBhbnQnLCBmdW5jdGlvbigkcmVzb3VyY2Upe1xuICAgICAgICByZXR1cm4gJHJlc291cmNlKCcvYXBpL2V2ZW50LzppZC9wYXJ0aWNpcGFudC86cGlkJywgeyBpZDogJ0BfaWQnfSwge1xuICAgICAgICAgICAgJ3VwZGF0ZScgOiB7IG1ldGhvZCA6ICdQVVQnIH1cbiAgICAgICAgfSk7XG4gICAgfSlcbiAgICAuZmFjdG9yeSgnQ29tbWVudCcsIGZ1bmN0aW9uKCRyZXNvdXJjZSl7XG4gICAgICAgIHJldHVybiAkcmVzb3VyY2UoJy9hcGkvZXZlbnQvOmlkL2NvbW1lbnQvOmNpZCcsIHsgaWQgOiAnQF9pZCcgfSwge1xuICAgICAgICAgICAgJ3VwZGF0ZScgOiB7IG1ldGhvZCA6ICdQVVQnIH1cbiAgICAgICAgfSlcbiAgICB9KVxuICAgIC5mYWN0b3J5KCdUaXRsZScsIGZ1bmN0aW9uKCl7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzZXQgOiBmdW5jdGlvbih0aXRsZSl7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQudGl0bGUgPSB0aXRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuIiwiYW5ndWxhci5tb2R1bGUoXCJyYWxsbHlcIikucnVuKFtcIiR0ZW1wbGF0ZUNhY2hlXCIsIGZ1bmN0aW9uKCR0ZW1wbGF0ZUNhY2hlKSB7JHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2Fib3V0Lmh0bWxcIixcIjxkaXYgc3R5bGU9XFxcIm1heC13aWR0aDo2MDBweFxcXCI+XFxuICAgIDxoMT5XaGF0IGlzIFJhbGxseT88L2gxPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJybC1wYWdlLWRlc2NcXFwiPlJhbGxseSBpcyBhIGNvbGxhYm9yYXRpdmUgc2NoZWR1bGluZyBzZXJ2aWNlIHRoYXQgbWFrZXMgZGVjaWRpbmcgb24gYSBkYXRlIGZhc3QgYW5kIGVhc3kuPC9kaXY+XFxuICAgIDxoMj5IaSwgSVxcJ20gTHVrZSE8L2gyPlxcbiAgICA8cD5cXG4gICAgICAgIEkgY3JlYXRlZCBSYWxsbHkgYXMgc2lkZSBwcm9qZWN0IHRvIGhlbHAgbWUgbGVhcm4gc29tZSBuZXcgdGVjaG5vbG9naWVzLiBJIGRlY2lkZWQgdG8gcHVibGlzaCBpdCBiZWNhdXNlIEkgdGhvdWdodCBvdGhlciBwZW9wbGUgbWlnaHQgZmluZCBpdCB1c2VmdWwuIFJhbGxseSBpcyBhIGNvbXBsZXRlbHkgZnJlZSBzZXJ2aWNlLiBJbiBmYWN0IGl0IGlzIGV2ZW4gb3BlbiBzb3VyY2UuIFlvdSBjYW4gbG9vayBhdCB0aGUgbGF0ZXN0IHNvdXJjZSBjb2RlIG9uIEdpdGh1Yi5cXG4gICAgPC9wPlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9jb25maXJtbW9kYWwuaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwicmwtbW9kYWwtb3ZlcmxheVxcXCIgbmctY2xpY2s9XFxcIm1vZGFsLmNhbmNlbCgpXFxcIj48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCJybC1tb2RhbFxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInJsLW1vZGFsLXRpdGxlXFxcIj57e21vZGFsLnRpdGxlfX08L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwicmwtbW9kYWwtbWVzc2FnZVxcXCI+XFxuICAgICAgICB7e21vZGFsLm1lc3NhZ2V9fVxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwicmwtbW9kYWwtYWN0aW9uc1xcXCI+XFxuICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctY2xpY2s9XFxcIm1vZGFsLmNvbmZpcm0oKVxcXCIgbmctc2hvdz1cXFwibW9kYWwuY29uZmlybVxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmctY2xhc3M9XFxcIntkYW5nZXIgOiBtb2RhbC5pc0Rlc3RydWN0aXZlfVxcXCI+e3ttb2RhbC5jb25maXJtVGV4dH19PC9idXR0b24+XFxuICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctY2xpY2s9XFxcIm1vZGFsLmNhbmNlbCgpXFxcIiAgY2xhc3M9XFxcImJ0blxcXCI+e3ttb2RhbC5jYW5jZWxUZXh0fX08L2J1dHRvbj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2VkaXRldmVudC5odG1sXCIsXCI8ZGl2IG5nLXNob3c9XFxcImV2ZW50Ll9pZFxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImJveFxcXCI+XFxuXFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJib3gtdGl0bGVcXFwiPkVkaXQgRXZlbnQ8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1kZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICAgICAgWW91IGNhbiBtYWtlcyBjaGFuZ2VzIHRvIHlvdXIgZXhpc3RpbmcgZXZlbnQgYnkgY2hhbmdpbmcgdGhlIGZpZWxkcyBpbiB0aGUgZm9ybSBiZWxvdy5cXG4gICAgICAgIDwvZGl2PlxcblxcbiAgICAgICAgPGZvcm0gbm92YWxpZGF0ZSBuYW1lPVxcXCJmb3JtXFxcIiBuZy1zdWJtaXQ9XFxcInN1Ym1pdCgpXFxcIj5cXG5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIHVzZXItZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cXG5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIGV2ZW50LWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICA8L3NlY3Rpb24+XFxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiBkYXRlLWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICA8L3NlY3Rpb24+XFxuXFxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiBzZXR0aW5ncy1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuICAgICAgICAgICAgPC9zZWN0aW9uPlxcblxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1jb250cm9scyBib3gtYm90dG9tLXN0aWNreVxcXCI+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwic3VibWl0XFxcIiBuZy1zaG93PVxcXCJkaWRDaGFuZ2UoKVxcXCIgY2xhc3M9XFxcImJ0biBidG4tcHJpbWFyeVxcXCIgbmctY2xhc3M9XFxcIntkaXNhYmxlZCA6ICFkaWRDaGFuZ2UoKX1cXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgU2F2ZSBDaGFuZ2VzXFxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctY2xpY2s9XFxcInVuZG9DaGFuZ2VzKClcXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5nLXNob3c9XFxcImRpZENoYW5nZSgpXFxcIj5VbmRvIENoYW5nZXM8L2J1dHRvbj5cXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cXFwiL3t7ZXZlbnQuX2lkfX1cXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5nLWhpZGU9XFxcImRpZENoYW5nZSgpXFxcIj5Eb25lPC9hPlxcbiAgICAgICAgICAgIDwvZGl2PlxcblxcbiAgICAgICAgPC9mb3JtPlxcblxcbiAgICA8L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZXZlbnQuaHRtbFwiLFwiPGRpdiBuZy1zaG93PVxcXCJldmVudC5faWQgJiYgIWV2ZW50LmlzRGVsZXRlZFxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImJveCBcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZXZlbnQtaGVhZGVyXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkZXRhaWxzXFxcIj5cXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAge3tldmVudC50aXRsZX19XFxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwidGl0bGUtbGFiZWwgZGFuZ2VyXFxcIiBuZy1zaG93PVxcXCJldmVudC5pc0Nsb3NlZFxcXCI+UG9sbCBDbG9zZWQ8L3NwYW4+XFxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwidGl0bGUtbGFiZWwgc3VjY2Vzc1xcXCIgbmctaGlkZT1cXFwiZXZlbnQuaXNDbG9zZWRcXFwiPlBvbGwgT3Blbjwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInN1YnRpdGxlXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIENyZWF0ZWQgYnkgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZXZlbnQuY3JlYXRvci5lbWFpbH19XFxcIj57e2V2ZW50LmNyZWF0b3IubmFtZX19PC9hPiAmYnVsbDsge3tldmVudC5jcmVhdGVkIHwgZWxhcHNlZH19XFxuICAgICAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImFjdGlvbnNcXFwiPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVxcXCJidG5cXFwiIG5nLWNsaWNrPVxcXCJlZGl0RXZlbnQoKVxcXCI+RWRpdCBFdmVudDwvYnV0dG9uPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJib3gtc2lkZS1zdGlja3kgZXZlbnQtZGVzY3JpcHRpb25cXFwiIG5nLXNob3c9XFxcImV2ZW50LmRlc2NyaXB0aW9uXFxcIj57e2V2ZW50LmRlc2NyaXB0aW9ufX08L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1ib3R0b20tc3RpY2t5IGV2ZW50LWxvY2F0aW9uXFxcIiBuZy1zaG93PVxcXCJldmVudC5sb2NhdGlvblxcXCI+XFxuICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvbG9jYXRpb24ucG5nXFxcIiB3aWR0aD1cXFwiMThcXFwiIC8+PGEgaHJlZj1cXFwiaHR0cDovL2dvb2dsZS5jb20vbWFwcz9xPXt7ZXZlbnQubG9jYXRpb259fVxcXCIgdGFyZ2V0PVxcXCJfYmxhbmtcXFwiPnt7ZXZlbnQubG9jYXRpb259fTwvYT5cXG4gICAgICAgIDwvZGl2PlxcblxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYm94IGJveC14LXNjcm9sbFxcXCI+XFxuICAgICAgICA8ZGl2IHBvbGwgZXZlbnQ9XFxcImV2ZW50XFxcIiBjbGFzcz1cXFwicG9sbFxcXCI+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuXFxuICAgIDxkaXYgY2xhc3M9XFxcImJveFxcXCIgbmctaGlkZT1cXFwiZXZlbnQuY29tbWVudHMubGVuZ3RoID09IDAgJiYgZXZlbnQuaXNDbG9zZWRcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiYm94LXRpdGxlXFxcIj5cXG4gICAgICAgICAgICBEaXNjdXNzaW9uXFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1kZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICAgICAgWW91IGNhbiBkaXNjdXNzIHRoZSBldmVudCB3aXRoIHlvdXIgZnJpZW5kcyBieSBsZWF2aW5nIGEgY29tbWVudCBiZWxvdy5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBkaXNjdXNzaW9uIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2hvbWUuaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwicGFnZS1wbGFjZWhvbGRlclxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImltYWdlXFxcIj5cXG4gICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL21hcmtfbGFyZ2UucG5nXFxcIiB3aWR0aD1cXFwiNjdcXFwiIC8+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJ0aXRsZVxcXCI+XFxuICAgICAgICBTY2hlZHVsZSBhbiBFdmVudFxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiY29udGVudFxcXCI+XFxuICAgICAgICBXYW50IHRvIGhvc3QgYW4gZXZlbnQgYnV0IGNhbuKAmXQgZGVjaWRlIG9uIGEgZGF0ZT8gQ2xpY2sgb24gdGhlIGJ1dHRvbiBiZWxvdyB0byBzdGFydCFcXG4gICAgPC9kaXY+XFxuICAgIDxidXR0b24gbmctY2xpY2s9XFxcIm5ld0V2ZW50KClcXFwiIGNsYXNzPVxcXCJidG5cXFwiPlNjaGVkdWxlIE5ldyBFdmVudDwvYnV0dG9uPlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9uZXdldmVudC5odG1sXCIsXCI8ZGl2IG5nLWlmPVxcXCIhZXZlbnRVcmxcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJib3hcXFwiIG5nLWNsYXNzPVxcXCJ7XFwnYW5pbWF0ZWQgc2hha2VcXCc6IGZvcm0uJHN1Ym1pdHRlZCAmJiBmb3JtLiRpbnZhbGlkIH1cXFwiPlxcblxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiYm94LXRpdGxlXFxcIj5TY2hlZHVsZSBhIE5ldyBFdmVudDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiYm94LWRlc2NyaXB0aW9uXFxcIj5cXG4gICAgICAgICAgICBGaWxsIGluIHRoZSBmb3JtIGJlbG93IHRvIGNyZWF0ZSB5b3VyIGV2ZW50IGFuZCBzaGFyZSBpdCB3aXRoIHlvdXIgZnJpZW5kcyBhbmQgY29sbGVhZ3Vlcy5cXG4gICAgICAgIDwvZGl2PlxcblxcbiAgICAgICAgPGZvcm0gbm92YWxpZGF0ZSBhdXRvY29tcGxldGU9XFxcIm9mZlxcXCIgbmFtZT1cXFwiZm9ybVxcXCIgbmctc3VibWl0PVxcXCJzdWJtaXQoKVxcXCI+XFxuICAgICAgICAgICAgPGRpdiBuZy1pZj1cXFwicGFnZSA9PSAxXFxcIj5cXG5cXG4gICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiB1c2VyLWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxcblxcbiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIGV2ZW50LWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgbmctaWY9XFxcInBhZ2U9PTJcXFwiPlxcblxcbiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIGRhdGUtZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XFxuXFxuICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVxcXCJib3gtc2VjdGlvblxcXCIgbmctc2hvdz1cXFwiZXZlbnQuZGF0ZXMubGVuZ3RoXFxcIiB0aW1lLWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxcbiAgICAgICAgICAgIDwvZGl2PlxcblxcbiAgICAgICAgICAgIDxkaXYgbmctaWY9XFxcInBhZ2U9PTNcXFwiPlxcblxcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVxcXCJib3gtc2VjdGlvblxcXCIgcGFydGljaXBhbnRzLWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICA8L3NlY3Rpb24+XFxuXFxuICAgICAgICAgICAgPC9kaXY+XFxuXFxuXFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiYm94LWNvbnRyb2xzIGJveC1ib3R0b20tc3RpY2t5XFxcIj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJidXR0b25cXFwiIG5nLWlmPVxcXCJwYWdlIT0xXFxcIiBjbGFzcz1cXFwiYnRuXFxcIiBuZy1jbGljaz1cXFwicHJldlBhZ2UoKVxcXCI+QmFjazwvYnV0dG9uPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctaWY9XFxcInBhZ2UhPTNcXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5nLWNsaWNrPVxcXCJuZXh0UGFnZSgpXFxcIj5OZXh0PC9idXR0b24+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwic3VibWl0XFxcIiBuZy1pZj1cXFwicGFnZT09M1xcXCIgY2xhc3M9XFxcImJ0biBidG4tcHJpbWFyeVxcXCI+Q3JlYXRlIEV2ZW50PC9idXR0b24+XFxuICAgICAgICAgICAgPC9kaXY+XFxuXFxuICAgICAgICA8L2Zvcm0+XFxuICAgIDwvZGl2PlxcblxcbjwvZGl2PlxcbjxkaXYgbmctaWY9XFxcImV2ZW50VXJsXFxcIiBjbGFzcz1cXFwiYm94XFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYm94LW1lc3NhZ2VcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm1haW4taW1hZ2VcXFwiPlxcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9zdWNjZXNzX2xhcmdlLnBuZ1xcXCIgd2lkdGg9XFxcIjEwMFxcXCIgLz5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPkV2ZW50IENyZWF0ZWQ8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiY29udGVudFxcXCI+XFxuICAgICAgICBZb3VyIGV2ZW50IGhhcyBiZWVuIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5ISBZb3Ugc2hvdWxkIHJlY2VpdmUgYW4gZW1haWwgc2hvcnRseSB3aXRoIGluc3RydWN0aW9ucyB0byB2ZXJpZnkgeW91ciBlbWFpbCBhZGRyZXNzLlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwibWluaS1kaXZpZGVyXFxcIj5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXBcXFwiPlxcbiAgICAgICAgPGlucHV0IHR5cGU9XFxcInRleHRcXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2xcXFwiIGRpc2FibGVkPVxcXCJ0cnVlXFxcIiB2YWx1ZT1cXFwie3tldmVudFVybH19XFxcIiAvPlxcbiAgICAgICAgPGEgaHJlZj1cXFwie3tldmVudFVybH19XFxcIiBjbGFzcz1cXFwiYnRuIGZvcm0tYnRuXFxcIj5HTzwvYT5cXG4gICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9ub3Rmb3VuZC5odG1sXCIsXCI8aDE+RXJyb3IgNDA0PC9oMT5cXG48aDI+Tm90IEZvdW5kPC9oMj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcIm5vdGlmaWNhdGlvbiB7e25vdGlmaWNhdGlvbi50eXBlfX1cXFwiIG5nLWNsaWNrPVxcXCJub3RpZmljYXRpb24uY2xvc2UoKVxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInRpdGxlXFxcIj5cXG4gICAgICAgIHt7bm90aWZpY2F0aW9uLnRpdGxlfX1cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcIm1lc3NhZ2VcXFwiPlxcbiAgICAgICAge3tub3RpZmljYXRpb24ubWVzc2FnZX19XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9kaXJlY3RpdmVzL2RhdGVQaWNrZXIuaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwiZGF0ZS1waWNrZXJcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJ3cmFwcGVyXFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImRhdGUtcGlja2VyLWhlYWRcXFwiPlxcbiAgICAgICAgICAgIDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCJhcnJvd1xcXCIgbmctY2xpY2s9XFxcInByZXZNb250aCgpXFxcIj4mIzEwMDk0OzwvYT5cXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwidGl0bGUtdGV4dFxcXCI+e3t0aXRsZX19PC9zcGFuPlxcbiAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICA8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiYXJyb3dcXFwiIG5nLWNsaWNrPVxcXCJuZXh0TW9udGgoKVxcXCI+JiMxMDA5NTs8L2E+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImRvd1xcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF5XFxcIj5cXG4gICAgICAgICAgICAgICAgU3VuXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF5XFxcIj5cXG4gICAgICAgICAgICAgICAgTW9uXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF5XFxcIj5cXG4gICAgICAgICAgICAgICAgVHVlXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF5XFxcIj5cXG4gICAgICAgICAgICAgICAgV2VkXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF5XFxcIj5cXG4gICAgICAgICAgICAgICAgVGh1XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF5XFxcIj5cXG4gICAgICAgICAgICAgICAgRnJpXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF5XFxcIj5cXG4gICAgICAgICAgICAgICAgU2F0XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcInZhbHVlc1xcXCI+XFxuICAgICAgICAgICAgPGRpdiBuZy1yZXBlYXQ9XFxcImRheSBpbiBkYXlzXFxcIiBjbGFzcz1cXFwidmFsdWVcXFwiICBuZy1jbGFzcz1cXFwieyBvdXRzaWRlIDogZGF5LmlzT3V0c2lkZU1vbnRoLCB0b2RheSA6IGRheS5pc1RvZGF5LCBhY3RpdmUgOiBpc0FjdGl2ZShkYXkuZGF0ZSkgfVxcXCIgbmctY2xpY2s9XFxcInNlbGVjdERheShkYXkpXFxcIj5cXG4gICAgICAgICAgICAgICAge3tkYXkuZGF0ZSB8IGRhdGUgOiBcXCdkXFwnIH19XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2RpcmVjdGl2ZXMvZGlzY3Vzc2lvbi5odG1sXCIsXCI8dWwgY2xhc3M9XFxcImNvbW1lbnQtdGhyZWFkXFxcIiBuZy1zaG93PVxcXCJldmVudC5jb21tZW50cy5sZW5ndGhcXFwiPlxcbiAgICA8bGkgbmctcmVwZWF0PVxcXCJjb21tZW50IGluIGV2ZW50LmNvbW1lbnRzXFxcIiBjbGFzcz1cXFwiY29tbWVudFxcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJhdmF0YXItc2VjdGlvblxcXCI+XFxuICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvYXZhdGFyLnBuZ1xcXCIgLz5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiY29tbWVudC1zZWN0aW9uXFxcIj5cXG4gICAgICAgICAgICA8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiY29tbWVudC1kZWxldGVcXFwiIG5nLWNsaWNrPVxcXCJkZWxldGVDb21tZW50KGNvbW1lbnQpXFxcIj4mdGltZXM7PC9hPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm1ldGFcXFwiPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwibmFtZVxcXCI+e3tjb21tZW50LmF1dGhvci5uYW1lfX08L3NwYW4+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJ0aW1lXFxcIj57e2NvbW1lbnQuY3JlYXRlZCB8IGVsYXBzZWR9fTwvc3Bhbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjb250ZW50XFxcIj57e2NvbW1lbnQuY29udGVudH19PC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9saT5cXG48L3VsPlxcbjxmb3JtIG5vdmFsaWRhdGUgbmctc3VibWl0PVxcXCJwb3N0Q29tbWVudCgpXFxcIiBuYW1lPVxcXCJjb21tZW50Rm9ybVxcXCIgY2xhc3M9XFxcImNvbW1lbnQtZm9ybVxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImF2YXRhci1zZWN0aW9uXFxcIj5cXG4gICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2F2YXRhci5wbmdcXFwiIC8+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJpbnB1dC1zZWN0aW9uIGZvcm0tZ3JvdXBcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiY29udGVudC1zZWN0aW9uXFxcIj5cXG4gICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XFxcImZvcm0tY29udHJvbFxcXCIgcmVxdWlyZWQgbmctbW9kZWw9XFxcImNvbW1lbnQuY29udGVudFxcXCIgcGxhY2Vob2xkZXI9XFxcIldyaXRlIGEgY29tbWVudC4uLlxcXCI+PC90ZXh0YXJlYT5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwibmFtZS1zZWN0aW9uXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJuYW1lLWNvbnRhaW5lclxcXCI+XFxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sXFxcIiByZXF1aXJlZCBwbGFjZWhvbGRlcj1cXFwiWW91ciBOYW1lXFxcIiBuZy1tb2RlbD1cXFwiY29tbWVudC5hdXRob3IubmFtZVxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJzdWJtaXRcXFwiIGNsYXNzPVxcXCJidG5cXFwiPlBvc3QgQ29tbWVudDwvYnV0dG9uPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZm9ybS1lcnJvclxcXCIgbmctc2hvdz1cXFwiY29tbWVudEZvcm0uJHN1Ym1pdHRlZCAmJiBjb21tZW50Rm9ybS4kZXJyb3JcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvZXJyb3IucG5nXFxcIiB3aWR0aD1cXFwiMTRcXFwiIC8+IE1ha2Ugc3VyZSB5b3UgZmlsbCBpbiBhbGwgdGhlIGZpZWxkcy5cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZm9ybT5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9wb2xsLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInBvbGwtaGVhZGVyXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiaGVhZGVyIHBhcnRpY2lwYW50cy1oZWFkZXJcXFwiPlxcbiAgICAgICAge3tldmVudC5wYXJ0aWNpcGFudHMubGVuZ3RofX0gcGFydGljaXBhbnRzXFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJoZWFkZXIgZGF0ZS1oZWFkZXJcXFwiIG5nLXJlcGVhdD1cXFwiZCBpbiBldmVudC5kYXRlc1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXRpY29uXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkb3dcXFwiPlxcbiAgICAgICAgICAgICAgICB7e2QgfCBkYXRlOiBcXCdFRUVcXCd9fVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRheVxcXCI+XFxuICAgICAgICAgICAgICAgIHt7ZCB8IGRhdGU6IFxcJ2RcXCd9fVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm1vbnRoXFxcIj5cXG4gICAgICAgICAgICAgICAge3tkIHwgZGF0ZSA6IFxcJ01NTVxcJ319XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImNvdW50XFxcIiBuZy1zaG93PVxcXCJzZWxlY3RlZERhdGUoJGluZGV4KVxcXCIgbmctY2xhc3M9e3RvcDppc1RvcERhdGUoJGluZGV4KX0+e3tzZWxlY3RlZERhdGUoJGluZGV4KX19PC9zcGFuPlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJoZWFkZXIgYWN0aW9ucy1oZWFkZXJcXFwiPlxcblxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJwb2xsLWJvZHlcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJwb2xsLWVudHJ5XFxcIiBuZy1yZXBlYXQ9XFxcInBhcnRpY2lwYW50IGluIGV2ZW50LnBhcnRpY2lwYW50c1xcXCI+XFxuICAgICAgICA8Zm9ybSBub3ZhbGlkYXRlIG5nLXN1Ym1pdD1cXFwidXBkYXRlKHBhcnRpY2lwYW50KTsgZWRpdE1vZGUgPSBmYWxzZVxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCBuYW1lLWNlbGxcXFwiPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiYXZhdGFyIHN0eWxlLXt7JGluZGV4ICsgMX19XFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL3VzZXIucG5nXFxcIiB3aWR0aD1cXFwiMTFcXFwiIC8+XFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IHJlcXVpcmVkIGF1dG9jb21wbGV0ZT1cXFwib2ZmXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sXFxcIiBuZy1tb2RlbD1cXFwicGFydGljaXBhbnQubmFtZVxcXCIgbmctc2hvdz1cXFwiZWRpdE1vZGVcXFwiIHZhbHVlPVxcXCJwYXJ0aWNpcGFudC5uYW1lXFxcIi8+XFxuICAgICAgICAgICAgICAgIDxzcGFuIG5nLWhpZGU9XFxcImVkaXRNb2RlXFxcIiBjbGFzcz1cXFwibmFtZSBlZGl0YWJsZVxcXCIgbmctY2xpY2s9XFxcImVkaXRNb2RlID0gdHJ1ZSAmJiAhZXZlbnQuaXNDbG9zZWQ7IGVkaXQocGFydGljaXBhbnQpXFxcIj57e3BhcnRpY2lwYW50Lm5hbWV9fTwvc3Bhbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIHZvdGUtY2VsbFxcXCIgbmctcmVwZWF0PVxcXCJkYXRlIGluIGV2ZW50LmRhdGVzXFxcIj5cXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvdGlja0AyeC5wbmdcXFwiICB3aWR0aD1cXFwiMTZcXFwiIG5nLWhpZGU9XFxcImVkaXRNb2RlXFxcIiBuZy1pZj1cXFwicGFydGljaXBhbnQudm90ZXNbJGluZGV4XVxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvbm9wZUAyeC5wbmdcXFwiIHdpZHRoPVxcXCI4XFxcIiBuZy1oaWRlPVxcXCJlZGl0TW9kZVxcXCIgbmctaWY9XFxcIiFwYXJ0aWNpcGFudC52b3Rlc1skaW5kZXhdXFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgbmctbW9kZWw9XFxcInBhcnRpY2lwYW50LnZvdGVzWyRpbmRleF1cXFwiIG5nLXNob3c9XFxcImVkaXRNb2RlXFxcIiBuZy1mYWxzZS12YWx1ZT1cXFwiZmFsc2VcXFwiIHR5cGU9XFxcImNoZWNrYm94XFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJvdmVybGF5XFxcIiBuZy1zaG93PVxcXCJlZGl0TW9kZVxcXCIgbmctY2xpY2s9XFxcInBhcnRpY2lwYW50LnZvdGVzWyRpbmRleF0gPSAhcGFydGljaXBhbnQudm90ZXNbJGluZGV4XVxcXCI+PC9kaXY+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCBhY3Rpb24tY2VsbFxcXCIgbmctaGlkZT1cXFwiZXZlbnQuaXNDbG9zZWRcXFwiPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctaGlkZT1cXFwiZWRpdE1vZGVcXFwiIG5nLWNsaWNrPVxcXCJlZGl0TW9kZSA9IHRydWU7IGVkaXQocGFydGljaXBhbnQpXFxcIiBjbGFzcz1cXFwiYnRuIGhvdmVyXFxcIj5FZGl0PC9idXR0b24+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1oaWRlPVxcXCJlZGl0TW9kZVxcXCIgbmctY2xpY2s9XFxcImRlbGV0ZShwYXJ0aWNpcGFudClcXFwiIGNsYXNzPVxcXCJidG4gZGFuZ2VyIGhvdmVyXFxcIj5EZWxldGU8L2J1dHRvbj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJzdWJtaXRcXFwiIG5nLXNob3c9XFxcImVkaXRNb2RlXFxcIiBjbGFzcz1cXFwiYnRuXFxcIj5TYXZlPC9idXR0b24+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1zaG93PVxcXCJlZGl0TW9kZVxcXCIgbmctY2xpY2s9XFxcImVkaXRNb2RlID0gZmFsc2U7IGNhbmNlbCgkaW5kZXgpXFxcIiBjbGFzcz1cXFwiYnRuXFxcIj5DYW5jZWw8L2J1dHRvbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZm9ybT5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcInBvbGwtZXhhbXBsZVxcXCIgbmctY2xhc3M9XFxcIntoaWRkZW4gOiBldmVudC5wYXJ0aWNpcGFudHMubGVuZ3RoID4gMH1cXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwicG9sbC1lbnRyeVxcXCIgbmctcmVwZWF0PVxcXCJleGFtcGxlIGluIGV4YW1wbGVzXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIG5hbWUtY2VsbFxcXCI+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJhdmF0YXIgc3R5bGUte3skaW5kZXggKyAxfX1cXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvdXNlci5wbmdcXFwiIHdpZHRoPVxcXCIxMVxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwibmFtZVxcXCI+e3tleGFtcGxlLm5hbWV9fTwvc3Bhbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIHZvdGUtY2VsbFxcXCIgbmctcmVwZWF0PVxcXCJkYXRlIGluIGV2ZW50LmRhdGVzXFxcIj5cXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvdGlja0AyeC5wbmdcXFwiICB3aWR0aD1cXFwiMTZcXFwiIG5nLWlmPVxcXCJleGFtcGxlLnZvdGVzWyRpbmRleF1cXFwiIC8+XFxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL25vcGVAMngucG5nXFxcIiB3aWR0aD1cXFwiOFxcXCIgbmctaWY9XFxcIiFleGFtcGxlLnZvdGVzWyRpbmRleF1cXFwiIC8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCBhY3Rpb24tY2VsbFxcXCI+XFxuXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcIm92ZXJsYXlcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm92ZXJsYXktdGV4dFxcXCI+XFxuICAgICAgICAgICAgICAgIEZpbGwgaW4gdGhlIGZvcm0gYmVsb3cgdG8gZ2V0IHN0YXJ0ZWRcXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBuZy1oaWRlPVxcXCJldmVudC5pc0Nsb3NlZFxcXCIgY2xhc3M9XFxcInBvbGwtZW50cnkgaGlnaGxpZ2h0XFxcIj5cXG4gICAgICAgIDxmb3JtIG5vdmFsaWRhdGUgbmFtZT1cXFwiZm9ybW5ld1xcXCIgbmctc3VibWl0PVxcXCJzYXZlKClcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNlbGwgbmFtZS1jZWxsXFxcIj5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImF2YXRhciBzdHlsZS17e3BhcnRpY2lwYW50LnN0eWxlfX1cXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvdXNlci5wbmdcXFwiIHdpZHRoPVxcXCIxMVxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgYXV0b2NvbXBsZXRlPVxcXCJvZmZcXFwiIG5hbWU9XFxcInVzZXJuYW1lXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sXFxcIiBwbGFjZWhvbGRlcj1cXFwiWW91ciBuYW1lLi4uXFxcIiBuZy1tb2RlbD1cXFwicGFydGljaXBhbnQubmFtZVxcXCIgcmVxdWlyZWQgdmFsdWU9XFxcInBhcnRpY2lwYW50Lm5hbWVcXFwiLz5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIHZvdGUtY2VsbFxcXCIgbmctcmVwZWF0PVxcXCJkYXRlIGluIGV2ZW50LmRhdGVzXFxcIj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IG5nLW1vZGVsPVxcXCJwYXJ0aWNpcGFudC52b3Rlc1skaW5kZXhdXFxcIiBuZy1mYWxzZS12YWx1ZT1cXFwiZmFsc2VcXFwiIHR5cGU9XFxcImNoZWNrYm94XFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJvdmVybGF5XFxcIiBuZy1jbGljaz1cXFwicGFydGljaXBhbnQudm90ZXNbJGluZGV4XSA9ICFwYXJ0aWNpcGFudC52b3Rlc1skaW5kZXhdXFxcIj48L2Rpdj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIGFjdGlvbi1jZWxsXFxcIj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJzdWJtaXRcXFwiIG5nLWNsYXNzPVxcXCJ7IFxcJ2FuaW1hdGVkIHNoYWtlXFwnIDogZm9ybW5ldy4kc3VibWl0dGVkICYmIGZvcm1uZXcuJGludmFsaWQgIH1cXFwiIGNsYXNzPVxcXCJidG5cXFwiPlNhdmU8L2J1dHRvbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZm9ybT5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2RpcmVjdGl2ZXMvdGltZVBpY2tlci5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJ0aW1lLXBpY2tlclxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInRpbWUtcGlja2VyLWNvbFxcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXRpY29uXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkb3dcXFwiPlxcbiAgICAgICAgICAgICAgICB7e2RhdGUgfCBkYXRlOiBcXCdFRUVcXCd9fVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRheVxcXCI+XFxuICAgICAgICAgICAgICAgIHt7ZGF0ZSB8IGRhdGU6IFxcJ2RcXCd9fVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm1vbnRoXFxcIj5cXG4gICAgICAgICAgICAgICAge3tkYXRlIHwgZGF0ZSA6IFxcJ01NTVxcJ319XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cXFwiZGVsZXRlXFxcIiBuZy1jbGljaz1cXFwiZGF0ZXBpY2tlci51bnNldERhdGUoZGF0ZSlcXFwiPjwvc3Bhbj4gLS0+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcInRpbWUtcGlja2VyLWNvbFxcXCIgbmctcmVwZWF0PVxcXCJ0aW1lIGluIGRhdGUudGltZXMgdHJhY2sgYnkgJGluZGV4XFxcIj5cXG4gICAgICAgIDxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIiBjbGFzcz1cXFwidGltZS1waWNrZXItaW5wdXRcXFwiIHRpbWUtcGlja2VyIG5nLW1vZGVsPVxcXCJ0aW1lXFxcIiBuZy1tb2RlbC1vcHRpb25zPVxcXCJ7IHVwZGF0ZU9uOiBcXCdibHVyXFwnIH1cXFwiIC8+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9mb3JtL2RhdGVGb3JtLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tZGV0YWlsc1xcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInNlY3Rpb24tdGl0bGVcXFwiPkNob29zZSBEYXRlczwvZGl2PlxcbiAgICA8dWwgY2xhc3M9XFxcImRhdGljb24tbGlzdFxcXCI+XFxuICAgICAgICA8bGkgbmctcmVwZWF0PVxcXCJkIGluIGV2ZW50LmRhdGVzXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXRpY29uXFxcIj5cXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZG93XFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIHt7ZCB8IGRhdGU6IFxcJ0VFRVxcJ319XFxuICAgICAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXlcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAge3tkIHwgZGF0ZTogXFwnZFxcJ319XFxuICAgICAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJtb250aFxcXCI+XFxuICAgICAgICAgICAgICAgICAgICB7e2QgfCBkYXRlIDogXFwnTU1NXFwnfX1cXG4gICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJkZWxldGVcXFwiIG5nLWNsaWNrPVxcXCJkYXRlcGlja2VyLnJlbW92ZURhdGUoZClcXFwiPjwvc3Bhbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvbGk+XFxuICAgIDwvdWw+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1tYWluXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1yb3dcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1ncm91cFxcXCI+XFxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cXFwiZW1haWxcXFwiPkNhbGVuZGFyPC9sYWJlbD5cXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZm9ybS1lcnJvclxcXCIgbmctc2hvdz1cXFwiZm9ybS4kc3VibWl0dGVkICYmIGZvcm0uZGF0ZXBpY2tlci4kZXJyb3IucmVxdWlyZWRcXFwiPlxcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9lcnJvci5wbmdcXFwiIHdpZHRoPVxcXCIxNFxcXCIgLz4gWW91IG5lZWQgdG8gc2VsZWN0IGEgZmV3IGRhdGVzXFxuICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgIDxkaXYgZGF0ZXBpY2tlciByZXF1aXJlZCBuYW1lPVxcXCJkYXRlcGlja2VyXFxcIiBjb250cm9sPVxcXCJkYXRlcGlja2VyXFxcIiBuZy1tb2RlbD1cXFwiZXZlbnQuZGF0ZXNcXFwiPlxcblxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9mb3JtL2V2ZW50Rm9ybS5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLWRldGFpbHNcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLXRpdGxlXFxcIj5FdmVudCBEZXRhaWxzPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1tYWluXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1yb3dcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1jb2xcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXBcXFwiPlxcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVxcXCJ0aXRsZVxcXCI+VGl0bGU8L2xhYmVsPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZm9ybS1lcnJvclxcXCIgbmctc2hvdz1cXFwiKGZvcm0udGl0bGUuJHRvdWNoZWQgfHwgZm9ybS4kc3VibWl0dGVkKSAmJiBlcnJvcnMudGl0bGVcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvZXJyb3IucG5nXFxcIiB3aWR0aD1cXFwiMTRcXFwiIC8+IHt7ZXJyb3JzLnRpdGxlfX1cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XFxcInRpdGxlXFxcIiBuYW1lPVxcXCJ0aXRsZVxcXCIgbmctbWF4bGVuZ3RoPVxcXCIzMFxcXCIgcmVxdWlyZWQgbmctbW9kZWw9XFxcImV2ZW50LnRpdGxlXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBwbGFjZWhvbGRlcj1cXFwiTW9udGhseSBNZWV0dXAuLi5cXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2wgZXh0ZW5kXFxcIi8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tY29sXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwIG9wdGlvbmFsXFxcIj5cXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cXFwibG9jYXRpb25cXFwiPkxvY2F0aW9uPC9sYWJlbD5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImZvcm0tZXJyb3JcXFwiIG5nLXNob3c9XFxcIihmb3JtLmxvY2F0aW9uLiR0b3VjaGVkIHx8IGZvcm0uJHN1Ym1pdHRlZCkgJiYgZXJyb3JzLmxvY2F0aW9uXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2Vycm9yLnBuZ1xcXCIgd2lkdGg9XFxcIjE0XFxcIiAvPiB7e2Vycm9ycy5sb2NhdGlvbn19XFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IGlkPVxcXCJsb2NhdGlvblxcXCIgbmFtZT1cXFwibG9jYXRpb25cXFwiIG5nLW1vZGVsPVxcXCJldmVudC5sb2NhdGlvblxcXCIgbmctbWF4bGVuZ3RoPVxcXCI1MFxcXCIgdHlwZT1cXFwidGV4dFxcXCIgcGxhY2Vob2xkZXI9XFxcIlJpY2tcXCdzIENhZmUuLi5cXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2wgZXh0ZW5kXFxcIi8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tcm93XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXAgb3B0aW9uYWxcXFwiPlxcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XFxcImRlc2NyaXB0aW9uXFxcIiA+RGVzY3JpcHRpb248L2xhYmVsPlxcbiAgICAgICAgICAgIDx0ZXh0YXJlYSBpZD1cXFwiZGVzY3JpcHRpb25cXFwiIG5hbWU9XFxcImRlc2NyaXB0aW9uXFxcIiBuZy1tb2RlbD1cXFwiZXZlbnQuZGVzY3JpcHRpb25cXFwiIHBsYWNlaG9sZGVyPVxcXCJFbnRlciBEZXNjcmlwdGlvbi4uLlxcXCIgY2xhc3M9XFxcImZvcm0tY29udHJvbCBleHRlbmRcXFwiPjwvdGV4dGFyZWE+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2Zvcm0vcGFydGljaXBhbnRzRm9ybS5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLWRldGFpbHNcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLXRpdGxlXFxcIj5JbnZpdGUgUGFydGljaXBhbnRzPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1tYWluXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1yb3dcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1ncm91cCBvcHRpb25hbFxcXCI+XFxuICAgICAgICAgICAgPGxhYmVsPlBhcnRpY2lwYW50XFwncyBFbWFpbHM8L2xhYmVsPlxcbiAgICAgICAgICAgIDx0YWdzLWlucHV0IG1heC1sZW5ndGg9XFxcIjUwXFxcIiBhbGxvd2VkLXRhZ3MtcGF0dGVybj1cXFwie3tlbWFpbFJlZ2V4fX1cXFwiIGRpc3BsYXktcHJvcGVydHk9XFxcImVtYWlsXFxcIiBuZy1tb2RlbD1cXFwiZXZlbnQuZW1haWxzXFxcIiBwbGFjZWhvbGRlcj1cXFwiQWRkIGFuIEVtYWlsXFxcIiB0eXBlPVxcXCJlbWFpbFxcXCIgYXV0b2NvbXBsZXRlPVxcXCJvZmZcXFwiPjwvdGFncy1pbnB1dD5cXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cXFwiaGlkZGVuXFxcIiBuYW1lPVxcXCJzaG91bGRDcmVhdGVcXFwiIHZhbHVlPVxcXCJ0cnVlXFxcIiAvPlxcblxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2Plxcbjwvc2VjdGlvbj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZm9ybS9zZXR0aW5nc0Zvcm0uaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1kZXRhaWxzXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic2VjdGlvbi10aXRsZVxcXCI+U2V0dGluZ3M8L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLW1haW5cXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtcm93XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaC1kZXRhaWxzXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJ0aXRsZVxcXCI+XFxuICAgICAgICAgICAgICAgIFBvbGwgU3RhdHVzXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGVzY3JpcHRpb25cXFwiPlxcbiAgICAgICAgICAgICAgICBMZXQgcGVvcGxlIHZvdGUgb24gdGhlIHBvbGwuXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaFxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoLXZhbHVlXFxcIj5cXG4gICAgICAgICAgICAgICAge3tldmVudC5pc0Nsb3NlZCA/IFxcJ0Nsb3NlZFxcJyA6IFxcJ09wZW5cXCcgfX1cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IHN3aXRjaC10b2dnbGUgbmctbW9kZWw9XFxcImV2ZW50LmlzQ2xvc2VkXFxcIiBpbnZlcnQ+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaC1yb3dcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoLWRldGFpbHNcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInRpdGxlXFxcIj5cXG4gICAgICAgICAgICAgICAgTm90aWZpY2F0aW9uc1xcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRlc2NyaXB0aW9uXFxcIj5cXG4gICAgICAgICAgICAgICAgU2VuZCBlbWFpbCBub3RpZmljYXRpb25zIHRvIHRoZSBjcmVhdG9yIG9mIHRoaXMgZXZlbnQuXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaFxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoLXZhbHVlXFxcIj5cXG4gICAgICAgICAgICAgICAge3tldmVudC5jcmVhdG9yLmFsbG93Tm90aWZpY2F0aW9ucyA/IFxcJ0VuYWJsZWRcXCcgOiBcXCdEaXNhYmxlZFxcJyB9fVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgc3dpdGNoLXRvZ2dsZSBuZy1tb2RlbD1cXFwiZXZlbnQuY3JlYXRvci5hbGxvd05vdGlmaWNhdGlvbnNcXFwiPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtcm93XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaC1kZXRhaWxzXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJ0aXRsZVxcXCI+XFxuICAgICAgICAgICAgICAgIERlbGV0ZSBFdmVudFxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRlc2NyaXB0aW9uXFxcIj5cXG4gICAgICAgICAgICAgICAgT25jZSB5b3UgZGVsZXRlIGFuIGV2ZW50IGl0IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2Vzc2libGUuXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaFxcXCI+XFxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJidXR0b25cXFwiIG5nLWNsaWNrPVxcXCJkZWxldGVFdmVudCgpXFxcIiBjbGFzcz1cXFwiYnRuXFxcIiBuZy1jbGFzcz1cXFwie2RhbmdlciA6ICFkZWxldGVSZXF1ZXN0U2VudCwgZGlzYWJsZWQgOiBkZWxldGVSZXF1ZXN0U2VudH1cXFwiPnt7ZGVsZXRlUmVxdWVzdFNlbnQgPyBcXCdSZXF1ZXN0IFNlbnRcXCcgOiBcXCdEZWxldGUgRXZlbnRcXCcgfX08L2J1dHRvbj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG48L3NlY3Rpb24+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2Zvcm0vdGltZUZvcm0uaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1kZXRhaWxzXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic2VjdGlvbi10aXRsZVxcXCI+Q2hvb3NlIFRpbWVzPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1tYWluXFxcIj5cXG4gICAgPHRhYmxlIGNsYXNzPVxcXCJ0aW1lLWZvcm1cXFwiPlxcbiAgICAgICAgPHRoZWFkPlxcbiAgICAgICAgICAgIDx0cj5cXG4gICAgICAgICAgICAgICAgPHRoPlxcblxcbiAgICAgICAgICAgICAgICA8L3RoPlxcbiAgICAgICAgICAgICAgICA8dGg+XFxuICAgICAgICAgICAgICAgICAgICBUaW1lIDFcXG4gICAgICAgICAgICAgICAgPC90aD5cXG4gICAgICAgICAgICAgICAgPHRoPlxcbiAgICAgICAgICAgICAgICAgICAgVGltZSAyXFxuICAgICAgICAgICAgICAgIDwvdGg+XFxuICAgICAgICAgICAgICAgIDx0aD5cXG4gICAgICAgICAgICAgICAgICAgIFRpbWUgM1xcbiAgICAgICAgICAgICAgICA8L3RoPlxcbiAgICAgICAgICAgIDwvdHI+XFxuICAgICAgICA8L3RoZWFkPlxcbiAgICAgICAgPHRib2R5PlxcbiAgICAgICAgICAgIDx0ciBuZy1yZXBlYXQ9XFxcImQgaW4gZXZlbnQuZGF0ZXNcXFwiPlxcbiAgICAgICAgICAgICAgICA8dGQ+XFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXRpY29uXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkb3dcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2QuZGF0ZSB8IGRhdGU6IFxcJ0VFRVxcJ319XFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF5XFxcIj5cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkLmRhdGUgfCBkYXRlOiBcXCdkXFwnfX1cXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJtb250aFxcXCI+XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZC5kYXRlIHwgZGF0ZSA6IFxcJ01NTVxcJ319XFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImRlbGV0ZVxcXCIgbmctY2xpY2s9XFxcInVuc2V0RGF0ZShkLmRhdGUpXFxcIj48L3NwYW4+XFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICAgICAgPC90ZD5cXG4gICAgICAgICAgICAgICAgPHRkIG5nLXJlcGVhdD1cXFwidGltZSBpbiBbMSwyLDNdIHRyYWNrIGJ5ICRpbmRleFxcXCI+XFxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cXFwidGV4dFxcXCIgdGltZS1waWNrZXIgbmctbW9kZWwtb3B0aW9ucz1cXFwieyB1cGRhdGVPbjogXFwnYmx1clxcJyB9XFxcIiBuZy1tb2RlbD1cXFwiZC50aW1lc1skaW5kZXhdXFxcIiBjbGFzcz1cXFwidGltZS1waWNrZXItaW5wdXRcXFwiIC8+XFxuICAgICAgICAgICAgICAgIDwvdGQ+XFxuICAgICAgICAgICAgPC90cj5cXG4gICAgICAgIDwvdGJvZHk+XFxuICAgIDwvdGFibGU+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2Zvcm0vdXNlckZvcm0uaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1kZXRhaWxzXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic2VjdGlvbi10aXRsZVxcXCI+WW91ciBEZXRhaWxzPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1tYWluXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1yb3dcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1jb2xcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXBcXFwiPlxcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVxcXCJuYW1lXFxcIj5OYW1lPC9sYWJlbD5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImZvcm0tZXJyb3JcXFwiIG5nLXNob3c9XFxcIihmb3JtLm5hbWUuJHRvdWNoZWQgfHwgZm9ybS4kc3VibWl0dGVkKSAmJiBlcnJvcnMubmFtZVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9lcnJvci5wbmdcXFwiIHdpZHRoPVxcXCIxNFxcXCIgLz4ge3tlcnJvcnMubmFtZX19XFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IGlkPVxcXCJuYW1lXFxcIiBuYW1lPVxcXCJuYW1lXFxcIiBuZy1tYXhsZW5ndGg9XFxcIjMwXFxcIiByZXF1aXJlZCBuZy1tb2RlbD1cXFwiZXZlbnQuY3JlYXRvci5uYW1lXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBwbGFjZWhvbGRlcj1cXFwiSm9obiBEb2UuLi5cXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2wgZXh0ZW5kXFxcIi8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tY29sXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwXFxcIj5cXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cXFwiZW1haWxcXFwiPkVtYWlsPC9sYWJlbD5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImZvcm0tZXJyb3JcXFwiIG5nLXNob3c9XFxcIihmb3JtLmVtYWlsLiR0b3VjaGVkIHx8IGZvcm0uJHN1Ym1pdHRlZCkgJiYgZXJyb3JzLmVtYWlsXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2Vycm9yLnBuZ1xcXCIgd2lkdGg9XFxcIjE0XFxcIiAvPiB7e2Vycm9ycy5lbWFpbH19XFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XFxcImVtYWlsXFxcIiBpZD1cXFwiZW1haWxcXFwiIG5hbWU9XFxcImVtYWlsXFxcIiBuZy1wYXR0ZXJuPVxcXCJlbWFpbFJlZ2V4XFxcIiByZXF1aXJlZCBuZy1tb2RlbD1cXFwiZXZlbnQuY3JlYXRvci5lbWFpbFxcXCIgcGxhY2Vob2xkZXI9XFxcImpvaG4uZG9lQGVtYWlsLmNvbS4uLlxcXCIgY2xhc3M9XFxcImZvcm0tY29udHJvbCBleHRlbmRcXFwiLz5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvbmV3RXZlbnQvZGF0ZXRpbWUuaHRtbFwiLFwiPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiBkYXRlLWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG48L3NlY3Rpb24+XFxuXFxuPGRpdiBjbGFzcz1cXFwiYm94LWNvbnRyb2xzIGJveC1ib3R0b20tc3RpY2t5XFxcIj5cXG4gICAgPGJ1dHRvbiB0eXBlPVxcXCJidXR0b25cXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5nLWNsaWNrPVxcXCJwcmV2UGFnZSgpXFxcIj5QcmV2aW91czwvYnV0dG9uPlxcbiAgICA8YnV0dG9uIHR5cGU9XFxcInN1Ym1pdFxcXCIgY2xhc3M9XFxcImJ0blxcXCI+TmV4dDwvYnV0dG9uPlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9uZXdFdmVudC9nZW5lcmFsLmh0bWxcIixcIjxzZWN0aW9uIGNsYXNzPVxcXCJib3gtc2VjdGlvblxcXCIgdXNlci1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuPC9zZWN0aW9uPlxcblxcbjxzZWN0aW9uIGNsYXNzPVxcXCJib3gtc2VjdGlvblxcXCIgZXZlbnQtZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbjwvc2VjdGlvbj5cXG5cXG48ZGl2IGNsYXNzPVxcXCJib3gtY29udHJvbHMgYm94LWJvdHRvbS1zdGlja3lcXFwiPlxcbiAgICA8YnV0dG9uIHR5cGU9XFxcInN1Ym1pdFxcXCIgY2xhc3M9XFxcImJ0blxcXCI+TmV4dCBTdGVwPC9idXR0b24+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL25ld0V2ZW50L2ludml0ZS5odG1sXCIsXCI8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIHBhcnRpY2lwYW50cy1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuPC9zZWN0aW9uPlxcblxcbjxkaXYgY2xhc3M9XFxcImJveC1jb250cm9scyBib3gtYm90dG9tLXN0aWNreVxcXCI+XFxuICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBjbGFzcz1cXFwiYnRuXFxcIiBuZy1jbGljaz1cXFwicHJldlBhZ2UoKVxcXCI+UHJldmlvdXM8L2J1dHRvbj5cXG4gICAgPGJ1dHRvbiB0eXBlPVxcXCJzdWJtaXRcXFwiIGNsYXNzPVxcXCJidG5cXFwiPkNyZWF0ZTwvYnV0dG9uPlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9uZXdFdmVudC9sYXlvdXQuaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwiYm94XFxcIj5cXG5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYm94LXRpdGxlXFxcIj5TY2hlZHVsZSBhIE5ldyBFdmVudDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJib3gtZGVzY3JpcHRpb25cXFwiPlxcbiAgICAgICAgRmlsbCBpbiB0aGUgZm9ybSBiZWxvdyB0byBjcmVhdGUgeW91ciBldmVudCBhbmQgc2hhcmUgaXQgd2l0aCB5b3VyIGZyaWVuZHMgYW5kIGNvbGxlYWd1ZXMuXFxuICAgIDwvZGl2PlxcbiAgICA8b2wgY2xhc3M9XFxcImJveC1zdGVwc1xcXCI+XFxuICAgICAgICA8bGkgY2xhc3M9XFxcInN0ZXAgYWN0aXZlXFxcIj5cXG4gICAgICAgICAgICBHZW5lcmFsIERldGFpbHNcXG4gICAgICAgIDwvbGk+XFxuICAgICAgICA8bGkgY2xhc3M9XFxcInN0ZXBcXFwiIG5nLWNsYXNzPVxcXCJ7IGFjdGl2ZSA6IHBhZ2UgPiAxIH1cXFwiPlxcbiAgICAgICAgICAgIERhdGVzICZhbXA7IFRpbWVzXFxuICAgICAgICA8L2xpPlxcbiAgICAgICAgPGxpIGNsYXNzPVxcXCJzdGVwXFxcIiBuZy1jbGFzcz1cXFwieyBhY3RpdmUgOiBwYWdlID4gMiB9XFxcIj5cXG4gICAgICAgICAgICBJbnZpdGVzXFxuICAgICAgICA8L2xpPlxcbiAgICAgICAgPGxpIGNsYXNzPVxcXCJzdGVwXFxcIiBuZy1jbGFzcz1cXFwieyBhY3RpdmUgOiBwYWdlID4gMyB9XFxcIj5cXG4gICAgICAgICAgICBEb25lXFxuICAgICAgICA8L2xpPlxcbiAgICA8L29sPlxcbiAgICA8Zm9ybSBub3ZhbGlkYXRlIGF1dG9jb21wbGV0ZT1cXFwib2ZmXFxcIiBuYW1lPVxcXCJmb3JtXFxcIiBuZy1zdWJtaXQ9XFxcInN1Ym1pdCgpXFxcIj5cXG4gICAgICAgIDxkaXYgdWktdmlldz5cXG5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Zvcm0+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL25ld0V2ZW50L3N1Y2Nlc3MuaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwiYm94LW1lc3NhZ2VcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJtYWluLWltYWdlXFxcIj5cXG4gICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL3N1Y2Nlc3NfbGFyZ2UucG5nXFxcIiB3aWR0aD1cXFwiMTAwXFxcIiAvPlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPkV2ZW50IENyZWF0ZWQ8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiY29udGVudFxcXCI+XFxuICAgICAgICBZb3VyIGV2ZW50IGhhcyBiZWVuIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5ISBZb3Ugc2hvdWxkIHJlY2VpdmUgYW4gZW1haWwgc2hvcnRseSB3aXRoIGluc3RydWN0aW9ucyB0byB2ZXJpZnkgeW91ciBlbWFpbCBhZGRyZXNzLlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwibWluaS1kaXZpZGVyXFxcIj5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXBcXFwiPlxcbiAgICAgICAgPGlucHV0IHR5cGU9XFxcInRleHRcXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2xcXFwiIGRpc2FibGVkPVxcXCJ0cnVlXFxcIiB2YWx1ZT1cXFwie3tldmVudFVybH19XFxcIiAvPlxcbiAgICAgICAgPGEgaHJlZj1cXFwie3tldmVudFVybH19XFxcIiBjbGFzcz1cXFwiYnRuIGZvcm0tYnRuXFxcIj5HTzwvYT5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO31dKTsiLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdBYm91dEN0cmwnLCBmdW5jdGlvbihUaXRsZSl7XG4gICAgVGl0bGUuc2V0KCdBYm91dCBSYWxsbHknKVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdBY2NvdW50Q3RybCcsIGZ1bmN0aW9uKCRzY29wZSwgQ29uZmlybU1vZGFsKXtcbiAgICAkc2NvcGUuc2hvd05vdGljZSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgIFxuICAgIH1cbn0pXG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdEZWxldGlvbkN0cmwnLCBmdW5jdGlvbigkc3RhdGUsIE5vdGlmaWNhdGlvbiwgRXZlbnQpe1xuICAgIEV2ZW50LmRlc3Ryb3koe2lkIDogJHN0YXRlLnBhcmFtcy5pZCwgY29kZSA6JHN0YXRlLnBhcmFtcy5jb2RlfSwgZnVuY3Rpb24oKXtcbiAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgdGl0bGUgOiAnRXZlbnQgZGVsZXRlZCcsXG4gICAgICAgICAgICBtZXNzYWdlIDogJ1RoaXMgZXZlbnQgaGFzIGJlZW4gZGVsZXRlZCcsXG4gICAgICAgICAgICB0eXBlIDogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgdGltZW91dCA6IDUwMDBcbiAgICAgICAgfSk7XG4gICAgfSwgZnVuY3Rpb24oZSl7XG4gICAgICAgIHZhciBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgIHRpdGxlIDogJ0RlbGV0aW9uIEZhaWxlZCcsXG4gICAgICAgICAgICBtZXNzYWdlIDogJ1RoZSBldmVudCBjb3VsZCBub3QgYmUgZGVsZXRlZC4gTWFrZSBzdXJlIHRoYXQgaXQgZXhpc3RzIGFuZCB0aGF0IHRoZSB1cmwgaXMgY29ycmVjdCcsXG4gICAgICAgICAgICB0eXBlIDogJ2Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICAkc3RhdGUuZ28oJ2V2ZW50JywgeyBpZCA6ICRzdGF0ZS5wYXJhbXMuaWQgfSk7XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ0VkaXRFdmVudEN0cmwnLCBmdW5jdGlvbigkc2NvcGUsICRodHRwLCAkc3RhdGUsICR0aW1lb3V0LCBFdmVudCwgQ29uZmlybU1vZGFsLCBOb3RpZmljYXRpb24sIFRpdGxlKXtcbiAgICB2YXIgaWQgPSAkc3RhdGUucGFyYW1zLmlkXG4gICAgJHNjb3BlLmV2ZW50ID0gRXZlbnQuZ2V0KHtpZDppZH0sIGZ1bmN0aW9uKGRhdGEpe1xuICAgICAgICBUaXRsZS5zZXQoXCJFZGl0OiBcIiArICRzY29wZS5ldmVudC50aXRsZSk7XG4gICAgICAgICRzY29wZS5tYXN0ZXIgPSBhbmd1bGFyLmNvcHkoJHNjb3BlLmV2ZW50KTtcbiAgICB9LCBmdW5jdGlvbihlKXtcbiAgICAgICAgJHN0YXRlLmdvKCdub3Rmb3VuZCcpO1xuICAgIH0pO1xuICAgICRzY29wZS51bmRvQ2hhbmdlcyA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICRzY29wZS5ldmVudCA9IGFuZ3VsYXIuY29weSgkc2NvcGUubWFzdGVyKTtcbiAgICB9XG4gICAgJHNjb3BlLmRpZENoYW5nZSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSgkc2NvcGUubWFzdGVyKSAhPSBKU09OLnN0cmluZ2lmeSgkc2NvcGUuZXZlbnQpO1xuICAgIH1cbiAgICAkc2NvcGUuZGlkQ2hhbmdlRGF0ZXMgPSBmdW5jdGlvbigpe1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoJHNjb3BlLm1hc3Rlci5kYXRlcykgIT0gSlNPTi5zdHJpbmdpZnkoJHNjb3BlLmV2ZW50LmRhdGVzKTtcbiAgICB9XG4gICAgJHNjb3BlLnN1Ym1pdCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgIGlmICgkc2NvcGUuZm9ybS4kdmFsaWQpe1xuICAgICAgICAgICAgaWYgKCRzY29wZS5kaWRDaGFuZ2VEYXRlcygpICl7XG4gICAgICAgICAgICAgICAgdmFyIG1vZGFsID0gbmV3IENvbmZpcm1Nb2RhbCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlIDogJ0hvbGQgdXAhJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdDaGFuZ2luZyB0aGUgZGF0ZXMgd2lsbCByZXNldCBhbGwgZW50cmllcyBieSB0aGUgcGFydGljaXBhbnRzLiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZG8gdGhhdD8nLFxuICAgICAgICAgICAgICAgICAgICBjb25maXJtVGV4dCA6ICdZZXMsIElcXCdtIHN1cmUnLFxuICAgICAgICAgICAgICAgICAgICBpc0Rlc3RydWN0aXZlIDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlybSA6IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZXZlbnQucGFydGljaXBhbnRzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHVwZGF0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgICAgIHRpdGxlIDogJ05vdCBzbyBmYXN0JyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ01ha2Ugc3VyZSB5b3UgZmlsbCBpbiBhbGwgdGhlIHJlcXVpcmVkIGZpZWxkcyBhbmQgdHJ5IGFnYWluLicsXG4gICAgICAgICAgICAgICAgdHlwZSA6ICdlcnJvcidcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHZhciB1cGRhdGUgPSBmdW5jdGlvbigpe1xuICAgICAgICBFdmVudC51cGRhdGUoe1xuICAgICAgICAgICAgaWQgOiBpZFxuICAgICAgICB9LCAkc2NvcGUuZXZlbnQsXG4gICAgICAgIGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICAgICAgdGl0bGUgOiAnQ2hhbmdlcyBTYXZlZCcsXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdZb3VyIGNoYW5nZXMgaGF2ZSBiZWVuIHNhdmVkIHN1Y2Nlc3NmdWxseS4nLFxuICAgICAgICAgICAgICAgIHR5cGUgOiAnc3VjY2VzcydcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgJHNjb3BlLm1hc3RlciA9IGFuZ3VsYXIuY29weSgkc2NvcGUuZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ0V2ZW50Q3RybCcsIGZ1bmN0aW9uKCRzY29wZSwgJGh0dHAsICRzdGF0ZSwgVGl0bGUsIEV2ZW50LCBDb25maXJtTW9kYWwpe1xuICAgIHZhciBpZCA9ICRzdGF0ZS5wYXJhbXMuaWQ7XG4gICAgLy8gR2V0IEV2ZW50XG4gICAgJHNjb3BlLmV2ZW50ID0gRXZlbnQuZ2V0KHtpZDppZH0sIGZ1bmN0aW9uKGRhdGEpe1xuICAgICAgICAvLyBTZXQgdGhlIHBhZ2UgdGl0bGUgdG8gdGhlIGV2ZW50IHRpdGxlXG4gICAgICAgIFRpdGxlLnNldCgkc2NvcGUuZXZlbnQudGl0bGUpO1xuICAgICAgICAvLyBHZW5lcmF0ZSBldmVudCB1cmwgLSBpLmUuIGh0dHA6Ly9yYWxsbHkuY28vakY5Rl9GZFxuICAgICAgICAkc2NvcGUuZXZlbnRVcmwgPSAkc3RhdGUuaHJlZignZXZlbnQnLCB7XG4gICAgICAgICAgICBpZDogJHNjb3BlLmV2ZW50Ll9pZFxuICAgICAgICB9LCB7XG4gICAgICAgICAgICBhYnNvbHV0ZSA6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfSwgZnVuY3Rpb24oZSl7XG4gICAgICAgICRzdGF0ZS5nbygnbm90Zm91bmQnKTtcbiAgICB9KTtcblxuICAgICRzY29wZS5vcGVuRXZlbnQgPSBmdW5jdGlvbigpe1xuICAgICAgICAkc2NvcGUuZXZlbnQuaXNDbG9zZWQgPSBmYWxzZTtcbiAgICAgICAgRXZlbnQudXBkYXRlKHtcbiAgICAgICAgICAgIGlkIDogaWRcbiAgICAgICAgfSwgJHNjb3BlLmV2ZW50LFxuICAgICAgICBmdW5jdGlvbigpe1xuICAgICAgICAgICAgdmFyIG1vZGFsID0gbmV3IENvbmZpcm1Nb2RhbCh7XG4gICAgICAgICAgICAgICAgdGl0bGUgOiAnRXZlbnQgT3BlbicsXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdQZW9wbGUgY2FuIHZvdGUgYW5kIGNvbW1lbnQgb24gdGhpcyBldmVudC4nLFxuICAgICAgICAgICAgICAgIGNhbmNlbFRleHQgOiAnT0snLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgICRzY29wZS5jbG9zZUV2ZW50ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgJHNjb3BlLmV2ZW50LmlzQ2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgRXZlbnQudXBkYXRlKHtcbiAgICAgICAgICAgIGlkIDogaWRcbiAgICAgICAgfSwgJHNjb3BlLmV2ZW50LFxuICAgICAgICBmdW5jdGlvbigpe1xuICAgICAgICAgICAgdmFyIG1vZGFsID0gbmV3IENvbmZpcm1Nb2RhbCh7XG4gICAgICAgICAgICAgICAgdGl0bGUgOiAnRXZlbnQgQ2xvc2VkJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ1Blb3BsZSBjYW4gbm8gbG9uZ2VyIHZvdGUgb3IgY29tbWVudCBvbiB0aGlzIGV2ZW50LicsXG4gICAgICAgICAgICAgICAgY2FuY2VsVGV4dCA6ICdPSycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgJHNjb3BlLmVkaXRFdmVudCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICRzdGF0ZS5nbygnZWRpdGV2ZW50JywgeyBpZCA6ICRzY29wZS5ldmVudC5faWQgfSk7XG4gICAgfVxuXG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ0hvbWVDdHJsJywgZnVuY3Rpb24oJHNjb3BlLCAkc3RhdGUsIFRpdGxlKXtcbiAgICBUaXRsZS5zZXQoJ1JhbGxseSAtIENvbGxhYm9yYXRpdmUgU2NoZWR1bGluZycpXG5cbiAgICAkc2NvcGUubmV3RXZlbnQgPSBmdW5jdGlvbigpe1xuICAgICAgICAkc3RhdGUuZ28oJ25ld2V2ZW50Jyk7XG4gICAgfVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdOYXZpZ2F0aW9uQ3RybCcsIGZ1bmN0aW9uKCRzY29wZSwgJGxvY2F0aW9uKXtcbiAgICAkc2NvcGUuaXNBY3RpdmUgPSBmdW5jdGlvbihwYXRoKSB7XG4gICAgICAgIGlmICgkbG9jYXRpb24ucGF0aCgpID09IHBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICB9XG59KVxuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignTmV3RXZlbnRDdHJsJywgZnVuY3Rpb24oJHNjb3BlLCAkaHR0cCwgJHN0YXRlLCBFdmVudCwgQ29uZmlybU1vZGFsLCBOb3RpZmljYXRpb24pe1xuXG4gICAgJHNjb3BlLnRpdGxlID0gXCJTY2hlZHVsZSBhIE5ldyBFdmVudFwiO1xuICAgICRzY29wZS5kZXNjcmlwdGlvbiA9IFwiRmlsbCBpbiB0aGUgZm9ybSBiZWxvdyB0byBjcmVhdGUgeW91ciBldmVudCBhbmQgc2hhcmUgaXQgd2l0aCB5b3VyIGZyaWVuZHMgYW5kIGNvbGxlYWd1ZXMuXCI7XG4gICAgJHNjb3BlLmV2ZW50ID0ge307XG5cbiAgICB2YXIgc3RhdGVzID0gW1xuICAgICAgICAnbmV3ZXZlbnQuZ2VuZXJhbCcsXG4gICAgICAgICduZXdldmVudC5kYXRldGltZScsXG4gICAgICAgICduZXdldmVudC5pbnZpdGUnXG4gICAgXTtcblxuICAgICRzY29wZS5wYWdlID0gMTtcblxuICAgIHZhciBnb1RvID0gZnVuY3Rpb24ocGFnZSl7XG4gICAgICAgICRzY29wZS5wYWdlID0gcGFnZTtcbiAgICAgICAgJHN0YXRlLmdvKHN0YXRlc1twYWdlLTFdKTtcbiAgICB9XG5cbiAgICBnb1RvKCRzY29wZS5wYWdlKTtcblxuXG4gICAgJHNjb3BlLnN1Ym1pdCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgIGlmICgkc2NvcGUuZm9ybS4kdmFsaWQgJiYgJHNjb3BlLnBhZ2UgPT0gc3RhdGVzLmxlbmd0aCl7XG4gICAgICAgICAgICAkaHR0cC5wb3N0KCcvYXBpL2V2ZW50JywgJHNjb3BlLmV2ZW50KVxuICAgICAgICAgICAgLnN1Y2Nlc3MoZnVuY3Rpb24oZXZlbnQsIHN0YXR1cywgaGVhZGVycywgY29uZmlnKXtcbiAgICAgICAgICAgICAgICAkc2NvcGUuZXZlbnQgPSBldmVudDtcbiAgICAgICAgICAgICAgICAkc2NvcGUuZXZlbnRVcmwgPSAkc3RhdGUuaHJlZignZXZlbnQnLCB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiAkc2NvcGUuZXZlbnQuX2lkXG4gICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICBhYnNvbHV0ZSA6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAkc2NvcGUucGFnZSsrO1xuICAgICAgICAgICAgICAgICRzdGF0ZS5nbygnbmV3ZXZlbnQuc3VjY2VzcycpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5lcnJvcihmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIHZhciBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSA6ICdVaCBvaCEnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ1RoZXJlIHdhcyBhbiBlcnJvciBjcmVhdGluZyB5b3VyIGV2ZW50LiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLicsXG4gICAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHQgOiAnT0snXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICgkc2NvcGUuZm9ybS4kdmFsaWQpIHtcbiAgICAgICAgICAgICRzY29wZS5mb3JtLiRzZXRQcmlzdGluZSgpO1xuICAgICAgICAgICAgJHNjb3BlLm5leHRQYWdlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAkc2NvcGUubmV4dFBhZ2UgPSBmdW5jdGlvbigpe1xuICAgICAgICBnb1RvKCRzY29wZS5wYWdlKzEpO1xuICAgIH1cblxuICAgICRzY29wZS5wcmV2UGFnZSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgIGdvVG8oJHNjb3BlLnBhZ2UtMSk7XG4gICAgfVxuXG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ1ZlcmlmaWNhdGlvbkN0cmwnLCBmdW5jdGlvbihFdmVudCwgTm90aWZpY2F0aW9uLCAkc3RhdGUpe1xuICAgIEV2ZW50LnZlcmlmeSh7aWQgOiAkc3RhdGUucGFyYW1zLmlkLCBjb2RlIDokc3RhdGUucGFyYW1zLmNvZGV9LCBmdW5jdGlvbigpe1xuICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICB0aXRsZSA6ICdFbWFpbCBWZXJpZmllZCcsXG4gICAgICAgICAgICBtZXNzYWdlIDogJ1lvdXIgZW1haWwgaGFzIGJlZW4gdmVyaWZpZWQuIFlvdSB3aWxsIG5vdyBiZSBhYmxlIHRvIHJlY2VpdmUgZW1haWwgbm90aWZpY2F0aW9ucyBmb3IgdGhpcyBldmVudCcsXG4gICAgICAgICAgICB0eXBlIDogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgdGltZW91dCA6IDUwMDBcbiAgICAgICAgfSk7XG4gICAgfSwgZnVuY3Rpb24oZSl7XG4gICAgICAgIHZhciBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgIHRpdGxlIDogJ1ZlcmlmaWNhdGlvbiBGYWlsZWQnLFxuICAgICAgICAgICAgbWVzc2FnZSA6ICdZb3VyIHZlcmlmaWNhdGlvbiBjb2RlIGhhcyBleHBpcmVkLicsXG4gICAgICAgICAgICB0eXBlIDogJ2Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICAkc3RhdGUuZ28oJ2V2ZW50JywgeyBpZCA6ICRzdGF0ZS5wYXJhbXMuaWQgfSk7XG5cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZGlyZWN0aXZlKCdiYWNrSW1nJywgZnVuY3Rpb24oKXtcbiAgICByZXR1cm4gZnVuY3Rpb24oc2NvcGUsIGVsZW1lbnQsIGF0dHJzKXtcbiAgICAgICAgdmFyIHVybCA9IGF0dHJzLmJhY2tJbWc7XG4gICAgICAgIGVsZW1lbnQuY3NzKHtcbiAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgvaW1hZ2VzLycgKyB1cmwgKycucG5nKSdcbiAgICAgICAgfSk7XG4gICAgfTtcbn0pXG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5kaXJlY3RpdmUoJ2RhdGVwaWNrZXInLCBmdW5jdGlvbigpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlc3RyaWN0IDogJ0EnLFxuICAgICAgICByZXF1aXJlIDogJ25nTW9kZWwnLFxuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIG1vZGVsIDogJz1uZ01vZGVsJyxcbiAgICAgICAgICAgIGNvbnRyb2wgOiAnPSdcbiAgICAgICAgfSxcbiAgICAgICAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9kYXRlUGlja2VyLmh0bWwnLFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycywgbmdNb2RlbCl7XG4gICAgICAgICAgICBzY29wZS5tb2RlbCA9IHNjb3BlLm1vZGVsIHx8IFtdO1xuICAgICAgICAgICAgc2NvcGUuY29udHJvbCA9IHNjb3BlLmNvbnRyb2wgfHwge307XG5cbiAgICAgICAgICAgIHNjb3BlLiR3YXRjaENvbGxlY3Rpb24oJ21vZGVsJywgZnVuY3Rpb24obmV3VmFsdWUpe1xuICAgICAgICAgICAgICAgIG5nTW9kZWwuJHNldFZpZXdWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgbmdNb2RlbC4kdmFsaWRhdGUoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBuZ01vZGVsLiR2YWxpZGF0b3JzLnJlcXVpcmVkID0gZnVuY3Rpb24obW9kZWxWYWx1ZSwgdmlld1ZhbHVlKXtcbiAgICAgICAgICAgICAgICBpZiAoIW1vZGVsVmFsdWUgfHwgbW9kZWxWYWx1ZS5sZW5ndGggPT0gMCl7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciB0b2RheSA9IERhdGUudG9kYXkoKSwgYWN0aXZlRGF0ZSA9IHRvZGF5LmNsb25lKCk7XG4gICAgICAgICAgICB2YXIgc2V0TW9udGggPSBmdW5jdGlvbih0b0RhdGUpe1xuICAgICAgICAgICAgICAgIGFjdGl2ZURhdGUgPSB0b0RhdGU7XG4gICAgICAgICAgICAgICAgdmFyIHN0YXJ0RGF0ZSA9IGFjdGl2ZURhdGUuY2xvbmUoKS5tb3ZlVG9GaXJzdERheU9mTW9udGgoKSxcbiAgICAgICAgICAgICAgICAgICAgc3RhcnREYXRlRE9XID0gc3RhcnREYXRlLmdldERheSgpO1xuICAgICAgICAgICAgICAgIHN0YXJ0RGF0ZS5hZGQoc3RhcnREYXRlRE9XIC0gNykuZGF5cygpO1xuICAgICAgICAgICAgICAgIHNjb3BlLnRpdGxlID0gYWN0aXZlRGF0ZS50b1N0cmluZygnTU1NTSB5eXl5Jyk7XG4gICAgICAgICAgICAgICAgdmFyIGRheXMgPSBuZXcgQXJyYXkoNDIpO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF5cy5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICAgICAgICAgIHZhciBkYXRlID0gc3RhcnREYXRlLmNsb25lKCkuYWRkKGkpLmRheXMoKVxuICAgICAgICAgICAgICAgICAgICBkYXlzW2ldID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZSA6IGRhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc091dHNpZGVNb250aCA6IChkYXRlLmdldE1vbnRoKCkgIT0gYWN0aXZlRGF0ZS5nZXRNb250aCgpKSA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVG9kYXkgOiAoRGF0ZS5lcXVhbHMoZGF0ZSwgdG9kYXkpKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNjb3BlLmRheXMgPSBkYXlzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0TW9udGgoYWN0aXZlRGF0ZSk7XG4gICAgICAgICAgICBzY29wZS5zZWxlY3REYXkgPSBmdW5jdGlvbihkYXlPYmope1xuICAgICAgICAgICAgICAgIGlmIChkYXlPYmouaXNPdXRzaWRlTW9udGgpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0TW9udGgoZGF5T2JqLmRhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKGluZGV4ID0gc2NvcGUuaXNBY3RpdmUoZGF5T2JqLmRhdGUsIHRydWUpKSAhPSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBBbHJlYWR5IHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlLm1vZGVsLnNwbGljZShpbmRleCwgMSk7IC8vIHJlbW92ZVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIE5vdCBzZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSAwLCBpbnNlcnRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2NvcGUubW9kZWxbaW5kZXhdID09IHVuZGVmaW5lZCB8fCBEYXRlLmNvbXBhcmUoRGF0ZS5wYXJzZShzY29wZS5tb2RlbFtpbmRleF0pLCBkYXlPYmouZGF0ZSkgPiAwKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5tb2RlbC5zcGxpY2UoaW5kZXgsIDAsIGRheU9iai5kYXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICAgICAgICAgICAgICB9IHdoaWxlIChpbnNlcnRlZCA9PSBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUuaXNBY3RpdmUgPSBmdW5jdGlvbihkYXRlLCByZXR1cm5JbmRleCl7XG4gICAgICAgICAgICAgICAgc2NvcGUubW9kZWwgPSBzY29wZS5tb2RlbCB8fCBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNjb3BlLm1vZGVsLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgICAgICAgICAgaWYgKERhdGUuZXF1YWxzKERhdGUucGFyc2Uoc2NvcGUubW9kZWxbaV0pLCBkYXRlKSl7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHJldHVybkluZGV4KSA/IGkgOiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiAocmV0dXJuSW5kZXgpID8gLTEgOiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLm5leHRNb250aCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgc2V0TW9udGgoYWN0aXZlRGF0ZS5hZGQoMSkubW9udGhzKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUucHJldk1vbnRoID0gZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICBzZXRNb250aChhY3RpdmVEYXRlLmFkZCgtMSkubW9udGhzKCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzY29wZS5jb250cm9sLnJlbW92ZURhdGUgPSBmdW5jdGlvbihkYXRlKXtcbiAgICAgICAgICAgICAgICBpZiAoKGluZGV4ID0gc2NvcGUuaXNBY3RpdmUoRGF0ZS5wYXJzZShkYXRlKSwgdHJ1ZSkpICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHNjb3BlLm1vZGVsLnNwbGljZShpbmRleCwgMSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmRpcmVjdGl2ZSgnZGlzY3Vzc2lvbicsIGZ1bmN0aW9uKCR0aW1lb3V0LCBDb21tZW50LCBDb25maXJtTW9kYWwpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlc3RyaWN0IDogJ0EnLFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9kaXNjdXNzaW9uLmh0bWwnLFxuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgICdldmVudCcgOiAnPSdcbiAgICAgICAgfSxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMpe1xuICAgICAgICAgICAgc2NvcGUuY29tbWVudCA9IHt9O1xuICAgICAgICAgICAgdmFyIHRocmVhZCA9IGFuZ3VsYXIuZWxlbWVudCgnLmNvbW1lbnQtdGhyZWFkJyk7XG4gICAgICAgICAgICAkdGltZW91dChmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIHRocmVhZC5zY3JvbGxUb3AodGhyZWFkLnByb3AoJ3Njcm9sbEhlaWdodCcpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2NvcGUuZGVsZXRlQ29tbWVudCA9IGZ1bmN0aW9uKGNvbW1lbnQpe1xuICAgICAgICAgICAgICAgIHZhciBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSA6ICdBcmUgeW91IHN1cmU/JyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlIHRoaXMgY29tbWVudD8nLFxuICAgICAgICAgICAgICAgICAgICBjb25maXJtVGV4dCA6ICdZZXMgLSBkZWxldGUnLFxuICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0IDogJ05vIC0gbmV2ZXJtaW5kJyxcbiAgICAgICAgICAgICAgICAgICAgaXNEZXN0cnVjdGl2ZSA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm0gOiBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgICAgICAgICAgQ29tbWVudC5yZW1vdmUoeyBpZCA6IHNjb3BlLmV2ZW50Ll9pZCAsIGNpZCA6IGNvbW1lbnQuX2lkIH0sIGZ1bmN0aW9uKGV2ZW50KXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5ldmVudCA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLnBvc3RDb21tZW50ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICBpZiAoc2NvcGUuY29tbWVudEZvcm0uJHZhbGlkKXtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvbW1lbnQgPSBuZXcgQ29tbWVudChzY29wZS5jb21tZW50KTtcbiAgICAgICAgICAgICAgICAgICAgY29tbWVudC4kc2F2ZSh7aWQ6c2NvcGUuZXZlbnQuX2lkfSwgZnVuY3Rpb24oZXZlbnQpe1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuZXZlbnQgPSBldmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmNvbW1lbnQgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHNjb3BlLmNvbW1lbnRGb3JtLiRzZXRQcmlzdGluZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZGlyZWN0aXZlKCdkcm9wZG93bicsIGZ1bmN0aW9uKCRkb2N1bWVudCl7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVzdHJpY3QgOiAnQScsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKXtcbiAgICAgICAgICAgIGVsLmFkZENsYXNzKCdkcm9wZG93bicpO1xuICAgICAgICAgICAgc2NvcGUub3BlbiA9IGZhbHNlO1xuXG4gICAgICAgICAgICB2YXIgY2xpY2tIYW5kbGVyID0gZnVuY3Rpb24oZXZlbnQpe1xuICAgICAgICAgICAgICAgIHZhciBpc0NsaWNrZWRFbGVtZW50Q2hpbGRPZlBvcHVwID0gZWwuZmluZChldmVudC50YXJnZXQpLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICAgICAgaWYgKGlzQ2xpY2tlZEVsZW1lbnRDaGlsZE9mUG9wdXApIHJldHVybjtcbiAgICAgICAgICAgICAgICBzY29wZS50b2dnbGUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2NvcGUudG9nZ2xlID0gZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICBzY29wZS5vcGVuID0gIXNjb3BlLm9wZW47XG4gICAgICAgICAgICAgICAgaWYgKHNjb3BlLm9wZW4pe1xuICAgICAgICAgICAgICAgICAgICBlbC5hZGRDbGFzcygnb3BlbicpO1xuICAgICAgICAgICAgICAgICAgICAkZG9jdW1lbnQuYmluZCgnY2xpY2snLCBjbGlja0hhbmRsZXIpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVsLnJlbW92ZUNsYXNzKCdvcGVuJyk7XG4gICAgICAgICAgICAgICAgICAgICRkb2N1bWVudC51bmJpbmQoJ2NsaWNrJywgY2xpY2tIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLnNlcnZpY2UoJ0Zvcm1IZWxwZXInLCBmdW5jdGlvbigpe1xuICAgIHRoaXMuZW1haWxSZWdleFN0cmluZyA9ICdeKFtcXFxcdy1cXFxcLl0rQChbXFxcXHctXStcXFxcLikrW1xcXFx3LV17Miw0fSk/JCc7XG4gICAgdGhpcy5lbWFpbFJlZ2V4ID0gbmV3IFJlZ0V4cCh0aGlzLmVtYWlsUmVnZXhTdHJpbmcpO1xuICAgIHRoaXMucHJldHR5RXJyb3IgPSBmdW5jdGlvbihlcnJvcnMsIGZpZWxkKXtcbiAgICAgICAgaWYgKGVycm9ycy5yZXF1aXJlZCkgcmV0dXJuIGZpZWxkICsgXCIgaXMgcmVxdWlyZWRcIjtcbiAgICAgICAgaWYgKGVycm9ycy5wYXR0ZXJuKSByZXR1cm4gZmllbGQgKyBcIiBpcyBpbnZhbGlkXCIgO1xuICAgICAgICBpZiAoZXJyb3JzLm1heGxlbmd0aCkgcmV0dXJuIGZpZWxkICsgXCIgaXMgdG9vIGxvbmdcIjtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn0pXG4uZGlyZWN0aXZlKCd1c2VyRm9ybScsIGZ1bmN0aW9uKEZvcm1IZWxwZXIpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgZXZlbnQgOiAnPScsXG4gICAgICAgICAgICBmb3JtIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9mb3JtL3VzZXJGb3JtLmh0bWwnLFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycykge1xuICAgICAgICAgICAgc2NvcGUuZXJyb3JzID0ge307XG5cbiAgICAgICAgICAgIHNjb3BlLmVtYWlsUmVnZXggPSBGb3JtSGVscGVyLmVtYWlsUmVnZXg7XG5cbiAgICAgICAgICAgIHNjb3BlLiR3YXRjaENvbGxlY3Rpb24oJ2Zvcm0ubmFtZS4kZXJyb3InLGZ1bmN0aW9uKGVycm9ycyl7XG4gICAgICAgICAgICAgICAgc2NvcGUuZXJyb3JzLm5hbWUgPSBGb3JtSGVscGVyLnByZXR0eUVycm9yKGVycm9ycywgXCJOYW1lXCIpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHNjb3BlLiR3YXRjaENvbGxlY3Rpb24oJ2Zvcm0uZW1haWwuJGVycm9yJyxmdW5jdGlvbihlcnJvcnMpe1xuICAgICAgICAgICAgICAgIHNjb3BlLmVycm9ycy5lbWFpbCA9IEZvcm1IZWxwZXIucHJldHR5RXJyb3IoZXJyb3JzLCBcIkVtYWlsXCIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59KVxuLmRpcmVjdGl2ZSgnZXZlbnRGb3JtJywgZnVuY3Rpb24oRm9ybUhlbHBlcil7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICBldmVudCA6ICc9JyxcbiAgICAgICAgICAgIGZvcm0gOiAnPSdcbiAgICAgICAgfSxcbiAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2Zvcm0vZXZlbnRGb3JtLmh0bWwnLFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycykge1xuICAgICAgICAgICAgc2NvcGUuZXJyb3JzID0ge307XG5cbiAgICAgICAgICAgIHNjb3BlLiR3YXRjaENvbGxlY3Rpb24oJ2Zvcm0udGl0bGUuJGVycm9yJyxmdW5jdGlvbihlcnJvcnMpe1xuICAgICAgICAgICAgICAgIHNjb3BlLmVycm9ycy50aXRsZSA9IEZvcm1IZWxwZXIucHJldHR5RXJyb3IoZXJyb3JzLCBcIlRpdGxlXCIpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHNjb3BlLiR3YXRjaENvbGxlY3Rpb24oJ2Zvcm0ubG9jYXRpb24uJGVycm9yJyxmdW5jdGlvbihlcnJvcnMpe1xuICAgICAgICAgICAgICAgIHNjb3BlLmVycm9ycy5sb2NhdGlvbiA9IEZvcm1IZWxwZXIucHJldHR5RXJyb3IoZXJyb3JzLCBcIkxvY2F0aW9uXCIpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgfVxuICAgIH1cbn0pXG4uZGlyZWN0aXZlKCdkYXRlRm9ybScsIGZ1bmN0aW9uKCl7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICBldmVudCA6ICc9JyxcbiAgICAgICAgICAgIGZvcm0gOiAnPSdcbiAgICAgICAgfSxcbiAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2Zvcm0vZGF0ZUZvcm0uaHRtbCdcbiAgICB9XG59KVxuLmRpcmVjdGl2ZSgncGFydGljaXBhbnRzRm9ybScsIGZ1bmN0aW9uKEZvcm1IZWxwZXIpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgZXZlbnQgOiAnPScsXG4gICAgICAgICAgICBmb3JtIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9mb3JtL3BhcnRpY2lwYW50c0Zvcm0uaHRtbCcsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKXtcbiAgICAgICAgICAgIHNjb3BlLmVtYWlsUmVnZXggPSBGb3JtSGVscGVyLmVtYWlsUmVnZXhTdHJpbmc7XG4gICAgICAgIH1cbiAgICB9XG59KVxuLmRpcmVjdGl2ZSgnc2V0dGluZ3NGb3JtJywgZnVuY3Rpb24oRXZlbnQsIENvbmZpcm1Nb2RhbCl7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICBldmVudCA6ICc9JyxcbiAgICAgICAgICAgIGZvcm0gOiAnPSdcbiAgICAgICAgfSxcbiAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2Zvcm0vc2V0dGluZ3NGb3JtLmh0bWwnLFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycyl7XG4gICAgICAgICAgICBzY29wZS5kZWxldGVFdmVudCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgaWYgKHNjb3BlLmRlbGV0ZVJlcXVlc3RTZW50KSByZXR1cm47XG4gICAgICAgICAgICAgICAgRXZlbnQuZGVsZXRlKHsnaWQnIDogc2NvcGUuZXZlbnQuX2lkfSwgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgc2NvcGUuZGVsZXRlUmVxdWVzdFNlbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlIDogJ0RlbGV0ZSBSZXF1ZXN0IFNlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdBbiBlbWFpbCBoYXMgYmVlbiBzZW50IHRvIHRoZSBjcmVhdG9yIG9mIHRoaXMgZXZlbnQgd2l0aCBpbnN0cnVjdGlvbnMgdG8gZGVsZXRlIGl0LicsXG4gICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0IDogJ09LJ1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0pXG4uZGlyZWN0aXZlKCdzd2l0Y2hUb2dnbGUnLCBmdW5jdGlvbigpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgbW9kZWwgOiAnPW5nTW9kZWwnXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmUgOiAnbmdNb2RlbCcsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzLCBuZ01vZGVsKSB7XG4gICAgICAgICAgICBlbC5hZGRDbGFzcygnc3dpdGNoLXRvZ2dsZScpO1xuICAgICAgICAgICAgdmFyIHNldENsYXNzID0gZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICBpZiAoc2NvcGUubW9kZWwgXiB0eXBlb2YoYXR0cnMuaW52ZXJ0KSAhPT0gJ3VuZGVmaW5lZCcpe1xuICAgICAgICAgICAgICAgICAgICBlbC5hZGRDbGFzcygnYWN0aXZlJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZWwucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLiR3YXRjaCgnbW9kZWwnLCBzZXRDbGFzcyk7XG4gICAgICAgICAgICBlbC5iaW5kKCdjbGljaycsIGZ1bmN0aW9uKGUpe1xuICAgICAgICAgICAgICAgIHNjb3BlLm1vZGVsID0gIXNjb3BlLm1vZGVsO1xuICAgICAgICAgICAgICAgIG5nTW9kZWwuJHNldFZpZXdWYWx1ZShzY29wZS5tb2RlbCwgZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn0pXG4uZGlyZWN0aXZlKCd0aW1lRm9ybScsIGZ1bmN0aW9uKERhdGVQaWNrZXJTZXJ2aWNlKXtcbiAgICByZXR1cm4ge1xuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIGV2ZW50IDogJz0nLFxuICAgICAgICAgICAgZm9ybSA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZm9ybS90aW1lRm9ybS5odG1sJyxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMpe1xuICAgICAgICAgICAgdmFyIGluaXQgPSBmYWxzZTtcbiAgICAgICAgICAgIHZhciBkYXRlU2VydmljZTtcbiAgICAgICAgICAgIHZhciBkZXJlZ2lzdGVyID0gc2NvcGUuJHdhdGNoKCdldmVudC5kYXRlcycsIGZ1bmN0aW9uKHZhbHVlKXtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgJiYgIWluaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVyZWdpc3RlcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbml0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBkYXRlU2VydmljZSA9IG5ldyBEYXRlUGlja2VyU2VydmljZShzY29wZS5ldmVudC5kYXRlcyk7XG4gICAgICAgICAgICAgICAgc2NvcGUudW5zZXREYXRlID0gZnVuY3Rpb24oZGF0ZSl7XG4gICAgICAgICAgICAgICAgICAgIGRhdGVTZXJ2aWNlLnJlbW92ZURhdGUoZGF0ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59KVxuLmRpcmVjdGl2ZSgndGltZVBpY2tlcicsIGZ1bmN0aW9uKCR0aW1lb3V0KXtcbiAgICByZXR1cm4ge1xuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIG1vZGVsIDogJz1uZ01vZGVsJ1xuICAgICAgICB9LFxuICAgICAgICByZXF1aXJlIDogJ25nTW9kZWwnLFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycywgbmdNb2RlbCl7XG4gICAgICAgICAgICBuZ01vZGVsLiR2aWV3Q2hhbmdlTGlzdGVuZXJzLnB1c2goZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICBzY29wZS5tb2RlbCA9IG5nTW9kZWwuJG1vZGVsVmFsdWU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbmdNb2RlbC4kcGFyc2Vycy5wdXNoKGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZS5wYXJzZSh2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbmdNb2RlbC4kdmFsaWRhdG9ycy50aW1lID0gZnVuY3Rpb24obW9kZWxWYWx1ZSwgdmlld1ZhbHVlKXtcbiAgICAgICAgICAgICAgICBpZiAobmdNb2RlbC4kaXNFbXB0eShtb2RlbFZhbHVlKSkgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgdmFyIHRpbWUgPSBEYXRlLnBhcnNlKG1vZGVsVmFsdWUpO1xuICAgICAgICAgICAgICAgIGlmICh0aW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIG5nTW9kZWwuJHNldFZpZXdWYWx1ZSh0aW1lLnRvU3RyaW5nKFwiaGg6bW0gdHRcIikpO1xuICAgICAgICAgICAgICAgICAgICBuZ01vZGVsLiRyZW5kZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZGlyZWN0aXZlKCdwb2xsJywgZnVuY3Rpb24oJHRpbWVvdXQsIFBhcnRpY2lwYW50LCBDb25maXJtTW9kYWwpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlc3RyaWN0IDogJ0EnLFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9wb2xsLmh0bWwnLFxuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgICdldmVudCcgOiAnPSdcbiAgICAgICAgfSxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMpe1xuICAgICAgICAgICAgc2NvcGUuZGVmYXVsdHMgPSBbXTtcbiAgICAgICAgICAgIHNjb3BlLnBhcnRpY2lwYW50ID0ge307XG4gICAgICAgICAgICB2YXIgZGF0ZXNDb3VudCA9IFtdO1xuICAgICAgICAgICAgdmFyIHVuYmluZExpc3RlbmVyO1xuICAgICAgICAgICAgc2NvcGUuZXZlbnQuJHByb21pc2UudGhlbihmdW5jdGlvbihldmVudCl7XG4gICAgICAgICAgICAgICAgdmFyIGV4YW1wbGVzTmFtZXMgPSBbJ0pvaG4gRXhhbXBsZScsICdKYW5lIFNwZWNpbWVuJywnTWFyayBJbnN0YW5jZScsICdNYXJ5IENhc2UnXTtcbiAgICAgICAgICAgICAgICB2YXIgZXhhbXBsZXMgPSBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV4YW1wbGVzTmFtZXMubGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgICAgICAgICB2YXIgZXhhbXBsZSA9IHsgbmFtZSA6IGV4YW1wbGVzTmFtZXNbaV0gfTtcbiAgICAgICAgICAgICAgICAgICAgZXhhbXBsZS5kYXRlcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8ICBldmVudC5kYXRlcy5sZW5ndGg7IGorKyl7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYW5zd2VyID0gTWF0aC5yYW5kb20oKTwuNTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGUuZGF0ZXNbal0gPSBhbnN3ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZXhhbXBsZXMucHVzaChleGFtcGxlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2NvcGUuZXhhbXBsZXMgPSBleGFtcGxlcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBzY29wZS5kZWxldGUgPSBmdW5jdGlvbihwYXJ0aWNpcGFudCl7XG4gICAgICAgICAgICAgICAgdmFyIG1vZGFsID0gbmV3IENvbmZpcm1Nb2RhbCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlIDogJ0RlbGV0ZSAnICsgcGFydGljaXBhbnQubmFtZSArICc/JyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlICcrcGFydGljaXBhbnQubmFtZSsnIGZyb20gdGhlIHBvbGw/JyxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlybVRleHQgOiAnWWVzIC0gZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dCA6ICdObyAtIG5ldmVybWluZCcsXG4gICAgICAgICAgICAgICAgICAgIGlzRGVzdHJ1Y3RpdmUgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBjb25maXJtIDogZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRpY2lwYW50LnJlbW92ZSh7IGlkIDogc2NvcGUuZXZlbnQuX2lkICwgcGlkIDogcGFydGljaXBhbnQuX2lkIH0sIGZ1bmN0aW9uKGV2ZW50KXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5ldmVudCA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLmlzVG9wRGF0ZSA9IGZ1bmN0aW9uKGluZGV4KXtcbiAgICAgICAgICAgICAgICB2YXIgY291bnQgPSBkYXRlc0NvdW50W2luZGV4XTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGVzQ291bnQubGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0ZXNDb3VudFtpXSA+IGNvdW50KSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUuc2VsZWN0ZWREYXRlID0gZnVuY3Rpb24oaW5kZXgpe1xuICAgICAgICAgICAgICAgIGRhdGVzQ291bnRbaW5kZXhdID0gMDtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNjb3BlLmV2ZW50LnBhcnRpY2lwYW50cy5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzY29wZS5ldmVudC5wYXJ0aWNpcGFudHNbaV0udm90ZXNbaW5kZXhdKSBkYXRlc0NvdW50W2luZGV4XSsrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZXNDb3VudFtpbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS51cGRhdGUgPSBmdW5jdGlvbihwYXJ0aWNpcGFudCl7XG4gICAgICAgICAgICAgICAgUGFydGljaXBhbnQudXBkYXRlKHtcbiAgICAgICAgICAgICAgICAgICAgaWQgOiBzY29wZS5ldmVudC5faWQsXG4gICAgICAgICAgICAgICAgICAgIHBpZCA6IHBhcnRpY2lwYW50Ll9pZFxuICAgICAgICAgICAgICAgIH0sIHBhcnRpY2lwYW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLmVkaXQgPSBmdW5jdGlvbihwYXJ0aWNpcGFudCl7XG4gICAgICAgICAgICAgICAgc2NvcGUuZGVmYXVsdHNbc2NvcGUuZXZlbnQucGFydGljaXBhbnRzLmluZGV4T2YocGFydGljaXBhbnQpXSA9IGFuZ3VsYXIuY29weShwYXJ0aWNpcGFudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS5jYW5jZWwgPSBmdW5jdGlvbihpbmRleCl7XG4gICAgICAgICAgICAgICAgc2NvcGUuZXZlbnQucGFydGljaXBhbnRzW2luZGV4XSA9IHNjb3BlLmRlZmF1bHRzW2luZGV4XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLnNhdmUgPSBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIGlmIChzY29wZS5mb3JtbmV3LiR2YWxpZCl7XG4gICAgICAgICAgICAgICAgICAgIHZhciBwYXJ0aWNpcGFudCA9IG5ldyBQYXJ0aWNpcGFudChzY29wZS5wYXJ0aWNpcGFudCk7XG4gICAgICAgICAgICAgICAgICAgIHBhcnRpY2lwYW50LiRzYXZlKHtpZDpzY29wZS5ldmVudC5faWR9LCBmdW5jdGlvbihldmVudCl7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5ldmVudCA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUucGFydGljaXBhbnQgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHNjb3BlLmZvcm1uZXcuJHNldFByaXN0aW5lKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5maWx0ZXIoJ2VsYXBzZWQnLCBmdW5jdGlvbigkZmlsdGVyKXtcbiAgICByZXR1cm4gZnVuY3Rpb24oZGF0ZSl7XG4gICAgICAgIGlmICghZGF0ZSkgcmV0dXJuO1xuICAgICAgICB2YXIgdGltZSA9IERhdGUucGFyc2UoZGF0ZSksXG4gICAgICAgICAgICB0aW1lTm93ID0gbmV3IERhdGUoKS5nZXRUaW1lKCksXG4gICAgICAgICAgICBkaWZmZXJlbmNlID0gdGltZU5vdyAtIHRpbWUsXG4gICAgICAgICAgICBzZWNvbmRzID0gTWF0aC5mbG9vcihkaWZmZXJlbmNlIC8gMTAwMCksXG4gICAgICAgICAgICBtaW51dGVzID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gNjApLFxuICAgICAgICAgICAgaG91cnMgPSBNYXRoLmZsb29yKG1pbnV0ZXMgLyA2MCksXG4gICAgICAgICAgICBkYXlzID0gTWF0aC5mbG9vcihob3VycyAvIDI0KTtcbiAgICAgICAgaWYgKGRheXMgPiAzMCkge1xuICAgICAgICAgICAgcmV0dXJuICdvbiAnICsgJGZpbHRlcignZGF0ZScpKGRhdGUsICdNTU1NIGQnKTtcbiAgICAgICAgfSBlbHNlIGlmIChkYXlzID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuIGRheXMgKyBcIiBkYXlzIGFnb1wiO1xuICAgICAgICB9IGVsc2UgaWYgKGRheXMgPT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiMSBkYXkgYWdvXCJcbiAgICAgICAgfSBlbHNlIGlmIChob3VycyA+IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBob3VycyArIFwiIGhvdXJzIGFnb1wiO1xuICAgICAgICB9IGVsc2UgaWYgKGhvdXJzID09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBcImFuIGhvdXIgYWdvXCI7XG4gICAgICAgIH0gZWxzZSBpZiAobWludXRlcyA+IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBtaW51dGVzICsgXCIgbWludXRlcyBhZ29cIjtcbiAgICAgICAgfSBlbHNlIGlmIChtaW51dGVzID09IDEpe1xuICAgICAgICAgICAgcmV0dXJuIFwiYSBtaW51dGUgYWdvXCI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gXCJhIGZldyBzZWNvbmRzIGFnb1wiO1xuICAgICAgICB9XG4gICAgfVxufSlcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmZhY3RvcnkoJ0NvbmZpcm1Nb2RhbCcsIGZ1bmN0aW9uKGJ0Zk1vZGFsKXtcblxuICAgIHJldHVybiBmdW5jdGlvbihjb25maWcpe1xuICAgICAgICB2YXIgbW9kYWw7XG4gICAgICAgIG1vZGFsID0gYnRmTW9kYWwoe1xuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2NvbmZpcm1tb2RhbC5odG1sJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXJBcyA6ICdtb2RhbCcsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICB0aGlzLnRpdGxlID0gY29uZmlnLnRpdGxlXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maXJtID0gKGNvbmZpZy5jb25maXJtKSA/IGZ1bmN0aW9uKCl7Y29uZmlnLmNvbmZpcm0oKTsgbW9kYWwuZGVhY3RpdmF0ZSgpfSA6IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FuY2VsID0gbW9kYWwuZGVhY3RpdmF0ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm1UZXh0ID0gY29uZmlnLmNvbmZpcm1UZXh0IHx8ICdDb25maXJtJztcbiAgICAgICAgICAgICAgICB0aGlzLmNhbmNlbFRleHQgPSBjb25maWcuY2FuY2VsVGV4dCB8fCAnQ2FuY2VsJztcbiAgICAgICAgICAgICAgICB0aGlzLmlzRGVzdHJ1Y3RpdmUgPSBjb25maWcuaXNEZXN0cnVjdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIG1vZGFsLmFjdGl2YXRlKCk7XG4gICAgICAgIFxuICAgICAgICB0aGlzLmRlc3Ryb3kgPSBmdW5jdGlvbigpe1xuICAgICAgICAgICAgbW9kYWwuZGVhY3RpdmF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5mYWN0b3J5KCdOb3RpZmljYXRpb24nLCBmdW5jdGlvbigkdGltZW91dCwgYnRmTW9kYWwpe1xuICAgIHJldHVybiBmdW5jdGlvbihjb25maWcpe1xuICAgICAgICB2YXIgbW9kYWw7XG4gICAgICAgIG1vZGFsID0gYnRmTW9kYWwoe1xuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL25vdGlmaWNhdGlvbi5odG1sJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXJBcyA6ICdub3RpZmljYXRpb24nLFxuICAgICAgICAgICAgY29udHJvbGxlciA6IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgdGhpcy50aXRsZSA9IGNvbmZpZy50aXRsZVxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZSA9IGNvbmZpZy5tZXNzYWdlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UgPSBtb2RhbC5kZWFjdGl2YXRlO1xuICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9IGNvbmZpZy50eXBlO1xuICAgICAgICAgICAgICAgIHZhciB0aW1lb3V0ID0gY29uZmlnLnRpbWVvdXQgfHwgNTAwMDtcbiAgICAgICAgICAgICAgICAkdGltZW91dChtb2RhbC5kZWFjdGl2YXRlLCB0aW1lb3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIG1vZGFsLmFjdGl2YXRlKCk7XG5cbiAgICAgICAgdGhpcy5kZXN0cm95ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIG1vZGFsLmRlYWN0aXZhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uanMiLCJ0ZW1wbGF0ZXMuanMiLCJjb250cm9sbGVycy9hYm91dC5jb250cm9sbGVyLmpzIiwiY29udHJvbGxlcnMvYWNjb3VudC5jb250cm9sbGVyLmpzIiwiY29udHJvbGxlcnMvZGVsZXRpb24uY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL2VkaXRldmVudC5jb250cm9sbGVyLmpzIiwiY29udHJvbGxlcnMvZXZlbnQuY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL2hvbWUuY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL25hdmlnYXRpb24uY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL25ld2V2ZW50LmNvbnRyb2xsZXIuanMiLCJjb250cm9sbGVycy92ZXJpZmljYXRpb24uY29udHJvbGxlci5qcyIsImRpcmVjdGl2ZXMvYmFja0ltZy5kaXJlY3RpdmUuanMiLCJkaXJlY3RpdmVzL2RhdGVwaWNrZXIuZGlyZWN0aXZlLmpzIiwiZGlyZWN0aXZlcy9kaXNjdXNzaW9uLmRpcmVjdGl2ZS5qcyIsImRpcmVjdGl2ZXMvZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwiZGlyZWN0aXZlcy9mb3JtLmRpcmVjdGl2ZS5qcyIsImRpcmVjdGl2ZXMvcG9sbC5kaXJlY3RpdmUuanMiLCJmaWx0ZXJzL2VsYXBzZWQuZmlsdGVyLmpzIiwic2VydmljZXMvbW9kYWwuc2VydmljZS5qcyIsInNlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFFBQUEsT0FBQSxVQUFBLFlBQUEsYUFBQSxlQUFBLGNBQUEsWUFBQSxjQUNBLFFBQUEsaUJBQUEscUJBQUEsb0JBQUEsU0FBQSxFQUFBLEVBQUEsR0FDQSxFQUFBLFdBQUEsR0FDQSxFQUFBLFVBQUEsYUFDQSxFQUNBLE1BQUEsU0FDQSxJQUFBLElBQ0EsWUFBQSxzQkFDQSxXQUFBLGFBRUEsTUFBQSxZQUNBLElBQUEsT0FDQSxZQUFBLGlDQUNBLFdB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LFlBQUEsV0FDQSxFQUFBLE1BQUEsUUFBQSxLQUFBLEVBQUEsU0FFQSxFQUFBLFVBQUEsV0FDQSxNQUFBLE1BQUEsVUFBQSxFQUFBLFNBQUEsS0FBQSxVQUFBLEVBQUEsUUFFQSxFQUFBLGVBQUEsV0FDQSxNQUFBLE1BQUEsVUFBQSxFQUFBLE9BQUEsUUFBQSxLQUFBLFVBQUEsRUFBQSxNQUFBLFFBRUEsRUFBQSxPQUFBLFdBQ0EsR0FBQSxFQUFBLEtBQUEsT0FDQSxHQUFBLEVBQUEsaUJBQ0EsQ0FBQSxHQUFBLElBQ0EsTUFBQSxXQUNBLFFBQUEsbUdBQ0EsWUFBQSxnQkFDQSxlQUFBLEVBQ0EsUUFBQSxXQUNBLEVBQUEsTUFBQSxnQkFDQSxXQUtBLFNBR0EsQ0FBQSxHQUFBLElBQ0EsTUFBQSxjQUNBLFFBQUEsK0RBQ0EsS0FBQSxXQUlBLElBQUEsR0FBQSxXQUNBLEVBQUEsUUFDQSxHQUFBLEdBQ0EsRUFBQSxNQUNBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsZ0JBQ0EsUUFBQSw2Q0FDQSxLQUFBLFdBRUEsR0FBQSxPQUFBLFFBQUEsS0FBQSxFQUFBLGFDckRBLFFBQUEsT0FBQSxVQUNBLFdBQUEsYUFBQSxTQUFBLFFBQUEsU0FBQSxRQUFBLFFBQUEsZUFBQSxTQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxHQUNBLEdBQUEsR0FBQSxFQUFBLE9BQUEsRUFFQSxHQUFBLE1BQUEsRUFBQSxLQUFBLEdBQUEsR0FBQSxXQUVBLEVBQUEsSUFBQSxFQUFBLE1BQUEsT0FFQSxFQUFBLFNBQUEsRUFBQSxLQUFBLFNBQ0EsR0FBQSxFQUFBLE1BQUEsTUFFQSxVQUFBLEtBRUEsV0FDQSxFQUFBLEdBQUEsY0FHQSxFQUFBLFVBQUEsV0FDQSxFQUFBLE1BQUEsVUFBQSxFQUNBLEVBQUEsUUFDQSxHQUFBLEdBQ0EsRUFBQSxNQUNBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsYUFDQSxRQUFBLDZDQUNBLFdBQUEsVUFLQSxFQUFBLFdBQUEsV0FDQSxFQUFBLE1BQUEsVUFBQSxFQUNBLEVBQUEsUUFDQSxHQUFBLEdBQ0EsRUFBQSxNQUNBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsZUFDQSxRQUFBLHNEQUNBLFdBQUEsVUFLQSxFQUFBLFVBQUEsV0FDQSxFQUFBLEdBQUEsYUFBQSxHQUFBLEVBQUEsTUFBQSxVQzlDQSxRQUFBLE9BQUEsVUFDQSxXQUFBLFlBQUEsU0FBQSxTQUFBLFFBQUEsU0FBQSxFQUFBLEVBQUEsR0FDQSxFQUFBLElBQUEscUNBRUEsRUFBQSxTQUFBLFdBQ0EsRUFBQSxHQUFBLGdCQ0xBLFFBQUEsT0FBQSxVQUNBLFdBQUEsa0JBQUEsU0FBQSxZQUFBLFNBQUEsRUFBQSxHQUNBLEVBQUEsU0FBQSxTQUFBLEdBQ0EsTUFBQSxHQUFBLFFBQUEsR0FDQSxHQUVBLE1DTkEsUUFBQSxPQUFBLFVBQ0EsV0FBQSxnQkFBQSxTQUFBLFFBQUEsU0FBQSxRQUFBLGVBQUEsZUFBQSxTQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsR0FFQSxFQUFBLE1BQUEsdUJBQ0EsRUFBQSxZQUFBLDZGQUNBLEVBQUEsUUFFQSxJQUFBLElBQ0EsbUJBQ0Esb0JBQ0Esa0JBR0EsR0FBQSxLQUFBLENBRUEsSUFBQSxHQUFBLFNBQUEsR0FDQSxFQUFBLEtBQUEsRUFDQSxFQUFBLEdBQUEsRUFBQSxFQUFBLElBR0EsR0FBQSxFQUFBLE1BR0EsRUFBQSxPQUFBLFdBQ0EsRUFBQSxLQUFBLFFBQUEsRUFBQSxNQUFBLEVBQUEsT0FDQSxFQUFBLEtBQUEsYUFBQSxFQUFBLE9BQ0EsUUFBQSxTQUFBLEdBQ0EsRUFBQSxNQUFBLEVBQ0EsRUFBQSxTQUFBLEVBQUEsS0FBQSxTQUNBLEdBQUEsRUFBQSxNQUFBLE1BRUEsVUFBQSxJQUVBLEVBQUEsT0FDQSxFQUFBLEdBQUEsc0JBRUEsTUFBQSxXQUNBLEdBQUEsSUFDQSxNQUFBLFNBQ0EsUUFBQSxrRUFDQSxXQUFBLFNBR0EsRUFBQSxLQUFBLFNBQ0EsRUFBQSxLQUFBLGVBQ0EsRUFBQSxhQUlBLEVBQUEsU0FBQSxXQUNBLEVBQUEsRUFBQSxLQUFBLElBR0EsRUFBQSxTQUFBLFdBQ0EsRUFBQSxFQUFBLEtBQUEsT0N0REEsUUFBQSxPQUFBLFVBQ0EsV0FBQSxvQkFBQSxRQUFBLGVBQUEsU0FBQSxTQUFBLEVBQUEsRUFBQSxHQUNBLEVBQUEsUUFBQSxHQUFBLEVBQUEsT0FBQSxHQUFBLEtBQUEsRUFBQSxPQUFBLE1BQUEsV0FDQSxHQUFBLElBQ0EsTUFBQSxpQkFDQSxRQUFBLG1HQUNBLEtBQUEsVUFDQSxRQUFBLE9BRUEsV0FDQSxHQUFBLElBQ0EsTUFBQSxzQkFDQSxRQUFBLHNDQUNBLEtBQUE7R0FHQSxFQUFBLEdBQUEsU0FBQSxHQUFBLEVBQUEsT0FBQSxRQ2hCQSxRQUFBLE9BQUEsVUFDQSxVQUFBLFVBQUEsV0FDQSxNQUFBLFVBQUEsRUFBQSxFQUFBLEdBQ0EsR0FBQSxHQUFBLEVBQUEsT0FDQSxHQUFBLEtBQ0EsbUJBQUEsZUFBQSxFQUFBLGFDTEEsUUFBQSxPQUFBLFVBQ0EsVUFBQSxhQUFBLFdBQ0EsT0FDQSxTQUFBLElBQ0EsUUFBQSxVQUNBLE9BQ0EsTUFBQSxXQUNBLFFBQUEsS0FFQSxZQUFBLHVDQUNBLEtBQUEsU0FBQSxFQUFBLEVBQUEsRUFBQSxHQUNBLEVBQUEsTUFBQSxFQUFBLFVBQ0EsRUFBQSxRQUFBLEVBQUEsWUFFQSxFQUFBLGlCQUFBLFFBQUEsU0FBQSxHQUNBLEVBQUEsY0FBQSxHQUNBLEVBQUEsY0FHQSxFQUFBLFlBQUEsU0FBQSxTQUFBLEdBQ0EsTUFBQSxJQUFBLEdBQUEsRUFBQSxRQUdBLEdBRkEsRUFLQSxJQUFBLEdBQUEsS0FBQSxRQUFBLEVBQUEsRUFBQSxRQUNBLEVBQUEsU0FBQSxHQUNBLEVBQUEsQ0FDQSxJQUFBLEdBQUEsRUFBQSxRQUFBLHdCQUNBLEVBQUEsRUFBQSxRQUNBLEdBQUEsSUFBQSxFQUFBLEdBQUEsT0FDQSxFQUFBLE1BQUEsRUFBQSxTQUFBLFlBRUEsS0FBQSxHQURBLEdBQUEsR0FBQSxPQUFBLElBQ0EsRUFBQSxFQUFBLEVBQUEsRUFBQSxPQUFBLElBQUEsQ0FDQSxHQUFBLEdBQUEsRUFBQSxRQUFBLElBQUEsR0FBQSxNQUNBLEdBQUEsSUFDQSxLQUFBLEVBQ0EsZUFBQSxFQUFBLFlBQUEsRUFBQSxZQUFBLEdBQUEsRUFDQSxRQUFBLEtBQUEsT0FBQSxFQUFBLElBR0EsRUFBQSxLQUFBLEVBRUEsR0FBQSxHQUNBLEVBQUEsVUFBQSxTQUFBLEdBSUEsR0FIQSxFQUFBLGdCQUNBLEVBQUEsRUFBQSxNQUVBLEtBQUEsRUFBQSxFQUFBLFNBQUEsRUFBQSxNQUFBLElBRUEsRUFBQSxNQUFBLE9BQUEsRUFBQSxPQUNBLENBRUEsR0FBQSxHQUFBLEVBQUEsR0FBQSxDQUNBLElBQ0EsUUFBQSxFQUFBLE1BQUEsSUFBQSxLQUFBLFFBQUEsS0FBQSxNQUFBLEVBQUEsTUFBQSxJQUFBLEVBQUEsTUFBQSxLQUNBLEVBQUEsTUFBQSxPQUFBLEVBQUEsRUFBQSxFQUFBLE1BQ0EsR0FBQSxHQUVBLFVBQ0EsR0FBQSxLQUdBLEVBQUEsU0FBQSxTQUFBLEVBQUEsR0FDQSxFQUFBLE1BQUEsRUFBQSxTQUNBLEtBQUEsR0FBQSxHQUFBLEVBQUEsRUFBQSxFQUFBLE1BQUEsT0FBQSxJQUNBLEdBQUEsS0FBQSxPQUFBLEtBQUEsTUFBQSxFQUFBLE1BQUEsSUFBQSxHQUNBLE1BQUEsR0FBQSxHQUFBLENBR0EsT0FBQSxHQUFBLElBQUEsR0FFQSxFQUFBLFVBQUEsV0FDQSxFQUFBLEVBQUEsSUFBQSxHQUFBLFdBRUEsRUFBQSxVQUFBLFdBQ0EsRUFBQSxFQUFBLElBQUEsSUFBQSxXQUdBLEVBQUEsUUFBQSxXQUFBLFNBQUEsR0FDQSxLQUFBLE1BQUEsRUFBQSxTQUFBLEtBQUEsTUFBQSxJQUFBLEtBQ0EsRUFBQSxNQUFBLE9BQUEsTUFBQSxRQ2xGQSxRQUFBLE9BQUEsVUFDQSxVQUFBLGNBQUEsV0FBQSxVQUFBLGVBQUEsU0FBQSxFQUFBLEVBQUEsR0FDQSxPQUNBLFNBQUEsSUFDQSxZQUFBLHVDQUNBLE9BQ0EsTUFBQSxLQUVBLEtBQUEsU0FBQSxHQUNBLEVBQUEsVUFDQSxJQUFBLEdBQUEsUUFBQSxRQUFBLGtCQUNBLEdBQUEsV0FDQSxFQUFBLFVBQUEsRUFBQSxLQUFBLG1CQUVBLEVBQUEsY0FBQSxTQUFBLEdBQ0EsR0FBQSxJQUNBLE1BQUEsZ0JBQ0EsUUFBQSxnREFDQSxZQUFBLGVBQ0EsV0FBQSxpQkFDQSxlQUFBLEVBQ0EsUUFBQSxXQUNBLEVBQUEsUUFBQSxHQUFBLEVBQUEsTUFBQSxJQUFBLElBQUEsRUFBQSxLQUFBLFNBQUEsR0FDQSxFQUFBLE1BQUEsUUFLQSxFQUFBLFlBQUEsV0FDQSxHQUFBLEVBQUEsWUFBQSxPQUFBLENBQ0EsR0FBQSxHQUFBLEdBQUEsR0FBQSxFQUFBLFFBQ0EsR0FBQSxPQUFBLEdBQUEsRUFBQSxNQUFBLEtBQUEsU0FBQSxHQUNBLEVBQUEsTUFBQSxFQUNBLEVBQUEsYUFFQSxFQUFBLFlBQUEsc0JDbkNBLFFBQUEsT0FBQSxVQUNBLFVBQUEsWUFBQSxZQUFBLFNBQUEsR0FDQSxPQUNBLFNBQUEsSUFDQSxLQUFBLFNBQUEsRUFBQSxHQUNBLEVBQUEsU0FBQSxZQUNBLEVBQUEsTUFBQSxDQUVBLElBQUEsR0FBQSxTQUFBLEdBQ0EsR0FBQSxHQUFBLEVBQUEsS0FBQSxFQUFBLFFBQUEsT0FBQSxDQUNBLElBQ0EsRUFBQSxTQUdBLEdBQUEsT0FBQSxXQUNBLEVBQUEsTUFBQSxFQUFBLEtBQ0EsRUFBQSxNQUNBLEVBQUEsU0FBQSxRQUNBLEVBQUEsS0FBQSxRQUFBLEtBRUEsRUFBQSxZQUFBLFFBQ0EsRUFBQSxPQUFBLFFBQUEsVUNyQkEsUUFBQSxPQUFBLFVBQ0EsUUFBQSxhQUFBLFdBQ0EsS0FBQSxpQkFBQSwyQ0FDQSxLQUFBLFdBQUEsR0FBQSxRQUFBLEtBQUEsa0JBQ0EsS0FBQSxZQUFBLFNBQUEsRUFBQSxHQUNBLE1BQUEsR0FBQSxTQUFBLEVBQUEsZUFDQSxFQUFBLFFBQUEsRUFBQSxjQUNBLEVBQUEsVUFBQSxFQUFBLGdCQUNBLEtBR0EsVUFBQSxZQUFBLGFBQUEsU0FBQSxHQUNBLE9BQ0EsT0FDQSxNQUFBLElBQ0EsS0FBQSxLQUVBLFlBQUEsK0JBQ0EsS0FBQSxTQUFBLEdBQ0EsRUFBQSxVQUVBLEVBQUEsV0FBQSxFQUFBLFdBRUEsRUFBQSxpQkFBQSxtQkFBQSxTQUFBLEdBQ0EsRUFBQSxPQUFBLEtBQUEsRUFBQSxZQUFBLEVBQUEsVUFHQSxFQUFBLGlCQUFBLG9CQUFBLFNBQUEsR0FDQSxFQUFBLE9BQUEsTUFBQSxFQUFBLFlBQUEsRUFBQSxnQkFLQSxVQUFBLGFBQUEsYUFBQSxTQUFBLEdBQ0EsT0FDQSxPQUNBLE1BQUEsSUFDQSxLQUFBLEtBRUEsWUFBQSxnQ0FDQSxLQUFBLFNBQUEsR0FDQSxFQUFBLFVBRUEsRUFBQSxpQkFBQSxvQkFBQSxTQUFBLEdBQ0EsRUFBQSxPQUFBLE1BQUEsRUFBQSxZQUFBLEVBQUEsV0FHQSxFQUFBLGlCQUFBLHVCQUFBLFNBQUEsR0FDQSxFQUFBLE9BQUEsU0FBQSxFQUFBLFlBQUEsRUFBQSxtQkFNQSxVQUFBLFdBQUEsV0FDQSxPQUNBLE9BQ0EsTUFBQSxJQUNBLEtBQUEsS0FFQSxZQUFBLGtDQUdBLFVBQUEsb0JBQUEsYUFBQSxTQUFBLEdBQ0EsT0FDQSxPQUNBLE1BQUEsSUFDQSxLQUFBLEtBRUEsWUFBQSx1Q0FDQSxLQUFBLFNBQUEsR0FDQSxFQUFBLFdBQUEsRUFBQSxzQkFJQSxVQUFBLGdCQUFBLFFBQUEsZUFBQSxTQUFBLEVBQUEsR0FDQSxPQUNBLE9BQ0EsTUFBQSxJQUNBLEtBQUEsS0FFQSxZQUFBLG1DQUNBLEtBQUEsU0FBQSxHQUNBLEVBQUEsWUFBQSxXQUNBLEVBQUEsbUJBQ0EsRUFBQSxRQUFBLEdBQUEsRUFBQSxNQUFBLEtBQUEsV0FDQSxFQUFBLG1CQUFBLENBQ0EsSUFBQSxJQUNBLE1BQUEsc0JBQ0EsUUFBQSxzRkFDQSxXQUFBLGVBT0EsVUFBQSxlQUFBLFdBQ0EsT0FDQSxPQUNBLE1BQUEsWUFFQSxRQUFBLFVBQ0EsS0FBQSxTQUFBLEVBQUEsRUFBQSxFQUFBLEdBQ0EsRUFBQSxTQUFBLGdCQUNBLElBQUEsR0FBQSxXQUNBLEVBQUEsTUFBQSxtQkFBQSxHQUFBLE9BQ0EsRUFBQSxTQUFBLFVBRUEsRUFBQSxZQUFBLFVBR0EsR0FBQSxPQUFBLFFBQUEsR0FDQSxFQUFBLEtBQUEsUUFBQSxTQUFBLEdBQ0EsRUFBQSxPQUFBLEVBQUEsTUFDQSxFQUFBLGNBQUEsRUFBQSxNQUFBLFNBS0EsVUFBQSxZQUFBLG9CQUFBLFNBQUEsR0FDQSxPQUNBLE9BQ0EsTUFBQSxJQUNBLEtBQUEsS0FFQSxZQUFBLCtCQUNBLEtBQUEsU0FBQSxHQUNBLEdBQ0EsR0FEQSxHQUFBLEVBRUEsRUFBQSxFQUFBLE9BQUEsY0FBQSxTQUFBLEdBQ0EsSUFBQSxHQUNBLElBRUEsR0FBQSxFQUNBLEVBQUEsR0FBQSxHQUFBLEVBQUEsTUFBQSxPQUNBLEVBQUEsVUFBQSxTQUFBLEdBQ0EsRUFBQSxXQUFBLFdBTUEsVUFBQSxjQUFBLFdBQUEsV0FDQSxPQUNBLE9BQ0EsTUFBQSxZQUVBLFFBQUEsVUFDQSxLQUFBLFNBQUEsRUFBQSxFQUFBLEVBQUEsR0FDQSxFQUFBLHFCQUFBLEtBQUEsV0FDQSxFQUFBLE1BQUEsRUFBQSxjQUdBLEVBQUEsU0FBQSxLQUFBLFNBQUEsR0FDQSxNQUFBLEdBQ0EsS0FBQSxNQUFBLEdBREEsU0FJQSxFQUFBLFlBQUEsS0FBQSxTQUFBLEdBQ0EsR0FBQSxFQUFBLFNBQUEsR0FBQSxPQUFBLENBQ0EsSUFBQSxHQUFBLEtBQUEsTUFBQSxFQUNBLE9BQUEsSUFDQSxFQUFBLGNBQUEsRUFBQSxTQUFBLGFBQ0EsRUFBQSxXQUNBLElBRUEsUUN2S0EsUUFBQSxPQUFBLFVBQ0EsVUFBQSxRQUFBLFdBQUEsY0FBQSxlQUFBLFNBQUEsRUFBQSxFQUFBLEdBQ0EsT0FDQSxTQUFBLElBQ0EsWUFBQSxpQ0FDQSxPQUNBLE1BQUEsS0FFQSxLQUFBLFNBQUEsR0FDQSxFQUFBLFlBQ0EsRUFBQSxjQUNBLElBQUEsS0FFQSxHQUFBLE1BQUEsU0FBQSxLQUFBLFNBQUEsR0FHQSxJQUFBLEdBRkEsSUFBQSxlQUFBLGdCQUFBLGdCQUFBLGFBQ0EsS0FDQSxFQUFBLEVBQUEsRUFBQSxFQUFBLE9BQUEsSUFBQSxDQUNBLEdBQUEsSUFBQSxLQUFBLEVBQUEsR0FDQSxHQUFBLFFBQ0EsS0FBQSxHQUFBLEdBQUEsRUFBQSxFQUFBLEVBQUEsTUFBQSxPQUFBLElBQUEsQ0FDQSxHQUFBLEdBQUEsS0FBQSxTQUFBLEVBQ0EsR0FBQSxNQUFBLEdBQUEsRUFFQSxFQUFBLEtBQUEsR0FFQSxFQUFBLFNBQUEsSUFFQSxFQUFBLE9BQUEsU0FBQSxHQUNBLEdBQUEsSUFDQSxNQUFBLFVBQUEsRUFBQSxLQUFBLElBQ0EsUUFBQSxtQ0FBQSxFQUFBLEtBQUEsa0JBQ0EsWUFBQSxlQUNBLFdBQUEsaUJBQ0EsZUFBQSxFQUNBLFFBQUEsV0FDQSxFQUFBLFFBQUEsR0FBQSxFQUFBLE1BQUEsSUFBQSxJQUFBLEVBQUEsS0FBQSxTQUFBLEdBQ0EsRUFBQSxNQUFBLFFBS0EsRUFBQSxVQUFBLFNBQUEsR0FFQSxJQUFBLEdBREEsR0FBQSxFQUFBLEdBQ0EsRUFBQSxFQUFBLEVBQUEsRUFBQSxPQUFBLElBQ0EsR0FBQSxFQUFBLEdBQUEsRUFBQSxPQUFBLENBRUEsUUFBQSxHQUVBLEVBQUEsYUFBQSxTQUFBLEdBQ0EsRUFBQSxHQUFBLENBQ0EsS0FBQSxHQUFBLEdBQUEsRUFBQSxFQUFBLEVBQUEsTUFBQSxhQUFBLE9BQUEsSUFDQSxFQUFBLE1BQUEsYUFBQSxHQUFBLE1BQUEsSUFBQSxFQUFBLElBRUEsT0FBQSxHQUFBLElBRUEsRUFBQSxPQUFBLFNBQUEsR0FDQSxFQUFBLFFBQ0EsR0FBQSxFQUFBLE1BQUEsSUFDQSxJQUFBLEVBQUEsS0FDQSxJQUVBLEVBQUEsS0FBQSxTQUFBLEdBQ0EsRUFBQSxTQUFBLEVBQUEsTUFBQSxhQUFBLFFBQUEsSUFBQSxRQUFBLEtBQUEsSUFFQSxFQUFBLE9BQUEsU0FBQSxHQUNBLEVBQUEsTUFBQSxhQUFBLEdBQUEsRUFBQSxTQUFBLElBRUEsRUFBQSxLQUFBLFdBQ0EsR0FBQSxFQUFBLFFBQUEsT0FBQSxDQUNBLEdBQUEsR0FBQSxHQUFBLEdBQUEsRUFBQSxZQUNBLEdBQUEsT0FBQSxHQUFBLEVBQUEsTUFBQSxLQUFBLFNBQUEsR0FDQSxFQUFBLE1BQUEsRUFDQSxFQUFBLGlCQUVBLEVBQUEsUUFBQSxzQkMxRUEsUUFBQSxPQUFBLFVBQ0EsT0FBQSxXQUFBLFVBQUEsU0FBQSxHQUNBLE1BQUEsVUFBQSxHQUNBLEdBQUEsRUFBQSxDQUNBLEdBQUEsR0FBQSxLQUFBLE1BQUEsR0FDQSxHQUFBLEdBQUEsT0FBQSxVQUNBLEVBQUEsRUFBQSxFQUNBLEVBQUEsS0FBQSxNQUFBLEVBQUEsS0FDQSxFQUFBLEtBQUEsTUFBQSxFQUFBLElBQ0EsRUFBQSxLQUFBLE1BQUEsRUFBQSxJQUNBLEVBQUEsS0FBQSxNQUFBLEVBQUEsR0FDQSxPQUFBLEdBQUEsR0FDQSxNQUFBLEVBQUEsUUFBQSxFQUFBLFVBQ0EsRUFBQSxFQUNBLEVBQUEsWUFDQSxHQUFBLEVBQ0EsWUFDQSxFQUFBLEVBQ0EsRUFBQSxhQUNBLEdBQUEsRUFDQSxjQUNBLEVBQUEsRUFDQSxFQUFBLGVBQ0EsR0FBQSxFQUNBLGVBRUEseUJDMUJBLFFBQUEsT0FBQSxVQUNBLFFBQUEsZ0JBQUEsV0FBQSxTQUFBLEdBRUEsTUFBQSxVQUFBLEdBQ0EsR0FBQSxFQUNBLEdBQUEsR0FDQSxZQUFBLDhCQUNBLGFBQUEsUUFDQSxXQUFBLFdBQ0EsS0FBQSxNQUFBLEVBQUEsTUFDQSxLQUFBLFFBQUEsRUFBQSxRQUNBLEtBQUEsUUFBQSxFQUFBLFFBQUEsV0FBQSxFQUFBLFVBQUEsRUFBQSxlQUFBLEVBQ0EsS0FBQSxPQUFBLEVBQUEsV0FDQSxLQUFBLFlBQUEsRUFBQSxhQUFBLFVBQ0EsS0FBQSxXQUFBLEVBQUEsWUFBQSxTQUNBLEtBQUEsY0FBQSxFQUFBLGlCQUdBLEVBQUEsV0FFQSxLQUFBLFFBQUEsV0FDQSxFQUFBLGtCQ3JCQSxRQUFBLE9BQUEsVUFDQSxRQUFBLGdCQUFBLFdBQUEsV0FBQSxTQUFBLEVBQUEsR0FDQSxNQUFBLFVBQUEsR0FDQSxHQUFBLEVBQ0EsR0FBQSxHQUNBLFlBQUEsOEJBQ0EsYUFBQSxlQUNBLFdBQUEsV0FDQSxLQUFBLE1BQUEsRUFBQSxNQUNBLEtBQUEsUUFBQSxFQUFBLFFBQ0EsS0FBQSxNQUFBLEVBQUEsV0FDQSxLQUFBLEtBQUEsRUFBQSxJQUNBLElBQUEsR0FBQSxFQUFBLFNBQUEsR0FDQSxHQUFBLEVBQUEsV0FBQSxNQUdBLEVBQUEsV0FFQSxLQUFBLFFBQUEsV0FDQSxFQUFBIiwiZmlsZSI6InB1YmxpYy9idWlsZC9hcHAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJhbmd1bGFyLm1vZHVsZSgncmFsbGx5JywgWyd1aS5yb3V0ZXInLCduZ1Jlc291cmNlJywnYnRmb3JkLm1vZGFsJywnbmdUYWdzSW5wdXQnLCduZ0FuaW1hdGUnLCduZ0ZpdFRleHQnXSlcbiAgICAuY29uZmlnKGZ1bmN0aW9uKCRzdGF0ZVByb3ZpZGVyLCAkdXJsUm91dGVyUHJvdmlkZXIsICRsb2NhdGlvblByb3ZpZGVyKXtcbiAgICAgICAgJGxvY2F0aW9uUHJvdmlkZXIuaHRtbDVNb2RlKHRydWUpO1xuICAgICAgICAkdXJsUm91dGVyUHJvdmlkZXIub3RoZXJ3aXNlKFwiL25vdGZvdW5kXCIpXG4gICAgICAgICRzdGF0ZVByb3ZpZGVyXG4gICAgICAgIC5zdGF0ZSgnaW5kZXgnLHtcbiAgICAgICAgICAgIHVybCA6ICcvJyxcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9ob21lLmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlciA6ICdIb21lQ3RybCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCduZXdldmVudCcse1xuICAgICAgICAgICAgdXJsIDogJy9uZXcnLFxuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL25ld0V2ZW50L2xheW91dC5odG1sJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiAnTmV3RXZlbnRDdHJsJyxcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCduZXdldmVudC5nZW5lcmFsJywge1xuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL25ld0V2ZW50L2dlbmVyYWwuaHRtbCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCduZXdldmVudC5kYXRldGltZScsIHtcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9uZXdFdmVudC9kYXRldGltZS5odG1sJ1xuICAgICAgICB9KVxuICAgICAgICAuc3RhdGUoJ25ld2V2ZW50Lmludml0ZScsIHtcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9uZXdFdmVudC9pbnZpdGUuaHRtbCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCduZXdldmVudC5zdWNjZXNzJywge1xuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL25ld0V2ZW50L3N1Y2Nlc3MuaHRtbCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCdhYm91dCcsIHtcbiAgICAgICAgICAgIHVybCA6ICcvYWJvdXQnLFxuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2Fib3V0Lmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlciA6ICdBYm91dEN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnbm90Zm91bmQnLCB7XG4gICAgICAgICAgICB1cmwgOiAnL25vdGZvdW5kJyxcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9ub3Rmb3VuZC5odG1sJ1xuICAgICAgICB9KVxuICAgICAgICAuc3RhdGUoJ2V2ZW50Jyx7XG4gICAgICAgICAgICB1cmwgOiAnLzppZCcsXG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZXZlbnQuaHRtbCcsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ0V2ZW50Q3RybCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCdlZGl0ZXZlbnQnLCB7XG4gICAgICAgICAgICB1cmw6ICcvOmlkL2VkaXQnLFxuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2VkaXRldmVudC5odG1sJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiAnRWRpdEV2ZW50Q3RybCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCd2ZXJpZnlldmVudCcsIHtcbiAgICAgICAgICAgIHVybCA6ICcvdmVyaWZ5LzppZC9jb2RlLzpjb2RlJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiAnVmVyaWZpY2F0aW9uQ3RybCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCdkZWxldGVldmVudCcsIHtcbiAgICAgICAgICAgIHVybCA6ICcvZGVsZXRlLzppZC9jb2RlLzpjb2RlJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiAnRGVsZXRpb25DdHJsJ1xuICAgICAgICB9KVxuICAgIH0pXG4gICAgLmZhY3RvcnkoJ0V2ZW50JywgZnVuY3Rpb24oJHJlc291cmNlKXtcbiAgICAgICAgcmV0dXJuICRyZXNvdXJjZSgnL2FwaS9ldmVudC86aWQnLCB7IGlkIDogJ0BfaWQnIH0sIHtcbiAgICAgICAgICAgICd1cGRhdGUnIDogeyBtZXRob2QgOiAnUFVUJyB9LFxuICAgICAgICAgICAgJ3ZlcmlmeScgOiB7IG1ldGhvZCA6ICdHRVQnLCB1cmwgOiAnL2FwaS9ldmVudC86aWQvY29kZS86Y29kZScgfSxcbiAgICAgICAgICAgICdkZXN0cm95JzogeyBtZXRob2QgOiAnREVMRVRFJywgdXJsOiAnL2FwaS9ldmVudC86aWQvY29kZS86Y29kZScgfVxuICAgICAgICB9KTtcbiAgICB9KVxuICAgIC5mYWN0b3J5KCdQYXJ0aWNpcGFudCcsIGZ1bmN0aW9uKCRyZXNvdXJjZSl7XG4gICAgICAgIHJldHVybiAkcmVzb3VyY2UoJy9hcGkvZXZlbnQvOmlkL3BhcnRpY2lwYW50LzpwaWQnLCB7IGlkOiAnQF9pZCd9LCB7XG4gICAgICAgICAgICAndXBkYXRlJyA6IHsgbWV0aG9kIDogJ1BVVCcgfVxuICAgICAgICB9KTtcbiAgICB9KVxuICAgIC5mYWN0b3J5KCdDb21tZW50JywgZnVuY3Rpb24oJHJlc291cmNlKXtcbiAgICAgICAgcmV0dXJuICRyZXNvdXJjZSgnL2FwaS9ldmVudC86aWQvY29tbWVudC86Y2lkJywgeyBpZCA6ICdAX2lkJyB9LCB7XG4gICAgICAgICAgICAndXBkYXRlJyA6IHsgbWV0aG9kIDogJ1BVVCcgfVxuICAgICAgICB9KVxuICAgIH0pXG4gICAgLmZhY3RvcnkoJ1RpdGxlJywgZnVuY3Rpb24oKXtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNldCA6IGZ1bmN0aW9uKHRpdGxlKXtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC50aXRsZSA9IHRpdGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4iLCJhbmd1bGFyLm1vZHVsZShcInJhbGxseVwiKS5ydW4oW1wiJHRlbXBsYXRlQ2FjaGVcIiwgZnVuY3Rpb24oJHRlbXBsYXRlQ2FjaGUpIHskdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvYWJvdXQuaHRtbFwiLFwiPGRpdiBzdHlsZT1cXFwibWF4LXdpZHRoOjYwMHB4XFxcIj5cXG4gICAgPGgxPldoYXQgaXMgUmFsbGx5PzwvaDE+XFxuICAgIDxkaXYgY2xhc3M9XFxcInJsLXBhZ2UtZGVzY1xcXCI+UmFsbGx5IGlzIGEgY29sbGFib3JhdGl2ZSBzY2hlZHVsaW5nIHNlcnZpY2UgdGhhdCBtYWtlcyBkZWNpZGluZyBvbiBhIGRhdGUgZmFzdCBhbmQgZWFzeS48L2Rpdj5cXG4gICAgPGgyPkhpLCBJXFwnbSBMdWtlITwvaDI+XFxuICAgIDxwPlxcbiAgICAgICAgSSBjcmVhdGVkIFJhbGxseSBhcyBzaWRlIHByb2plY3QgdG8gaGVscCBtZSBsZWFybiBzb21lIG5ldyB0ZWNobm9sb2dpZXMuIEkgZGVjaWRlZCB0byBwdWJsaXNoIGl0IGJlY2F1c2UgSSB0aG91Z2h0IG90aGVyIHBlb3BsZSBtaWdodCBmaW5kIGl0IHVzZWZ1bC4gUmFsbGx5IGlzIGEgY29tcGxldGVseSBmcmVlIHNlcnZpY2UuIEluIGZhY3QgaXQgaXMgZXZlbiBvcGVuIHNvdXJjZS4gWW91IGNhbiBsb29rIGF0IHRoZSBsYXRlc3Qgc291cmNlIGNvZGUgb24gR2l0aHViLlxcbiAgICA8L3A+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2NvbmZpcm1tb2RhbC5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJybC1tb2RhbC1vdmVybGF5XFxcIiBuZy1jbGljaz1cXFwibW9kYWwuY2FuY2VsKClcXFwiPjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcInJsLW1vZGFsXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwicmwtbW9kYWwtdGl0bGVcXFwiPnt7bW9kYWwudGl0bGV9fTwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJybC1tb2RhbC1tZXNzYWdlXFxcIj5cXG4gICAgICAgIHt7bW9kYWwubWVzc2FnZX19XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJybC1tb2RhbC1hY3Rpb25zXFxcIj5cXG4gICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1jbGljaz1cXFwibW9kYWwuY29uZmlybSgpXFxcIiBuZy1zaG93PVxcXCJtb2RhbC5jb25maXJtXFxcIiBjbGFzcz1cXFwiYnRuXFxcIiBuZy1jbGFzcz1cXFwie2RhbmdlciA6IG1vZGFsLmlzRGVzdHJ1Y3RpdmV9XFxcIj57e21vZGFsLmNvbmZpcm1UZXh0fX08L2J1dHRvbj5cXG4gICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1jbGljaz1cXFwibW9kYWwuY2FuY2VsKClcXFwiICBjbGFzcz1cXFwiYnRuXFxcIj57e21vZGFsLmNhbmNlbFRleHR9fTwvYnV0dG9uPlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZWRpdGV2ZW50Lmh0bWxcIixcIjxkaXYgbmctc2hvdz1cXFwiZXZlbnQuX2lkXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYm94XFxcIj5cXG5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC10aXRsZVxcXCI+RWRpdCBFdmVudDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiYm94LWRlc2NyaXB0aW9uXFxcIj5cXG4gICAgICAgICAgICBZb3UgY2FuIG1ha2VzIGNoYW5nZXMgdG8geW91ciBleGlzdGluZyBldmVudCBieSBjaGFuZ2luZyB0aGUgZmllbGRzIGluIHRoZSBmb3JtIGJlbG93LlxcbiAgICAgICAgPC9kaXY+XFxuXFxuICAgICAgICA8Zm9ybSBub3ZhbGlkYXRlIG5hbWU9XFxcImZvcm1cXFwiIG5nLXN1Ym1pdD1cXFwic3VibWl0KClcXFwiPlxcblxcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVxcXCJib3gtc2VjdGlvblxcXCIgdXNlci1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuICAgICAgICAgICAgPC9zZWN0aW9uPlxcblxcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVxcXCJib3gtc2VjdGlvblxcXCIgZXZlbnQtZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIGRhdGUtZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cXG5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIHNldHRpbmdzLWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICA8L3NlY3Rpb24+XFxuXFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiYm94LWNvbnRyb2xzIGJveC1ib3R0b20tc3RpY2t5XFxcIj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJzdWJtaXRcXFwiIG5nLXNob3c9XFxcImRpZENoYW5nZSgpXFxcIiBjbGFzcz1cXFwiYnRuIGJ0bi1wcmltYXJ5XFxcIiBuZy1jbGFzcz1cXFwie2Rpc2FibGVkIDogIWRpZENoYW5nZSgpfVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICBTYXZlIENoYW5nZXNcXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1jbGljaz1cXFwidW5kb0NoYW5nZXMoKVxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmctc2hvdz1cXFwiZGlkQ2hhbmdlKClcXFwiPlVuZG8gQ2hhbmdlczwvYnV0dG9uPlxcbiAgICAgICAgICAgICAgICA8YSBocmVmPVxcXCIve3tldmVudC5faWR9fVxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmctaGlkZT1cXFwiZGlkQ2hhbmdlKClcXFwiPkRvbmU8L2E+XFxuICAgICAgICAgICAgPC9kaXY+XFxuXFxuICAgICAgICA8L2Zvcm0+XFxuXFxuICAgIDwvZGl2PlxcblxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9ldmVudC5odG1sXCIsXCI8ZGl2IG5nLXNob3c9XFxcImV2ZW50Ll9pZCAmJiAhZXZlbnQuaXNEZWxldGVkXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYm94IFxcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJldmVudC1oZWFkZXJcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRldGFpbHNcXFwiPlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJ0aXRsZVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICB7e2V2ZW50LnRpdGxlfX1cXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJ0aXRsZS1sYWJlbCBkYW5nZXJcXFwiIG5nLXNob3c9XFxcImV2ZW50LmlzQ2xvc2VkXFxcIj5Qb2xsIENsb3NlZDwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJ0aXRsZS1sYWJlbCBzdWNjZXNzXFxcIiBuZy1oaWRlPVxcXCJldmVudC5pc0Nsb3NlZFxcXCI+UG9sbCBPcGVuPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwic3VidGl0bGVcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlZCBieSA8YSBocmVmPVxcXCJtYWlsdG86e3tldmVudC5jcmVhdG9yLmVtYWlsfX1cXFwiPnt7ZXZlbnQuY3JlYXRvci5uYW1lfX08L2E+ICZidWxsOyB7e2V2ZW50LmNyZWF0ZWQgfCBlbGFwc2VkfX1cXG4gICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiYWN0aW9uc1xcXCI+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XFxcImJ0blxcXCIgbmctY2xpY2s9XFxcImVkaXRFdmVudCgpXFxcIj5FZGl0IEV2ZW50PC9idXR0b24+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImV2ZW50LWRlc2NyaXB0aW9uIGJveC1zaWRlLXN0aWNreVxcXCIgbmctaWY9XFxcImV2ZW50LmRlc2NyaXB0aW9uXFxcIj57e2V2ZW50LmRlc2NyaXB0aW9ufX08L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImV2ZW50LWxvY2F0aW9uXFxcIiBuZy1pZj1cXFwiZXZlbnQubG9jYXRpb25cXFwiPlxcbiAgICAgICAgICAgIExvY2F0aW9uOlxcbiAgICAgICAgICAgIDxhICBocmVmPVxcXCJodHRwOi8vbWFwcy5nb29nbGUuY29tP3E9e3tldmVudC5sb2NhdGlvbn19XFxcIiAgdGFyZ2V0PVxcXCJfYmxhbmtcXFwiPnt7ZXZlbnQubG9jYXRpb259fTwvYT5cXG4gICAgICAgIDwvZGl2PlxcblxcbiAgICAgICAgPGRpdiBwb2xsIGV2ZW50PVxcXCJldmVudFxcXCIgY2xhc3M9XFxcInBvbGxcXFwiPlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcblxcbiAgICA8ZGl2IGNsYXNzPVxcXCJib3hcXFwiIG5nLWhpZGU9XFxcImV2ZW50LmNvbW1lbnRzLmxlbmd0aCA9PSAwICYmIGV2ZW50LmlzQ2xvc2VkXFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC10aXRsZVxcXCI+XFxuICAgICAgICAgICAgRGlzY3Vzc2lvblxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJib3gtZGVzY3JpcHRpb25cXFwiPlxcbiAgICAgICAgICAgIFlvdSBjYW4gZGlzY3VzcyB0aGUgZXZlbnQgd2l0aCB5b3VyIGZyaWVuZHMgYnkgbGVhdmluZyBhIGNvbW1lbnQgYmVsb3cuXFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgZGlzY3Vzc2lvbiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9ob21lLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInBhZ2UtcGxhY2Vob2xkZXJcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJpbWFnZVxcXCI+XFxuICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9tYXJrX2xhcmdlLnBuZ1xcXCIgd2lkdGg9XFxcIjY3XFxcIiAvPlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAgU2NoZWR1bGUgYW4gRXZlbnRcXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImNvbnRlbnRcXFwiPlxcbiAgICAgICAgV2FudCB0byBob3N0IGFuIGV2ZW50IGJ1dCBjYW7igJl0IGRlY2lkZSBvbiBhIGRhdGU/IENsaWNrIG9uIHRoZSBidXR0b24gYmVsb3cgdG8gc3RhcnQhXFxuICAgIDwvZGl2PlxcbiAgICA8YnV0dG9uIG5nLWNsaWNrPVxcXCJuZXdFdmVudCgpXFxcIiBjbGFzcz1cXFwiYnRuXFxcIj5TY2hlZHVsZSBOZXcgRXZlbnQ8L2J1dHRvbj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvbmV3ZXZlbnQuaHRtbFwiLFwiPGRpdiBuZy1pZj1cXFwiIWV2ZW50VXJsXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYm94XFxcIiBuZy1jbGFzcz1cXFwie1xcJ2FuaW1hdGVkIHNoYWtlXFwnOiBmb3JtLiRzdWJtaXR0ZWQgJiYgZm9ybS4kaW52YWxpZCB9XFxcIj5cXG5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC10aXRsZVxcXCI+U2NoZWR1bGUgYSBOZXcgRXZlbnQ8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1kZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICAgICAgRmlsbCBpbiB0aGUgZm9ybSBiZWxvdyB0byBjcmVhdGUgeW91ciBldmVudCBhbmQgc2hhcmUgaXQgd2l0aCB5b3VyIGZyaWVuZHMgYW5kIGNvbGxlYWd1ZXMuXFxuICAgICAgICA8L2Rpdj5cXG5cXG4gICAgICAgIDxmb3JtIG5vdmFsaWRhdGUgYXV0b2NvbXBsZXRlPVxcXCJvZmZcXFwiIG5hbWU9XFxcImZvcm1cXFwiIG5nLXN1Ym1pdD1cXFwic3VibWl0KClcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgbmctaWY9XFxcInBhZ2UgPT0gMVxcXCI+XFxuXFxuICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVxcXCJib3gtc2VjdGlvblxcXCIgdXNlci1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cXG5cXG4gICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiBldmVudC1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IG5nLWlmPVxcXCJwYWdlPT0yXFxcIj5cXG5cXG4gICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiBkYXRlLWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxcblxcbiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIG5nLXNob3c9XFxcImV2ZW50LmRhdGVzLmxlbmd0aFxcXCIgdGltZS1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG5cXG4gICAgICAgICAgICA8ZGl2IG5nLWlmPVxcXCJwYWdlPT0zXFxcIj5cXG5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIHBhcnRpY2lwYW50cy1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuICAgICAgICAgICAgPC9zZWN0aW9uPlxcblxcbiAgICAgICAgICAgIDwvZGl2PlxcblxcblxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1jb250cm9scyBib3gtYm90dG9tLXN0aWNreVxcXCI+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1pZj1cXFwicGFnZSE9MVxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmctY2xpY2s9XFxcInByZXZQYWdlKClcXFwiPkJhY2s8L2J1dHRvbj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJidXR0b25cXFwiIG5nLWlmPVxcXCJwYWdlIT0zXFxcIiBjbGFzcz1cXFwiYnRuXFxcIiBuZy1jbGljaz1cXFwibmV4dFBhZ2UoKVxcXCI+TmV4dDwvYnV0dG9uPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcInN1Ym1pdFxcXCIgbmctaWY9XFxcInBhZ2U9PTNcXFwiIGNsYXNzPVxcXCJidG4gYnRuLXByaW1hcnlcXFwiPkNyZWF0ZSBFdmVudDwvYnV0dG9uPlxcbiAgICAgICAgICAgIDwvZGl2PlxcblxcbiAgICAgICAgPC9mb3JtPlxcbiAgICA8L2Rpdj5cXG5cXG48L2Rpdj5cXG48ZGl2IG5nLWlmPVxcXCJldmVudFVybFxcXCIgY2xhc3M9XFxcImJveFxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImJveC1tZXNzYWdlXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJtYWluLWltYWdlXFxcIj5cXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvc3VjY2Vzc19sYXJnZS5wbmdcXFwiIHdpZHRoPVxcXCIxMDBcXFwiIC8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcInRpdGxlXFxcIj5FdmVudCBDcmVhdGVkPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImNvbnRlbnRcXFwiPlxcbiAgICAgICAgWW91ciBldmVudCBoYXMgYmVlbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseSEgWW91IHNob3VsZCByZWNlaXZlIGFuIGVtYWlsIHNob3J0bHkgd2l0aCBpbnN0cnVjdGlvbnMgdG8gdmVyaWZ5IHlvdXIgZW1haWwgYWRkcmVzcy5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcIm1pbmktZGl2aWRlclxcXCI+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwXFxcIj5cXG4gICAgICAgIDxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sXFxcIiBkaXNhYmxlZD1cXFwidHJ1ZVxcXCIgdmFsdWU9XFxcInt7ZXZlbnRVcmx9fVxcXCIgLz5cXG4gICAgICAgIDxhIGhyZWY9XFxcInt7ZXZlbnRVcmx9fVxcXCIgY2xhc3M9XFxcImJ0biBmb3JtLWJ0blxcXCI+R088L2E+XFxuICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvbm90Zm91bmQuaHRtbFwiLFwiPGgxPkVycm9yIDQwNDwvaDE+XFxuPGgyPk5vdCBGb3VuZDwvaDI+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL25vdGlmaWNhdGlvbi5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJub3RpZmljYXRpb24ge3tub3RpZmljYXRpb24udHlwZX19XFxcIiBuZy1jbGljaz1cXFwibm90aWZpY2F0aW9uLmNsb3NlKClcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJ0aXRsZVxcXCI+XFxuICAgICAgICB7e25vdGlmaWNhdGlvbi50aXRsZX19XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJtZXNzYWdlXFxcIj5cXG4gICAgICAgIHt7bm90aWZpY2F0aW9uLm1lc3NhZ2V9fVxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9kYXRlUGlja2VyLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcImRhdGUtcGlja2VyXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwid3JhcHBlclxcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXRlLXBpY2tlci1oZWFkXFxcIj5cXG4gICAgICAgICAgICA8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiYXJyb3dcXFwiIG5nLWNsaWNrPVxcXCJwcmV2TW9udGgoKVxcXCI+JiMxMDA5NDs8L2E+XFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcInRpdGxlXFxcIj5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcInRpdGxlLXRleHRcXFwiPnt7dGl0bGV9fTwvc3Bhbj5cXG4gICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgPGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcImFycm93XFxcIiBuZy1jbGljaz1cXFwibmV4dE1vbnRoKClcXFwiPiYjMTAwOTU7PC9hPlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkb3dcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRheVxcXCI+XFxuICAgICAgICAgICAgICAgIFN1blxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRheVxcXCI+XFxuICAgICAgICAgICAgICAgIE1vblxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRheVxcXCI+XFxuICAgICAgICAgICAgICAgIFR1ZVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRheVxcXCI+XFxuICAgICAgICAgICAgICAgIFdlZFxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRheVxcXCI+XFxuICAgICAgICAgICAgICAgIFRodVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRheVxcXCI+XFxuICAgICAgICAgICAgICAgIEZyaVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRheVxcXCI+XFxuICAgICAgICAgICAgICAgIFNhdFxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJ2YWx1ZXNcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgbmctcmVwZWF0PVxcXCJkYXkgaW4gZGF5c1xcXCIgY2xhc3M9XFxcInZhbHVlXFxcIiAgbmctY2xhc3M9XFxcInsgb3V0c2lkZSA6IGRheS5pc091dHNpZGVNb250aCwgdG9kYXkgOiBkYXkuaXNUb2RheSwgYWN0aXZlIDogaXNBY3RpdmUoZGF5LmRhdGUpIH1cXFwiIG5nLWNsaWNrPVxcXCJzZWxlY3REYXkoZGF5KVxcXCI+XFxuICAgICAgICAgICAgICAgIHt7ZGF5LmRhdGUgfCBkYXRlIDogXFwnZFxcJyB9fVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9kaXJlY3RpdmVzL2Rpc2N1c3Npb24uaHRtbFwiLFwiPHVsIGNsYXNzPVxcXCJjb21tZW50LXRocmVhZFxcXCIgbmctc2hvdz1cXFwiZXZlbnQuY29tbWVudHMubGVuZ3RoXFxcIj5cXG4gICAgPGxpIG5nLXJlcGVhdD1cXFwiY29tbWVudCBpbiBldmVudC5jb21tZW50c1xcXCIgY2xhc3M9XFxcImNvbW1lbnRcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiYXZhdGFyLXNlY3Rpb25cXFwiPlxcbiAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2F2YXRhci5wbmdcXFwiIC8+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImNvbW1lbnQtc2VjdGlvblxcXCI+XFxuICAgICAgICAgICAgPGEgaHJlZj1cXFwiI1xcXCIgY2xhc3M9XFxcImNvbW1lbnQtZGVsZXRlXFxcIiBuZy1jbGljaz1cXFwiZGVsZXRlQ29tbWVudChjb21tZW50KVxcXCI+JnRpbWVzOzwvYT5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJtZXRhXFxcIj5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcIm5hbWVcXFwiPnt7Y29tbWVudC5hdXRob3IubmFtZX19PC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwidGltZVxcXCI+e3tjb21tZW50LmNyZWF0ZWQgfCBlbGFwc2VkfX08L3NwYW4+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY29udGVudFxcXCI+e3tjb21tZW50LmNvbnRlbnR9fTwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvbGk+XFxuPC91bD5cXG48Zm9ybSBub3ZhbGlkYXRlIG5nLXN1Ym1pdD1cXFwicG9zdENvbW1lbnQoKVxcXCIgbmFtZT1cXFwiY29tbWVudEZvcm1cXFwiIGNsYXNzPVxcXCJjb21tZW50LWZvcm1cXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJhdmF0YXItc2VjdGlvblxcXCI+XFxuICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9hdmF0YXIucG5nXFxcIiAvPlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiaW5wdXQtc2VjdGlvbiBmb3JtLWdyb3VwXFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImNvbnRlbnQtc2VjdGlvblxcXCI+XFxuICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2xcXFwiIHJlcXVpcmVkIG5nLW1vZGVsPVxcXCJjb21tZW50LmNvbnRlbnRcXFwiIHBsYWNlaG9sZGVyPVxcXCJXcml0ZSBhIGNvbW1lbnQuLi5cXFwiPjwvdGV4dGFyZWE+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcIm5hbWUtc2VjdGlvblxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwibmFtZS1jb250YWluZXJcXFwiPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cXFwidGV4dFxcXCIgY2xhc3M9XFxcImZvcm0tY29udHJvbFxcXCIgcmVxdWlyZWQgcGxhY2Vob2xkZXI9XFxcIllvdXIgTmFtZVxcXCIgbmctbW9kZWw9XFxcImNvbW1lbnQuYXV0aG9yLm5hbWVcXFwiIC8+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwic3VibWl0XFxcIiBjbGFzcz1cXFwiYnRuXFxcIj5Qb3N0IENvbW1lbnQ8L2J1dHRvbj5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImZvcm0tZXJyb3JcXFwiIG5nLXNob3c9XFxcImNvbW1lbnRGb3JtLiRzdWJtaXR0ZWQgJiYgY29tbWVudEZvcm0uJGVycm9yXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2Vycm9yLnBuZ1xcXCIgd2lkdGg9XFxcIjE0XFxcIiAvPiBNYWtlIHN1cmUgeW91IGZpbGwgaW4gYWxsIHRoZSBmaWVsZHMuXFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG48L2Zvcm0+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2RpcmVjdGl2ZXMvcG9sbC5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJwb2xsLWhlYWRlclxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImhlYWRlciBwYXJ0aWNpcGFudHMtaGVhZGVyXFxcIj5cXG4gICAgICAgIHt7ZXZlbnQucGFydGljaXBhbnRzLmxlbmd0aH19IHBhcnRpY2lwYW50c1xcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiaGVhZGVyIGRhdGUtaGVhZGVyXFxcIiBuZy1yZXBlYXQ9XFxcImQgaW4gZXZlbnQuZGF0ZXNcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF0aWNvblxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZG93XFxcIj5cXG4gICAgICAgICAgICAgICAge3tkIHwgZGF0ZTogXFwnRUVFXFwnfX1cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXlcXFwiPlxcbiAgICAgICAgICAgICAgICB7e2QgfCBkYXRlOiBcXCdkXFwnfX1cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJtb250aFxcXCI+XFxuICAgICAgICAgICAgICAgIHt7ZCB8IGRhdGUgOiBcXCdNTU1cXCd9fVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJjb3VudFxcXCIgbmctc2hvdz1cXFwic2VsZWN0ZWREYXRlKCRpbmRleClcXFwiIG5nLWNsYXNzPXt0b3A6aXNUb3BEYXRlKCRpbmRleCl9Pnt7c2VsZWN0ZWREYXRlKCRpbmRleCl9fTwvc3Bhbj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiaGVhZGVyIGFjdGlvbnMtaGVhZGVyXFxcIj5cXG5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwicG9sbC1ib2R5XFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwicG9sbC1lbnRyeVxcXCIgbmctcmVwZWF0PVxcXCJwYXJ0aWNpcGFudCBpbiBldmVudC5wYXJ0aWNpcGFudHNcXFwiPlxcbiAgICAgICAgPGZvcm0gbm92YWxpZGF0ZSBuZy1zdWJtaXQ9XFxcInVwZGF0ZShwYXJ0aWNpcGFudCk7IGVkaXRNb2RlID0gZmFsc2VcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNlbGwgbmFtZS1jZWxsXFxcIj5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImF2YXRhciBzdHlsZS17eyRpbmRleCArIDF9fVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy91c2VyLnBuZ1xcXCIgd2lkdGg9XFxcIjExXFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgICAgIDxpbnB1dCByZXF1aXJlZCBhdXRvY29tcGxldGU9XFxcIm9mZlxcXCIgdHlwZT1cXFwidGV4dFxcXCIgY2xhc3M9XFxcImZvcm0tY29udHJvbFxcXCIgbmctbW9kZWw9XFxcInBhcnRpY2lwYW50Lm5hbWVcXFwiIG5nLXNob3c9XFxcImVkaXRNb2RlXFxcIiB2YWx1ZT1cXFwicGFydGljaXBhbnQubmFtZVxcXCIvPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBuZy1oaWRlPVxcXCJlZGl0TW9kZVxcXCIgY2xhc3M9XFxcIm5hbWUgZWRpdGFibGVcXFwiIG5nLWNsaWNrPVxcXCJlZGl0TW9kZSA9IHRydWUgJiYgIWV2ZW50LmlzQ2xvc2VkOyBlZGl0KHBhcnRpY2lwYW50KVxcXCI+e3twYXJ0aWNpcGFudC5uYW1lfX08L3NwYW4+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCB2b3RlLWNlbGxcXFwiIG5nLXJlcGVhdD1cXFwiZGF0ZSBpbiBldmVudC5kYXRlc1xcXCI+XFxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL3RpY2tAMngucG5nXFxcIiAgd2lkdGg9XFxcIjE2XFxcIiBuZy1oaWRlPVxcXCJlZGl0TW9kZVxcXCIgbmctaWY9XFxcInBhcnRpY2lwYW50LnZvdGVzWyRpbmRleF1cXFwiIC8+XFxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL25vcGVAMngucG5nXFxcIiB3aWR0aD1cXFwiOFxcXCIgbmctaGlkZT1cXFwiZWRpdE1vZGVcXFwiIG5nLWlmPVxcXCIhcGFydGljaXBhbnQudm90ZXNbJGluZGV4XVxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPGlucHV0IG5nLW1vZGVsPVxcXCJwYXJ0aWNpcGFudC52b3Rlc1skaW5kZXhdXFxcIiBuZy1zaG93PVxcXCJlZGl0TW9kZVxcXCIgbmctZmFsc2UtdmFsdWU9XFxcImZhbHNlXFxcIiB0eXBlPVxcXCJjaGVja2JveFxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwib3ZlcmxheVxcXCIgbmctc2hvdz1cXFwiZWRpdE1vZGVcXFwiIG5nLWNsaWNrPVxcXCJwYXJ0aWNpcGFudC52b3Rlc1skaW5kZXhdID0gIXBhcnRpY2lwYW50LnZvdGVzWyRpbmRleF1cXFwiPjwvZGl2PlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNlbGwgYWN0aW9uLWNlbGxcXFwiIG5nLWhpZGU9XFxcImV2ZW50LmlzQ2xvc2VkXFxcIj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJidXR0b25cXFwiIG5nLWhpZGU9XFxcImVkaXRNb2RlXFxcIiBuZy1jbGljaz1cXFwiZWRpdE1vZGUgPSB0cnVlOyBlZGl0KHBhcnRpY2lwYW50KVxcXCIgY2xhc3M9XFxcImJ0biBob3ZlclxcXCI+RWRpdDwvYnV0dG9uPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctaGlkZT1cXFwiZWRpdE1vZGVcXFwiIG5nLWNsaWNrPVxcXCJkZWxldGUocGFydGljaXBhbnQpXFxcIiBjbGFzcz1cXFwiYnRuIGRhbmdlciBob3ZlclxcXCI+RGVsZXRlPC9idXR0b24+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwic3VibWl0XFxcIiBuZy1zaG93PVxcXCJlZGl0TW9kZVxcXCIgY2xhc3M9XFxcImJ0blxcXCI+U2F2ZTwvYnV0dG9uPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctc2hvdz1cXFwiZWRpdE1vZGVcXFwiIG5nLWNsaWNrPVxcXCJlZGl0TW9kZSA9IGZhbHNlOyBjYW5jZWwoJGluZGV4KVxcXCIgY2xhc3M9XFxcImJ0blxcXCI+Q2FuY2VsPC9idXR0b24+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Zvcm0+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJwb2xsLWV4YW1wbGVcXFwiIG5nLWNsYXNzPVxcXCJ7aGlkZGVuIDogZXZlbnQucGFydGljaXBhbnRzLmxlbmd0aCA+IDB9XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcInBvbGwtZW50cnlcXFwiIG5nLXJlcGVhdD1cXFwiZXhhbXBsZSBpbiBleGFtcGxlc1xcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCBuYW1lLWNlbGxcXFwiPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiYXZhdGFyIHN0eWxlLXt7JGluZGV4ICsgMX19XFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL3VzZXIucG5nXFxcIiB3aWR0aD1cXFwiMTFcXFwiIC8+XFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcIm5hbWVcXFwiPnt7ZXhhbXBsZS5uYW1lfX08L3NwYW4+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCB2b3RlLWNlbGxcXFwiIG5nLXJlcGVhdD1cXFwiZGF0ZSBpbiBldmVudC5kYXRlc1xcXCI+XFxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL3RpY2tAMngucG5nXFxcIiAgd2lkdGg9XFxcIjE2XFxcIiBuZy1pZj1cXFwiZXhhbXBsZS52b3Rlc1skaW5kZXhdXFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9ub3BlQDJ4LnBuZ1xcXCIgd2lkdGg9XFxcIjhcXFwiIG5nLWlmPVxcXCIhZXhhbXBsZS52b3Rlc1skaW5kZXhdXFxcIiAvPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNlbGwgYWN0aW9uLWNlbGxcXFwiPlxcblxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJvdmVybGF5XFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJvdmVybGF5LXRleHRcXFwiPlxcbiAgICAgICAgICAgICAgICBGaWxsIGluIHRoZSBmb3JtIGJlbG93IHRvIGdldCBzdGFydGVkXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgbmctaGlkZT1cXFwiZXZlbnQuaXNDbG9zZWRcXFwiIGNsYXNzPVxcXCJwb2xsLWVudHJ5IGhpZ2hsaWdodFxcXCI+XFxuICAgICAgICA8Zm9ybSBub3ZhbGlkYXRlIG5hbWU9XFxcImZvcm1uZXdcXFwiIG5nLXN1Ym1pdD1cXFwic2F2ZSgpXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIG5hbWUtY2VsbFxcXCI+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJhdmF0YXIgc3R5bGUte3twYXJ0aWNpcGFudC5zdHlsZX19XFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL3VzZXIucG5nXFxcIiB3aWR0aD1cXFwiMTFcXFwiIC8+XFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IGF1dG9jb21wbGV0ZT1cXFwib2ZmXFxcIiBuYW1lPVxcXCJ1c2VybmFtZVxcXCIgdHlwZT1cXFwidGV4dFxcXCIgY2xhc3M9XFxcImZvcm0tY29udHJvbFxcXCIgcGxhY2Vob2xkZXI9XFxcIllvdXIgbmFtZS4uLlxcXCIgbmctbW9kZWw9XFxcInBhcnRpY2lwYW50Lm5hbWVcXFwiIHJlcXVpcmVkIHZhbHVlPVxcXCJwYXJ0aWNpcGFudC5uYW1lXFxcIi8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCB2b3RlLWNlbGxcXFwiIG5nLXJlcGVhdD1cXFwiZGF0ZSBpbiBldmVudC5kYXRlc1xcXCI+XFxuICAgICAgICAgICAgICAgIDxpbnB1dCBuZy1tb2RlbD1cXFwicGFydGljaXBhbnQudm90ZXNbJGluZGV4XVxcXCIgbmctZmFsc2UtdmFsdWU9XFxcImZhbHNlXFxcIiB0eXBlPVxcXCJjaGVja2JveFxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwib3ZlcmxheVxcXCIgbmctY2xpY2s9XFxcInBhcnRpY2lwYW50LnZvdGVzWyRpbmRleF0gPSAhcGFydGljaXBhbnQudm90ZXNbJGluZGV4XVxcXCI+PC9kaXY+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCBhY3Rpb24tY2VsbFxcXCI+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwic3VibWl0XFxcIiBuZy1jbGFzcz1cXFwieyBcXCdhbmltYXRlZCBzaGFrZVxcJyA6IGZvcm1uZXcuJHN1Ym1pdHRlZCAmJiBmb3JtbmV3LiRpbnZhbGlkICB9XFxcIiBjbGFzcz1cXFwiYnRuXFxcIj5TYXZlPC9idXR0b24+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Zvcm0+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9kaXJlY3RpdmVzL3RpbWVQaWNrZXIuaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwidGltZS1waWNrZXJcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJ0aW1lLXBpY2tlci1jb2xcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF0aWNvblxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZG93XFxcIj5cXG4gICAgICAgICAgICAgICAge3tkYXRlIHwgZGF0ZTogXFwnRUVFXFwnfX1cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXlcXFwiPlxcbiAgICAgICAgICAgICAgICB7e2RhdGUgfCBkYXRlOiBcXCdkXFwnfX1cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJtb250aFxcXCI+XFxuICAgICAgICAgICAgICAgIHt7ZGF0ZSB8IGRhdGUgOiBcXCdNTU1cXCd9fVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XFxcImRlbGV0ZVxcXCIgbmctY2xpY2s9XFxcImRhdGVwaWNrZXIudW5zZXREYXRlKGRhdGUpXFxcIj48L3NwYW4+IC0tPlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJ0aW1lLXBpY2tlci1jb2xcXFwiIG5nLXJlcGVhdD1cXFwidGltZSBpbiBkYXRlLnRpbWVzIHRyYWNrIGJ5ICRpbmRleFxcXCI+XFxuICAgICAgICA8aW5wdXQgdHlwZT1cXFwidGV4dFxcXCIgY2xhc3M9XFxcInRpbWUtcGlja2VyLWlucHV0XFxcIiB0aW1lLXBpY2tlciBuZy1tb2RlbD1cXFwidGltZVxcXCIgbmctbW9kZWwtb3B0aW9ucz1cXFwieyB1cGRhdGVPbjogXFwnYmx1clxcJyB9XFxcIiAvPlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZm9ybS9kYXRlRm9ybS5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLWRldGFpbHNcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLXRpdGxlXFxcIj5DaG9vc2UgRGF0ZXM8L2Rpdj5cXG4gICAgPHVsIGNsYXNzPVxcXCJkYXRpY29uLWxpc3RcXFwiPlxcbiAgICAgICAgPGxpIG5nLXJlcGVhdD1cXFwiZCBpbiBldmVudC5kYXRlc1xcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF0aWNvblxcXCI+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRvd1xcXCI+XFxuICAgICAgICAgICAgICAgICAgICB7e2QgfCBkYXRlOiBcXCdFRUVcXCd9fVxcbiAgICAgICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF5XFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIHt7ZCB8IGRhdGU6IFxcJ2RcXCd9fVxcbiAgICAgICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwibW9udGhcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAge3tkIHwgZGF0ZSA6IFxcJ01NTVxcJ319XFxuICAgICAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZGVsZXRlXFxcIiBuZy1jbGljaz1cXFwiZGF0ZXBpY2tlci5yZW1vdmVEYXRlKGQpXFxcIj48L3NwYW4+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2xpPlxcbiAgICA8L3VsPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tbWFpblxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tcm93XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXBcXFwiPlxcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XFxcImVtYWlsXFxcIj5DYWxlbmRhcjwvbGFiZWw+XFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImZvcm0tZXJyb3JcXFwiIG5nLXNob3c9XFxcImZvcm0uJHN1Ym1pdHRlZCAmJiBmb3JtLmRhdGVwaWNrZXIuJGVycm9yLnJlcXVpcmVkXFxcIj5cXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvZXJyb3IucG5nXFxcIiB3aWR0aD1cXFwiMTRcXFwiIC8+IFlvdSBuZWVkIHRvIHNlbGVjdCBhIGZldyBkYXRlc1xcbiAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICA8ZGl2IGRhdGVwaWNrZXIgcmVxdWlyZWQgbmFtZT1cXFwiZGF0ZXBpY2tlclxcXCIgY29udHJvbD1cXFwiZGF0ZXBpY2tlclxcXCIgbmctbW9kZWw9XFxcImV2ZW50LmRhdGVzXFxcIj5cXG5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZm9ybS9ldmVudEZvcm0uaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1kZXRhaWxzXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic2VjdGlvbi10aXRsZVxcXCI+RXZlbnQgRGV0YWlsczwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tbWFpblxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tcm93XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tY29sXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwXFxcIj5cXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cXFwidGl0bGVcXFwiPlRpdGxlPC9sYWJlbD5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImZvcm0tZXJyb3JcXFwiIG5nLXNob3c9XFxcIihmb3JtLnRpdGxlLiR0b3VjaGVkIHx8IGZvcm0uJHN1Ym1pdHRlZCkgJiYgZXJyb3JzLnRpdGxlXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2Vycm9yLnBuZ1xcXCIgd2lkdGg9XFxcIjE0XFxcIiAvPiB7e2Vycm9ycy50aXRsZX19XFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IGlkPVxcXCJ0aXRsZVxcXCIgbmFtZT1cXFwidGl0bGVcXFwiIG5nLW1heGxlbmd0aD1cXFwiMzBcXFwiIHJlcXVpcmVkIG5nLW1vZGVsPVxcXCJldmVudC50aXRsZVxcXCIgdHlwZT1cXFwidGV4dFxcXCIgcGxhY2Vob2xkZXI9XFxcIk1vbnRobHkgTWVldHVwLi4uXFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sIGV4dGVuZFxcXCIvPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWNvbFxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1ncm91cCBvcHRpb25hbFxcXCI+XFxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XFxcImxvY2F0aW9uXFxcIj5Mb2NhdGlvbjwvbGFiZWw+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJmb3JtLWVycm9yXFxcIiBuZy1zaG93PVxcXCIoZm9ybS5sb2NhdGlvbi4kdG91Y2hlZCB8fCBmb3JtLiRzdWJtaXR0ZWQpICYmIGVycm9ycy5sb2NhdGlvblxcXCI+XFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9lcnJvci5wbmdcXFwiIHdpZHRoPVxcXCIxNFxcXCIgLz4ge3tlcnJvcnMubG9jYXRpb259fVxcbiAgICAgICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cXFwibG9jYXRpb25cXFwiIG5hbWU9XFxcImxvY2F0aW9uXFxcIiBuZy1tb2RlbD1cXFwiZXZlbnQubG9jYXRpb25cXFwiIG5nLW1heGxlbmd0aD1cXFwiNTBcXFwiIHR5cGU9XFxcInRleHRcXFwiIHBsYWNlaG9sZGVyPVxcXCJSaWNrXFwncyBDYWZlLi4uXFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sIGV4dGVuZFxcXCIvPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwIG9wdGlvbmFsXFxcIj5cXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVxcXCJkZXNjcmlwdGlvblxcXCIgPkRlc2NyaXB0aW9uPC9sYWJlbD5cXG4gICAgICAgICAgICA8dGV4dGFyZWEgaWQ9XFxcImRlc2NyaXB0aW9uXFxcIiBuYW1lPVxcXCJkZXNjcmlwdGlvblxcXCIgbmctbW9kZWw9XFxcImV2ZW50LmRlc2NyaXB0aW9uXFxcIiBwbGFjZWhvbGRlcj1cXFwiRW50ZXIgRGVzY3JpcHRpb24uLi5cXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2wgZXh0ZW5kXFxcIj48L3RleHRhcmVhPlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9mb3JtL3BhcnRpY2lwYW50c0Zvcm0uaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1kZXRhaWxzXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic2VjdGlvbi10aXRsZVxcXCI+SW52aXRlIFBhcnRpY2lwYW50czwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tbWFpblxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tcm93XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXAgb3B0aW9uYWxcXFwiPlxcbiAgICAgICAgICAgIDxsYWJlbD5QYXJ0aWNpcGFudFxcJ3MgRW1haWxzPC9sYWJlbD5cXG4gICAgICAgICAgICA8dGFncy1pbnB1dCBtYXgtbGVuZ3RoPVxcXCI1MFxcXCIgYWxsb3dlZC10YWdzLXBhdHRlcm49XFxcInt7ZW1haWxSZWdleH19XFxcIiBkaXNwbGF5LXByb3BlcnR5PVxcXCJlbWFpbFxcXCIgbmctbW9kZWw9XFxcImV2ZW50LmVtYWlsc1xcXCIgcGxhY2Vob2xkZXI9XFxcIkFkZCBhbiBFbWFpbFxcXCIgdHlwZT1cXFwiZW1haWxcXFwiIGF1dG9jb21wbGV0ZT1cXFwib2ZmXFxcIj48L3RhZ3MtaW5wdXQ+XFxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XFxcImhpZGRlblxcXCIgbmFtZT1cXFwic2hvdWxkQ3JlYXRlXFxcIiB2YWx1ZT1cXFwidHJ1ZVxcXCIgLz5cXG5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG48L3NlY3Rpb24+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2Zvcm0vc2V0dGluZ3NGb3JtLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tZGV0YWlsc1xcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInNlY3Rpb24tdGl0bGVcXFwiPlNldHRpbmdzPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1tYWluXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtZGV0YWlsc1xcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAgICAgICAgICBQb2xsIFN0YXR1c1xcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRlc2NyaXB0aW9uXFxcIj5cXG4gICAgICAgICAgICAgICAgTGV0IHBlb3BsZSB2b3RlIG9uIHRoZSBwb2xsLlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2hcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaC12YWx1ZVxcXCI+XFxuICAgICAgICAgICAgICAgIHt7ZXZlbnQuaXNDbG9zZWQgPyBcXCdDbG9zZWRcXCcgOiBcXCdPcGVuXFwnIH19XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBzd2l0Y2gtdG9nZ2xlIG5nLW1vZGVsPVxcXCJldmVudC5pc0Nsb3NlZFxcXCIgaW52ZXJ0PlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtcm93XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaC1kZXRhaWxzXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJ0aXRsZVxcXCI+XFxuICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvbnNcXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICAgICAgICAgIFNlbmQgZW1haWwgbm90aWZpY2F0aW9ucyB0byB0aGUgY3JlYXRvciBvZiB0aGlzIGV2ZW50LlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2hcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaC12YWx1ZVxcXCI+XFxuICAgICAgICAgICAgICAgIHt7ZXZlbnQuY3JlYXRvci5hbGxvd05vdGlmaWNhdGlvbnMgPyBcXCdFbmFibGVkXFwnIDogXFwnRGlzYWJsZWRcXCcgfX1cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IHN3aXRjaC10b2dnbGUgbmctbW9kZWw9XFxcImV2ZW50LmNyZWF0b3IuYWxsb3dOb3RpZmljYXRpb25zXFxcIj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtZGV0YWlsc1xcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAgICAgICAgICBEZWxldGUgRXZlbnRcXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICAgICAgICAgIE9uY2UgeW91IGRlbGV0ZSBhbiBldmVudCBpdCB3aWxsIG5vIGxvbmdlciBiZSBhY2Nlc3NpYmxlLlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2hcXFwiPlxcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1jbGljaz1cXFwiZGVsZXRlRXZlbnQoKVxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmctY2xhc3M9XFxcIntkYW5nZXIgOiAhZGVsZXRlUmVxdWVzdFNlbnQsIGRpc2FibGVkIDogZGVsZXRlUmVxdWVzdFNlbnR9XFxcIj57e2RlbGV0ZVJlcXVlc3RTZW50ID8gXFwnUmVxdWVzdCBTZW50XFwnIDogXFwnRGVsZXRlIEV2ZW50XFwnIH19PC9idXR0b24+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuPC9zZWN0aW9uPlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9mb3JtL3RpbWVGb3JtLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tZGV0YWlsc1xcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInNlY3Rpb24tdGl0bGVcXFwiPkNob29zZSBUaW1lczwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tbWFpblxcXCI+XFxuICAgIDx0YWJsZSBjbGFzcz1cXFwidGltZS1mb3JtXFxcIj5cXG4gICAgICAgIDx0aGVhZD5cXG4gICAgICAgICAgICA8dHI+XFxuICAgICAgICAgICAgICAgIDx0aD5cXG5cXG4gICAgICAgICAgICAgICAgPC90aD5cXG4gICAgICAgICAgICAgICAgPHRoPlxcbiAgICAgICAgICAgICAgICAgICAgVGltZSAxXFxuICAgICAgICAgICAgICAgIDwvdGg+XFxuICAgICAgICAgICAgICAgIDx0aD5cXG4gICAgICAgICAgICAgICAgICAgIFRpbWUgMlxcbiAgICAgICAgICAgICAgICA8L3RoPlxcbiAgICAgICAgICAgICAgICA8dGg+XFxuICAgICAgICAgICAgICAgICAgICBUaW1lIDNcXG4gICAgICAgICAgICAgICAgPC90aD5cXG4gICAgICAgICAgICA8L3RyPlxcbiAgICAgICAgPC90aGVhZD5cXG4gICAgICAgIDx0Ym9keT5cXG4gICAgICAgICAgICA8dHIgbmctcmVwZWF0PVxcXCJkIGluIGV2ZW50LmRhdGVzXFxcIj5cXG4gICAgICAgICAgICAgICAgPHRkPlxcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF0aWNvblxcXCI+XFxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZG93XFxcIj5cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkLmRhdGUgfCBkYXRlOiBcXCdFRUVcXCd9fVxcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRheVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZC5kYXRlIHwgZGF0ZTogXFwnZFxcJ319XFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwibW9udGhcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2QuZGF0ZSB8IGRhdGUgOiBcXCdNTU1cXCd9fVxcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJkZWxldGVcXFwiIG5nLWNsaWNrPVxcXCJ1bnNldERhdGUoZC5kYXRlKVxcXCI+PC9zcGFuPlxcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgICAgIDwvdGQ+XFxuICAgICAgICAgICAgICAgIDx0ZCBuZy1yZXBlYXQ9XFxcInRpbWUgaW4gWzEsMiwzXSB0cmFjayBieSAkaW5kZXhcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XFxcInRleHRcXFwiIHRpbWUtcGlja2VyIG5nLW1vZGVsLW9wdGlvbnM9XFxcInsgdXBkYXRlT246IFxcJ2JsdXJcXCcgfVxcXCIgbmctbW9kZWw9XFxcImQudGltZXNbJGluZGV4XVxcXCIgY2xhc3M9XFxcInRpbWUtcGlja2VyLWlucHV0XFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8L3RkPlxcbiAgICAgICAgICAgIDwvdHI+XFxuICAgICAgICA8L3Rib2R5PlxcbiAgICA8L3RhYmxlPlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9mb3JtL3VzZXJGb3JtLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tZGV0YWlsc1xcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInNlY3Rpb24tdGl0bGVcXFwiPllvdXIgRGV0YWlsczwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tbWFpblxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tcm93XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tY29sXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwXFxcIj5cXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cXFwibmFtZVxcXCI+TmFtZTwvbGFiZWw+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJmb3JtLWVycm9yXFxcIiBuZy1zaG93PVxcXCIoZm9ybS5uYW1lLiR0b3VjaGVkIHx8IGZvcm0uJHN1Ym1pdHRlZCkgJiYgZXJyb3JzLm5hbWVcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvZXJyb3IucG5nXFxcIiB3aWR0aD1cXFwiMTRcXFwiIC8+IHt7ZXJyb3JzLm5hbWV9fVxcbiAgICAgICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cXFwibmFtZVxcXCIgbmFtZT1cXFwibmFtZVxcXCIgbmctbWF4bGVuZ3RoPVxcXCIzMFxcXCIgcmVxdWlyZWQgbmctbW9kZWw9XFxcImV2ZW50LmNyZWF0b3IubmFtZVxcXCIgdHlwZT1cXFwidGV4dFxcXCIgcGxhY2Vob2xkZXI9XFxcIkpvaG4gRG9lLi4uXFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sIGV4dGVuZFxcXCIvPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWNvbFxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1ncm91cFxcXCI+XFxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XFxcImVtYWlsXFxcIj5FbWFpbDwvbGFiZWw+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJmb3JtLWVycm9yXFxcIiBuZy1zaG93PVxcXCIoZm9ybS5lbWFpbC4kdG91Y2hlZCB8fCBmb3JtLiRzdWJtaXR0ZWQpICYmIGVycm9ycy5lbWFpbFxcXCI+XFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9lcnJvci5wbmdcXFwiIHdpZHRoPVxcXCIxNFxcXCIgLz4ge3tlcnJvcnMuZW1haWx9fVxcbiAgICAgICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVxcXCJlbWFpbFxcXCIgaWQ9XFxcImVtYWlsXFxcIiBuYW1lPVxcXCJlbWFpbFxcXCIgbmctcGF0dGVybj1cXFwiZW1haWxSZWdleFxcXCIgcmVxdWlyZWQgbmctbW9kZWw9XFxcImV2ZW50LmNyZWF0b3IuZW1haWxcXFwiIHBsYWNlaG9sZGVyPVxcXCJqb2huLmRvZUBlbWFpbC5jb20uLi5cXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2wgZXh0ZW5kXFxcIi8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL25ld0V2ZW50L2RhdGV0aW1lLmh0bWxcIixcIjxzZWN0aW9uIGNsYXNzPVxcXCJib3gtc2VjdGlvblxcXCIgZGF0ZS1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuPC9zZWN0aW9uPlxcblxcbjxkaXYgY2xhc3M9XFxcImJveC1jb250cm9scyBib3gtYm90dG9tLXN0aWNreVxcXCI+XFxuICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBjbGFzcz1cXFwiYnRuXFxcIiBuZy1jbGljaz1cXFwicHJldlBhZ2UoKVxcXCI+UHJldmlvdXM8L2J1dHRvbj5cXG4gICAgPGJ1dHRvbiB0eXBlPVxcXCJzdWJtaXRcXFwiIGNsYXNzPVxcXCJidG5cXFwiPk5leHQ8L2J1dHRvbj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvbmV3RXZlbnQvZ2VuZXJhbC5odG1sXCIsXCI8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIHVzZXItZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbjwvc2VjdGlvbj5cXG5cXG48c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIGV2ZW50LWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG48L3NlY3Rpb24+XFxuXFxuPGRpdiBjbGFzcz1cXFwiYm94LWNvbnRyb2xzIGJveC1ib3R0b20tc3RpY2t5XFxcIj5cXG4gICAgPGJ1dHRvbiB0eXBlPVxcXCJzdWJtaXRcXFwiIGNsYXNzPVxcXCJidG5cXFwiPk5leHQgU3RlcDwvYnV0dG9uPlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9uZXdFdmVudC9pbnZpdGUuaHRtbFwiLFwiPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiBwYXJ0aWNpcGFudHMtZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbjwvc2VjdGlvbj5cXG5cXG48ZGl2IGNsYXNzPVxcXCJib3gtY29udHJvbHMgYm94LWJvdHRvbS1zdGlja3lcXFwiPlxcbiAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmctY2xpY2s9XFxcInByZXZQYWdlKClcXFwiPlByZXZpb3VzPC9idXR0b24+XFxuICAgIDxidXR0b24gdHlwZT1cXFwic3VibWl0XFxcIiBjbGFzcz1cXFwiYnRuXFxcIj5DcmVhdGU8L2J1dHRvbj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvbmV3RXZlbnQvbGF5b3V0Lmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcImJveFxcXCI+XFxuXFxuICAgIDxkaXYgY2xhc3M9XFxcImJveC10aXRsZVxcXCI+U2NoZWR1bGUgYSBOZXcgRXZlbnQ8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYm94LWRlc2NyaXB0aW9uXFxcIj5cXG4gICAgICAgIEZpbGwgaW4gdGhlIGZvcm0gYmVsb3cgdG8gY3JlYXRlIHlvdXIgZXZlbnQgYW5kIHNoYXJlIGl0IHdpdGggeW91ciBmcmllbmRzIGFuZCBjb2xsZWFndWVzLlxcbiAgICA8L2Rpdj5cXG4gICAgPG9sIGNsYXNzPVxcXCJib3gtc3RlcHNcXFwiPlxcbiAgICAgICAgPGxpIGNsYXNzPVxcXCJzdGVwIGFjdGl2ZVxcXCI+XFxuICAgICAgICAgICAgR2VuZXJhbCBEZXRhaWxzXFxuICAgICAgICA8L2xpPlxcbiAgICAgICAgPGxpIGNsYXNzPVxcXCJzdGVwXFxcIiBuZy1jbGFzcz1cXFwieyBhY3RpdmUgOiBwYWdlID4gMSB9XFxcIj5cXG4gICAgICAgICAgICBEYXRlcyAmYW1wOyBUaW1lc1xcbiAgICAgICAgPC9saT5cXG4gICAgICAgIDxsaSBjbGFzcz1cXFwic3RlcFxcXCIgbmctY2xhc3M9XFxcInsgYWN0aXZlIDogcGFnZSA+IDIgfVxcXCI+XFxuICAgICAgICAgICAgSW52aXRlc1xcbiAgICAgICAgPC9saT5cXG4gICAgICAgIDxsaSBjbGFzcz1cXFwic3RlcFxcXCIgbmctY2xhc3M9XFxcInsgYWN0aXZlIDogcGFnZSA+IDMgfVxcXCI+XFxuICAgICAgICAgICAgRG9uZVxcbiAgICAgICAgPC9saT5cXG4gICAgPC9vbD5cXG4gICAgPGZvcm0gbm92YWxpZGF0ZSBhdXRvY29tcGxldGU9XFxcIm9mZlxcXCIgbmFtZT1cXFwiZm9ybVxcXCIgbmctc3VibWl0PVxcXCJzdWJtaXQoKVxcXCI+XFxuICAgICAgICA8ZGl2IHVpLXZpZXc+XFxuXFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9mb3JtPlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9uZXdFdmVudC9zdWNjZXNzLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcImJveC1tZXNzYWdlXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwibWFpbi1pbWFnZVxcXCI+XFxuICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9zdWNjZXNzX2xhcmdlLnBuZ1xcXCIgd2lkdGg9XFxcIjEwMFxcXCIgLz5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcInRpdGxlXFxcIj5FdmVudCBDcmVhdGVkPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImNvbnRlbnRcXFwiPlxcbiAgICAgICAgWW91ciBldmVudCBoYXMgYmVlbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseSEgWW91IHNob3VsZCByZWNlaXZlIGFuIGVtYWlsIHNob3J0bHkgd2l0aCBpbnN0cnVjdGlvbnMgdG8gdmVyaWZ5IHlvdXIgZW1haWwgYWRkcmVzcy5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcIm1pbmktZGl2aWRlclxcXCI+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwXFxcIj5cXG4gICAgICAgIDxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sXFxcIiBkaXNhYmxlZD1cXFwidHJ1ZVxcXCIgdmFsdWU9XFxcInt7ZXZlbnRVcmx9fVxcXCIgLz5cXG4gICAgICAgIDxhIGhyZWY9XFxcInt7ZXZlbnRVcmx9fVxcXCIgY2xhc3M9XFxcImJ0biBmb3JtLWJ0blxcXCI+R088L2E+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTt9XSk7IiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignQWJvdXRDdHJsJywgZnVuY3Rpb24oVGl0bGUpe1xuICAgIFRpdGxlLnNldCgnQWJvdXQgUmFsbGx5Jylcbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignQWNjb3VudEN0cmwnLCBmdW5jdGlvbigkc2NvcGUsIENvbmZpcm1Nb2RhbCl7XG4gICAgJHNjb3BlLnNob3dOb3RpY2UgPSBmdW5jdGlvbigpe1xuICAgICAgICBcbiAgICB9XG59KVxuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignRGVsZXRpb25DdHJsJywgZnVuY3Rpb24oJHN0YXRlLCBOb3RpZmljYXRpb24sIEV2ZW50KXtcbiAgICBFdmVudC5kZXN0cm95KHtpZCA6ICRzdGF0ZS5wYXJhbXMuaWQsIGNvZGUgOiRzdGF0ZS5wYXJhbXMuY29kZX0sIGZ1bmN0aW9uKCl7XG4gICAgICAgIHZhciBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgIHRpdGxlIDogJ0V2ZW50IGRlbGV0ZWQnLFxuICAgICAgICAgICAgbWVzc2FnZSA6ICdUaGlzIGV2ZW50IGhhcyBiZWVuIGRlbGV0ZWQnLFxuICAgICAgICAgICAgdHlwZSA6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIHRpbWVvdXQgOiA1MDAwXG4gICAgICAgIH0pO1xuICAgIH0sIGZ1bmN0aW9uKGUpe1xuICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICB0aXRsZSA6ICdEZWxldGlvbiBGYWlsZWQnLFxuICAgICAgICAgICAgbWVzc2FnZSA6ICdUaGUgZXZlbnQgY291bGQgbm90IGJlIGRlbGV0ZWQuIE1ha2Ugc3VyZSB0aGF0IGl0IGV4aXN0cyBhbmQgdGhhdCB0aGUgdXJsIGlzIGNvcnJlY3QnLFxuICAgICAgICAgICAgdHlwZSA6ICdlcnJvcidcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgJHN0YXRlLmdvKCdldmVudCcsIHsgaWQgOiAkc3RhdGUucGFyYW1zLmlkIH0pO1xufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdFZGl0RXZlbnRDdHJsJywgZnVuY3Rpb24oJHNjb3BlLCAkaHR0cCwgJHN0YXRlLCAkdGltZW91dCwgRXZlbnQsIENvbmZpcm1Nb2RhbCwgTm90aWZpY2F0aW9uLCBUaXRsZSl7XG4gICAgdmFyIGlkID0gJHN0YXRlLnBhcmFtcy5pZFxuICAgICRzY29wZS5ldmVudCA9IEV2ZW50LmdldCh7aWQ6aWR9LCBmdW5jdGlvbihkYXRhKXtcbiAgICAgICAgVGl0bGUuc2V0KFwiRWRpdDogXCIgKyAkc2NvcGUuZXZlbnQudGl0bGUpO1xuICAgICAgICAkc2NvcGUubWFzdGVyID0gYW5ndWxhci5jb3B5KCRzY29wZS5ldmVudCk7XG4gICAgfSwgZnVuY3Rpb24oZSl7XG4gICAgICAgICRzdGF0ZS5nbygnbm90Zm91bmQnKTtcbiAgICB9KTtcbiAgICAkc2NvcGUudW5kb0NoYW5nZXMgPSBmdW5jdGlvbigpe1xuICAgICAgICAkc2NvcGUuZXZlbnQgPSBhbmd1bGFyLmNvcHkoJHNjb3BlLm1hc3Rlcik7XG4gICAgfVxuICAgICRzY29wZS5kaWRDaGFuZ2UgPSBmdW5jdGlvbigpe1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoJHNjb3BlLm1hc3RlcikgIT0gSlNPTi5zdHJpbmdpZnkoJHNjb3BlLmV2ZW50KTtcbiAgICB9XG4gICAgJHNjb3BlLmRpZENoYW5nZURhdGVzID0gZnVuY3Rpb24oKXtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KCRzY29wZS5tYXN0ZXIuZGF0ZXMpICE9IEpTT04uc3RyaW5naWZ5KCRzY29wZS5ldmVudC5kYXRlcyk7XG4gICAgfVxuICAgICRzY29wZS5zdWJtaXQgPSBmdW5jdGlvbigpe1xuICAgICAgICBpZiAoJHNjb3BlLmZvcm0uJHZhbGlkKXtcbiAgICAgICAgICAgIGlmICgkc2NvcGUuZGlkQ2hhbmdlRGF0ZXMoKSApe1xuICAgICAgICAgICAgICAgIHZhciBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSA6ICdIb2xkIHVwIScsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnQ2hhbmdpbmcgdGhlIGRhdGVzIHdpbGwgcmVzZXQgYWxsIGVudHJpZXMgYnkgdGhlIHBhcnRpY2lwYW50cy4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRvIHRoYXQ/JyxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlybVRleHQgOiAnWWVzLCBJXFwnbSBzdXJlJyxcbiAgICAgICAgICAgICAgICAgICAgaXNEZXN0cnVjdGl2ZSA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm0gOiBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmV2ZW50LnBhcnRpY2lwYW50cyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB1cGRhdGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgICAgICB0aXRsZSA6ICdOb3Qgc28gZmFzdCcsXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdNYWtlIHN1cmUgeW91IGZpbGwgaW4gYWxsIHRoZSByZXF1aXJlZCBmaWVsZHMgYW5kIHRyeSBhZ2Fpbi4nLFxuICAgICAgICAgICAgICAgIHR5cGUgOiAnZXJyb3InXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB2YXIgdXBkYXRlID0gZnVuY3Rpb24oKXtcbiAgICAgICAgRXZlbnQudXBkYXRlKHtcbiAgICAgICAgICAgIGlkIDogaWRcbiAgICAgICAgfSwgJHNjb3BlLmV2ZW50LFxuICAgICAgICBmdW5jdGlvbigpe1xuICAgICAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgICAgIHRpdGxlIDogJ0NoYW5nZXMgU2F2ZWQnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnWW91ciBjaGFuZ2VzIGhhdmUgYmVlbiBzYXZlZCBzdWNjZXNzZnVsbHkuJyxcbiAgICAgICAgICAgICAgICB0eXBlIDogJ3N1Y2Nlc3MnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICRzY29wZS5tYXN0ZXIgPSBhbmd1bGFyLmNvcHkoJHNjb3BlLmV2ZW50KTtcbiAgICAgICAgfSk7XG4gICAgfVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdFdmVudEN0cmwnLCBmdW5jdGlvbigkc2NvcGUsICRodHRwLCAkc3RhdGUsIFRpdGxlLCBFdmVudCwgQ29uZmlybU1vZGFsKXtcbiAgICB2YXIgaWQgPSAkc3RhdGUucGFyYW1zLmlkO1xuICAgIC8vIEdldCBFdmVudFxuICAgICRzY29wZS5ldmVudCA9IEV2ZW50LmdldCh7aWQ6aWR9LCBmdW5jdGlvbihkYXRhKXtcbiAgICAgICAgLy8gU2V0IHRoZSBwYWdlIHRpdGxlIHRvIHRoZSBldmVudCB0aXRsZVxuICAgICAgICBUaXRsZS5zZXQoJHNjb3BlLmV2ZW50LnRpdGxlKTtcbiAgICAgICAgLy8gR2VuZXJhdGUgZXZlbnQgdXJsIC0gaS5lLiBodHRwOi8vcmFsbGx5LmNvL2pGOUZfRmRcbiAgICAgICAgJHNjb3BlLmV2ZW50VXJsID0gJHN0YXRlLmhyZWYoJ2V2ZW50Jywge1xuICAgICAgICAgICAgaWQ6ICRzY29wZS5ldmVudC5faWRcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgYWJzb2x1dGUgOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH0sIGZ1bmN0aW9uKGUpe1xuICAgICAgICAkc3RhdGUuZ28oJ25vdGZvdW5kJyk7XG4gICAgfSk7XG5cbiAgICAkc2NvcGUub3BlbkV2ZW50ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgJHNjb3BlLmV2ZW50LmlzQ2xvc2VkID0gZmFsc2U7XG4gICAgICAgIEV2ZW50LnVwZGF0ZSh7XG4gICAgICAgICAgICBpZCA6IGlkXG4gICAgICAgIH0sICRzY29wZS5ldmVudCxcbiAgICAgICAgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHZhciBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgIHRpdGxlIDogJ0V2ZW50IE9wZW4nLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnUGVvcGxlIGNhbiB2b3RlIGFuZCBjb21tZW50IG9uIHRoaXMgZXZlbnQuJyxcbiAgICAgICAgICAgICAgICBjYW5jZWxUZXh0IDogJ09LJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAkc2NvcGUuY2xvc2VFdmVudCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICRzY29wZS5ldmVudC5pc0Nsb3NlZCA9IHRydWU7XG4gICAgICAgIEV2ZW50LnVwZGF0ZSh7XG4gICAgICAgICAgICBpZCA6IGlkXG4gICAgICAgIH0sICRzY29wZS5ldmVudCxcbiAgICAgICAgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHZhciBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgIHRpdGxlIDogJ0V2ZW50IENsb3NlZCcsXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdQZW9wbGUgY2FuIG5vIGxvbmdlciB2b3RlIG9yIGNvbW1lbnQgb24gdGhpcyBldmVudC4nLFxuICAgICAgICAgICAgICAgIGNhbmNlbFRleHQgOiAnT0snLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgICRzY29wZS5lZGl0RXZlbnQgPSBmdW5jdGlvbigpe1xuICAgICAgICAkc3RhdGUuZ28oJ2VkaXRldmVudCcsIHsgaWQgOiAkc2NvcGUuZXZlbnQuX2lkIH0pO1xuICAgIH1cblxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdIb21lQ3RybCcsIGZ1bmN0aW9uKCRzY29wZSwgJHN0YXRlLCBUaXRsZSl7XG4gICAgVGl0bGUuc2V0KCdSYWxsbHkgLSBDb2xsYWJvcmF0aXZlIFNjaGVkdWxpbmcnKVxuXG4gICAgJHNjb3BlLm5ld0V2ZW50ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgJHN0YXRlLmdvKCduZXdldmVudCcpO1xuICAgIH1cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignTmF2aWdhdGlvbkN0cmwnLCBmdW5jdGlvbigkc2NvcGUsICRsb2NhdGlvbil7XG4gICAgJHNjb3BlLmlzQWN0aXZlID0gZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICBpZiAoJGxvY2F0aW9uLnBhdGgoKSA9PSBwYXRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgfVxufSlcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ05ld0V2ZW50Q3RybCcsIGZ1bmN0aW9uKCRzY29wZSwgJGh0dHAsICRzdGF0ZSwgRXZlbnQsIENvbmZpcm1Nb2RhbCwgTm90aWZpY2F0aW9uKXtcblxuICAgICRzY29wZS50aXRsZSA9IFwiU2NoZWR1bGUgYSBOZXcgRXZlbnRcIjtcbiAgICAkc2NvcGUuZGVzY3JpcHRpb24gPSBcIkZpbGwgaW4gdGhlIGZvcm0gYmVsb3cgdG8gY3JlYXRlIHlvdXIgZXZlbnQgYW5kIHNoYXJlIGl0IHdpdGggeW91ciBmcmllbmRzIGFuZCBjb2xsZWFndWVzLlwiO1xuICAgICRzY29wZS5ldmVudCA9IHt9O1xuXG4gICAgdmFyIHN0YXRlcyA9IFtcbiAgICAgICAgJ25ld2V2ZW50LmdlbmVyYWwnLFxuICAgICAgICAnbmV3ZXZlbnQuZGF0ZXRpbWUnLFxuICAgICAgICAnbmV3ZXZlbnQuaW52aXRlJ1xuICAgIF07XG5cbiAgICAkc2NvcGUucGFnZSA9IDE7XG5cbiAgICB2YXIgZ29UbyA9IGZ1bmN0aW9uKHBhZ2Upe1xuICAgICAgICAkc2NvcGUucGFnZSA9IHBhZ2U7XG4gICAgICAgICRzdGF0ZS5nbyhzdGF0ZXNbcGFnZS0xXSk7XG4gICAgfVxuXG4gICAgZ29Ubygkc2NvcGUucGFnZSk7XG5cblxuICAgICRzY29wZS5zdWJtaXQgPSBmdW5jdGlvbigpe1xuICAgICAgICBpZiAoJHNjb3BlLmZvcm0uJHZhbGlkICYmICRzY29wZS5wYWdlID09IHN0YXRlcy5sZW5ndGgpe1xuICAgICAgICAgICAgJGh0dHAucG9zdCgnL2FwaS9ldmVudCcsICRzY29wZS5ldmVudClcbiAgICAgICAgICAgIC5zdWNjZXNzKGZ1bmN0aW9uKGV2ZW50LCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZyl7XG4gICAgICAgICAgICAgICAgJHNjb3BlLmV2ZW50ID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgJHNjb3BlLmV2ZW50VXJsID0gJHN0YXRlLmhyZWYoJ2V2ZW50Jywge1xuICAgICAgICAgICAgICAgICAgICBpZDogJHNjb3BlLmV2ZW50Ll9pZFxuICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgYWJzb2x1dGUgOiB0cnVlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgJHNjb3BlLnBhZ2UrKztcbiAgICAgICAgICAgICAgICAkc3RhdGUuZ28oJ25ld2V2ZW50LnN1Y2Nlc3MnKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZXJyb3IoZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICB2YXIgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgOiAnVWggb2ghJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdUaGVyZSB3YXMgYW4gZXJyb3IgY3JlYXRpbmcgeW91ciBldmVudC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4nLFxuICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0IDogJ09LJ1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoJHNjb3BlLmZvcm0uJHZhbGlkKSB7XG4gICAgICAgICAgICAkc2NvcGUuZm9ybS4kc2V0UHJpc3RpbmUoKTtcbiAgICAgICAgICAgICRzY29wZS5uZXh0UGFnZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJHNjb3BlLm5leHRQYWdlID0gZnVuY3Rpb24oKXtcbiAgICAgICAgZ29Ubygkc2NvcGUucGFnZSsxKTtcbiAgICB9XG5cbiAgICAkc2NvcGUucHJldlBhZ2UgPSBmdW5jdGlvbigpe1xuICAgICAgICBnb1RvKCRzY29wZS5wYWdlLTEpO1xuICAgIH1cblxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdWZXJpZmljYXRpb25DdHJsJywgZnVuY3Rpb24oRXZlbnQsIE5vdGlmaWNhdGlvbiwgJHN0YXRlKXtcbiAgICBFdmVudC52ZXJpZnkoe2lkIDogJHN0YXRlLnBhcmFtcy5pZCwgY29kZSA6JHN0YXRlLnBhcmFtcy5jb2RlfSwgZnVuY3Rpb24oKXtcbiAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgdGl0bGUgOiAnRW1haWwgVmVyaWZpZWQnLFxuICAgICAgICAgICAgbWVzc2FnZSA6ICdZb3VyIGVtYWlsIGhhcyBiZWVuIHZlcmlmaWVkLiBZb3Ugd2lsbCBub3cgYmUgYWJsZSB0byByZWNlaXZlIGVtYWlsIG5vdGlmaWNhdGlvbnMgZm9yIHRoaXMgZXZlbnQnLFxuICAgICAgICAgICAgdHlwZSA6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIHRpbWVvdXQgOiA1MDAwXG4gICAgICAgIH0pO1xuICAgIH0sIGZ1bmN0aW9uKGUpe1xuICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICB0aXRsZSA6ICdWZXJpZmljYXRpb24gRmFpbGVkJyxcbiAgICAgICAgICAgIG1lc3NhZ2UgOiAnWW91ciB2ZXJpZmljYXRpb24gY29kZSBoYXMgZXhwaXJlZC4nLFxuICAgICAgICAgICAgdHlwZSA6ICdlcnJvcidcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgJHN0YXRlLmdvKCdldmVudCcsIHsgaWQgOiAkc3RhdGUucGFyYW1zLmlkIH0pO1xuXG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmRpcmVjdGl2ZSgnYmFja0ltZycsIGZ1bmN0aW9uKCl7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKHNjb3BlLCBlbGVtZW50LCBhdHRycyl7XG4gICAgICAgIHZhciB1cmwgPSBhdHRycy5iYWNrSW1nO1xuICAgICAgICBlbGVtZW50LmNzcyh7XG4gICAgICAgICAgICAnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoL2ltYWdlcy8nICsgdXJsICsnLnBuZyknXG4gICAgICAgIH0pO1xuICAgIH07XG59KVxuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZGlyZWN0aXZlKCdkYXRlcGlja2VyJywgZnVuY3Rpb24oKXtcbiAgICByZXR1cm4ge1xuICAgICAgICByZXN0cmljdCA6ICdBJyxcbiAgICAgICAgcmVxdWlyZSA6ICduZ01vZGVsJyxcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICBtb2RlbCA6ICc9bmdNb2RlbCcsXG4gICAgICAgICAgICBjb250cm9sIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIHRlbXBsYXRlVXJsOiAndGVtcGxhdGVzL2RpcmVjdGl2ZXMvZGF0ZVBpY2tlci5odG1sJyxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMsIG5nTW9kZWwpe1xuICAgICAgICAgICAgc2NvcGUubW9kZWwgPSBzY29wZS5tb2RlbCB8fCBbXTtcbiAgICAgICAgICAgIHNjb3BlLmNvbnRyb2wgPSBzY29wZS5jb250cm9sIHx8IHt9O1xuXG4gICAgICAgICAgICBzY29wZS4kd2F0Y2hDb2xsZWN0aW9uKCdtb2RlbCcsIGZ1bmN0aW9uKG5ld1ZhbHVlKXtcbiAgICAgICAgICAgICAgICBuZ01vZGVsLiRzZXRWaWV3VmFsdWUobmV3VmFsdWUpO1xuICAgICAgICAgICAgICAgIG5nTW9kZWwuJHZhbGlkYXRlKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbmdNb2RlbC4kdmFsaWRhdG9ycy5yZXF1aXJlZCA9IGZ1bmN0aW9uKG1vZGVsVmFsdWUsIHZpZXdWYWx1ZSl7XG4gICAgICAgICAgICAgICAgaWYgKCFtb2RlbFZhbHVlIHx8IG1vZGVsVmFsdWUubGVuZ3RoID09IDApe1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgdG9kYXkgPSBEYXRlLnRvZGF5KCksIGFjdGl2ZURhdGUgPSB0b2RheS5jbG9uZSgpO1xuICAgICAgICAgICAgdmFyIHNldE1vbnRoID0gZnVuY3Rpb24odG9EYXRlKXtcbiAgICAgICAgICAgICAgICBhY3RpdmVEYXRlID0gdG9EYXRlO1xuICAgICAgICAgICAgICAgIHZhciBzdGFydERhdGUgPSBhY3RpdmVEYXRlLmNsb25lKCkubW92ZVRvRmlyc3REYXlPZk1vbnRoKCksXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0RGF0ZURPVyA9IHN0YXJ0RGF0ZS5nZXREYXkoKTtcbiAgICAgICAgICAgICAgICBzdGFydERhdGUuYWRkKHN0YXJ0RGF0ZURPVyAtIDcpLmRheXMoKTtcbiAgICAgICAgICAgICAgICBzY29wZS50aXRsZSA9IGFjdGl2ZURhdGUudG9TdHJpbmcoJ01NTU0geXl5eScpO1xuICAgICAgICAgICAgICAgIHZhciBkYXlzID0gbmV3IEFycmF5KDQyKTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRheXMubGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgICAgICAgICB2YXIgZGF0ZSA9IHN0YXJ0RGF0ZS5jbG9uZSgpLmFkZChpKS5kYXlzKClcbiAgICAgICAgICAgICAgICAgICAgZGF5c1tpXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGUgOiBkYXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNPdXRzaWRlTW9udGggOiAoZGF0ZS5nZXRNb250aCgpICE9IGFjdGl2ZURhdGUuZ2V0TW9udGgoKSkgPyB0cnVlIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1RvZGF5IDogKERhdGUuZXF1YWxzKGRhdGUsIHRvZGF5KSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzY29wZS5kYXlzID0gZGF5cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNldE1vbnRoKGFjdGl2ZURhdGUpO1xuICAgICAgICAgICAgc2NvcGUuc2VsZWN0RGF5ID0gZnVuY3Rpb24oZGF5T2JqKXtcbiAgICAgICAgICAgICAgICBpZiAoZGF5T2JqLmlzT3V0c2lkZU1vbnRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldE1vbnRoKGRheU9iai5kYXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChpbmRleCA9IHNjb3BlLmlzQWN0aXZlKGRheU9iai5kYXRlLCB0cnVlKSkgIT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQWxyZWFkeSBzZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICBzY29wZS5tb2RlbC5zcGxpY2UoaW5kZXgsIDEpOyAvLyByZW1vdmVcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBOb3Qgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gMCwgaW5zZXJ0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNjb3BlLm1vZGVsW2luZGV4XSA9PSB1bmRlZmluZWQgfHwgRGF0ZS5jb21wYXJlKERhdGUucGFyc2Uoc2NvcGUubW9kZWxbaW5kZXhdKSwgZGF5T2JqLmRhdGUpID4gMCl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUubW9kZWwuc3BsaWNlKGluZGV4LCAwLCBkYXlPYmouZGF0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXgrKztcbiAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSAoaW5zZXJ0ZWQgPT0gZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLmlzQWN0aXZlID0gZnVuY3Rpb24oZGF0ZSwgcmV0dXJuSW5kZXgpe1xuICAgICAgICAgICAgICAgIHNjb3BlLm1vZGVsID0gc2NvcGUubW9kZWwgfHwgW107XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzY29wZS5tb2RlbC5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICAgICAgICAgIGlmIChEYXRlLmVxdWFscyhEYXRlLnBhcnNlKHNjb3BlLm1vZGVsW2ldKSwgZGF0ZSkpe1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChyZXR1cm5JbmRleCkgPyBpIDogdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gKHJldHVybkluZGV4KSA/IC0xIDogZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS5uZXh0TW9udGggPSBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIHNldE1vbnRoKGFjdGl2ZURhdGUuYWRkKDEpLm1vbnRocygpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLnByZXZNb250aCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgc2V0TW9udGgoYWN0aXZlRGF0ZS5hZGQoLTEpLm1vbnRocygpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2NvcGUuY29udHJvbC5yZW1vdmVEYXRlID0gZnVuY3Rpb24oZGF0ZSl7XG4gICAgICAgICAgICAgICAgaWYgKChpbmRleCA9IHNjb3BlLmlzQWN0aXZlKERhdGUucGFyc2UoZGF0ZSksIHRydWUpKSAhPSAtMSkge1xuICAgICAgICAgICAgICAgICAgICBzY29wZS5tb2RlbC5zcGxpY2UoaW5kZXgsIDEpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5kaXJlY3RpdmUoJ2Rpc2N1c3Npb24nLCBmdW5jdGlvbigkdGltZW91dCwgQ29tbWVudCwgQ29uZmlybU1vZGFsKXtcbiAgICByZXR1cm4ge1xuICAgICAgICByZXN0cmljdCA6ICdBJyxcbiAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2RpcmVjdGl2ZXMvZGlzY3Vzc2lvbi5odG1sJyxcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICAnZXZlbnQnIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKXtcbiAgICAgICAgICAgIHNjb3BlLmNvbW1lbnQgPSB7fTtcbiAgICAgICAgICAgIHZhciB0aHJlYWQgPSBhbmd1bGFyLmVsZW1lbnQoJy5jb21tZW50LXRocmVhZCcpO1xuICAgICAgICAgICAgJHRpbWVvdXQoZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICB0aHJlYWQuc2Nyb2xsVG9wKHRocmVhZC5wcm9wKCdzY3JvbGxIZWlnaHQnKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHNjb3BlLmRlbGV0ZUNvbW1lbnQgPSBmdW5jdGlvbihjb21tZW50KXtcbiAgICAgICAgICAgICAgICB2YXIgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgOiAnQXJlIHlvdSBzdXJlPycsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlbW92ZSB0aGlzIGNvbW1lbnQ/JyxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlybVRleHQgOiAnWWVzIC0gZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dCA6ICdObyAtIG5ldmVybWluZCcsXG4gICAgICAgICAgICAgICAgICAgIGlzRGVzdHJ1Y3RpdmUgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBjb25maXJtIDogZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIENvbW1lbnQucmVtb3ZlKHsgaWQgOiBzY29wZS5ldmVudC5faWQgLCBjaWQgOiBjb21tZW50Ll9pZCB9LCBmdW5jdGlvbihldmVudCl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuZXZlbnQgPSBldmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS5wb3N0Q29tbWVudCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgaWYgKHNjb3BlLmNvbW1lbnRGb3JtLiR2YWxpZCl7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb21tZW50ID0gbmV3IENvbW1lbnQoc2NvcGUuY29tbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbW1lbnQuJHNhdmUoe2lkOnNjb3BlLmV2ZW50Ll9pZH0sIGZ1bmN0aW9uKGV2ZW50KXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmV2ZW50ID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5jb21tZW50ID0ge307XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzY29wZS5jb21tZW50Rm9ybS4kc2V0UHJpc3RpbmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmRpcmVjdGl2ZSgnZHJvcGRvd24nLCBmdW5jdGlvbigkZG9jdW1lbnQpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlc3RyaWN0IDogJ0EnLFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycyl7XG4gICAgICAgICAgICBlbC5hZGRDbGFzcygnZHJvcGRvd24nKTtcbiAgICAgICAgICAgIHNjb3BlLm9wZW4gPSBmYWxzZTtcblxuICAgICAgICAgICAgdmFyIGNsaWNrSGFuZGxlciA9IGZ1bmN0aW9uKGV2ZW50KXtcbiAgICAgICAgICAgICAgICB2YXIgaXNDbGlja2VkRWxlbWVudENoaWxkT2ZQb3B1cCA9IGVsLmZpbmQoZXZlbnQudGFyZ2V0KS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgICAgIGlmIChpc0NsaWNrZWRFbGVtZW50Q2hpbGRPZlBvcHVwKSByZXR1cm47XG4gICAgICAgICAgICAgICAgc2NvcGUudG9nZ2xlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNjb3BlLnRvZ2dsZSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgc2NvcGUub3BlbiA9ICFzY29wZS5vcGVuO1xuICAgICAgICAgICAgICAgIGlmIChzY29wZS5vcGVuKXtcbiAgICAgICAgICAgICAgICAgICAgZWwuYWRkQ2xhc3MoJ29wZW4nKTtcbiAgICAgICAgICAgICAgICAgICAgJGRvY3VtZW50LmJpbmQoJ2NsaWNrJywgY2xpY2tIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBlbC5yZW1vdmVDbGFzcygnb3BlbicpO1xuICAgICAgICAgICAgICAgICAgICAkZG9jdW1lbnQudW5iaW5kKCdjbGljaycsIGNsaWNrSGFuZGxlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5zZXJ2aWNlKCdGb3JtSGVscGVyJywgZnVuY3Rpb24oKXtcbiAgICB0aGlzLmVtYWlsUmVnZXhTdHJpbmcgPSAnXihbXFxcXHctXFxcXC5dK0AoW1xcXFx3LV0rXFxcXC4pK1tcXFxcdy1dezIsNH0pPyQnO1xuICAgIHRoaXMuZW1haWxSZWdleCA9IG5ldyBSZWdFeHAodGhpcy5lbWFpbFJlZ2V4U3RyaW5nKTtcbiAgICB0aGlzLnByZXR0eUVycm9yID0gZnVuY3Rpb24oZXJyb3JzLCBmaWVsZCl7XG4gICAgICAgIGlmIChlcnJvcnMucmVxdWlyZWQpIHJldHVybiBmaWVsZCArIFwiIGlzIHJlcXVpcmVkXCI7XG4gICAgICAgIGlmIChlcnJvcnMucGF0dGVybikgcmV0dXJuIGZpZWxkICsgXCIgaXMgaW52YWxpZFwiIDtcbiAgICAgICAgaWYgKGVycm9ycy5tYXhsZW5ndGgpIHJldHVybiBmaWVsZCArIFwiIGlzIHRvbyBsb25nXCI7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59KVxuLmRpcmVjdGl2ZSgndXNlckZvcm0nLCBmdW5jdGlvbihGb3JtSGVscGVyKXtcbiAgICByZXR1cm4ge1xuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIGV2ZW50IDogJz0nLFxuICAgICAgICAgICAgZm9ybSA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZm9ybS91c2VyRm9ybS5odG1sJyxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMpIHtcbiAgICAgICAgICAgIHNjb3BlLmVycm9ycyA9IHt9O1xuXG4gICAgICAgICAgICBzY29wZS5lbWFpbFJlZ2V4ID0gRm9ybUhlbHBlci5lbWFpbFJlZ2V4O1xuXG4gICAgICAgICAgICBzY29wZS4kd2F0Y2hDb2xsZWN0aW9uKCdmb3JtLm5hbWUuJGVycm9yJyxmdW5jdGlvbihlcnJvcnMpe1xuICAgICAgICAgICAgICAgIHNjb3BlLmVycm9ycy5uYW1lID0gRm9ybUhlbHBlci5wcmV0dHlFcnJvcihlcnJvcnMsIFwiTmFtZVwiKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBzY29wZS4kd2F0Y2hDb2xsZWN0aW9uKCdmb3JtLmVtYWlsLiRlcnJvcicsZnVuY3Rpb24oZXJyb3JzKXtcbiAgICAgICAgICAgICAgICBzY29wZS5lcnJvcnMuZW1haWwgPSBGb3JtSGVscGVyLnByZXR0eUVycm9yKGVycm9ycywgXCJFbWFpbFwiKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufSlcbi5kaXJlY3RpdmUoJ2V2ZW50Rm9ybScsIGZ1bmN0aW9uKEZvcm1IZWxwZXIpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgZXZlbnQgOiAnPScsXG4gICAgICAgICAgICBmb3JtIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9mb3JtL2V2ZW50Rm9ybS5odG1sJyxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMpIHtcbiAgICAgICAgICAgIHNjb3BlLmVycm9ycyA9IHt9O1xuXG4gICAgICAgICAgICBzY29wZS4kd2F0Y2hDb2xsZWN0aW9uKCdmb3JtLnRpdGxlLiRlcnJvcicsZnVuY3Rpb24oZXJyb3JzKXtcbiAgICAgICAgICAgICAgICBzY29wZS5lcnJvcnMudGl0bGUgPSBGb3JtSGVscGVyLnByZXR0eUVycm9yKGVycm9ycywgXCJUaXRsZVwiKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBzY29wZS4kd2F0Y2hDb2xsZWN0aW9uKCdmb3JtLmxvY2F0aW9uLiRlcnJvcicsZnVuY3Rpb24oZXJyb3JzKXtcbiAgICAgICAgICAgICAgICBzY29wZS5lcnJvcnMubG9jYXRpb24gPSBGb3JtSGVscGVyLnByZXR0eUVycm9yKGVycm9ycywgXCJMb2NhdGlvblwiKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIH1cbiAgICB9XG59KVxuLmRpcmVjdGl2ZSgnZGF0ZUZvcm0nLCBmdW5jdGlvbigpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgZXZlbnQgOiAnPScsXG4gICAgICAgICAgICBmb3JtIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9mb3JtL2RhdGVGb3JtLmh0bWwnXG4gICAgfVxufSlcbi5kaXJlY3RpdmUoJ3BhcnRpY2lwYW50c0Zvcm0nLCBmdW5jdGlvbihGb3JtSGVscGVyKXtcbiAgICByZXR1cm4ge1xuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIGV2ZW50IDogJz0nLFxuICAgICAgICAgICAgZm9ybSA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZm9ybS9wYXJ0aWNpcGFudHNGb3JtLmh0bWwnLFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycyl7XG4gICAgICAgICAgICBzY29wZS5lbWFpbFJlZ2V4ID0gRm9ybUhlbHBlci5lbWFpbFJlZ2V4U3RyaW5nO1xuICAgICAgICB9XG4gICAgfVxufSlcbi5kaXJlY3RpdmUoJ3NldHRpbmdzRm9ybScsIGZ1bmN0aW9uKEV2ZW50LCBDb25maXJtTW9kYWwpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgZXZlbnQgOiAnPScsXG4gICAgICAgICAgICBmb3JtIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9mb3JtL3NldHRpbmdzRm9ybS5odG1sJyxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMpe1xuICAgICAgICAgICAgc2NvcGUuZGVsZXRlRXZlbnQgPSBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIGlmIChzY29wZS5kZWxldGVSZXF1ZXN0U2VudCkgcmV0dXJuO1xuICAgICAgICAgICAgICAgIEV2ZW50LmRlbGV0ZSh7J2lkJyA6IHNjb3BlLmV2ZW50Ll9pZH0sIGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgICAgIHNjb3BlLmRlbGV0ZVJlcXVlc3RTZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG1vZGFsID0gbmV3IENvbmZpcm1Nb2RhbCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSA6ICdEZWxldGUgUmVxdWVzdCBTZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnQW4gZW1haWwgaGFzIGJlZW4gc2VudCB0byB0aGUgY3JlYXRvciBvZiB0aGlzIGV2ZW50IHdpdGggaW5zdHJ1Y3Rpb25zIHRvIGRlbGV0ZSBpdC4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dCA6ICdPSydcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59KVxuLmRpcmVjdGl2ZSgnc3dpdGNoVG9nZ2xlJywgZnVuY3Rpb24oKXtcbiAgICByZXR1cm4ge1xuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIG1vZGVsIDogJz1uZ01vZGVsJ1xuICAgICAgICB9LFxuICAgICAgICByZXF1aXJlIDogJ25nTW9kZWwnLFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycywgbmdNb2RlbCkge1xuICAgICAgICAgICAgZWwuYWRkQ2xhc3MoJ3N3aXRjaC10b2dnbGUnKTtcbiAgICAgICAgICAgIHZhciBzZXRDbGFzcyA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgaWYgKHNjb3BlLm1vZGVsIF4gdHlwZW9mKGF0dHJzLmludmVydCkgIT09ICd1bmRlZmluZWQnKXtcbiAgICAgICAgICAgICAgICAgICAgZWwuYWRkQ2xhc3MoJ2FjdGl2ZScpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVsLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS4kd2F0Y2goJ21vZGVsJywgc2V0Q2xhc3MpO1xuICAgICAgICAgICAgZWwuYmluZCgnY2xpY2snLCBmdW5jdGlvbihlKXtcbiAgICAgICAgICAgICAgICBzY29wZS5tb2RlbCA9ICFzY29wZS5tb2RlbDtcbiAgICAgICAgICAgICAgICBuZ01vZGVsLiRzZXRWaWV3VmFsdWUoc2NvcGUubW9kZWwsIGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59KVxuLmRpcmVjdGl2ZSgndGltZUZvcm0nLCBmdW5jdGlvbihEYXRlUGlja2VyU2VydmljZSl7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICBldmVudCA6ICc9JyxcbiAgICAgICAgICAgIGZvcm0gOiAnPSdcbiAgICAgICAgfSxcbiAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2Zvcm0vdGltZUZvcm0uaHRtbCcsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKXtcbiAgICAgICAgICAgIHZhciBpbml0ID0gZmFsc2U7XG4gICAgICAgICAgICB2YXIgZGF0ZVNlcnZpY2U7XG4gICAgICAgICAgICB2YXIgZGVyZWdpc3RlciA9IHNjb3BlLiR3YXRjaCgnZXZlbnQuZGF0ZXMnLCBmdW5jdGlvbih2YWx1ZSl7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlICYmICFpbml0KSB7XG4gICAgICAgICAgICAgICAgICAgIGRlcmVnaXN0ZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5pdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgZGF0ZVNlcnZpY2UgPSBuZXcgRGF0ZVBpY2tlclNlcnZpY2Uoc2NvcGUuZXZlbnQuZGF0ZXMpO1xuICAgICAgICAgICAgICAgIHNjb3BlLnVuc2V0RGF0ZSA9IGZ1bmN0aW9uKGRhdGUpe1xuICAgICAgICAgICAgICAgICAgICBkYXRlU2VydmljZS5yZW1vdmVEYXRlKGRhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufSlcbi5kaXJlY3RpdmUoJ3RpbWVQaWNrZXInLCBmdW5jdGlvbigkdGltZW91dCl7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICBtb2RlbCA6ICc9bmdNb2RlbCdcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZSA6ICduZ01vZGVsJyxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMsIG5nTW9kZWwpe1xuICAgICAgICAgICAgbmdNb2RlbC4kdmlld0NoYW5nZUxpc3RlbmVycy5wdXNoKGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgc2NvcGUubW9kZWwgPSBuZ01vZGVsLiRtb2RlbFZhbHVlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIG5nTW9kZWwuJHBhcnNlcnMucHVzaChmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgICAgICAgICAgICAgcmV0dXJuIERhdGUucGFyc2UodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIG5nTW9kZWwuJHZhbGlkYXRvcnMudGltZSA9IGZ1bmN0aW9uKG1vZGVsVmFsdWUsIHZpZXdWYWx1ZSl7XG4gICAgICAgICAgICAgICAgaWYgKG5nTW9kZWwuJGlzRW1wdHkobW9kZWxWYWx1ZSkpIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIHZhciB0aW1lID0gRGF0ZS5wYXJzZShtb2RlbFZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAodGltZSkge1xuICAgICAgICAgICAgICAgICAgICBuZ01vZGVsLiRzZXRWaWV3VmFsdWUodGltZS50b1N0cmluZyhcImhoOm1tIHR0XCIpKTtcbiAgICAgICAgICAgICAgICAgICAgbmdNb2RlbC4kcmVuZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmRpcmVjdGl2ZSgncG9sbCcsIGZ1bmN0aW9uKCR0aW1lb3V0LCBQYXJ0aWNpcGFudCwgQ29uZmlybU1vZGFsKXtcbiAgICByZXR1cm4ge1xuICAgICAgICByZXN0cmljdCA6ICdBJyxcbiAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2RpcmVjdGl2ZXMvcG9sbC5odG1sJyxcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICAnZXZlbnQnIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKXtcbiAgICAgICAgICAgIHNjb3BlLmRlZmF1bHRzID0gW107XG4gICAgICAgICAgICBzY29wZS5wYXJ0aWNpcGFudCA9IHt9O1xuICAgICAgICAgICAgdmFyIGRhdGVzQ291bnQgPSBbXTtcbiAgICAgICAgICAgIHZhciB1bmJpbmRMaXN0ZW5lcjtcbiAgICAgICAgICAgIHNjb3BlLmV2ZW50LiRwcm9taXNlLnRoZW4oZnVuY3Rpb24oZXZlbnQpe1xuICAgICAgICAgICAgICAgIHZhciBleGFtcGxlc05hbWVzID0gWydKb2huIEV4YW1wbGUnLCAnSmFuZSBTcGVjaW1lbicsJ01hcmsgSW5zdGFuY2UnLCAnTWFyeSBDYXNlJ107XG4gICAgICAgICAgICAgICAgdmFyIGV4YW1wbGVzID0gW107XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleGFtcGxlc05hbWVzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGV4YW1wbGUgPSB7IG5hbWUgOiBleGFtcGxlc05hbWVzW2ldIH07XG4gICAgICAgICAgICAgICAgICAgIGV4YW1wbGUuZGF0ZXMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCAgZXZlbnQuZGF0ZXMubGVuZ3RoOyBqKyspe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFuc3dlciA9IE1hdGgucmFuZG9tKCk8LjU7XG4gICAgICAgICAgICAgICAgICAgICAgICBleGFtcGxlLmRhdGVzW2pdID0gYW5zd2VyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGV4YW1wbGVzLnB1c2goZXhhbXBsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNjb3BlLmV4YW1wbGVzID0gZXhhbXBsZXM7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgc2NvcGUuZGVsZXRlID0gZnVuY3Rpb24ocGFydGljaXBhbnQpe1xuICAgICAgICAgICAgICAgIHZhciBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSA6ICdEZWxldGUgJyArIHBhcnRpY2lwYW50Lm5hbWUgKyAnPycsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlbW92ZSAnK3BhcnRpY2lwYW50Lm5hbWUrJyBmcm9tIHRoZSBwb2xsPycsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm1UZXh0IDogJ1llcyAtIGRlbGV0ZScsXG4gICAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHQgOiAnTm8gLSBuZXZlcm1pbmQnLFxuICAgICAgICAgICAgICAgICAgICBpc0Rlc3RydWN0aXZlIDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlybSA6IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgICAgICAgICBQYXJ0aWNpcGFudC5yZW1vdmUoeyBpZCA6IHNjb3BlLmV2ZW50Ll9pZCAsIHBpZCA6IHBhcnRpY2lwYW50Ll9pZCB9LCBmdW5jdGlvbihldmVudCl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuZXZlbnQgPSBldmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS5pc1RvcERhdGUgPSBmdW5jdGlvbihpbmRleCl7XG4gICAgICAgICAgICAgICAgdmFyIGNvdW50ID0gZGF0ZXNDb3VudFtpbmRleF07XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRlc0NvdW50Lmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGVzQ291bnRbaV0gPiBjb3VudCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLnNlbGVjdGVkRGF0ZSA9IGZ1bmN0aW9uKGluZGV4KXtcbiAgICAgICAgICAgICAgICBkYXRlc0NvdW50W2luZGV4XSA9IDA7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzY29wZS5ldmVudC5wYXJ0aWNpcGFudHMubGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2NvcGUuZXZlbnQucGFydGljaXBhbnRzW2ldLnZvdGVzW2luZGV4XSkgZGF0ZXNDb3VudFtpbmRleF0rKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGVzQ291bnRbaW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUudXBkYXRlID0gZnVuY3Rpb24ocGFydGljaXBhbnQpe1xuICAgICAgICAgICAgICAgIFBhcnRpY2lwYW50LnVwZGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgIGlkIDogc2NvcGUuZXZlbnQuX2lkLFxuICAgICAgICAgICAgICAgICAgICBwaWQgOiBwYXJ0aWNpcGFudC5faWRcbiAgICAgICAgICAgICAgICB9LCBwYXJ0aWNpcGFudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS5lZGl0ID0gZnVuY3Rpb24ocGFydGljaXBhbnQpe1xuICAgICAgICAgICAgICAgIHNjb3BlLmRlZmF1bHRzW3Njb3BlLmV2ZW50LnBhcnRpY2lwYW50cy5pbmRleE9mKHBhcnRpY2lwYW50KV0gPSBhbmd1bGFyLmNvcHkocGFydGljaXBhbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUuY2FuY2VsID0gZnVuY3Rpb24oaW5kZXgpe1xuICAgICAgICAgICAgICAgIHNjb3BlLmV2ZW50LnBhcnRpY2lwYW50c1tpbmRleF0gPSBzY29wZS5kZWZhdWx0c1tpbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS5zYXZlID0gZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICBpZiAoc2NvcGUuZm9ybW5ldy4kdmFsaWQpe1xuICAgICAgICAgICAgICAgICAgICB2YXIgcGFydGljaXBhbnQgPSBuZXcgUGFydGljaXBhbnQoc2NvcGUucGFydGljaXBhbnQpO1xuICAgICAgICAgICAgICAgICAgICBwYXJ0aWNpcGFudC4kc2F2ZSh7aWQ6c2NvcGUuZXZlbnQuX2lkfSwgZnVuY3Rpb24oZXZlbnQpe1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuZXZlbnQgPSBldmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLnBhcnRpY2lwYW50ID0ge307XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzY29wZS5mb3JtbmV3LiRzZXRQcmlzdGluZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZmlsdGVyKCdlbGFwc2VkJywgZnVuY3Rpb24oJGZpbHRlcil7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGRhdGUpe1xuICAgICAgICBpZiAoIWRhdGUpIHJldHVybjtcbiAgICAgICAgdmFyIHRpbWUgPSBEYXRlLnBhcnNlKGRhdGUpLFxuICAgICAgICAgICAgdGltZU5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpLFxuICAgICAgICAgICAgZGlmZmVyZW5jZSA9IHRpbWVOb3cgLSB0aW1lLFxuICAgICAgICAgICAgc2Vjb25kcyA9IE1hdGguZmxvb3IoZGlmZmVyZW5jZSAvIDEwMDApLFxuICAgICAgICAgICAgbWludXRlcyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAvIDYwKSxcbiAgICAgICAgICAgIGhvdXJzID0gTWF0aC5mbG9vcihtaW51dGVzIC8gNjApLFxuICAgICAgICAgICAgZGF5cyA9IE1hdGguZmxvb3IoaG91cnMgLyAyNCk7XG4gICAgICAgIGlmIChkYXlzID4gMzApIHtcbiAgICAgICAgICAgIHJldHVybiAnb24gJyArICRmaWx0ZXIoJ2RhdGUnKShkYXRlLCAnTU1NTSBkJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF5cyA+IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXlzICsgXCIgZGF5cyBhZ29cIjtcbiAgICAgICAgfSBlbHNlIGlmIChkYXlzID09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBcIjEgZGF5IGFnb1wiXG4gICAgICAgIH0gZWxzZSBpZiAoaG91cnMgPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gaG91cnMgKyBcIiBob3VycyBhZ29cIjtcbiAgICAgICAgfSBlbHNlIGlmIChob3VycyA9PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJhbiBob3VyIGFnb1wiO1xuICAgICAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbWludXRlcyArIFwiIG1pbnV0ZXMgYWdvXCI7XG4gICAgICAgIH0gZWxzZSBpZiAobWludXRlcyA9PSAxKXtcbiAgICAgICAgICAgIHJldHVybiBcImEgbWludXRlIGFnb1wiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFwiYSBmZXcgc2Vjb25kcyBhZ29cIjtcbiAgICAgICAgfVxuICAgIH1cbn0pXG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5mYWN0b3J5KCdDb25maXJtTW9kYWwnLCBmdW5jdGlvbihidGZNb2RhbCl7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24oY29uZmlnKXtcbiAgICAgICAgdmFyIG1vZGFsO1xuICAgICAgICBtb2RhbCA9IGJ0Zk1vZGFsKHtcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9jb25maXJtbW9kYWwuaHRtbCcsXG4gICAgICAgICAgICBjb250cm9sbGVyQXMgOiAnbW9kYWwnLFxuICAgICAgICAgICAgY29udHJvbGxlciA6IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgdGhpcy50aXRsZSA9IGNvbmZpZy50aXRsZVxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZSA9IGNvbmZpZy5tZXNzYWdlO1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlybSA9IChjb25maWcuY29uZmlybSkgPyBmdW5jdGlvbigpe2NvbmZpZy5jb25maXJtKCk7IG1vZGFsLmRlYWN0aXZhdGUoKX0gOiBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbmNlbCA9IG1vZGFsLmRlYWN0aXZhdGU7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maXJtVGV4dCA9IGNvbmZpZy5jb25maXJtVGV4dCB8fCAnQ29uZmlybSc7XG4gICAgICAgICAgICAgICAgdGhpcy5jYW5jZWxUZXh0ID0gY29uZmlnLmNhbmNlbFRleHQgfHwgJ0NhbmNlbCc7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Rlc3RydWN0aXZlID0gY29uZmlnLmlzRGVzdHJ1Y3RpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBtb2RhbC5hY3RpdmF0ZSgpO1xuICAgICAgICBcbiAgICAgICAgdGhpcy5kZXN0cm95ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIG1vZGFsLmRlYWN0aXZhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZmFjdG9yeSgnTm90aWZpY2F0aW9uJywgZnVuY3Rpb24oJHRpbWVvdXQsIGJ0Zk1vZGFsKXtcbiAgICByZXR1cm4gZnVuY3Rpb24oY29uZmlnKXtcbiAgICAgICAgdmFyIG1vZGFsO1xuICAgICAgICBtb2RhbCA9IGJ0Zk1vZGFsKHtcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9ub3RpZmljYXRpb24uaHRtbCcsXG4gICAgICAgICAgICBjb250cm9sbGVyQXMgOiAnbm90aWZpY2F0aW9uJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIHRoaXMudGl0bGUgPSBjb25maWcudGl0bGVcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlID0gbW9kYWwuZGVhY3RpdmF0ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGUgPSBjb25maWcudHlwZTtcbiAgICAgICAgICAgICAgICB2YXIgdGltZW91dCA9IGNvbmZpZy50aW1lb3V0IHx8IDUwMDA7XG4gICAgICAgICAgICAgICAgJHRpbWVvdXQobW9kYWwuZGVhY3RpdmF0ZSwgdGltZW91dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBtb2RhbC5hY3RpdmF0ZSgpO1xuXG4gICAgICAgIHRoaXMuZGVzdHJveSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBtb2RhbC5kZWFjdGl2YXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== \ No newline at end of file diff --git a/public/css/style.css b/public/css/style.css index 510ec9bb7..0dd01e5a0 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -3,5 +3,5 @@ Animate.css - http://daneden.me/animate Licensed under the MIT license - http://opensource.org/licenses/MIT Copyright (c) 2014 Daniel Eden -*/.animated{-webkit-animation-duration:0.3s;animation-duration:0.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,20%,53%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0)}90%{-webkit-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0)}}@keyframes bounce{0%,20%,53%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0)}90%{-webkit-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-webkit-transform:scale3d(1.05, 1.05, 1.05);transform:scale3d(1.05, 1.05, 1.05)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes pulse{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-webkit-transform:scale3d(1.05, 1.05, 1.05);transform:scale3d(1.05, 1.05, 1.05)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}30%{-webkit-transform:scale3d(1.25, 0.75, 1);transform:scale3d(1.25, 0.75, 1)}40%{-webkit-transform:scale3d(0.75, 1.25, 1);transform:scale3d(0.75, 1.25, 1)}50%{-webkit-transform:scale3d(1.15, 0.85, 1);transform:scale3d(1.15, 0.85, 1)}65%{-webkit-transform:scale3d(0.95, 1.05, 1);transform:scale3d(0.95, 1.05, 1)}75%{-webkit-transform:scale3d(1.05, 0.95, 1);transform:scale3d(1.05, 0.95, 1)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes rubberBand{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}30%{-webkit-transform:scale3d(1.25, 0.75, 1);transform:scale3d(1.25, 0.75, 1)}40%{-webkit-transform:scale3d(0.75, 1.25, 1);transform:scale3d(0.75, 1.25, 1)}50%{-webkit-transform:scale3d(1.15, 0.85, 1);transform:scale3d(1.15, 0.85, 1)}65%{-webkit-transform:scale3d(0.95, 1.05, 1);transform:scale3d(0.95, 1.05, 1)}75%{-webkit-transform:scale3d(1.05, 0.95, 1);transform:scale3d(1.05, 0.95, 1)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}}@keyframes shake{0%,100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0, 0, 1, 15deg);transform:rotate3d(0, 0, 1, 15deg)}40%{-webkit-transform:rotate3d(0, 0, 1, -10deg);transform:rotate3d(0, 0, 1, -10deg)}60%{-webkit-transform:rotate3d(0, 0, 1, 5deg);transform:rotate3d(0, 0, 1, 5deg)}80%{-webkit-transform:rotate3d(0, 0, 1, -5deg);transform:rotate3d(0, 0, 1, -5deg)}100%{-webkit-transform:rotate3d(0, 0, 1, 0deg);transform:rotate3d(0, 0, 1, 0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0, 0, 1, 15deg);transform:rotate3d(0, 0, 1, 15deg)}40%{-webkit-transform:rotate3d(0, 0, 1, -10deg);transform:rotate3d(0, 0, 1, -10deg)}60%{-webkit-transform:rotate3d(0, 0, 1, 5deg);transform:rotate3d(0, 0, 1, 5deg)}80%{-webkit-transform:rotate3d(0, 0, 1, -5deg);transform:rotate3d(0, 0, 1, -5deg)}100%{-webkit-transform:rotate3d(0, 0, 1, 0deg);transform:rotate3d(0, 0, 1, 0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}10%,20%{-webkit-transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes tada{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}10%,20%{-webkit-transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)}30%{-webkit-transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)}45%{-webkit-transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)}60%{-webkit-transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)}75%{-webkit-transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)}30%{-webkit-transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)}45%{-webkit-transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)}60%{-webkit-transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)}75%{-webkit-transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)}100%{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}20%{-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}40%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}60%{opacity:1;-webkit-transform:scale3d(1.03, 1.03, 1.03);transform:scale3d(1.03, 1.03, 1.03)}80%{-webkit-transform:scale3d(0.97, 0.97, 0.97);transform:scale3d(0.97, 0.97, 0.97)}100%{opacity:1;-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}20%{-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}40%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}60%{opacity:1;-webkit-transform:scale3d(1.03, 1.03, 1.03);transform:scale3d(1.03, 1.03, 1.03)}80%{-webkit-transform:scale3d(0.97, 0.97, 0.97);transform:scale3d(0.97, 0.97, 0.97)}100%{opacity:1;-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn;-webkit-animation-duration:0.75s;animation-duration:0.75s}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, -3000px, 0);transform:translate3d(0, -3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, 25px, 0);transform:translate3d(0, 25px, 0)}75%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}90%{-webkit-transform:translate3d(0, 5px, 0);transform:translate3d(0, 5px, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, -3000px, 0);transform:translate3d(0, -3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, 25px, 0);transform:translate3d(0, 25px, 0)}75%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}90%{-webkit-transform:translate3d(0, 5px, 0);transform:translate3d(0, 5px, 0)}100%{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(-3000px, 0, 0);transform:translate3d(-3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(25px, 0, 0);transform:translate3d(25px, 0, 0)}75%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}90%{-webkit-transform:translate3d(5px, 0, 0);transform:translate3d(5px, 0, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(-3000px, 0, 0);transform:translate3d(-3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(25px, 0, 0);transform:translate3d(25px, 0, 0)}75%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}90%{-webkit-transform:translate3d(5px, 0, 0);transform:translate3d(5px, 0, 0)}100%{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(3000px, 0, 0);transform:translate3d(3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(-25px, 0, 0);transform:translate3d(-25px, 0, 0)}75%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}90%{-webkit-transform:translate3d(-5px, 0, 0);transform:translate3d(-5px, 0, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(3000px, 0, 0);transform:translate3d(3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(-25px, 0, 0);transform:translate3d(-25px, 0, 0)}75%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}90%{-webkit-transform:translate3d(-5px, 0, 0);transform:translate3d(-5px, 0, 0)}100%{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, 3000px, 0);transform:translate3d(0, 3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}75%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}90%{-webkit-transform:translate3d(0, -5px, 0);transform:translate3d(0, -5px, 0)}100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}@keyframes bounceInUp{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, 3000px, 0);transform:translate3d(0, 3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}75%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}90%{-webkit-transform:translate3d(0, -5px, 0);transform:translate3d(0, -5px, 0)}100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}100%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}100%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:0.75s;animation-duration:0.75s}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px, 0, 0);transform:translate3d(20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px, 0, 0);transform:translate3d(20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px, 0, 0);transform:translate3d(-20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px, 0, 0);transform:translate3d(-20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, 20px, 0);transform:translate3d(0, 20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, 20px, 0);transform:translate3d(0, 20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}}@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}@keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}@keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}@keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}}@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}@keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -360deg);transform:perspective(400px) rotate3d(0, 1, 0, -360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(0.95, 0.95, 0.95);transform:perspective(400px) scale3d(0.95, 0.95, 0.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -360deg);transform:perspective(400px) rotate3d(0, 1, 0, -360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(0.95, 0.95, 0.95);transform:perspective(400px) scale3d(0.95, 0.95, 0.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);transform:perspective(400px) rotate3d(0, 1, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);transform:perspective(400px) rotate3d(0, 1, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);transform:perspective(400px) rotate3d(0, 1, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);transform:perspective(400px) rotate3d(0, 1, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);transform:perspective(400px) rotate3d(0, 1, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);transform:perspective(400px) rotate3d(0, 1, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-duration:0.75s;animation-duration:0.75s;-webkit-backface-visibility:visible !important;backface-visibility:visible !important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -15deg);transform:perspective(400px) rotate3d(0, 1, 0, -15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -15deg);transform:perspective(400px) rotate3d(0, 1, 0, -15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipOutY;animation-name:flipOutY;-webkit-animation-duration:0.75s;animation-duration:0.75s}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%, 0, 0) skewX(-30deg);transform:translate3d(100%, 0, 0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%, 0, 0) skewX(-30deg);transform:translate3d(100%, 0, 0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%, 0, 0) skewX(30deg);transform:translate3d(100%, 0, 0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%, 0, 0) skewX(30deg);transform:translate3d(100%, 0, 0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, -200deg);transform:rotate3d(0, 0, 1, -200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, -200deg);transform:rotate3d(0, 0, 1, -200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -90deg);transform:rotate3d(0, 0, 1, -90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -90deg);transform:rotate3d(0, 0, 1, -90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, 200deg);transform:rotate3d(0, 0, 1, 200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, 200deg);transform:rotate3d(0, 0, 1, 200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 90deg);transform:rotate3d(0, 0, 1, 90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 90deg);transform:rotate3d(0, 0, 1, 90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0, 0, 1, 80deg);transform:rotate3d(0, 0, 1, 80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0, 0, 1, 60deg);transform:rotate3d(0, 0, 1, 60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0, 700px, 0);transform:translate3d(0, 700px, 0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0, 0, 1, 80deg);transform:rotate3d(0, 0, 1, 80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0, 0, 1, 60deg);transform:rotate3d(0, 0, 1, 60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0, 700px, 0);transform:translate3d(0, 700px, 0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)}}@keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(-2000px, 0, 0);transform:scale(0.1) translate3d(-2000px, 0, 0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(-2000px, 0, 0);transform:scale(0.1) translate3d(-2000px, 0, 0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(2000px, 0, 0);transform:scale(0.1) translate3d(2000px, 0, 0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(2000px, 0, 0);transform:scale(0.1) translate3d(2000px, 0, 0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.btn{border:1px solid #E0E3E9;display:inline-block;border-radius:2px;box-shadow:inset 0 1px 0 white,0 1px 1px rgba(217,221,227,0.5);background-color:#FAFAFA;background-image:-webkit-linear-gradient(#FAFAFA, #EFF1F3);background-image:linear-gradient(#FAFAFA, #EFF1F3);font-size:0.75em;font-weight:600;color:#828B9A;text-decoration:none;padding:0.5em 0.9375em}.btn:hover{background-color:#fbfbfb;background-image:-webkit-linear-gradient(#fbfbfb, #f2f4f5);background-image:linear-gradient(#fbfbfb, #f2f4f5)}.btn.disabled{cursor:default;opacity:0.5}.btn.disabled:active{box-shadow:inset 0 1px 0 white,0 1px 1px rgba(0,0,0,0.1)}.btn.danger{color:#E06488}.btn:focus{outline:0}.btn:active{box-shadow:none}form{margin:0}form.ng-submitted .ng-invalid{border-color:#E55A84 !important}.form-container{width:100%}.form-row{display:block;margin-bottom:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-row:after{content:"";display:table;clear:both}.form-col{float:left;display:block;margin-right:2.35765%;width:48.82117%}.form-col:last-child{margin-right:0}.form-col.padded:first-child{padding:0 20px 0 0}.form-col.padded:last-child{padding:0 0 0 20px}.form-group>label{font-size:0.75em;color:#AEB4BE;display:inline-block;line-height:1.875em}.form-group .form-error{font-size:0.75em;color:#E06488;float:right}.form-group .form-error img{vertical-align:bottom;margin-right:3px}.form-group.optional>label:after{content:" (optional)"}.form-group.error input.form-control,.form-group.error textarea.form-control{border-color:#E55A84;background:rgba(229,90,132,0.02)}.form-group input.form-control,.form-group textarea.form-control{border-radius:2px;border:1px solid #D9DDE3;font-size:1.125em;-webkit-transition:border-color 0.1s ease-in-out;-moz-transition:border-color 0.1s ease-in-out;transition:border-color 0.1s ease-in-out}.form-group input.form-control:focus,.form-group textarea.form-control:focus{border-color:#5AC4E5;outline:none;background:white}.form-group input.form-control.extend,.form-group textarea.form-control.extend{width:100%}.form-group input.form-control::-webkit-input-placeholder,.form-group textarea.form-control::-webkit-input-placeholder{color:rgba(174,180,190,0.7)}.form-group input.form-control::-moz-placeholder,.form-group textarea.form-control::-moz-placeholder{color:rgba(174,180,190,0.7)}.form-group input.form-control:-moz-placeholder,.form-group textarea.form-control:-moz-placeholder{color:rgba(174,180,190,0.7)}.form-group input.form-control:-ms-input-placeholder,.form-group textarea.form-control:-ms-input-placeholder{color:rgba(174,180,190,0.7)}.form-group .form-btn{padding:0.75em 0.9375em}.form-group input.form-control{vertical-align:middle;padding:0.3125em 0.625em}.form-group textarea.form-control{min-height:135px;font-size:1.125em;padding:0.5em 0.625em}.form-submit-message{display:inline-block;margin-left:0.3125em;font-size:0.75em}.form-submit-message.error{color:#E06488}.form-submit-message img{vertical-align:middle;margin-right:0.3125em}.box{background:white;border:1px solid #D9DDE3;border-radius:3px;margin:0 auto 20px auto;max-width:800px;min-width:700px;overflow:hidden;padding:20px 25px}.box.box-x-scroll{overflow-x:scroll}.box.invisible{background:transparent;border:0;padding:0;margin-bottom:40px}.box.highlight{border-color:#5AC4E5;box-shadow:0 0 3px rgba(90,196,229,0.5)}.box-title{font-size:24px;font-weight:bold;color:#3D4043;margin-bottom:20px}.box-description{font-size:14px;color:#828B9A;padding-bottom:20px;border-bottom:1px solid #D9DDE3;margin-top:-20px;margin-bottom:20px}.box-description a{color:#3D4043;text-decoration:none}.box-description a:hover{border:1px solid #D9DDE3}.box-section{padding-top:20px;display:block}.box-section:first-child{border:0}.box-section:after{content:"";display:table;clear:both}.box-section .section-details{float:left;display:block;margin-right:2.35765%;width:23.23176%}.box-section .section-details:last-child{margin-right:0}.box-section .section-details .section-title{font-size:0.875em;color:#828B9A;margin-bottom:20px}.box-section .section-main{float:left;display:block;margin-right:2.35765%;width:74.41059%}.box-section .section-main:last-child{margin-right:0}.box-message{text-align:center;padding:40px;max-width:500px;margin:0 auto}.box-message .main-image{margin-bottom:20px}.box-message .title{font-weight:bold;font-size:1.5em;color:#3D4043;margin-bottom:0.625em}.box-message .content{font-size:0.875em;color:#828B9A;margin-bottom:20px}.box-message .mini-divider:after{content:"";display:inline-block;width:200px;height:1px;background:#D9DDE3;margin:20px auto}.box-side-sticky{padding:20px 25px;box-sizing:content-box;width:100%;margin-left:-25px}.box-bottom-sticky{padding:20px 25px;box-sizing:content-box;width:100%;margin-top:20px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #D9DDE3;margin-bottom:-20px;margin-left:-25px}.box-controls{text-align:right;box-shadow:inset 0 1px 0 white;background:#f8f9fa;margin-top:20px;padding:15px 25px}.box-steps{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;width:100%;list-style-position:inside;padding:0;margin:40px 0 10px 0}.box-steps .step{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1;color:#828B9A;font-size:0.875em;margin:0 0 0 0;padding:0 0 10px 10px;border-bottom:2px solid #D9DDE3;position:relative;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.box-steps .step:first-child{padding-left:0}.box-steps .step:after{content:"";position:absolute;bottom:-2px;left:0;height:2px;width:0;background:#75C062;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.box-steps .step.active{color:#3D4043}.box-steps .step.active:after{width:100%}.ng-submitted .ng-invalid>.date-picker{border-color:#E55A84}.date-picker{border:1px solid #D9DDE3;border-radius:2px;-webkit-transition:border-color 0.2s ease-in-out;-moz-transition:border-color 0.2s ease-in-out;transition:border-color 0.2s ease-in-out}.date-picker .wrapper{padding:20px}.date-picker .date-picker-head{display:table;width:100%;margin-bottom:30px;text-align:center}.date-picker .date-picker-head .title{display:inline-block;width:200px;margin:0 20px;font-weight:bold;font-size:1.125em}.date-picker .date-picker-head .arrow{text-decoration:none;color:#AEB4BE;position:relative;border:1px solid #D9DDE3;display:inline-block;width:25px;border-radius:2px;font-size:12px;line-height:25px;text-align:center;float:left;box-shadow:0 1px 1px rgba(217,221,227,0.5);margin:0 20px}.date-picker .date-picker-head .arrow:last-child{float:right}.date-picker .date-picker-head .arrow:hover{color:#3D4043}.date-picker .date-picker-head .arrow:active{box-shadow:none}.date-picker .dow{font-size:0;padding-bottom:10px;border-bottom:2px solid #D9DDE3;margin-bottom:10px}.date-picker .dow .day{text-transform:uppercase;font-size:14px;display:inline-block;width:14.28571%;text-align:center;color:#E55A84}.date-picker .values .value{display:inline-block;width:14.28571%;text-align:center;font-size:0.875em;line-height:3.4375em;position:relative;font-weight:bold}.date-picker .values .value.today{color:#818176}.date-picker .values .value.today:after{opacity:1;background:rgba(255,255,0,0.1)}.date-picker .values .value.outside{color:#AEB4BE;font-weight:normal}.date-picker .values .value:after{content:" ";cursor:pointer;opacity:0;position:absolute;width:2.625em;height:2.625em;margin-left:-1.3125em;margin-top:-1.3125em;left:50%;top:50%;border-radius:2px}.date-picker .values .value:hover{cursor:pointer}.date-picker .values .value:hover:after{opacity:1;background:rgba(217,221,227,0.4)}.date-picker .values .value.active{background:white;color:#75C062}.date-picker .values .value.active:after{opacity:1;background:rgba(117,192,98,0.1)}.ng-submitted .ng-invalid>.datepicker{border-color:#E55A84}.datepicker{width:100%;border:1px solid rgba(217,221,227,0.5);border-radius:3px;background:white;padding:0.625em;-webkit-transition:border-color 0.1s ease-in-out;-moz-transition:border-color 0.1s ease-in-out;transition:border-color 0.1s ease-in-out}.datepicker table{width:100%;font-size:1em}.datepicker tbody:before{content:'';display:block;height:0.625em}.datepicker .prev,.datepicker .next{opacity:0.5;color:#828B9A;cursor:pointer;border-radius:5px;position:relative}.datepicker .prev:hover,.datepicker .next:hover{opacity:1}.datepicker .prev:hover:after,.datepicker .next:hover:after{opacity:1;background:rgba(217,221,227,0.3)}.datepicker .prev:after,.datepicker .next:after{content:" ";cursor:pointer;opacity:0;position:absolute;width:1.75em;height:1.75em;margin-left:-0.875em;margin-top:-0.875em;left:50%;top:50%;border-radius:3px;-webkit-transition:background-color 0.1s ease-in-out;-moz-transition:background-color 0.1s ease-in-out;transition:background-color 0.1s ease-in-out}.datepicker .datepicker-switch{padding:10px;font-weight:600;font-size:1.125em;border-radius:3px;cursor:pointer;-webkit-transition:background-color 0.1s ease-in-out;-moz-transition:background-color 0.1s ease-in-out;transition:background-color 0.1s ease-in-out}.datepicker .datepicker-switch:hover{background:rgba(217,221,227,0.4)}.datepicker .dow{padding:10px;font-weight:normal;text-transform:uppercase;color:#E55A84;font-size:0.875em;border-bottom:2px solid rgba(217,221,227,0.3)}.datepicker .dow,.datepicker .day{padding:0.9375em}.datepicker .day{text-align:center;font-weight:600;position:relative;font-size:0.875em}.datepicker .day.today{color:#818176}.datepicker .day.today:after{opacity:1;background:rgba(255,255,0,0.1)}.datepicker .day:hover{cursor:pointer}.datepicker .day:hover:after{opacity:1;background:rgba(217,221,227,0.4)}.datepicker .day.new,.datepicker .day.old{font-weight:normal;color:#AEB4BE}.datepicker .day.active{background:white;color:#75C062}.datepicker .day.active:after{opacity:1;background:rgba(117,192,98,0.1)}.datepicker .day:active:after{opacity:0.8}.datepicker .day:after{content:" ";-webkit-transition:all 0.1s ease-in-out;-moz-transition:all 0.1s ease-in-out;transition:all 0.1s ease-in-out;cursor:pointer;opacity:0;position:absolute;width:2.5em;height:2.5em;margin-left:-1.25em;margin-top:-1.25em;left:50%;top:50%;border-radius:3px}.datepicker .month,.datepicker .year{width:33.3%;display:inline-block;text-align:center;font-size:0.875em;padding:1.25em;cursor:pointer;-webkit-transition:background-color 0.1s ease-in-out;-moz-transition:background-color 0.1s ease-in-out;transition:background-color 0.1s ease-in-out;border-radius:3px;text-transform:uppercase}.datepicker .month:hover,.datepicker .year:hover{background:rgba(217,221,227,0.3)}.daticon-list{margin:0;margin-left:-10px;list-style:none;padding:5px;text-align:left}.daticon-list li{display:inline-block;margin:10px 10px 0 0}.daticon{box-shadow:0 0 0 1px rgba(217,221,227,0.5);border-radius:3px;display:inline-block;padding:0.5em 1em;text-align:center;position:relative;cursor:default;background:white}.daticon .dow{font-size:0.375em;margin-top:-1.5em;background:white;color:#AEB4BE;margin-bottom:0.25em;font-weight:normal;text-transform:uppercase}.daticon .day{font-size:1.25em;font-weight:normal;color:#E55A84;line-height:1em}.daticon .month{font-weight:600;font-size:0.75em;text-transform:uppercase}.daticon .delete{text-align:center;border:0;width:1.125em;height:1.125em;position:absolute;top:-7.2px;right:-7.2px;border-radius:100%;display:inline-block;background:rgba(217,221,227,0.5) url(../images/close@2x.png) no-repeat center center;background-size:7px 8px;cursor:pointer;opacity:0}.daticon .delete:hover{background-color:rgba(217,221,227,0.8)}.daticon .count{text-align:center;border:0;width:18px;height:18px;position:absolute;top:-7.2px;right:-7.2px;border-radius:100%;font-weight:bold;display:inline-block;background:#bcc3cd;color:white;font-size:9px;line-height:18px;-webkit-transition:background-color 0.2s ease-in-out;-moz-transition:background-color 0.2s ease-in-out;transition:background-color 0.2s ease-in-out}.daticon .count.top{background:#FF5D5D}.daticon:hover .delete{opacity:1}.rl-modal{background:white;position:fixed;top:50%;left:50%;width:50%;max-width:400px;display:inline-block;min-width:200px;height:auto;z-index:2000;overflow:hidden;border-radius:5px;box-shadow:0 0 0 1px #D9DDE3,0 0 0 5px rgba(217,221,227,0.5);-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.rl-modal .rl-modal-message{padding:0 20px 20px 20px;font-size:0.75em;color:#828B9A}.rl-modal .rl-modal-title{padding:20px 20px 0 20px;font-size:1.125em;font-weight:bold}.rl-modal .rl-modal-actions{border-top:1px solid #D9DDE3;box-shadow:inset 0 1px 0 white;background:#f8f9fa;text-align:right;padding:0.625em 1.25em}.rl-modal-overlay{position:fixed;z-index:1999;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.1)}.poll{min-width:100%;display:block;margin-bottom:20px}.poll-header{display:table;min-width:100%;border-bottom:1px solid #D9DDE3;box-shadow:0 3px 0 rgba(217,221,227,0.3)}.poll-header .header{display:table-cell;vertical-align:bottom;padding-bottom:20px}.poll-header .header.date-header{text-align:center;min-width:70px;width:70px}.poll-header .header.actions-header{min-width:160px}.poll-header .header.participants-header{font-weight:bold;min-width:235px;width:235px;padding-left:0.625em}.poll-body{min-width:100%}.poll-body .poll-example{position:relative}.poll-body .poll-example.hidden{display:none}.poll-body .poll-example .overlay{position:absolute;top:0;left:0;width:100%;height:100%;border-bottom:1px solid #D9DDE3;background:rgba(255,255,255,0.75);text-align:center}.poll-body .poll-example .overlay .overlay-text{position:absolute;top:50%;left:50%;font-size:1.125em;font-weight:bold;color:#AEB4BE;background:rgba(255,255,255,0.9);padding:10px;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.poll-body .poll-entry.highlight{background:#f6f7f9}.poll-body .poll-entry{display:table;min-width:100%;border-bottom:1px solid rgba(217,221,227,0.5)}.poll-body .poll-entry .hover{visibility:hidden}.poll-body .poll-entry:hover .hover{visibility:visible}.poll-body .poll-entry .cell{padding:0.625em;display:table-cell;height:50px;vertical-align:middle}.poll-body .poll-entry .cell.name-cell{min-width:235px;width:235px;font-size:0.875em}.poll-body .poll-entry .cell.name-cell .avatar{display:inline-block;padding:5px;margin-right:5px;border-radius:2px;background:#D0D5DF}.poll-body .poll-entry .cell.name-cell .avatar.style-1{background:#8A75AE}.poll-body .poll-entry .cell.name-cell .avatar.style-2{background:#80A1DA}.poll-body .poll-entry .cell.name-cell .avatar.style-3{background:#B3DD8B}.poll-body .poll-entry .cell.name-cell .avatar.style-4{background:#7EE4E4}.poll-body .poll-entry .cell.name-cell .avatar.style-5{background:#FCD285}.poll-body .poll-entry .cell.name-cell .avatar.style-6{background:#F7967F}.poll-body .poll-entry .cell.name-cell .avatar.style-7{background:#E8669D}.poll-body .poll-entry .cell.name-cell .avatar.style-8{background:#F7B6E7}.poll-body .poll-entry .cell.name-cell .avatar.style-9{background:#F99D7B}.poll-body .poll-entry .cell.name-cell .avatar.style-10{background:#88D0CB}.poll-body .poll-entry .cell.name-cell .name{padding:5px 3px;margin-left:2px;border-radius:2px}.poll-body .poll-entry .cell.name-cell .name.editable:hover{background:#F5F6F8;cursor:pointer}.poll-body .poll-entry .cell.name-cell .form-control{border:1px solid #D9DDE3;padding:0.3125em;border-radius:2px;color:#3D4043}.poll-body .poll-entry .cell.name-cell .form-control:focus{outline:0;border-color:#5AC4E5;box-shadow:0 0 3px rgba(90,196,229,0.5)}.poll-body .poll-entry .cell.name-cell .form-control::-webkit-input-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.name-cell .form-control::-moz-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.name-cell .form-control:-moz-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.name-cell .form-control:-ms-input-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.action-cell{min-width:160px}.poll-body .poll-entry .cell.vote-cell{min-width:70px;width:70px;text-align:center;position:relative}.poll-body .poll-entry .cell.vote-cell .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.poll-body .poll-entry .cell.vote-cell .overlay:hover{background:rgba(217,221,227,0.2);cursor:pointer}.poll-body .poll-entry.ng-submitted .ng-invalid{border-color:#E55A84 !important}tags-input{display:block}tags-input *,tags-input *:before,tags-input *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}tags-input .host{position:relative;margin-top:5px;margin-bottom:5px}tags-input .host:focus{outline:0}tags-input .host:active{outline:none}tags-input .tags{padding:4px;overflow:hidden;word-wrap:break-word;cursor:text;border-radius:3px;background-color:white;border:1px solid #D9DDE3;-webkit-transition:border-color 0.1s ease-in-out;-moz-transition:border-color 0.1s ease-in-out;transition:border-color 0.1s ease-in-out}tags-input .tags.focused{outline:none}tags-input .tags .tag-list{margin:0;padding:0;list-style-type:none}tags-input .tags .tag-item{margin:2px;padding:0 8px;display:inline-block;float:left;font-size:0.875em;height:26px;line-height:25px;border-radius:1px;background:#E5EBF2;color:#7587A1;box-shadow:0 0 0 1px #CBD4E2}tags-input .tags .tag-item.selected{background:#E06488;color:white;box-shadow:none}tags-input .tags .tag-item .remove-button{margin:0 0 0 5px;padding:0;border:none;background:none;color:inherit;cursor:pointer;vertical-align:middle;font:bold 1em Arial,sans-serif}tags-input .tags .input{border:0;outline:none;margin:2px;padding:0;padding-left:8px;float:left;height:26px;font-size:0.875em}tags-input .tags .input::-webkit-input-placeholder{color:#AEB4BE}tags-input .tags .input::-moz-placeholder{color:#AEB4BE}tags-input .tags .input:-moz-placeholder{color:#AEB4BE}tags-input .tags .input:-ms-input-placeholder{color:#AEB4BE}tags-input .tags .input.invalid-tag{color:#E06488}tags-input .tags .input::-ms-clear{display:none}.dropdown{position:relative;cursor:pointer}.dropdown .dropdown-menu{position:absolute;display:none;z-index:1000;float:left;min-width:160px;max-width:180px;padding:5px;text-align:left;left:0}.dropdown.open .dropdown-menu{display:block}.dropdown .dropdown-toggle:after{content:"";width:6px;height:4px;margin-left:10px;display:inline-block;background-image:url("../images/dropdown_arrow.png");background-size:6px 4px;background-repeat:no-repeat}.comments-info{font-weight:bold;padding-bottom:10px;border-bottom:2px solid #D9DDE3}.comment-form{display:block;margin-bottom:20px;margin-top:20px;padding:0 10px}.comment-form:after{content:"";display:table;clear:both}.comment-form .avatar-section{float:left;display:block;margin-right:2.35765%;width:6.17215%}.comment-form .avatar-section:last-child{margin-right:0}.comment-form .avatar-section img{border-radius:3px;max-width:100%}.comment-form .input-section{float:left;display:block;margin-right:2.35765%;width:91.4702%}.comment-form .input-section:last-child{margin-right:0}.comment-form .content-section{margin-bottom:10px}.comment-form .name-section{position:relative;margin-bottom:10px}.comment-form .form-control{font-size:0.875em !important}.comment-form textarea.form-control{min-height:0;min-width:100%}.comments-placeholder{color:#AEB4BE;text-align:center}.comment-thread{list-style:none;margin:0;padding:0;margin-bottom:20px;max-height:500px;overflow-y:scroll}.comment-thread .comment{display:block;padding:10px}.comment-thread .comment:after{content:"";display:table;clear:both}.comment-thread .comment .avatar-section{float:left;display:block;margin-right:2.35765%;width:6.17215%}.comment-thread .comment .avatar-section:last-child{margin-right:0}.comment-thread .comment .avatar-section img{max-width:100%;border-radius:3px}.comment-thread .comment .comment-section{float:left;display:block;margin-right:2.35765%;width:91.4702%;position:relative}.comment-thread .comment .comment-section:last-child{margin-right:0}.comment-thread .comment .comment-section .comment-delete{opacity:0;text-decoration:none;color:white;background-color:#D9DDE3;color:#AEB4BE;border-radius:2px;display:inline-block;position:absolute;right:0;top:0;font-size:0.875em;width:1em;height:1em;line-height:1em;text-align:center}.comment-thread .comment .comment-section .comment-delete:hover{background:#E06488;color:white}.comment-thread .comment .comment-section .comment-delete:active{background:#dc4f78}.comment-thread .comment .comment-section .meta{font-size:0.8125em;color:#828B9A;margin-bottom:5px}.comment-thread .comment .comment-section .name{color:#828B9A;font-weight:600}.comment-thread .comment .comment-section .time:before{content:" ";display:inline-block;height:4px;width:4px;background:#AEB4BE;margin:0 5px 2px 5px;border-radius:100%}.comment-thread .comment .comment-section .content{font-size:0.875em;margin-bottom:5px;white-space:pre-wrap;margin-right:100px}.comment-thread .comment .comment-section .actions{opacity:0.8}.comment-thread .comment .comment-section .actions a{color:#828B9A;font-size:0.75em;text-decoration:none}.comment-thread .comment .comment-section .actions a:hover{color:#5AC4E5}.comment-thread .comment:hover{background:#F5F6F8;cursor:default;border-radius:3px}.comment-thread .comment:hover .name{color:#5AC4E5}.comment-thread .comment:hover .comment-delete{opacity:1}.switch-row{display:table;width:100%;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #D9DDE3}.switch-row:last-child{border:0}.switch-row .switch-details{display:table-cell}.switch-row .switch-details .title{font-size:0.875em;font-weight:bold}.switch-row .switch-details .description{font-size:0.75em;color:#828B9A}.switch-row .switch{display:table-cell;text-align:right;min-width:150px;vertical-align:middle}.switch-row .switch .switch-value{font-size:0.75em;color:#828B9A;display:inline-block;vertical-align:middle}.switch-toggle{display:inline-block;margin-left:5px;height:20px;width:40px;border-radius:20px;vertical-align:middle;position:relative;cursor:pointer;background:#E06488;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1);-webkit-transition:all 0.1s ease-in-out;-moz-transition:all 0.1s ease-in-out;transition:all 0.1s ease-in-out}.switch-toggle:after{content:" ";-webkit-transition:all 0.1s ease-in-out;-moz-transition:all 0.1s ease-in-out;transition:all 0.1s ease-in-out;display:inline-block;height:16px;width:16px;position:absolute;box-shadow:inset 0 1px 0 white,0 1px 1px rgba(0,0,0,0.1);background-color:#FAFAFA;background-image:-webkit-linear-gradient(#FAFAFA, #EFF1F3);background-image:linear-gradient(#FAFAFA, #EFF1F3);top:50%;margin-top:-8px;left:2px;border-radius:100px}.switch-toggle:hover{box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1),inset 0 0 0 8px rgba(0,0,0,0.05)}.switch-toggle.active{background:#75C062}.switch-toggle.active:after{left:100%;margin-left:-18px}.notification{position:fixed;top:80px;right:0;width:300px;z-index:3000;padding:12px 20px;background:#828B9A;border-top-left-radius:2px;border-bottom-left-radius:2px;color:white;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.notification.success{background:#75C062}.notification.error{background:#E06488}.notification.ng-enter{right:-300px;opacity:0}.notification.ng-enter-active{right:0;opacity:1}.notification.ng-leave-active{right:-300px;opacity:1}.notification .title{font-size:0.875em;margin-bottom:2px}.notification .message{font-size:0.75em;color:rgba(255,255,255,0.8)}.notification .close{position:absolute;top:5px;right:10px;color:white;text-decoration:none}.time-picker{width:100%;padding:10px}.time-picker .time-picker-col{display:table-cell;vertical-align:middle}.time-picker .time-picker-input{padding:5px;border-radius:3px;border:1px solid #D9DDE3;outline:0;font-size:18px}.time-picker .time-picker-input:focus{border-color:#5AC4E5;box-shadow:0 0 3px rgba(90,196,229,0.5);outline:0}.time-picker-input{padding:0.3125em 0;text-align:center;border:0;font-size:0.875em}.time-picker-input.ng-invalid{border-color:#E06488}.time-picker-input.ng-invalid:focus{box-shadow:0 0 3px rgba(224,100,136,0.5)}.time-picker-input.ng-valid.ng-dirty{border-color:#75C062}.time-picker-input:focus{outline:0;color:#3D4043}.time-form{width:100%;border:1px solid #D9DDE3}.time-form th{border-bottom:2px solid #D9DDE3;padding:10px;font-size:14px;text-transform:uppercase}.time-form td{border-right:1px solid #D9DDE3;padding:10px 10px;border-bottom:1px solid #D9DDE3}.time-form td:last-child{border-right:0}.time-form td input{width:100%}.time-form tr:last-child td{border-bottom:0}.page-placeholder{margin:0 auto;text-align:center;color:#B0B8C4;position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.page-placeholder .image{margin-bottom:20px}.page-placeholder .title{font-size:2.25em;font-weight:bold;margin-bottom:20px}.page-placeholder .content{font-size:0.875em;max-width:320px;font-weight:normal;margin-bottom:20px}.event-description{font-size:0.875em;white-space:pre-wrap;padding-top:20px;padding-bottom:20px;line-height:1.5em;color:#828B9A;background:#F5F6F8;border-top:1px solid #D9DDE3;margin-top:20px;margin-bottom:-20px}.event-location{font-size:0.875em}.event-location a{color:#3D4043;text-decoration:none}.event-location a:hover{text-decoration:underline}.event-location img{vertical-align:middle;margin-right:10px}.event-pair{margin-bottom:20px;border-bottom:1px solid #D9DDE3;padding-bottom:20px;float:left;width:100%}.event-pair .icon{display:inline-block;width:30px;float:left;position:relative;text-align:center;height:35px;border-radius:3px;margin-right:10px}.event-pair .icon img{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.event-pair .content{float:left;display:inline-block}.event-pair .key{font-weight:bold;font-size:11px}.event-pair .value{color:#828B9A}.event-header{width:100%}.event-header .details{display:inline-block}.event-header .details .title{font-size:1.5em;font-weight:bold}.event-header .details .title .title-label{font-size:11px;font-weight:normal;margin-left:5px;position:relative;top:-3px;background:#828B9A;color:white;padding:3px 10px;border-radius:20px}.event-header .details .title .title-label.success{background:#75C062}.event-header .details .title .title-label.danger{background:#FF5D5D}.event-header .details .subtitle{color:#828B9A;font-size:0.875em}.event-header .details .subtitle a{color:#5AC4E5;text-decoration:none}.event-header .details .subtitle a:hover{text-decoration:underline}.event-header .actions{visibility:hidden;float:right}.event-header:hover .actions{visibility:visible} +*/.animated{-webkit-animation-duration:0.3s;animation-duration:0.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,20%,53%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0)}90%{-webkit-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0)}}@keyframes bounce{0%,20%,53%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -30px, 0);transform:translate3d(0, -30px, 0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);transition-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);-webkit-transform:translate3d(0, -15px, 0);transform:translate3d(0, -15px, 0)}90%{-webkit-transform:translate3d(0, -4px, 0);transform:translate3d(0, -4px, 0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,100%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-webkit-transform:scale3d(1.05, 1.05, 1.05);transform:scale3d(1.05, 1.05, 1.05)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes pulse{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-webkit-transform:scale3d(1.05, 1.05, 1.05);transform:scale3d(1.05, 1.05, 1.05)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}30%{-webkit-transform:scale3d(1.25, 0.75, 1);transform:scale3d(1.25, 0.75, 1)}40%{-webkit-transform:scale3d(0.75, 1.25, 1);transform:scale3d(0.75, 1.25, 1)}50%{-webkit-transform:scale3d(1.15, 0.85, 1);transform:scale3d(1.15, 0.85, 1)}65%{-webkit-transform:scale3d(0.95, 1.05, 1);transform:scale3d(0.95, 1.05, 1)}75%{-webkit-transform:scale3d(1.05, 0.95, 1);transform:scale3d(1.05, 0.95, 1)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes rubberBand{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}30%{-webkit-transform:scale3d(1.25, 0.75, 1);transform:scale3d(1.25, 0.75, 1)}40%{-webkit-transform:scale3d(0.75, 1.25, 1);transform:scale3d(0.75, 1.25, 1)}50%{-webkit-transform:scale3d(1.15, 0.85, 1);transform:scale3d(1.15, 0.85, 1)}65%{-webkit-transform:scale3d(0.95, 1.05, 1);transform:scale3d(0.95, 1.05, 1)}75%{-webkit-transform:scale3d(1.05, 0.95, 1);transform:scale3d(1.05, 0.95, 1)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}}@keyframes shake{0%,100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0, 0, 1, 15deg);transform:rotate3d(0, 0, 1, 15deg)}40%{-webkit-transform:rotate3d(0, 0, 1, -10deg);transform:rotate3d(0, 0, 1, -10deg)}60%{-webkit-transform:rotate3d(0, 0, 1, 5deg);transform:rotate3d(0, 0, 1, 5deg)}80%{-webkit-transform:rotate3d(0, 0, 1, -5deg);transform:rotate3d(0, 0, 1, -5deg)}100%{-webkit-transform:rotate3d(0, 0, 1, 0deg);transform:rotate3d(0, 0, 1, 0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0, 0, 1, 15deg);transform:rotate3d(0, 0, 1, 15deg)}40%{-webkit-transform:rotate3d(0, 0, 1, -10deg);transform:rotate3d(0, 0, 1, -10deg)}60%{-webkit-transform:rotate3d(0, 0, 1, 5deg);transform:rotate3d(0, 0, 1, 5deg)}80%{-webkit-transform:rotate3d(0, 0, 1, -5deg);transform:rotate3d(0, 0, 1, -5deg)}100%{-webkit-transform:rotate3d(0, 0, 1, 0deg);transform:rotate3d(0, 0, 1, 0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}10%,20%{-webkit-transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes tada{0%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}10%,20%{-webkit-transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);transform:scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);transform:scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)}100%{-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)}30%{-webkit-transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)}45%{-webkit-transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)}60%{-webkit-transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)}75%{-webkit-transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);transform:translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)}30%{-webkit-transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);transform:translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)}45%{-webkit-transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);transform:translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)}60%{-webkit-transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);transform:translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)}75%{-webkit-transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);transform:translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)}100%{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}20%{-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}40%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}60%{opacity:1;-webkit-transform:scale3d(1.03, 1.03, 1.03);transform:scale3d(1.03, 1.03, 1.03)}80%{-webkit-transform:scale3d(0.97, 0.97, 0.97);transform:scale3d(0.97, 0.97, 0.97)}100%{opacity:1;-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}20%{-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}40%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}60%{opacity:1;-webkit-transform:scale3d(1.03, 1.03, 1.03);transform:scale3d(1.03, 1.03, 1.03)}80%{-webkit-transform:scale3d(0.97, 0.97, 0.97);transform:scale3d(0.97, 0.97, 0.97)}100%{opacity:1;-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn;-webkit-animation-duration:0.75s;animation-duration:0.75s}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, -3000px, 0);transform:translate3d(0, -3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, 25px, 0);transform:translate3d(0, 25px, 0)}75%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}90%{-webkit-transform:translate3d(0, 5px, 0);transform:translate3d(0, 5px, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, -3000px, 0);transform:translate3d(0, -3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, 25px, 0);transform:translate3d(0, 25px, 0)}75%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}90%{-webkit-transform:translate3d(0, 5px, 0);transform:translate3d(0, 5px, 0)}100%{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(-3000px, 0, 0);transform:translate3d(-3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(25px, 0, 0);transform:translate3d(25px, 0, 0)}75%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}90%{-webkit-transform:translate3d(5px, 0, 0);transform:translate3d(5px, 0, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(-3000px, 0, 0);transform:translate3d(-3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(25px, 0, 0);transform:translate3d(25px, 0, 0)}75%{-webkit-transform:translate3d(-10px, 0, 0);transform:translate3d(-10px, 0, 0)}90%{-webkit-transform:translate3d(5px, 0, 0);transform:translate3d(5px, 0, 0)}100%{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(3000px, 0, 0);transform:translate3d(3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(-25px, 0, 0);transform:translate3d(-25px, 0, 0)}75%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}90%{-webkit-transform:translate3d(-5px, 0, 0);transform:translate3d(-5px, 0, 0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(3000px, 0, 0);transform:translate3d(3000px, 0, 0)}60%{opacity:1;-webkit-transform:translate3d(-25px, 0, 0);transform:translate3d(-25px, 0, 0)}75%{-webkit-transform:translate3d(10px, 0, 0);transform:translate3d(10px, 0, 0)}90%{-webkit-transform:translate3d(-5px, 0, 0);transform:translate3d(-5px, 0, 0)}100%{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, 3000px, 0);transform:translate3d(0, 3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}75%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}90%{-webkit-transform:translate3d(0, -5px, 0);transform:translate3d(0, -5px, 0)}100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}@keyframes bounceInUp{0%,60%,75%,90%,100%{-webkit-transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1);transition-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;-webkit-transform:translate3d(0, 3000px, 0);transform:translate3d(0, 3000px, 0)}60%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}75%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}90%{-webkit-transform:translate3d(0, -5px, 0);transform:translate3d(0, -5px, 0)}100%{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}100%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(0.9, 0.9, 0.9);transform:scale3d(0.9, 0.9, 0.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1, 1.1, 1.1);transform:scale3d(1.1, 1.1, 1.1)}100%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:0.75s;animation-duration:0.75s}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0, 10px, 0);transform:translate3d(0, 10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, -20px, 0);transform:translate3d(0, -20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px, 0, 0);transform:translate3d(20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px, 0, 0);transform:translate3d(20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px, 0, 0);transform:translate3d(-20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px, 0, 0);transform:translate3d(-20px, 0, 0)}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, 20px, 0);transform:translate3d(0, 20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0, -10px, 0);transform:translate3d(0, -10px, 0)}40%,45%{opacity:1;-webkit-transform:translate3d(0, 20px, 0);transform:translate3d(0, 20px, 0)}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}100%{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}}@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}@keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, 2000px, 0);transform:translate3d(0, 2000px, 0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}@keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px, 0, 0);transform:translate3d(-2000px, 0, 0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}@keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px, 0, 0);transform:translate3d(2000px, 0, 0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}}@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}@keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0, -2000px, 0);transform:translate3d(0, -2000px, 0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -360deg);transform:perspective(400px) rotate3d(0, 1, 0, -360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(0.95, 0.95, 0.95);transform:perspective(400px) scale3d(0.95, 0.95, 0.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -360deg);transform:perspective(400px) rotate3d(0, 1, 0, -360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);transform:perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(0.95, 0.95, 0.95);transform:perspective(400px) scale3d(0.95, 0.95, 0.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);transform:perspective(400px) rotate3d(0, 1, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);transform:perspective(400px) rotate3d(0, 1, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);transform:perspective(400px) rotate3d(0, 1, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);transform:perspective(400px) rotate3d(0, 1, 0, -20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);transform:perspective(400px) rotate3d(0, 1, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);transform:perspective(400px) rotate3d(0, 1, 0, -5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-duration:0.75s;animation-duration:0.75s;-webkit-backface-visibility:visible !important;backface-visibility:visible !important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -15deg);transform:perspective(400px) rotate3d(0, 1, 0, -15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, -15deg);transform:perspective(400px) rotate3d(0, 1, 0, -15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);transform:perspective(400px) rotate3d(0, 1, 0, 90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipOutY;animation-name:flipOutY;-webkit-animation-duration:0.75s;animation-duration:0.75s}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%, 0, 0) skewX(-30deg);transform:translate3d(100%, 0, 0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%, 0, 0) skewX(-30deg);transform:translate3d(100%, 0, 0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%, 0, 0) skewX(30deg);transform:translate3d(100%, 0, 0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%, 0, 0) skewX(30deg);transform:translate3d(100%, 0, 0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, -200deg);transform:rotate3d(0, 0, 1, -200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, -200deg);transform:rotate3d(0, 0, 1, -200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -90deg);transform:rotate3d(0, 0, 1, -90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -90deg);transform:rotate3d(0, 0, 1, -90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, 200deg);transform:rotate3d(0, 0, 1, 200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0, 0, 1, 200deg);transform:rotate3d(0, 0, 1, 200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 90deg);transform:rotate3d(0, 0, 1, 90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0, 0, 1, 90deg);transform:rotate3d(0, 0, 1, 90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0, 0, 1, 80deg);transform:rotate3d(0, 0, 1, 80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0, 0, 1, 60deg);transform:rotate3d(0, 0, 1, 60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0, 700px, 0);transform:translate3d(0, 700px, 0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0, 0, 1, 80deg);transform:rotate3d(0, 0, 1, 80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0, 0, 1, 60deg);transform:rotate3d(0, 0, 1, 60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0, 700px, 0);transform:translate3d(0, 700px, 0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)}}@keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}60%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(-2000px, 0, 0);transform:scale(0.1) translate3d(-2000px, 0, 0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(-2000px, 0, 0);transform:scale(0.1) translate3d(-2000px, 0, 0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(2000px, 0, 0);transform:scale(0.1) translate3d(2000px, 0, 0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)}100%{opacity:0;-webkit-transform:scale(0.1) translate3d(2000px, 0, 0);transform:scale(0.1) translate3d(2000px, 0, 0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);transform:scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);-webkit-animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19);animation-timing-function:cubic-bezier(0.55, 0.055, 0.675, 0.19)}100%{opacity:0;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1);animation-timing-function:cubic-bezier(0.175, 0.885, 0.32, 1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.btn{border:1px solid #E0E3E9;display:inline-block;border-radius:2px;box-shadow:inset 0 1px 0 white,0 1px 1px rgba(217,221,227,0.5);background-color:#FAFAFA;background-image:-webkit-linear-gradient(#FAFAFA, #EFF1F3);background-image:linear-gradient(#FAFAFA, #EFF1F3);font-size:0.75em;font-weight:600;color:#828B9A;text-decoration:none;padding:0.5em 0.9375em}.btn:hover{background-color:#fbfbfb;background-image:-webkit-linear-gradient(#fbfbfb, #f2f4f5);background-image:linear-gradient(#fbfbfb, #f2f4f5)}.btn.disabled{cursor:default;opacity:0.5}.btn.disabled:active{box-shadow:inset 0 1px 0 white,0 1px 1px rgba(0,0,0,0.1)}.btn.danger{color:#E06488}.btn:focus{outline:0}.btn:active{box-shadow:none}form{margin:0}form.ng-submitted .ng-invalid{border-color:#E55A84 !important}.form-container{width:100%}.form-row{display:block;margin-bottom:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.form-row:after{content:"";display:table;clear:both}.form-col{float:left;display:block;margin-right:2.35765%;width:48.82117%}.form-col:last-child{margin-right:0}.form-col.padded:first-child{padding:0 20px 0 0}.form-col.padded:last-child{padding:0 0 0 20px}.form-group>label{font-size:0.75em;color:#AEB4BE;display:inline-block;line-height:1.875em}.form-group .form-error{font-size:0.75em;color:#E06488;float:right}.form-group .form-error img{vertical-align:bottom;margin-right:3px}.form-group.optional>label:after{content:" (optional)"}.form-group.error input.form-control,.form-group.error textarea.form-control{border-color:#E55A84;background:rgba(229,90,132,0.02)}.form-group input.form-control,.form-group textarea.form-control{border-radius:2px;border:1px solid #D9DDE3;font-size:1.125em;-webkit-transition:border-color 0.1s ease-in-out;-moz-transition:border-color 0.1s ease-in-out;transition:border-color 0.1s ease-in-out}.form-group input.form-control:focus,.form-group textarea.form-control:focus{border-color:#5AC4E5;outline:none;background:white}.form-group input.form-control.extend,.form-group textarea.form-control.extend{width:100%}.form-group input.form-control::-webkit-input-placeholder,.form-group textarea.form-control::-webkit-input-placeholder{color:rgba(174,180,190,0.7)}.form-group input.form-control::-moz-placeholder,.form-group textarea.form-control::-moz-placeholder{color:rgba(174,180,190,0.7)}.form-group input.form-control:-moz-placeholder,.form-group textarea.form-control:-moz-placeholder{color:rgba(174,180,190,0.7)}.form-group input.form-control:-ms-input-placeholder,.form-group textarea.form-control:-ms-input-placeholder{color:rgba(174,180,190,0.7)}.form-group .form-btn{padding:0.75em 0.9375em}.form-group input.form-control{vertical-align:middle;padding:0.3125em 0.625em}.form-group textarea.form-control{min-height:135px;font-size:1.125em;padding:0.5em 0.625em}.form-submit-message{display:inline-block;margin-left:0.3125em;font-size:0.75em}.form-submit-message.error{color:#E06488}.form-submit-message img{vertical-align:middle;margin-right:0.3125em}.box{background:white;border:1px solid #D9DDE3;border-radius:3px;margin:0 auto 20px auto;max-width:800px;min-width:700px;overflow:hidden;padding:20px 25px}.box.box-x-scroll{overflow-x:scroll}.box.invisible{background:transparent;border:0;padding:0;margin-bottom:40px}.box.highlight{border-color:#5AC4E5;box-shadow:0 0 3px rgba(90,196,229,0.5)}.box-title{font-size:24px;font-weight:bold;color:#3D4043;margin-bottom:20px}.box-description{font-size:14px;color:#828B9A;padding-bottom:20px;border-bottom:1px solid #D9DDE3;margin-top:-20px;margin-bottom:20px}.box-description a{color:#3D4043;text-decoration:none}.box-description a:hover{border:1px solid #D9DDE3}.box-section{padding-top:20px;display:block}.box-section:first-child{border:0}.box-section:after{content:"";display:table;clear:both}.box-section .section-details{float:left;display:block;margin-right:2.35765%;width:23.23176%}.box-section .section-details:last-child{margin-right:0}.box-section .section-details .section-title{font-size:0.875em;color:#828B9A;margin-bottom:20px}.box-section .section-main{float:left;display:block;margin-right:2.35765%;width:74.41059%}.box-section .section-main:last-child{margin-right:0}.box-message{text-align:center;padding:40px;max-width:500px;margin:0 auto}.box-message .main-image{margin-bottom:20px}.box-message .title{font-weight:bold;font-size:1.5em;color:#3D4043;margin-bottom:0.625em}.box-message .content{font-size:0.875em;color:#828B9A;margin-bottom:20px}.box-message .mini-divider:after{content:"";display:inline-block;width:200px;height:1px;background:#D9DDE3;margin:20px auto}.box-side-sticky{padding:20px 25px;box-sizing:content-box;width:100%;margin-left:-25px}.box-bottom-sticky{padding:20px 25px;box-sizing:content-box;width:100%;margin-top:20px;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #D9DDE3;margin-bottom:-20px;margin-left:-25px}.box-controls{text-align:right;box-shadow:inset 0 1px 0 white;background:#f8f9fa;margin-top:20px;padding:15px 25px}.box-steps{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;width:100%;list-style-position:inside;padding:0;margin:40px 0 10px 0}.box-steps .step{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1;color:#828B9A;font-size:0.875em;margin:0 0 0 0;padding:0 0 10px 10px;border-bottom:2px solid #D9DDE3;position:relative;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.box-steps .step:first-child{padding-left:0}.box-steps .step:after{content:"";position:absolute;bottom:-2px;left:0;height:2px;width:0;background:#75C062;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.box-steps .step.active{color:#3D4043}.box-steps .step.active:after{width:100%}.ng-submitted .ng-invalid>.date-picker{border-color:#E55A84}.date-picker{border:1px solid #D9DDE3;border-radius:2px;-webkit-transition:border-color 0.2s ease-in-out;-moz-transition:border-color 0.2s ease-in-out;transition:border-color 0.2s ease-in-out}.date-picker .wrapper{padding:20px}.date-picker .date-picker-head{display:table;width:100%;margin-bottom:30px;text-align:center}.date-picker .date-picker-head .title{display:inline-block;width:200px;margin:0 20px;font-weight:bold;font-size:1.125em}.date-picker .date-picker-head .arrow{text-decoration:none;color:#AEB4BE;position:relative;border:1px solid #D9DDE3;display:inline-block;width:25px;border-radius:2px;font-size:12px;line-height:25px;text-align:center;float:left;box-shadow:0 1px 1px rgba(217,221,227,0.5);margin:0 20px}.date-picker .date-picker-head .arrow:last-child{float:right}.date-picker .date-picker-head .arrow:hover{color:#3D4043}.date-picker .date-picker-head .arrow:active{box-shadow:none}.date-picker .dow{font-size:0;padding-bottom:10px;border-bottom:2px solid #D9DDE3;margin-bottom:10px}.date-picker .dow .day{text-transform:uppercase;font-size:14px;display:inline-block;width:14.28571%;text-align:center;color:#E55A84}.date-picker .values .value{display:inline-block;width:14.28571%;text-align:center;font-size:0.875em;line-height:3.4375em;position:relative;font-weight:bold}.date-picker .values .value.today{color:#818176}.date-picker .values .value.today:after{opacity:1;background:rgba(255,255,0,0.1)}.date-picker .values .value.outside{color:#AEB4BE;font-weight:normal}.date-picker .values .value:after{content:" ";cursor:pointer;opacity:0;position:absolute;width:2.625em;height:2.625em;margin-left:-1.3125em;margin-top:-1.3125em;left:50%;top:50%;border-radius:2px}.date-picker .values .value:hover{cursor:pointer}.date-picker .values .value:hover:after{opacity:1;background:rgba(217,221,227,0.4)}.date-picker .values .value.active{background:white;color:#75C062}.date-picker .values .value.active:after{opacity:1;background:rgba(117,192,98,0.1)}.daticon-list{margin:0;margin-left:-10px;list-style:none;padding:5px;text-align:left}.daticon-list li{display:inline-block;margin:10px 10px 0 0}.daticon{box-shadow:0 0 0 1px rgba(217,221,227,0.5);border-radius:3px;display:inline-block;padding:0.5em 1em;text-align:center;position:relative;cursor:default;background:white}.daticon .dow{font-size:0.375em;margin-top:-1.5em;background:white;color:#AEB4BE;margin-bottom:0.25em;font-weight:normal;text-transform:uppercase}.daticon .day{font-size:1.25em;font-weight:normal;color:#E55A84;line-height:1em}.daticon .month{font-weight:600;font-size:0.75em;text-transform:uppercase}.daticon .delete{text-align:center;border:0;width:1.125em;height:1.125em;position:absolute;top:-7.2px;right:-7.2px;border-radius:100%;display:inline-block;background:rgba(217,221,227,0.5) url(../images/close@2x.png) no-repeat center center;background-size:7px 8px;cursor:pointer;opacity:0}.daticon .delete:hover{background-color:rgba(217,221,227,0.8)}.daticon .count{text-align:center;border:0;width:18px;height:18px;position:absolute;top:-7.2px;right:-7.2px;border-radius:100%;font-weight:bold;display:inline-block;background:#bcc3cd;color:white;font-size:9px;line-height:18px;-webkit-transition:background-color 0.2s ease-in-out;-moz-transition:background-color 0.2s ease-in-out;transition:background-color 0.2s ease-in-out}.daticon .count.top{background:#FF5D5D}.daticon:hover .delete{opacity:1}.rl-modal{background:white;position:fixed;top:50%;left:50%;width:50%;max-width:400px;display:inline-block;min-width:200px;height:auto;z-index:2000;overflow:hidden;border-radius:5px;box-shadow:0 0 0 1px #D9DDE3,0 0 0 5px rgba(217,221,227,0.5);-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.rl-modal .rl-modal-message{padding:0 20px 20px 20px;font-size:0.75em;color:#828B9A}.rl-modal .rl-modal-title{padding:20px 20px 0 20px;font-size:1.125em;font-weight:bold}.rl-modal .rl-modal-actions{border-top:1px solid #D9DDE3;box-shadow:inset 0 1px 0 white;background:#f8f9fa;text-align:right;padding:0.625em 1.25em}.rl-modal-overlay{position:fixed;z-index:1999;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.1)}.poll{margin-top:20px;min-width:100%;display:block;border:1px solid rgba(217,221,227,0.5);border-radius:3px;overflow-x:scroll}.poll-header{display:table;min-width:100%;padding-top:20px;overflow:hidden;border-bottom:1px solid #D9DDE3;box-shadow:0 3px 0 rgba(217,221,227,0.3)}.poll-header .header{display:table-cell;vertical-align:bottom;padding-bottom:10px}.poll-header .header.date-header{text-align:center;min-width:70px;width:70px}.poll-header .header.actions-header{min-width:160px}.poll-header .header.participants-header{font-weight:bold;min-width:235px;width:235px;padding-left:20px}.poll-body{min-width:100%;overflow:hidden;display:table}.poll-body .poll-example{position:relative}.poll-body .poll-example.hidden{display:none}.poll-body .poll-example .overlay{position:absolute;top:0;left:0;width:100%;height:100%;border-bottom:1px solid #D9DDE3;background:rgba(255,255,255,0.75);text-align:center}.poll-body .poll-example .overlay .overlay-text{position:absolute;top:50%;left:50%;font-size:1.125em;font-weight:bold;color:#AEB4BE;background:rgba(255,255,255,0.9);padding:10px;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.poll-body .poll-entry.highlight{background:#f6f7f9}.poll-body .poll-entry{display:table;min-width:100%;border-bottom:1px solid rgba(217,221,227,0.5)}.poll-body .poll-entry:last-child{border-bottom:0}.poll-body .poll-entry .hover{visibility:hidden}.poll-body .poll-entry:hover .hover{visibility:visible}.poll-body .poll-entry .cell{padding:0.625em;display:table-cell;height:50px;vertical-align:middle}.poll-body .poll-entry .cell.name-cell{min-width:235px;width:235px;font-size:0.875em;padding-left:20px}.poll-body .poll-entry .cell.name-cell .avatar{display:inline-block;padding:5px;margin-right:5px;border-radius:2px;background:#D0D5DF}.poll-body .poll-entry .cell.name-cell .avatar.style-1{background:#8A75AE}.poll-body .poll-entry .cell.name-cell .avatar.style-2{background:#80A1DA}.poll-body .poll-entry .cell.name-cell .avatar.style-3{background:#B3DD8B}.poll-body .poll-entry .cell.name-cell .avatar.style-4{background:#7EE4E4}.poll-body .poll-entry .cell.name-cell .avatar.style-5{background:#FCD285}.poll-body .poll-entry .cell.name-cell .avatar.style-6{background:#F7967F}.poll-body .poll-entry .cell.name-cell .avatar.style-7{background:#E8669D}.poll-body .poll-entry .cell.name-cell .avatar.style-8{background:#F7B6E7}.poll-body .poll-entry .cell.name-cell .avatar.style-9{background:#F99D7B}.poll-body .poll-entry .cell.name-cell .avatar.style-10{background:#88D0CB}.poll-body .poll-entry .cell.name-cell .name{padding:5px 3px;margin-left:2px;border-radius:2px}.poll-body .poll-entry .cell.name-cell .name.editable:hover{background:#F5F6F8;cursor:pointer}.poll-body .poll-entry .cell.name-cell .form-control{border:1px solid #D9DDE3;padding:0.3125em;border-radius:2px;color:#3D4043}.poll-body .poll-entry .cell.name-cell .form-control:focus{outline:0;border-color:#5AC4E5;box-shadow:0 0 3px rgba(90,196,229,0.5)}.poll-body .poll-entry .cell.name-cell .form-control::-webkit-input-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.name-cell .form-control::-moz-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.name-cell .form-control:-moz-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.name-cell .form-control:-ms-input-placeholder{color:rgba(130,139,154,0.7)}.poll-body .poll-entry .cell.action-cell{min-width:160px}.poll-body .poll-entry .cell.vote-cell{min-width:70px;width:70px;text-align:center;position:relative}.poll-body .poll-entry .cell.vote-cell .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.poll-body .poll-entry .cell.vote-cell .overlay:hover{background:rgba(217,221,227,0.2);cursor:pointer}.poll-body .poll-entry.ng-submitted .ng-invalid{border-color:#E55A84 !important}tags-input{display:block}tags-input *,tags-input *:before,tags-input *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}tags-input .host{position:relative;margin-top:5px;margin-bottom:5px}tags-input .host:focus{outline:0}tags-input .host:active{outline:none}tags-input .tags{padding:4px;overflow:hidden;word-wrap:break-word;cursor:text;border-radius:3px;background-color:white;border:1px solid #D9DDE3;-webkit-transition:border-color 0.1s ease-in-out;-moz-transition:border-color 0.1s ease-in-out;transition:border-color 0.1s ease-in-out}tags-input .tags.focused{outline:none}tags-input .tags .tag-list{margin:0;padding:0;list-style-type:none}tags-input .tags .tag-item{margin:2px;padding:0 8px;display:inline-block;float:left;font-size:0.875em;height:26px;line-height:25px;border-radius:1px;background:#E5EBF2;color:#7587A1;box-shadow:0 0 0 1px #CBD4E2}tags-input .tags .tag-item.selected{background:#E06488;color:white;box-shadow:none}tags-input .tags .tag-item .remove-button{margin:0 0 0 5px;padding:0;border:none;background:none;color:inherit;cursor:pointer;vertical-align:middle;font:bold 1em Arial,sans-serif}tags-input .tags .input{border:0;outline:none;margin:2px;padding:0;padding-left:8px;float:left;height:26px;font-size:0.875em}tags-input .tags .input::-webkit-input-placeholder{color:#AEB4BE}tags-input .tags .input::-moz-placeholder{color:#AEB4BE}tags-input .tags .input:-moz-placeholder{color:#AEB4BE}tags-input .tags .input:-ms-input-placeholder{color:#AEB4BE}tags-input .tags .input.invalid-tag{color:#E06488}tags-input .tags .input::-ms-clear{display:none}.dropdown{position:relative;cursor:pointer}.dropdown .dropdown-menu{position:absolute;display:none;z-index:1000;float:left;min-width:160px;max-width:180px;padding:5px;text-align:left;left:0}.dropdown.open .dropdown-menu{display:block}.dropdown .dropdown-toggle:after{content:"";width:6px;height:4px;margin-left:10px;display:inline-block;background-image:url("../images/dropdown_arrow.png");background-size:6px 4px;background-repeat:no-repeat}.comments-info{font-weight:bold;padding-bottom:10px;border-bottom:2px solid #D9DDE3}.comment-form{display:block;margin-top:20px;padding:0 10px}.comment-form:after{content:"";display:table;clear:both}.comment-form .avatar-section{float:left;display:block;margin-right:2.35765%;width:6.17215%}.comment-form .avatar-section:last-child{margin-right:0}.comment-form .avatar-section img{border-radius:3px;max-width:100%}.comment-form .input-section{float:left;display:block;margin-right:2.35765%;width:91.4702%}.comment-form .input-section:last-child{margin-right:0}.comment-form .content-section{margin-bottom:10px}.comment-form .name-section{position:relative;margin-bottom:10px}.comment-form .form-control{font-size:0.875em !important}.comment-form textarea.form-control{min-height:0;min-width:100%}.comments-placeholder{color:#AEB4BE;text-align:center}.comment-thread{list-style:none;margin:0;padding:0;margin-bottom:20px;max-height:500px;overflow-y:scroll}.comment-thread .comment{display:block;padding:10px}.comment-thread .comment:after{content:"";display:table;clear:both}.comment-thread .comment .avatar-section{float:left;display:block;margin-right:2.35765%;width:6.17215%}.comment-thread .comment .avatar-section:last-child{margin-right:0}.comment-thread .comment .avatar-section img{max-width:100%;border-radius:3px}.comment-thread .comment .comment-section{float:left;display:block;margin-right:2.35765%;width:91.4702%;position:relative}.comment-thread .comment .comment-section:last-child{margin-right:0}.comment-thread .comment .comment-section .comment-delete{opacity:0;text-decoration:none;color:white;background-color:#D9DDE3;color:#AEB4BE;border-radius:2px;display:inline-block;position:absolute;right:0;top:0;font-size:0.875em;width:1em;height:1em;line-height:1em;text-align:center}.comment-thread .comment .comment-section .comment-delete:hover{background:#E06488;color:white}.comment-thread .comment .comment-section .comment-delete:active{background:#dc4f78}.comment-thread .comment .comment-section .meta{font-size:0.8125em;color:#828B9A;margin-bottom:5px}.comment-thread .comment .comment-section .name{color:#828B9A;font-weight:600}.comment-thread .comment .comment-section .time:before{content:" ";display:inline-block;height:4px;width:4px;background:#AEB4BE;margin:0 5px 2px 5px;border-radius:100%}.comment-thread .comment .comment-section .content{font-size:0.875em;margin-bottom:5px;white-space:pre-wrap;margin-right:100px}.comment-thread .comment .comment-section .actions{opacity:0.8}.comment-thread .comment .comment-section .actions a{color:#828B9A;font-size:0.75em;text-decoration:none}.comment-thread .comment .comment-section .actions a:hover{color:#5AC4E5}.comment-thread .comment:hover{background:#F5F6F8;cursor:default;border-radius:3px}.comment-thread .comment:hover .name{color:#5AC4E5}.comment-thread .comment:hover .comment-delete{opacity:1}.switch-row{display:table;width:100%;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #D9DDE3}.switch-row:last-child{border:0}.switch-row .switch-details{display:table-cell}.switch-row .switch-details .title{font-size:0.875em;font-weight:bold}.switch-row .switch-details .description{font-size:0.75em;color:#828B9A}.switch-row .switch{display:table-cell;text-align:right;min-width:150px;vertical-align:middle}.switch-row .switch .switch-value{font-size:0.75em;color:#828B9A;display:inline-block;vertical-align:middle}.switch-toggle{display:inline-block;margin-left:5px;height:20px;width:40px;border-radius:20px;vertical-align:middle;position:relative;cursor:pointer;background:#E06488;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1);-webkit-transition:all 0.1s ease-in-out;-moz-transition:all 0.1s ease-in-out;transition:all 0.1s ease-in-out}.switch-toggle:after{content:" ";-webkit-transition:all 0.1s ease-in-out;-moz-transition:all 0.1s ease-in-out;transition:all 0.1s ease-in-out;display:inline-block;height:16px;width:16px;position:absolute;box-shadow:inset 0 1px 0 white,0 1px 1px rgba(0,0,0,0.1);background-color:#FAFAFA;background-image:-webkit-linear-gradient(#FAFAFA, #EFF1F3);background-image:linear-gradient(#FAFAFA, #EFF1F3);top:50%;margin-top:-8px;left:2px;border-radius:100px}.switch-toggle:hover{box-shadow:inset 0 0 0 1px rgba(0,0,0,0.1),inset 0 0 0 8px rgba(0,0,0,0.05)}.switch-toggle.active{background:#75C062}.switch-toggle.active:after{left:100%;margin-left:-18px}.notification{position:fixed;top:80px;right:0;width:300px;z-index:3000;padding:12px 20px;background:#828B9A;border-top-left-radius:2px;border-bottom-left-radius:2px;color:white;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}.notification.success{background:#75C062}.notification.error{background:#E06488}.notification.ng-enter{right:-300px;opacity:0}.notification.ng-enter-active{right:0;opacity:1}.notification.ng-leave-active{right:-300px;opacity:1}.notification .title{font-size:0.875em;margin-bottom:2px}.notification .message{font-size:0.75em;color:rgba(255,255,255,0.8)}.notification .close{position:absolute;top:5px;right:10px;color:white;text-decoration:none}.time-picker{width:100%;padding:10px}.time-picker .time-picker-col{display:table-cell;vertical-align:middle}.time-picker .time-picker-input{padding:5px;border-radius:3px;border:1px solid #D9DDE3;outline:0;font-size:18px}.time-picker .time-picker-input:focus{border-color:#5AC4E5;box-shadow:0 0 3px rgba(90,196,229,0.5);outline:0}.time-picker-input{padding:0.3125em 0;text-align:center;border:0;font-size:0.875em}.time-picker-input.ng-invalid{border-color:#E06488}.time-picker-input.ng-invalid:focus{box-shadow:0 0 3px rgba(224,100,136,0.5)}.time-picker-input.ng-valid.ng-dirty{border-color:#75C062}.time-picker-input:focus{outline:0;color:#3D4043}.time-form{width:100%;border:1px solid #D9DDE3}.time-form th{border-bottom:2px solid #D9DDE3;padding:10px;font-size:14px;text-transform:uppercase}.time-form td{border-right:1px solid #D9DDE3;padding:10px 10px;border-bottom:1px solid #D9DDE3}.time-form td:last-child{border-right:0}.time-form td input{width:100%}.time-form tr:last-child td{border-bottom:0}.page-placeholder{margin:0 auto;text-align:center;color:#B0B8C4;position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.page-placeholder .image{margin-bottom:20px}.page-placeholder .title{font-size:2.25em;font-weight:bold;margin-bottom:20px}.page-placeholder .content{font-size:0.875em;max-width:320px;font-weight:normal;margin-bottom:20px}.event-header{width:100%;margin-bottom:20px}.event-header .details{display:inline-block}.event-header .details .title{font-size:1.5em;font-weight:bold}.event-header .details .title .title-label{font-size:11px;font-weight:normal;margin-left:5px;position:relative;top:-3px;background:#828B9A;color:white;padding:3px 10px;border-radius:20px}.event-header .details .title .title-label.success{background:#75C062}.event-header .details .title .title-label.danger{background:#FF5D5D}.event-header .details .subtitle{color:#828B9A;font-size:0.8125em}.event-header .details .subtitle a{color:#5AC4E5;text-decoration:none}.event-header .details .subtitle a:hover{text-decoration:underline}.event-header .actions{visibility:hidden;float:right}.event-header:hover .actions{visibility:visible}.event-description{font-size:1.125em;white-space:pre-wrap;margin-bottom:20px;background:#F5F6F8;line-height:1.5em;position:relative;color:#828B9A;border-top:1px solid #D9DDE3;border-bottom:1px solid #D9DDE3}.event-location{font-size:0.875em;margin-bottom:20px;color:#AEB4BE}.event-location a{color:#3D4043;text-decoration:none}.event-location a:hover{text-decoration:underline}.event-location img{vertical-align:middle;margin-right:10px} /*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/public/css/style.css.map b/public/css/style.css.map index e93228a1c..b36bde6e2 100644 --- a/public/css/style.css.map +++ b/public/css/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["style.scss","partials/_normalize.scss","neat/grid/_box-sizing.scss","bourbon/addons/_prefixer.scss","modules/_vars.scss","partials/_applayout.scss","partials/_navigation.scss","bourbon/css3/_transition.scss","partials/_topbar.scss","partials/ui/_animations.scss","partials/ui/_buttons.scss","bourbon/css3/_linear-gradient.scss","partials/ui/_form.scss","neat/grid/_row.scss","bourbon/addons/_clearfix.scss","neat/grid/_span-columns.scss","modules/_mixins.scss","bourbon/css3/_placeholder.scss","partials/ui/_box.scss","bourbon/css3/_flex-box.scss","partials/ui/_datepicker.scss","partials/ui/_modal.scss","partials/ui/_poll.scss","partials/ui/_tags.scss","partials/ui/_dropdown.scss","partials/ui/_comments.scss","partials/ui/_switch.scss","partials/ui/_notification.scss","partials/ui/_timepicker.scss","partials/pages/_home.scss","partials/pages/_event.scss"],"names":[],"mappings":"24DAAA,mICQA,KACE,YAAa,WACb,qBAAsB,KACtB,yBAA0B,MAO5B,KACE,OAAQ,GAaV,QAAS,MAAO,QAAS,WAAY,OAAQ,OAAQ,OAAQ,OAAQ,KAAM,KAAM,IAAK,QAAS,QAa7F,QAAS,OAQX,MAAO,OAAQ,SAAU,MAIvB,QAAS,aACT,eAAgB,UAQlB,KAAK,KAAK,YACR,QAAS,KACT,OAAQ,GAQV,SAAU,SAER,QAAS,MAUX,EACE,iBAAkB,aAOpB,CAAC,QAAS,CAAC,OAET,QAAS,GAUX,IAAI,QACF,cAAe,YAOjB,EAAG,OAED,YAAa,MAOf,IACE,WAAY,QAQd,GACE,UAAW,IACX,OAAQ,UAOV,KACE,WAAY,KACZ,MAAO,MAOT,MACE,UAAW,KAOb,IAAK,IAEH,UAAW,IACX,YAAa,EACb,SAAU,SACV,eAAgB,UAGlB,IACE,IAAK,QAGP,IACE,OAAQ,SAUV,IACE,OAAQ,GAOV,GAAG,KAAK,OACN,SAAU,QAUZ,OACE,OAAQ,UAOV,GACE,gBAAiB,YACjB,WAAY,YACZ,OAAQ,GAOV,IACE,SAAU,MAOZ,KAAM,IAAK,IAAK,KAId,YAAa,oBACb,UAAW,KAkBb,OAAQ,MAAO,SAAU,OAAQ,SAK/B,MAAO,QACP,KAAM,QACN,OAAQ,GAOV,OACE,SAAU,SAUZ,OAAQ,OAEN,eAAgB,MAWlB,OAAQ,KAAK,KAAK,gBAAiB,KAAK,eAAgB,KAAK,gBAI3D,mBAAoB,OACpB,OAAQ,SAOV,MAAM,WAAY,KAAK,KAAK,WAE1B,OAAQ,SAOV,MAAM,mBAAoB,KAAK,mBAE7B,OAAQ,EACR,QAAS,GAQX,MACE,YAAa,QAWf,KAAK,kBAAmB,KAAK,eAE3B,WAAY,WACZ,QAAS,GASX,KAAK,eAAe,4BAA6B,KAAK,eAAe,4BAEnE,OAAQ,MASV,KAAK,gBACH,mBAAoB,UACpB,gBAAiB,YACjB,mBAAoB,YACpB,WAAY,aASd,KAAK,eAAe,+BAAgC,KAAK,eAAe,4BAEtE,mBAAoB,MAOtB,SACE,OAAQ,kBACR,OAAQ,MACR,QAAS,uBAQX,OACE,OAAQ,EACR,QAAS,GAOX,SACE,SAAU,MAQZ,SACE,YAAa,MAUf,MACE,gBAAiB,SACjB,eAAgB,GAGlB,GAAI,GAEF,QAAS,GCzaX,KCSQ,mBDPgB,WCYhB,gBDZgB,WC2BhB,WD3BgB,YAGxB,EAAG,CAAC,QAAS,CAAC,OCIN,mBDFkB,QCOlB,gBDPkB,QCsBlB,WDtBkB,SFA1B,KACI,YAAa,4CAGjB,EACI,MIRO,SCAX,iBACI,MAAM,KACN,OAAO,KACP,SAAS,QAGb,KACI,WDNa,QCOb,MDJO,QCKP,UAXQ,OAcZ,iBACI,SAAS,MACT,QAAS,KACT,WAAW,KACX,MApBe,MAqBf,WDrBY,QCsBZ,MAAO,OAAX,iBAAiB,SAET,MAxBW,MAyBX,QAAS,QAIjB,cACI,WDzBa,QC0Bb,YA/Be,MAgCf,OAAO,KACP,WAAW,QAAf,cAAc,WAEN,SAAS,SACT,QAAS,qBACT,MAAM,KACN,WAAY,MACZ,OAAO,MAIf,SACI,MAAM,KACN,SAAS,MACT,IAAI,EACJ,WAAY,MACZ,OA/Ca,KAgDb,QAAS,KACT,YAjDa,MCUjB,iBACI,QAAS,QAAb,iBAAiB,MAET,QAAQ,MACR,OAAQ,KACR,YAAY,KACZ,WAAY,QACZ,SAAS,SHTT,mBIJW,4BJSX,gBITW,4BJwBX,WIxBW,4BDDf,aAHM,KAIN,cAJM,KAKN,YAAa,MACb,MAAM,KHEF,mBGDgB,YHMhB,gBGNgB,YHqBhB,WGrBgB,aAYxB,iBAAiB,MAAM,IAEX,SAAS,SACT,IAAI,IACJ,WAAW,OAEvB,iBAAiB,cAtBb,aAHM,KAIN,cAJM,KAKN,YAAa,MACb,MAAM,KHEF,mBGDgB,YHMhB,gBGNgB,YHqBhB,WGrBgB,YAqBhB,UAAU,KACV,eAAe,UACf,QAAU,UACV,cAAe,kBACf,WAAW,KACX,cAAc,MACtB,iBAAiB,YAET,QAAQ,MACR,UAAW,OACX,MAAO,MACP,WFvCI,QEwCJ,gBAAiB,KACjB,QAAS,SACT,cAAe,IACf,WAAY,OACZ,YAAa,KHpCb,mBGqCoB,YHhCpB,gBGgCoB,YHjBpB,WGiBoB,YACpB,MAAO,KACP,YAAY,MAEpB,iBAAiB,YAAY,OAEjB,QAAQ,EACR,OAAO,EACP,WAAY,MAAxB,iBAAiB,YAAY,OAAO,EAEpB,QAAQ,MACR,gBAAiB,KACjB,MAAO,QACP,YAAa,MACb,UAAW,OACX,YAAY,MAA5B,iBAAiB,YAAY,OAAO,CAAC,OAEjB,QAAS,EACT,MAAM,OAA1B,iBAAiB,YAAY,OAAO,CAAC,OAAO,MAEpB,oBAAqB,eAE7C,iBAAiB,YAAY,OAAO,CAAC,QAEjB,QAAQ,EACR,MAAO,MACP,OAAQ,SAA5B,iBAAiB,YAAY,OAAO,CAAC,QAAQ,MAErB,oBAAqB,eAI7C,iBAAiB,YAAY,OAAO,EAAE,MAElB,QAAQ,aACR,eAAe,OACf,aAAc,KACd,MAAM,KACN,OAAO,KACP,gBAAiB,WErFrC,SACI,MAAO,KACP,MAAO,KACP,WAAY,iCAAhB,SAAS,SAED,WAAW,KACX,OAAO,EACP,aAAa,KACb,WAAW,MACnB,SAAS,SAAS,MAAM,IAER,QAAQ,aACR,eAAe,QAC/B,SAAS,SAAS,MAAM,WAER,QAAS,SACT,OAAQ,KACR,gBAAgB,KAChB,MJVL,QIWK,UAAW,OACX,OAAQ,sBACR,cAAe,IACf,eAAe,OACf,aJZH,SIYb,SAAS,SAAS,MAAM,WAAW,KAEf,eAAe,QACnC,SAAS,SAAS,MAAM,UAAU,OAEd,aAAc,SAElC,SAAS,SAAS,KAAK,SAAS,MAAM,iBAEtB,0BAA2B,EAC3B,2BAA4B,EAC5B,aJvBH,QIwBG,oBAAqB,MACrB,SAAU,SACV,QAAQ,MACxB,SAAS,SAAS,MAAM,eAER,WAAY,MACZ,MJjCL,QIkCK,UAAW,IACX,YAAa,MACb,OAAQ,kBACR,cAAe,IACf,QAAS,KACT,WAAW,MACX,uBAAuB,EACvB,WAAY,mBAA5B,SAAS,SAAS,MAAM,eAAe,gBAEnB,YAAY,KACZ,UAAW,UAC/B,SAAS,SAAS,MAAM,eAAe,kBAEnB,UAAW,QACX,YAAa,MACb,MJhDP;;;;;EKDb,UACI,2BAA4B,KAC5B,mBAAoB,KACpB,4BAA6B,KAC7B,oBAAqB,MAGzB,SAAS,UACL,kCAAmC,SACnC,0BAA2B,UAG/B,SAAS,OACL,2BAA4B,GAC5B,mBAAoB,uBAGL,OAAnB,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,oCAC5B,kBAAmB,qBACnB,UAAW,sBACnB,IAAK,IAGG,mCAAoC,uCACpC,2BAA4B,uCAC5B,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,mCAAoC,uCACpC,2BAA4B,uCAC5B,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,wBACnB,UAAW,qCAIR,OAAX,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,oCAC5B,kBAAmB,qBACnB,UAAW,sBACnB,IAAK,IAGG,mCAAoC,uCACpC,2BAA4B,uCAC5B,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,mCAAoC,uCACpC,2BAA4B,uCAC5B,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,wBACnB,UAAW,0BAInB,QACI,uBAAwB,OACxB,eAAgB,OAChB,yBAA0B,cAC1B,qBAAsB,cACtB,iBAAkB,kCAGH,MAAnB,GAAI,IAAK,KAED,QAAS,GACjB,IAAK,IAGG,QAAS,eAIN,MAAX,GAAI,IAAK,KAED,QAAS,GACjB,IAAK,IAGG,QAAS,IAIjB,OACI,uBAAwB,MACxB,eAAgB,0BAKD,MAAnB,GAEQ,kBAAmB,iBACnB,UAAW,kBACnB,IAGQ,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,kBAAmB,iBACnB,UAAW,8BAIR,MAAX,GAEQ,kBAAmB,iBACnB,UAAW,kBACnB,IAGQ,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,kBAAmB,iBACnB,UAAW,mBAInB,OACI,uBAAwB,MACxB,eAAgB,0BAGD,WAAnB,GAEQ,kBAAmB,iBACnB,UAAW,kBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,kBAAmB,iBACnB,UAAW,8BAIR,WAAX,GAEQ,kBAAmB,iBACnB,UAAW,kBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,kBAAmB,iBACnB,UAAW,mBAInB,YACI,uBAAwB,WACxB,eAAgB,+BAGD,MAAnB,GAAI,KAEI,kBAAmB,qBACnB,UAAW,sBACnB,IAAK,IAAK,IAAK,IAAK,IAGZ,kBAAmB,yBACnB,UAAW,0BACnB,IAAK,IAAK,IAAK,IAGP,kBAAmB,wBACnB,UAAW,qCAIR,MAAX,GAAI,KAEI,kBAAmB,qBACnB,UAAW,sBACnB,IAAK,IAAK,IAAK,IAAK,IAGZ,kBAAmB,yBACnB,UAAW,0BACnB,IAAK,IAAK,IAAK,IAGP,kBAAmB,wBACnB,UAAW,0BAInB,OACI,uBAAwB,MACxB,eAAgB,0BAGD,MAAnB,IAEQ,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,kBAAmB,wBACnB,UAAW,qCAIR,MAAX,IAEQ,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,kBAAmB,wBACnB,UAAW,0BAInB,OACI,yBAA0B,WAC1B,qBAAsB,WACtB,iBAAkB,WAClB,uBAAwB,MACxB,eAAgB,0BAGD,KAAnB,GAEQ,kBAAmB,iBACnB,UAAW,kBACnB,IAAK,IAGG,kBAAqC,gDACrC,UAA6B,iDACrC,IAAK,IAAK,IAAK,IAGP,kBAAwC,+CACxC,UAAgC,gDACxC,IAAK,IAAK,IAGF,kBAAwC,gDACxC,UAAgC,iDACxC,KAGQ,kBAAmB,iBACnB,UAAW,8BAIR,KAAX,GAEQ,kBAAmB,iBACnB,UAAW,kBACnB,IAAK,IAGG,kBAAqC,gDACrC,UAA6B,iDACrC,IAAK,IAAK,IAAK,IAGP,kBAAwC,+CACxC,UAAgC,gDACxC,IAAK,IAAK,IAGF,kBAAwC,gDACxC,UAAgC,iDACxC,KAGQ,kBAAmB,iBACnB,UAAW,mBAInB,MACI,uBAAwB,KACxB,eAAgB,yBAKD,OAAnB,GAEQ,kBAAmB,KACnB,UAAW,MACnB,IAGQ,kBAAyC,iDACzC,UAAiC,kDACzC,IAGQ,kBAAwC,+CACxC,UAAgC,gDACxC,IAGQ,kBAAyC,iDACzC,UAAiC,kDACzC,IAGQ,kBAAwC,+CACxC,UAAgC,gDACxC,IAGQ,kBAAwC,gDACxC,UAAgC,iDACxC,KAGQ,kBAAmB,KACnB,UAAW,kBAIR,OAAX,GAEQ,kBAAmB,KACnB,UAAW,MACnB,IAGQ,kBAAyC,iDACzC,UAAiC,kDACzC,IAGQ,kBAAwC,+CACxC,UAAgC,gDACxC,IAGQ,kBAAyC,iDACzC,UAAiC,kDACzC,IAGQ,kBAAwC,+CACxC,UAAgC,gDACxC,IAGQ,kBAAwC,gDACxC,UAAgC,iDACxC,KAGQ,kBAAmB,KACnB,UAAW,OAInB,QACI,uBAAwB,OACxB,eAAgB,2BAGD,SAAnB,GAAI,IAAK,IAAK,IAAK,IAAK,KAEhB,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,QAAS,EACT,kBAAmB,iBACnB,UAAW,8BAIR,SAAX,GAAI,IAAK,IAAK,IAAK,IAAK,KAEhB,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,QAAS,EACT,kBAAmB,iBACnB,UAAW,mBAInB,UACI,uBAAwB,SACxB,eAAgB,SAChB,2BAA4B,MAC5B,mBAAoB,0BAGL,aAAnB,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,IAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,kBAAmB,KACnB,UAAW,kBAIR,aAAX,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,IAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,kBAAmB,KACnB,UAAW,OAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,aAAnB,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,IAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,kBAAmB,KACnB,UAAW,kBAIR,aAAX,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,IAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,kBAAmB,KACnB,UAAW,OAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,cAAnB,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,kBAAmB,KACnB,UAAW,kBAIR,cAAX,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,kBAAmB,KACnB,UAAW,OAInB,eACI,uBAAwB,cACxB,eAAgB,kCAGD,WAAnB,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,kBAAmB,qBACnB,UAAW,kCAIR,WAAX,GAAI,IAAK,IAAK,IAAK,KAEX,mCAAoC,oCACpC,2BAA4B,qCACpC,GAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,IAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,IAGQ,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,kBAAmB,qBACnB,UAAW,uBAInB,YACI,uBAAwB,WACxB,eAAgB,+BAGD,UAAnB,IAEQ,kBAAmB,uBACnB,UAAW,wBACnB,IAAK,IAGG,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,oCAIR,UAAX,IAEQ,kBAAmB,uBACnB,UAAW,wBACnB,IAAK,IAGG,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,yBAInB,WACI,uBAAwB,UACxB,eAAgB,UAChB,2BAA4B,MAC5B,mBAAoB,0BAGL,cAAnB,IAEQ,kBAAmB,wBACnB,UAAW,yBACnB,IAAK,IAGG,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,uCAIR,cAAX,IAEQ,kBAAmB,wBACnB,UAAW,yBACnB,IAAK,IAGG,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,4BAInB,eACI,uBAAwB,cACxB,eAAgB,kCAGD,cAAnB,IAEQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,wCAIR,cAAX,IAEQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,6BAInB,eACI,uBAAwB,cACxB,eAAgB,kCAGD,eAAnB,IAEQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,uCAIR,eAAX,IAEQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,4BAInB,gBACI,uBAAwB,eACxB,eAAgB,mCAGD,YAAnB,IAEQ,kBAAmB,yBACnB,UAAW,0BACnB,IAAK,IAGG,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,wCAIR,YAAX,IAEQ,kBAAmB,yBACnB,UAAW,0BACnB,IAAK,IAGG,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,6BAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,OAAnB,GACQ,QAAS,GAAjB,KACU,QAAS,eAGR,OAAX,GACQ,QAAS,GAAjB,KACU,QAAS,IAGnB,QACI,uBAAwB,OACxB,eAAgB,2BAGD,WAAnB,GAEQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,WAAX,GAEQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,YACI,uBAAwB,WACxB,eAAgB,+BAGD,cAAnB,GAEQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,cAAX,GAEQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,eACI,uBAAwB,cACxB,eAAgB,kCAGD,WAAnB,GAEQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,WAAX,GAEQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,0BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,YACI,uBAAwB,WACxB,eAAgB,+BAGD,cAAnB,GAEQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,cAAX,GAEQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,4BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,eACI,uBAAwB,cACxB,eAAgB,kCAGD,YAAnB,GAEQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,YAAX,GAEQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,eAAnB,GAEQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,eAAX,GAEQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,gBACI,uBAAwB,eACxB,eAAgB,mCAGD,SAAnB,GAEQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,SAAX,GAEQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,yBACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,UACI,uBAAwB,SACxB,eAAgB,6BAGD,YAAnB,GAEQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,YAAX,GAEQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,2BACnB,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,QAAnB,GACQ,QAAS,GAAjB,KACU,QAAS,eAGR,QAAX,GACQ,QAAS,GAAjB,KACU,QAAS,IAGnB,SACI,uBAAwB,QACxB,eAAgB,4BAGD,YAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,qCAIR,YAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,0BAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,eAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,uCAIR,eAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,4BAInB,gBACI,uBAAwB,eACxB,eAAgB,mCAGD,YAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,sCAIR,YAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,2BAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,eAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,wCAIR,eAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,6BAInB,gBACI,uBAAwB,eACxB,eAAgB,mCAGD,aAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,qCAIR,aAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,wBACnB,UAAW,0BAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,gBAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,uCAIR,gBAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,0BACnB,UAAW,4BAInB,iBACI,uBAAwB,gBACxB,eAAgB,oCAGD,UAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,sCAIR,UAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,yBACnB,UAAW,2BAInB,WACI,uBAAwB,UACxB,eAAgB,8BAGD,aAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,wCAIR,aAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAmB,2BACnB,UAAW,6BAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,KAAnB,GAEQ,kBAAoC,8CACpC,UAA4B,8CAC5B,kCAAmC,SACnC,0BAA2B,UACnC,IAGQ,kBAAoC,uEACpC,UAA4B,uEAC5B,kCAAmC,SACnC,0BAA2B,UACnC,IAGQ,kBAAoC,uEACpC,UAA4B,uEAC5B,kCAAmC,QACnC,0BAA2B,SACnC,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,kCAAmC,QACnC,0BAA2B,SACnC,KAGQ,kBAAmB,mBACnB,UAAW,mBACX,kCAAmC,QACnC,0BAA2B,qBAIxB,KAAX,GAEQ,kBAAoC,8CACpC,UAA4B,8CAC5B,kCAAmC,SACnC,0BAA2B,UACnC,IAGQ,kBAAoC,uEACpC,UAA4B,uEAC5B,kCAAmC,SACnC,0BAA2B,UACnC,IAGQ,kBAAoC,uEACpC,UAA4B,uEAC5B,kCAAmC,QACnC,0BAA2B,SACnC,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,kCAAmC,QACnC,0BAA2B,SACnC,KAGQ,kBAAmB,mBACnB,UAAW,mBACX,kCAAmC,QACnC,0BAA2B,UAInC,SAAS,MACL,4BAA6B,QAC7B,oBAAqB,QACrB,uBAAwB,KACxB,eAAgB,yBAGD,QAAnB,GAEQ,kBAAoC,4CACpC,UAA4B,4CAC5B,mCAAoC,QACpC,2BAA4B,QAC5B,QAAS,GACjB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,mCAAoC,QACpC,2BAA4B,SACpC,IAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,GACjB,IAGQ,kBAAoC,4CACpC,UAA4B,6CACpC,KAGQ,kBAAmB,mBACnB,UAAW,gCAIR,QAAX,GAEQ,kBAAoC,4CACpC,UAA4B,4CAC5B,mCAAoC,QACpC,2BAA4B,QAC5B,QAAS,GACjB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,mCAAoC,QACpC,2BAA4B,SACpC,IAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,GACjB,IAGQ,kBAAoC,4CACpC,UAA4B,6CACpC,KAGQ,kBAAmB,mBACnB,UAAW,qBAInB,SACI,4BAA6B,mBAC7B,oBAAqB,mBACrB,uBAAwB,QACxB,eAAgB,4BAGD,QAAnB,GAEQ,kBAAoC,4CACpC,UAA4B,4CAC5B,mCAAoC,QACpC,2BAA4B,QAC5B,QAAS,GACjB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,mCAAoC,QACpC,2BAA4B,SACpC,IAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,GACjB,IAGQ,kBAAoC,4CACpC,UAA4B,6CACpC,KAGQ,kBAAmB,mBACnB,UAAW,gCAIR,QAAX,GAEQ,kBAAoC,4CACpC,UAA4B,4CAC5B,mCAAoC,QACpC,2BAA4B,QAC5B,QAAS,GACjB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,mCAAoC,QACpC,2BAA4B,SACpC,IAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,GACjB,IAGQ,kBAAoC,4CACpC,UAA4B,6CACpC,KAGQ,kBAAmB,mBACnB,UAAW,qBAInB,SACI,4BAA6B,mBAC7B,oBAAqB,mBACrB,uBAAwB,QACxB,eAAgB,4BAGD,SAAnB,GAEQ,kBAAmB,mBACnB,UAAW,oBACnB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,QAAS,GACjB,KAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,eAIN,SAAX,GAEQ,kBAAmB,mBACnB,UAAW,oBACnB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,QAAS,GACjB,KAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,IAIjB,UACI,uBAAwB,SACxB,eAAgB,SAChB,2BAA4B,MAC5B,mBAAoB,MACpB,4BAA6B,mBAC7B,oBAAqB,uCAGN,SAAnB,GAEQ,kBAAmB,mBACnB,UAAW,oBACnB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,QAAS,GACjB,KAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,eAIN,SAAX,GAEQ,kBAAmB,mBACnB,UAAW,oBACnB,IAGQ,kBAAoC,6CACpC,UAA4B,6CAC5B,QAAS,GACjB,KAGQ,kBAAoC,4CACpC,UAA4B,4CAC5B,QAAS,IAIjB,UACI,4BAA6B,mBAC7B,oBAAqB,mBACrB,uBAAwB,SACxB,eAAgB,SAChB,2BAA4B,MAC5B,mBAAoB,0BAGL,aAAnB,GAEQ,kBAAyC,sCACzC,UAAiC,sCACjC,QAAS,GACjB,IAGQ,kBAAmB,aACnB,UAAW,aACX,QAAS,GACjB,IAGQ,kBAAmB,aACnB,UAAW,aACX,QAAS,GACjB,KAGQ,kBAAmB,KACnB,UAAW,KACX,QAAS,eAIN,aAAX,GAEQ,kBAAyC,sCACzC,UAAiC,sCACjC,QAAS,GACjB,IAGQ,kBAAmB,aACnB,UAAW,aACX,QAAS,GACjB,IAGQ,kBAAmB,aACnB,UAAW,aACX,QAAS,GACjB,KAGQ,kBAAmB,KACnB,UAAW,KACX,QAAS,IAIjB,cACI,uBAAwB,aACxB,eAAgB,aAChB,kCAAmC,SACnC,0BAA2B,6BAGZ,cAAnB,GAEQ,QAAS,GACjB,KAGQ,kBAAyC,qCACzC,UAAiC,qCACjC,QAAS,eAIN,cAAX,GAEQ,QAAS,GACjB,KAGQ,kBAAyC,qCACzC,UAAiC,qCACjC,QAAS,IAIjB,eACI,uBAAwB,cACxB,eAAgB,cAChB,kCAAmC,QACnC,0BAA2B,4BAGZ,SAAnB,GAEQ,yBAA0B,OAC1B,iBAAkB,OAClB,kBAAmB,2BACnB,UAAW,2BACX,QAAS,GACjB,KAGQ,yBAA0B,OAC1B,iBAAkB,OAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,eAIN,SAAX,GAEQ,yBAA0B,OAC1B,iBAAkB,OAClB,kBAAmB,2BACnB,UAAW,2BACX,QAAS,GACjB,KAGQ,yBAA0B,OAC1B,iBAAkB,OAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,IAIjB,UACI,uBAAwB,SACxB,eAAgB,6BAGD,iBAAnB,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,eAIN,iBAAX,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,IAIjB,kBACI,uBAAwB,iBACxB,eAAgB,qCAGD,kBAAnB,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,eAIN,kBAAX,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,IAIjB,mBACI,uBAAwB,kBACxB,eAAgB,sCAGD,eAAnB,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,eAIN,eAAX,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,IAIjB,gBACI,uBAAwB,eACxB,eAAgB,mCAGD,gBAAnB,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,eAIN,gBAAX,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,KACnB,UAAW,KACX,QAAS,IAIjB,iBACI,uBAAwB,gBACxB,eAAgB,oCAGD,UAAnB,GAEQ,yBAA0B,OAC1B,iBAAkB,OAClB,QAAS,GACjB,KAGQ,yBAA0B,OAC1B,iBAAkB,OAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,eAIN,UAAX,GAEQ,yBAA0B,OAC1B,iBAAkB,OAClB,QAAS,GACjB,KAGQ,yBAA0B,OAC1B,iBAAkB,OAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,IAIjB,WACI,uBAAwB,UACxB,eAAgB,8BAGD,kBAAnB,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,eAIN,kBAAX,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,IAIjB,mBACI,uBAAwB,kBACxB,eAAgB,sCAGD,mBAAnB,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,eAIN,mBAAX,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,IAIjB,oBACI,uBAAwB,mBACxB,eAAgB,uCAGD,gBAAnB,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,eAIN,gBAAX,GAEQ,yBAA0B,YAC1B,iBAAkB,YAClB,QAAS,GACjB,KAGQ,yBAA0B,YAC1B,iBAAkB,YAClB,kBAAmB,0BACnB,UAAW,0BACX,QAAS,IAIjB,iBACI,uBAAwB,gBACxB,eAAgB,oCAGD,iBAAnB,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,eAIN,iBAAX,GAEQ,yBAA0B,aAC1B,iBAAkB,aAClB,QAAS,GACjB,KAGQ,yBAA0B,aAC1B,iBAAkB,aAClB,kBAAmB,yBACnB,UAAW,yBACX,QAAS,IAIjB,kBACI,uBAAwB,iBACxB,eAAgB,qCAGD,MAAnB,GAEQ,yBAA0B,SAC1B,iBAAkB,SAClB,kCAAmC,YACnC,0BAA2B,aACnC,IAAK,IAGG,kBAAmB,yBACnB,UAAW,yBACX,yBAA0B,SAC1B,iBAAkB,SAClB,kCAAmC,YACnC,0BAA2B,aACnC,IAAK,IAGG,kBAAmB,yBACnB,UAAW,yBACX,yBAA0B,SAC1B,iBAAkB,SAClB,kCAAmC,YACnC,0BAA2B,YAC3B,QAAS,GACjB,KAGQ,kBAAmB,yBACnB,UAAW,yBACX,QAAS,eAIN,MAAX,GAEQ,yBAA0B,SAC1B,iBAAkB,SAClB,kCAAmC,YACnC,0BAA2B,aACnC,IAAK,IAGG,kBAAmB,yBACnB,UAAW,yBACX,yBAA0B,SAC1B,iBAAkB,SAClB,kCAAmC,YACnC,0BAA2B,aACnC,IAAK,IAGG,kBAAmB,yBACnB,UAAW,yBACX,yBAA0B,SAC1B,iBAAkB,SAClB,kCAAmC,YACnC,0BAA2B,YAC3B,QAAS,GACjB,KAGQ,kBAAmB,yBACnB,UAAW,yBACX,QAAS,IAIjB,OACI,uBAAwB,MACxB,eAAgB,0BAKD,OAAnB,GAEQ,QAAS,EACT,kBAA0C,oDAC1C,UAAkC,qDAC1C,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,kBAIR,OAAX,GAEQ,QAAS,EACT,kBAA0C,oDAC1C,UAAkC,qDAC1C,KAGQ,QAAS,EACT,kBAAmB,KACnB,UAAW,OAInB,QACI,uBAAwB,OACxB,eAAgB,2BAKD,QAAnB,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAyC,kDACzC,UAAiC,+DAI9B,QAAX,GAEQ,QAAS,GACjB,KAGQ,QAAS,EACT,kBAAyC,kDACzC,UAAiC,oDAIzC,SACI,uBAAwB,QACxB,eAAgB,4BAGD,OAAnB,GAEQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,QAAS,eAIN,OAAX,GAEQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,IAGQ,QAAS,IAIjB,QACI,uBAAwB,OACxB,eAAgB,2BAGD,WAAnB,GAEQ,QAAS,EACT,kBAAqC,kDACrC,UAA6B,kDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,qDACnC,kCAAmC,oCACnC,0BAA2B,iDAIxB,WAAX,GAEQ,QAAS,EACT,kBAAqC,kDACrC,UAA6B,kDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,qDACnC,kCAAmC,oCACnC,0BAA2B,sCAInC,YACI,uBAAwB,WACxB,eAAgB,+BAGD,WAAnB,GAEQ,QAAS,EACT,kBAAqC,kDACrC,UAA6B,kDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,qDACnC,kCAAmC,oCACnC,0BAA2B,iDAIxB,WAAX,GAEQ,QAAS,EACT,kBAAqC,kDACrC,UAA6B,kDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,qDACnC,kCAAmC,oCACnC,0BAA2B,sCAInC,YACI,uBAAwB,WACxB,eAAgB,+BAGD,YAAnB,GAEQ,QAAS,EACT,kBAAqC,iDACrC,UAA6B,iDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,sDACnC,kCAAmC,oCACnC,0BAA2B,iDAIxB,YAAX,GAEQ,QAAS,EACT,kBAAqC,iDACrC,UAA6B,iDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,sDACnC,kCAAmC,oCACnC,0BAA2B,sCAInC,aACI,uBAAwB,YACxB,eAAgB,gCAGD,SAAnB,GAEQ,QAAS,EACT,kBAAqC,iDACrC,UAA6B,iDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,sDACnC,kCAAmC,oCACnC,0BAA2B,iDAIxB,SAAX,GAEQ,QAAS,EACT,kBAAqC,iDACrC,UAA6B,iDAC7B,kCAAmC,uCACnC,0BAA2B,wCACnC,IAGQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,sDACnC,kCAAmC,oCACnC,0BAA2B,sCAInC,UACI,uBAAwB,SACxB,eAAgB,6BAGD,QAAnB,GAEQ,QAAS,GACjB,IAGQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,QAAS,eAIN,QAAX,GAEQ,QAAS,GACjB,IAGQ,QAAS,EACT,kBAAmB,uBACnB,UAAW,wBACnB,KAGQ,QAAS,IAIjB,SACI,uBAAwB,QACxB,eAAgB,4BAGD,YAAnB,IAEQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,sDACnC,kCAAmC,uCACnC,0BAA2B,wCACnC,KAGQ,QAAS,EACT,kBAAqC,iDACrC,UAA6B,iDAC7B,yBAA0B,cAC1B,iBAAkB,cAClB,kCAAmC,oCACnC,0BAA2B,iDAIxB,YAAX,IAEQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,sDACnC,kCAAmC,uCACnC,0BAA2B,wCACnC,KAGQ,QAAS,EACT,kBAAqC,iDACrC,UAA6B,iDAC7B,yBAA0B,cAC1B,iBAAkB,cAClB,kCAAmC,oCACnC,0BAA2B,sCAInC,aACI,uBAAwB,YACxB,eAAgB,gCAGD,YAAnB,IAEQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,sDAC3C,KAGQ,QAAS,EACT,kBAA2B,sCAC3B,UAAmB,sCACnB,yBAA0B,YAC1B,iBAAkB,yBAIf,YAAX,IAEQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,sDAC3C,KAGQ,QAAS,EACT,kBAA2B,sCAC3B,UAAmB,sCACnB,yBAA0B,YAC1B,iBAAkB,cAI1B,aACI,uBAAwB,YACxB,eAAgB,gCAGD,aAAnB,IAEQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,uDAC3C,KAGQ,QAAS,EACT,kBAA2B,qCAC3B,UAAmB,qCACnB,yBAA0B,aAC1B,iBAAkB,0BAIf,aAAX,IAEQ,QAAS,EACT,kBAA2C,sDAC3C,UAAmC,uDAC3C,KAGQ,QAAS,EACT,kBAA2B,qCAC3B,UAAmB,qCACnB,yBAA0B,aAC1B,iBAAkB,eAI1B,cACI,uBAAwB,aACxB,eAAgB,iCAGD,UAAnB,IAEQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,qDACnC,kCAAmC,uCACnC,0BAA2B,wCACnC,KAGQ,QAAS,EACT,kBAAqC,kDACrC,UAA6B,kDAC7B,yBAA0B,cAC1B,iBAAkB,cAClB,kCAAmC,oCACnC,0BAA2B,iDAIxB,UAAX,IAEQ,QAAS,EACT,kBAA2C,qDAC3C,UAAmC,qDACnC,kCAAmC,uCACnC,0BAA2B,wCACnC,KAGQ,QAAS,EACT,kBAAqC,kDACrC,UAA6B,kDAC7B,yBAA0B,cAC1B,iBAAkB,cAClB,kCAAmC,oCACnC,0BAA2B,sCAInC,WACI,uBAAwB,UACxB,eAAgB,8BAGD,YAAnB,GAEQ,kBAAmB,kBACnB,UAAW,kBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,2BAIR,YAAX,GAEQ,kBAAmB,kBACnB,UAAW,kBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,gBAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,YAAnB,GAEQ,kBAAmB,kBACnB,UAAW,kBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,2BAIR,YAAX,GAEQ,kBAAmB,kBACnB,UAAW,kBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,gBAInB,aACI,uBAAwB,YACxB,eAAgB,gCAGD,aAAnB,GAEQ,kBAAmB,iBACnB,UAAW,iBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,2BAIR,aAAX,GAEQ,kBAAmB,iBACnB,UAAW,iBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,gBAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,UAAnB,GAEQ,kBAAmB,iBACnB,UAAW,iBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,2BAIR,UAAX,GAEQ,kBAAmB,iBACnB,UAAW,iBACX,WAAY,SACpB,KAGQ,kBAAmB,cACnB,UAAW,gBAInB,WACI,uBAAwB,UACxB,eAAgB,8BAGD,aAAnB,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,iBACnB,UAAW,8BAIR,aAAX,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,iBACnB,UAAW,mBAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,aAAnB,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,kBACnB,UAAW,+BAIR,aAAX,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,kBACnB,UAAW,oBAInB,cACI,uBAAwB,aACxB,eAAgB,iCAGD,cAAnB,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,iBACnB,UAAW,8BAIR,cAAX,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,iBACnB,UAAW,mBAInB,eACI,uBAAwB,cACxB,eAAgB,kCAGD,WAAnB,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,kBACnB,UAAW,+BAIR,WAAX,GAEQ,kBAAmB,cACnB,UAAW,eACnB,KAGQ,WAAY,OACZ,kBAAmB,kBACnB,UAAW,oBAInB,YACI,uBAAwB,WACxB,eAAgB,YCplGpB,KAGI,OAAO,kBACP,QAAQ,aACR,cAAe,IACf,WAA0B,oDC4B5B,iBAPiB,QAQjB,iBAAkB,0CAClB,iBAAkB,kCD5BhB,UAAW,OACX,YAAY,IACZ,MNDS,QMET,gBAAgB,KAChB,QAAe,gBAAnB,IAAI,OCsBF,iBAPiB,QAQjB,iBAAkB,0CAClB,iBAAkB,mCDrBpB,IAAI,UAEI,OAAO,QACP,QAAS,KAAjB,IAAI,SAAS,QAED,WAA0B,+CAEtC,IAAI,QAEI,MNrBE,SMsBV,IAAI,OAEI,QAAQ,GAChB,IAAI,QAEI,WAAY,ME9BpB,KACI,OAAO,GACX,IAAI,cAAc,YAEN,aAAc,oBAK1B,gBACI,MAAM,MAGV,UCmCI,QAAS,MDjCT,cAAc,KTNV,oBSOiB,KTFjB,iBSEiB,KTGjB,gBSHiB,KTajB,YSbiB,MEHzB,SAAS,OAEL,QAAQ,GACR,QAAQ,MACR,MAAM,MFEV,UG4CI,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,WAAb,SAAS,YAGD,aAAsB,GHhE9B,SAAS,OAAO,aAEJ,QAAS,YACrB,SAAS,OAAO,YAEJ,QAAS,YAKrB,YAAc,MAEN,UAAU,OACV,MRxBK,QQyBL,QAAQ,aACR,YAAY,SAEpB,YAAY,YAEJ,UAAW,OACX,MRtCE,QQuCF,MAAO,OAAf,YAAY,YAAY,IAEZ,eAAe,OACf,aAAc,KAE1B,WAAW,UAAY,KAAK,OAEpB,QAAS,eAEjB,WAAW,OAAO,KAAK,cAAe,WAAW,OAAO,QAAQ,cAGpD,aRpDD,QQqDC,WAAY,uBAExB,YAAY,KAAK,cAAe,YAAY,QAAQ,cIxDhD,cAAe,IACf,OAAQ,kBACR,UAAU,QbMN,mBIJW,8BJSX,gBITW,8BJwBX,WIxBW,+BSDnB,YAAY,KAAK,aAAa,OAAQ,YAAY,QAAQ,aAAa,OAE/D,aZFG,QYGH,QAAQ,KACR,WAAY,OACpB,YAAY,KAAK,aAAa,QAAS,YAAY,QAAQ,aAAa,QAEhE,MAAM,MCRd,YAAY,KAAK,aAAa,4BAA6B,YAAY,QAAQ,aAAa,4BDWpF,MAAO,uBCXf,YAAY,KAAK,aAAa,mBAAoB,YAAY,QAAQ,aAAa,mBDW3E,MAAO,uBCXf,YAAY,KAAK,aAAa,kBAAmB,YAAY,QAAQ,aAAa,kBDW1E,MAAO,uBCXf,YAAY,KAAK,aAAa,uBAAwB,YAAY,QAAQ,aAAa,uBDW/E,MAAO,uBJ8Cf,YAAY,UAEJ,QAAgB,iBACxB,YAAY,KAAK,cAET,eAAe,OACf,QAAe,kBACvB,YAAY,QAAQ,cAGZ,WAAY,MACZ,UAAW,QACX,QAAe,eAMvB,qBACI,QAAQ,aACR,YAAa,SACb,UAAW,QAAf,oBAAoB,OAEZ,MRhFE,SQiFV,qBAAqB,IAEb,eAAe,OACf,aAAc,UMpFtB,KACI,WAAY,MACZ,OAAQ,kBACR,cAAe,IACf,OAAQ,iBACR,UAAW,MACX,UAAU,MACV,SAAS,OACT,QAAS,WAAb,IAAI,cAEI,WAAY,QACpB,IAAI,WAEI,WAAY,YACZ,OAAO,EACP,QAAS,EACT,cAAc,MACtB,IAAI,WAEI,adlBG,QcmBH,WAAY,8BAIpB,WACI,UAAW,KACX,YAAa,KACb,MdtBO,QcuBP,cAAc,MAGlB,iBACI,UAAW,KACX,Md3BS,Qc4BT,eAAgB,KAChB,cAAe,kBACf,WAAY,MACZ,cAAe,MAAnB,iBAAiB,EAET,MdlCG,QcmCH,gBAAgB,MAAxB,iBAAiB,CAAC,OAEN,OAAQ,mBAIpB,aACI,YAAa,KLFb,QAAS,OKEb,YAAY,aAEJ,OAAO,GJvCf,YAAY,OAER,QAAQ,GACR,QAAQ,MACR,MAAM,MIqCV,aAAa,iBHST,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,WAAb,aAAa,gBAAgB,YAGrB,aAAsB,GG7B9B,aAAa,iBAAiB,eAElB,UAAW,QACX,MdlDC,QcmDD,cAAc,MAE1B,aAAa,cHCT,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,WAAb,aAAa,aAAa,YAGlB,aAAsB,GGhB9B,aACI,WAAW,OACX,QAAQ,KACR,UAAU,MACV,OAAO,QAAX,aAAa,YAEL,cAAe,MACvB,aAAa,OAEL,YAAa,KACb,UAAW,MACX,MdxEG,QcyEH,cAAe,SACvB,aAAa,SAEL,UAAW,QACX,Md5EK,Qc6EL,cAAe,MACvB,aAAa,aAAa,OAElB,QAAS,GACT,QAAQ,aACR,MAAM,MACN,OAAO,IACP,WdlFK,QcmFL,OAAO,WAKf,iBACI,QAAS,UACT,WAAY,YACZ,MAAO,KACP,YAAa,OAIjB,mBACI,QAAS,UACT,WAAY,YACZ,MAAO,KACP,WAAW,KACX,0BAA2B,IAC3B,2BAA4B,IAC5B,WAAY,kBACZ,cAAe,MACf,YAAa,OAGjB,cACI,WAAY,MACZ,WAAY,oBACZ,WAAY,QACZ,WA3HQ,KA4HR,QAAS,WAGb,WC1DQ,QAAS,YACT,QAAS,SACT,QAAS,IAGT,QAAS,aACT,QAAS,UACT,QAAS,YACT,QAAS,KDoDb,MAAM,KACN,oBAAoB,OACpB,QAAQ,EACR,OAAO,eAAX,WAAW,Mf3HH,iBgB6FQ,EhBxFR,cgBwFQ,EhBzER,SgByEQ,EhB7FR,agB6FQ,EhBxFR,UgBwFQ,EhBnFR,SgBmFQ,EhBzER,KgByEQ,EDiCR,Md9HK,Qc+HL,UAAW,QACX,OAAQ,QACR,QAAS,cACT,cAAc,kBACd,SAAS,SfnIT,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,sBWwInB,WAAW,KAAK,aAEJ,aAAe,GAC3B,WAAW,KAAK,OAEJ,QAAS,GACT,SAAS,SACT,OAAO,KACP,KAAK,EACL,OAAQ,IACR,MAAM,EACN,WdvJA,QDQJ,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,sBWqJnB,WAAW,KAAK,QAEJ,MdpJD,ScoJX,WAAW,KAAK,OAAO,OAEP,MAAM,ME9JtB,cAAc,YAAc,aACxB,ahBCO,SgBEX,aACI,OAAQ,kBACR,cAAe,IjBGX,mBIJW,8BJSX,gBITW,8BJwBX,WIxBW,+BaEnB,aAAa,SAEL,QAAQ,MAChB,aAAa,kBAEL,QAAQ,MACR,MAAM,KACN,cAAc,KACd,WAAW,QAAnB,aAAa,kBAAkB,OAEnB,QAAQ,aACR,MAAM,MACN,OAAQ,OACR,YAAY,KACZ,UAAW,SACvB,aAAa,kBAAkB,OAEnB,gBAAgB,KAChB,MhBfC,QgBgBD,SAAS,SACT,OAAQ,kBACR,QAAQ,aACR,MAAO,KACP,cAAe,IACf,UAAW,KACX,YAAY,KACZ,WAAW,OACX,MAAM,KACN,WAAY,gCACZ,OAAO,QAAnB,aAAa,kBAAkB,MAAM,YAErB,MAAM,OACtB,aAAa,kBAAkB,MAAM,OAErB,MhBjCL,SgBkCX,aAAa,kBAAkB,MAAM,QAErB,WAAW,MAI3B,aAAa,KAEL,UAAU,EACV,eAAgB,KAChB,cAAe,kBACf,cAAe,MAAvB,aAAa,KAAK,KAEN,eAAe,UACf,UAAW,KACX,QAAQ,aACR,MAAQ,UACR,WAAW,OACX,MhB1DD,SgB6DX,aAAa,QAAQ,OAET,QAAQ,aACR,MAAQ,UACR,WAAW,OACX,UAAW,QACX,YAAY,SACZ,SAAS,SACT,YAAa,MAAzB,aAAa,QAAQ,MAAM,OAEX,MAAM,SAAtB,aAAa,QAAQ,MAAM,MAAM,OAEb,QAAQ,EACR,WAAY,qBAEhC,aAAa,QAAQ,MAAM,SAEX,MhBtEH,QgBuEG,YAAY,QAC5B,aAAa,QAAQ,MAAM,OAEX,QAAS,IACT,OAAO,QACP,QAAS,EACT,SAAS,SAET,MADO,QAEP,OAFO,QAGP,YAAY,UACZ,WAAW,UACX,KAAK,IACL,IAAI,IACJ,cAAe,KAC/B,aAAa,QAAQ,MAAM,OAMX,OAAQ,SALxB,aAAa,QAAQ,MAAM,MAAM,OAEb,QAAQ,EACR,WAAY,uBAGhC,aAAa,QAAQ,MAAM,QAEX,WAAW,MACX,MhBzGJ,SgByGZ,aAAa,QAAQ,MAAM,OAAO,OAEd,QAAQ,EACR,WAAY,sBAOhC,cAAc,YAAc,YACxB,ahBnHO,SgBqHX,YACI,MAAM,KACN,OAAO,gCACP,cAAe,IACf,WAAW,MACX,QAAS,QjBnHL,mBIJW,8BJSX,gBITW,8BJwBX,WIxBW,+BawHnB,YAAY,MAEJ,MAAM,KACN,UAAW,KAKnB,YAAY,KAAK,QAEL,QAAS,GACT,QAAQ,MACR,OAAQ,SAEpB,YAAY,MAAO,YAAY,MAEvB,QAAS,IACT,MhBrIK,QgBsIL,OAAQ,QACR,cAAc,IACd,SAAS,UAAjB,YAAY,KAAK,OAAQ,YAAY,KAAK,OAE9B,QAAS,GAArB,YAAY,KAAK,MAAM,OAAQ,YAAY,KAAK,MAAM,OAEtC,QAAS,EACT,WAAY,uBAE5B,YAAY,KAAK,OAAQ,YAAY,KAAK,OAE9B,QAAS,IACT,OAAO,QACP,QAAS,EACT,SAAS,SAET,MADO,OAEP,OAFO,OAGP,YAAY,SACZ,WAAW,SACX,KAAK,IACL,IAAI,IACJ,cAAc,IjB5JlB,mBIJW,kCJSX,gBITW,kCJwBX,WIxBW,mCamKnB,YAAY,mBAEJ,QAAS,KACT,YAAY,IACZ,UAAU,QACV,cAAe,IACf,OAAQ,QjBrKR,mBIJW,kCJSX,gBITW,kCJwBX,WIxBW,mCa0KnB,YAAY,kBAAkB,OAElB,WAAY,uBAExB,YAAY,KAEJ,QAAQ,KACR,YAAY,OACZ,eAAgB,UAChB,MhBtLG,QgBuLH,UAAW,QACX,cAAe,iCACvB,YAAY,KAAM,YAAY,KAEtB,QAAQ,UAChB,YAAY,KAEJ,WAAW,OACX,YAAY,IACZ,SAAS,SACT,UAAU,SAAlB,YAAY,IAAI,OAEJ,MAAM,SAAlB,YAAY,IAAI,MAAM,OAEN,QAAQ,EACR,WAAY,qBAE5B,YAAY,IAAI,OAMJ,OAAQ,SALpB,YAAY,IAAI,MAAM,OAEN,QAAQ,EACR,WAAY,uBAG5B,YAAY,IAAI,KAAM,YAAY,IAAI,KAE1B,YAAY,OACZ,MhB1MC,SgB2Mb,YAAY,IAAI,QAEJ,WAAW,MACX,MhBvNA,SgBuNZ,YAAY,IAAI,OAAO,OAEP,QAAQ,EACR,WAAY,sBAG5B,YAAY,IAAI,OAAO,OAEP,QAAS,KAEzB,YAAY,IAAI,OAEJ,QAAS,IjB3Nb,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,qBaiOP,OAAO,QACP,QAAS,EACT,SAAS,SAET,MADO,MAEP,OAFO,MAGP,YAAY,QACZ,WAAW,QACX,KAAK,IACL,IAAI,IACJ,cAAe,KAE3B,YAAY,OAAQ,YAAY,MAExB,MAAO,MACP,QAAQ,aACR,WAAW,OACX,UAAW,QACX,QAAQ,OACR,OAAO,QjBhPP,mBIJW,kCJSX,gBITW,kCJwBX,WIxBW,kCasPX,cAAe,IACf,eAAgB,WAAxB,YAAY,MAAM,OAAQ,YAAY,KAAK,OAE/B,WAAY,uBAKxB,cACI,OAAO,EACP,YAAY,MACZ,WAAW,KACX,QAAQ,IACR,WAAW,MAAf,cAAc,GAEN,QAAQ,aACR,OAAQ,eAIhB,SACI,WAAY,gCACZ,cAAe,IACf,QAAQ,aACR,QAAc,UACd,WAAW,OACX,SAAS,SACT,OAAO,QACP,WAAW,OAAf,SAAS,KAED,UAAW,QACX,WAAW,OACX,WAAW,MACX,MhBlRK,QgBmRL,cAAe,OACf,YAAY,OACZ,eAAgB,WACxB,SAAS,KAED,UAAW,OACX,YAAY,OACZ,MhBlSG,QgBmSH,YAAa,KACrB,SAAS,OAED,YAAa,IACb,UAAW,OACX,eAAgB,WACxB,SAAS,QAED,WAAW,OACX,OAAO,EAEP,MAAO,QACP,OAAQ,QACR,SAAS,SACT,IAAK,OACL,MAAO,OACP,cAAc,KACd,QAAQ,aACR,WAAiC,0EACjC,gBAAiB,QACjB,OAAO,QACP,QAAQ,GAAhB,SAAS,OAAO,OAEJ,iBAAkB,uBAE9B,SAAS,OAED,WAAW,OACX,OAAO,EAEP,MADO,KAEP,OAFO,KAGP,SAAS,SACT,IAAK,OACL,MAAO,OACP,cAAc,KACd,YAAY,KACZ,QAAQ,aACR,WAAY,QACZ,MAAM,MACN,UAAW,IACX,YAZO,KjBzTP,mBIJW,kCJSX,gBITW,kCJwBX,WIxBW,mCa0UnB,SAAS,MAAM,KAEH,WhB3UI,SgB+UhB,QAAQ,OAAO,QAEH,QAAS,GCvVrB,UACI,WAAW,MACX,SAAU,MACV,IAAK,IACL,KAAM,IACN,MAAO,IACP,UAAW,MACX,QAAQ,aACR,UAAW,MACX,OAAQ,KACR,QAAS,KACT,SAAS,OACT,cAAe,IACf,WAAsB,kDlBJlB,kBkBK8B,kClBA9B,ekBA8B,kClBK9B,ckBL8B,kClBU9B,akBV8B,kClBe9B,UkBf8B,mCAAtC,UAAU,kBAEF,QAAS,iBACT,UAAW,OACX,MjBTK,SiBUb,UAAU,gBAEF,QAAQ,iBACR,UAAW,QACX,YAAa,MACrB,UAAU,kBAEF,WAAW,kBACX,WAAY,oBACZ,WAAY,QACZ,WAAW,MACX,QAAgB,gBAIxB,kBACI,SAAS,MACT,QAAS,KACT,IAAI,EACJ,KAAK,EACL,MAAM,KACN,OAAO,KACP,WAAW,iBCrCf,MACI,UAAW,KACX,QAAQ,MACR,cAAc,MAGlB,aACI,QAAQ,MACR,UAAW,KACX,cAAc,kBACd,WAAY,+BAAhB,aAAa,QAEL,QAAQ,WACR,eAAe,OACf,eAAe,MAAvB,aAAa,OAAO,aAER,WAAW,OACX,UApBK,KAqBL,MArBK,MAsBjB,aAAa,OAAO,gBAER,UAzBS,OA0BrB,aAAa,OAAO,qBAER,YAAa,KACb,UA3BK,MA4BL,MA5BK,MA6BL,aAAc,SAK1B,WACI,UAAU,MAAd,WAAW,cAEH,SAAS,UAAjB,WAAW,aAAa,QAEZ,QAAQ,MACpB,WAAW,cAAc,SAEb,SAAS,SACT,IAAI,EACJ,KAAK,EACL,MAAM,KACN,OAAQ,KACR,cAAc,kBACd,WAAY,uBACZ,WAAY,QAAxB,WAAW,cAAc,SAAS,cAElB,SAAS,SACT,IAAI,IACJ,KAAK,IACL,UAAW,QACX,YAAa,KACb,MlBhDH,QkBiDG,WAAY,sBACZ,QAAS,KnBnDjB,kBmBoD0C,kCnB/C1C,emB+C0C,kCnB1C1C,cmB0C0C,kCnBrC1C,amBqC0C,kCnBhC1C,UmBgC0C,mCAGlD,WAAW,WAAW,WAEd,WAAY,SACpB,WAAW,YAEH,QAAQ,MACR,UAAW,KACX,cAAe,iCAAvB,WAAW,YAAY,OAEX,WAAW,QAEvB,WAAW,WAAW,OAAO,OAEb,WAAY,SAE5B,WAAW,YAAY,MAEX,QAAS,QACT,QAAQ,WACR,OAAQ,KACR,eAAe,QAA3B,WAAW,YAAY,KAAK,WAEZ,UApFC,MAqFD,MArFC,MAsFD,UAAW,SAA3B,WAAW,YAAY,KAAK,WAAW,QAEnB,QAAQ,aACR,QAAS,IACT,aAAc,IACd,cAAe,IACf,WAAY,SAEhC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,SAClB,WAAY,SADxC,WAAW,YAAY,KAAK,WAAW,OAAO,UAClB,WAAY,SAGxC,WAAW,YAAY,KAAK,WAAW,MAEnB,QAAS,QACT,YAAa,IACb,cAAe,KAAnC,WAAW,YAAY,KAAK,WAAW,KAAK,SAAS,OAE7B,WlBrGP,QkBsGO,OAAQ,SAEhC,WAAW,YAAY,KAAK,WAAW,cAEnB,OAAO,kBACP,QAAS,SACT,cAAe,IACf,MlB1GT,SkB0GX,WAAW,YAAY,KAAK,WAAW,aAAa,OAE5B,QAAQ,EACR,alBjHb,QkBkHa,WAAY,8BLnHpC,WAAW,YAAY,KAAK,WAAW,aAAa,4BKsH5B,MAAO,uBLtH/B,WAAW,YAAY,KAAK,WAAW,aAAa,mBKsH5B,MAAO,uBLtH/B,WAAW,YAAY,KAAK,WAAW,aAAa,kBKsH5B,MAAO,uBLtH/B,WAAW,YAAY,KAAK,WAAW,aAAa,uBKsH5B,MAAO,uBAG/B,WAAW,YAAY,KAAK,aAEZ,UA9HK,OA+HrB,WAAW,YAAY,KAAK,WAEZ,UAhIC,KAiID,MAjIC,KAkID,WAAW,OACX,SAAU,UAA1B,WAAW,YAAY,KAAK,WAAW,SAEnB,SAAU,SACV,IAAI,EACJ,KAAM,EACN,MAAO,KACP,OAAQ,KACR,QAAS,IAA7B,WAAW,YAAY,KAAK,WAAW,QAAQ,OAEvB,WAAY,sBACZ,OAAQ,SAKhC,WAAW,WAAW,cAAc,YAEpB,aAAc,oBCnJ9B,WACI,QAAS,OAEb,WAAW,EAAG,WAAW,CAAC,QAAS,WAAW,CAAC,OAC3C,gBAAiB,WACjB,mBAAoB,WACpB,WAAY,YAEhB,WAAW,MACP,SAAU,SACV,WAAY,IACZ,cAAe,KAAnB,WAAW,KAAK,OAER,QAAQ,GAGhB,WAAW,KAAK,QACZ,QAAS,MAGb,WAAW,MACP,QAAS,IACT,SAAU,OACV,UAAW,WACX,OAAQ,KACR,cAAe,IACf,iBAAkB,MAClB,OAAQ,kBpBpBJ,mBIJW,8BJSX,gBITW,8BJwBX,WIxBW,+BgB2BnB,WAAW,KAAK,SACZ,QAAS,MAGb,WAAW,MAAM,UACb,OAAQ,EACR,QAAS,EACT,gBAAiB,MAErB,WAAW,MAAM,UACb,OAAQ,IACR,QAAS,MACT,QAAS,aACT,MAAO,KACP,UAAW,QACX,OAAQ,KACR,YAAa,KACb,cAAe,IACf,WAAW,QACX,MAAO,QACP,WAAW,mBAEf,WAAW,MAAM,SAAS,UACtB,WnBpDM,QmBqDN,MAAO,MACP,WAAY,MAEhB,WAAW,MAAM,UAAU,eACvB,OAAQ,UACR,QAAS,EACT,OAAQ,KACR,WAAY,KACZ,MAAO,QACP,OAAQ,QACR,eAAgB,OAChB,KAAoB,2BAGxB,WAAW,MAAM,OACb,OAAQ,EACR,QAAS,KACT,OAAQ,IACR,QAAS,EACT,aAAc,IACd,MAAO,KACP,OAAQ,KACR,UAAW,SN3Ef,WAAW,MAAM,MAAM,4BM6Ef,MnBtEK,SaPb,WAAW,MAAM,MAAM,mBM6Ef,MnBtEK,SaPb,WAAW,MAAM,MAAM,kBM6Ef,MnBtEK,SaPb,WAAW,MAAM,MAAM,uBM6Ef,MnBtEK,SmB0Eb,WAAW,MAAM,MAAM,aACnB,MnBlFM,SmBqFV,WAAW,MAAM,MAAM,YACnB,QAAS,MCzFb,UACI,SAAS,SACT,OAAQ,SAAZ,UAAU,eAEF,SAAU,SACV,QAAQ,KACR,QAAS,KACT,MAAM,KACN,UAAU,MACV,UAAW,MACX,QAAS,IACT,WAAW,KACX,KAAK,GACb,SAAS,MAAM,eAEP,QAAS,OAEjB,UAAU,gBAAgB,OAEd,QAAS,GACT,MAAO,IACP,OAAQ,IACR,YAAa,KACb,QAAQ,aACR,iBAAkB,oCAClB,gBAAiB,QACjB,kBAAkB,WC1B9B,eACI,YAAa,KACb,eAAgB,KAChB,cAAe,mBAGnB,cZ0CI,QAAS,MYxCT,cAAe,KACf,WAAW,KACX,QAAS,QXGb,aAAa,OAET,QAAQ,GACR,QAAQ,MACR,MAAM,MWPV,cAAc,gBVqDV,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,UAAb,cAAc,eAAe,YAGrB,aAAsB,GUzE9B,cAAc,gBAAgB,IAElB,cAAe,IACf,UAAW,MAEvB,cAAc,eV8CV,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,UAAb,cAAc,cAAc,YAGpB,aAAsB,GUjE9B,cAAc,iBAEN,cAAc,MACtB,cAAc,cAEN,SAAS,SACT,cAAe,MACvB,cAAc,cAEN,UAAkB,oBAC1B,cAAc,QAAQ,cAEd,WAAY,EACZ,UAAW,MAInB,sBACI,MrB5BS,QqB6BT,WAAW,QAGf,gBACI,WAAW,KACX,OAAO,EACP,QAAQ,EACR,cAAe,KACf,WAAY,MACZ,WAAY,QAAhB,gBAAgB,SZAZ,QAAS,MYGL,QAAS,MXtCjB,gBAAgB,QAAQ,OAEpB,QAAQ,GACR,QAAQ,MACR,MAAM,MWkCV,gBAAgB,SAAS,gBVYrB,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,UAAb,gBAAgB,SAAS,eAAe,YAGhC,aAAsB,GUhC9B,gBAAgB,SAAS,gBAAgB,IAEzB,UAAW,KACX,cAAe,KAE/B,gBAAgB,SAAS,iBVKrB,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,SUrBD,SAAS,UVqBrB,gBAAgB,SAAS,gBAAgB,YAGjC,aAAsB,GUxB9B,gBAAgB,SAAS,iBAAiB,gBAE1B,QAAQ,EACR,gBAAgB,KAChB,MAAM,MACN,iBrBvDH,QqBwDG,MrBzDH,QqB0DG,cAAe,IACf,QAAQ,aACR,SAAS,SACT,MAAM,EACN,IAAI,EACJ,UAAW,QAEX,MADU,IAEV,OAFU,IAGV,YAHU,IAIV,WAAY,QAA5B,gBAAgB,SAAS,iBAAiB,eAAe,OAErC,WrB7EV,QqB8EU,MAAO,OAC3B,gBAAgB,SAAS,iBAAiB,eAAe,QAErC,WAAY,SAEhC,gBAAgB,SAAS,iBAAiB,MAE1B,UAAW,SACX,MrBhFH,QqBiFG,cAAe,KAC/B,gBAAgB,SAAS,iBAAiB,MAE1B,MrBpFH,QqBqFG,YAAa,KAC7B,gBAAgB,SAAS,iBAAiB,KAAK,QAE/B,QAAS,IACT,QAAS,aACT,OAAQ,IACR,MAAO,IACP,WrB3FH,QqB4FG,OAAQ,cACR,cAAe,MAC/B,gBAAgB,SAAS,iBAAiB,SAE1B,UAAW,QACX,cAAe,IACf,YAAa,SACb,aAAc,OAC9B,gBAAgB,SAAS,iBAAiB,SAE1B,QAAQ,KAAxB,gBAAgB,SAAS,iBAAiB,SAAS,EAE/B,MrBzGP,QqB0GO,UAAW,OACX,gBAAiB,MAArC,gBAAgB,SAAS,iBAAiB,SAAS,CAAC,OAE5B,MrBlHb,SqBsHX,gBAAgB,QAAQ,OAEZ,WrBvHK,QqBwHL,OAAO,QACP,cAAe,KAA3B,gBAAgB,QAAQ,OAAO,MAEf,MrB5HL,SqB6HX,gBAAgB,QAAQ,OAAO,gBAEf,QAAS,GCnIzB,YACI,QAAQ,MACR,MAAO,KACP,cAAe,KACf,eAAgB,KAChB,cAAe,mBAAnB,WAAW,YAEH,OAAO,GACf,YAAY,gBAEJ,QAAQ,YAAhB,YAAY,gBAAgB,OAEhB,UAAW,QACX,YAAa,MACzB,YAAY,gBAAgB,aAEhB,UAAW,OACX,MtBRC,SsBUb,YAAY,QAEJ,QAAQ,WACR,WAAW,MACX,UAAW,MACX,eAAe,QAAvB,YAAY,QAAQ,cAER,UAAW,OACX,MtBlBC,QsBmBD,QAAQ,aACR,eAAe,QAM3B,eACI,QAAQ,aACR,YAAa,IACb,OAAQ,KACR,MAAO,KACP,cAAe,KACf,eAAe,OACf,SAAS,SACT,OAAO,QACP,WtBzCM,QsB0CN,WAAY,gCvBpCR,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,sBmB0CnB,cAAc,OAEN,QAAS,IvBxCT,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,qBmB8CX,QAAQ,aACR,OALO,KAMP,MANO,KAOP,SAAU,SAGV,WAA0B,8CfvBhC,iBAPiB,QAQjB,iBAAkB,0CAClB,iBAAkB,kCeuBZ,IAAK,IACL,WAAa,KACb,KAAM,IACN,cAAe,OACvB,cAAc,OAEN,WAAyC,kEACjD,cAAc,QAEN,WtBnEI,SsBmEZ,cAAc,OAAO,OAET,KAAM,KACN,YAAc,OCvE1B,cACI,SAAU,MACV,IAAK,KAEL,MAAO,EACP,MAFY,MAGZ,QAAS,KACT,QAAS,UACT,WvBCS,QuBAT,uBAAuB,IACvB,0BAA0B,IAC1B,MAAO,MxBFH,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,sBoBOnB,aAAa,SAEL,WvBbI,SuBcZ,aAAa,OAEL,WvBdE,SuBeV,aAAa,UAEL,MAjBQ,OAkBR,QAAQ,GAChB,aAAa,iBAEL,MAAM,EACN,QAAQ,GAChB,aAAa,iBAEL,MAzBQ,OA0BR,QAAQ,GAChB,cAAc,OAEN,UAAW,QACX,cAAe,KACvB,cAAc,SAEN,UAAW,OACX,MAAO,uBACf,cAAc,OAEN,SAAU,SACV,IAAK,IACL,MAAM,KACN,MAAO,MACP,gBAAgB,MC5CxB,aACI,MAAM,KACN,QAAS,MAAb,aAAa,iBAEL,QAAQ,WACR,eAAe,QACvB,aAAa,mBAEL,QAAS,IACT,cAAe,IACf,OAAQ,kBACR,QAAQ,EACR,UAAW,MAAnB,aAAa,kBAAkB,OAEnB,axBVD,QwBWC,WAAY,6BACZ,QAAQ,GAKpB,mBACI,QAAe,WACf,WAAW,OACX,OAAO,EACP,UAAU,SAAd,kBAAkB,YAEV,axBxBE,SwBwBV,kBAAkB,WAAW,OAEjB,WAAY,+BAExB,kBAAkB,SAAS,UAEnB,axBhCI,SwBiCZ,kBAAkB,OAEV,QAAQ,EACR,MxB7BG,SwBiCX,WACI,MAAM,KACN,OAAO,mBAAX,WAAW,GAEH,cAAc,kBACd,QAAS,KACT,UAAW,KACX,eAAe,WACvB,WAAW,GAEH,aAAc,kBACd,QAAS,UACT,cAAc,mBAAtB,WAAW,EAAE,YAED,aAAa,GACzB,WAAW,GAAG,MAEF,MAAO,MAGnB,WAAW,EAAE,YAAY,GAEb,cAAc,GC/D1B,kBACI,OAAO,OACP,WAAW,OACX,MAAM,QACN,SAAS,SACT,IAAI,IACJ,KAAM,I1BGF,kB0BF8B,kC1BO9B,e0BP8B,kC1BY9B,c0BZ8B,kC1BiB9B,a0BjB8B,kC1BsB9B,U0BtB8B,mCAAtC,kBAAkB,OAEV,cAAc,MACtB,kBAAkB,OAEV,UAAW,OACX,YAAa,KACb,cAAe,MACvB,kBAAkB,SAEV,UAAW,QACX,UAAW,MACX,YAAa,OACb,cAAe,MCpBvB,mBACI,UAAW,QACX,YAAa,SACb,YAAY,KACZ,eAAgB,KAChB,YAAY,MACZ,M1BGS,Q0BFT,W1BFa,Q0BGb,WAAY,kBACZ,WAAY,KACZ,cAAc,OAGlB,gBACI,UAAW,SAAf,gBAAgB,EAER,M1BRG,Q0BSH,gBAAgB,MAAxB,gBAAgB,CAAC,OAEL,gBAAgB,WAE5B,gBAAgB,IAER,eAAe,OACf,aAAc,MAKtB,YACI,cAAe,KACf,cAAe,kBACf,eAAgB,KAChB,MAAO,KACP,MAAO,MAAX,YAAY,MAEJ,QAAQ,aACR,MAAO,KACP,MAAM,KACN,SAAU,SACV,WAAW,OACX,OAAQ,KACR,cAAe,IACf,aAAc,MAAtB,YAAY,MAAM,IAEN,SAAU,SACV,IAAI,IACJ,KAAM,I3BtCV,kB2BuCsC,kC3BlCtC,e2BkCsC,kC3B7BtC,c2B6BsC,kC3BxBtC,a2BwBsC,kC3BnBtC,U2BmBsC,mCAE9C,YAAY,SAEJ,MAAM,KACN,QAAQ,cAChB,YAAY,KAEJ,YAAY,KACZ,UAAW,MACnB,YAAY,OAEJ,M1BnDK,S0BuDb,cACI,MAAO,MAAX,cAAc,SAEN,QAAQ,cAAhB,cAAc,SAAS,OAEX,UAAW,MACX,YAAa,MAAzB,cAAc,SAAS,OAAO,aAEd,UAAW,KACX,YAAa,OACb,YAAa,IACb,SAAU,SACV,IAAK,KACL,W1BpEH,Q0BqEG,MAAM,MACN,QAAS,SACT,cAAe,MAA/B,cAAc,SAAS,OAAO,YAAY,SAEtB,W1BjFR,S0BkFZ,cAAc,SAAS,OAAO,YAAY,QAEtB,W1B/EJ,S0BkFhB,cAAc,SAAS,UAEX,M1BjFC,Q0BkFD,UAAW,SAAvB,cAAc,SAAS,UAAU,EAEjB,M1BzFL,Q0B0FK,gBAAiB,MAAjC,cAAc,SAAS,UAAU,CAAC,OAEd,gBAAiB,WAIrC,cAAc,SAEN,WAAW,OACX,MAAO,OAEf,aAAa,OAAO,SAER,WAAW","file":"style.css","sourcesContent":["@import url(http://fonts.googleapis.com/css?family=Roboto:400,600,700);\n@import \"modules/vars\";\n@import \"modules/mixins\";\n@import \"partials/normalize\";\n@import \"bourbon/bourbon\";\n@import \"neat/neat\";\n\nbody {\n font-family: \"Roboto\", \"Helvetica Neue\", Arial, sans-serif;\n}\n\na {\n color: $blue-clr;\n}\n\n@import \"partials/applayout\";\n@import \"partials/navigation\";\n@import \"partials/topbar\";\n@import \"partials/ui/animations\";\n@import \"partials/ui/buttons\";\n@import \"partials/ui/form\";\n@import \"partials/ui/box\";\n@import \"partials/ui/datepicker\";\n@import \"partials/ui/modal\";\n@import \"partials/ui/poll\";\n@import \"partials/ui/tags\";\n@import \"partials/ui/dropdown\";\n@import \"partials/ui/comments\";\n@import \"partials/ui/switch\";\n@import \"partials/ui/notification\";\n@import \"partials/ui/timepicker\";\n\n@import \"partials/pages/home\";\n@import \"partials/pages/event\";\n","/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n * (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","@if $border-box-sizing == true {\n html { // http://bit.ly/1qk2tVR\n @include box-sizing(border-box);\n }\n\n * {\n &, &:before, &:after {\n @include box-sizing(inherit);\n }\n }\n}\n","//************************************************************************//\n// Example: @include prefixer(border-radius, $radii, webkit ms spec);\n//************************************************************************//\n// Variables located in /settings/_prefixer.scss\n\n@mixin prefixer ($property, $value, $prefixes) {\n @each $prefix in $prefixes {\n @if $prefix == webkit {\n @if $prefix-for-webkit {\n -webkit-#{$property}: $value;\n }\n }\n @else if $prefix == moz {\n @if $prefix-for-mozilla {\n -moz-#{$property}: $value;\n }\n }\n @else if $prefix == ms {\n @if $prefix-for-microsoft {\n -ms-#{$property}: $value;\n }\n }\n @else if $prefix == o {\n @if $prefix-for-opera {\n -o-#{$property}: $value;\n }\n }\n @else if $prefix == spec {\n @if $prefix-for-spec {\n #{$property}: $value;\n }\n }\n @else {\n @warn \"Unrecognized prefix: #{$prefix}\";\n }\n }\n}\n\n@mixin disable-prefix-for-all() {\n $prefix-for-webkit: false !global;\n $prefix-for-mozilla: false !global;\n $prefix-for-microsoft: false !global;\n $prefix-for-opera: false !global;\n $prefix-for-spec: false !global;\n}\n","$dark-blue-clr: #2E3A54;\n$green-clr: #75C062;\n$pink-clr: #E55A84;\n$red-clr: #E06488;\n$blue-clr: #5AC4E5;\n$light-blue-clr: #F5F6F8;\n$orangered-clr: #FF5D5D;\n\n$text-clr: #3D4043;\n$text-2-clr: #828B9A;\n$text-3-clr: #AEB4BE;\n$border-clr: #D9DDE3;\n$navigation-bg-clr: $dark-blue-clr;\n$background-clr: $light-blue-clr;\n\n$color-collection: (#8A75AE, #80A1DA, #B3DD8B, #7EE4E4, #FCD285, #F7967F, #E8669D, #F7B6E7, #F99D7B, #88D0CB);\n","$navigation-width: 200px;\n$top-bar-height: 60px;\n$min-width: 820px;\n\n.outer-container {\n width:100%;\n height:100%;\n overflow:hidden;\n}\n\nbody {\n background: $background-clr;\n color: $text-clr;\n min-width: $min-width;\n}\n\n.main-navigation {\n position:fixed;\n z-index: 2000;\n min-height:100%;\n width: $navigation-width;\n background: $navigation-bg-clr;\n color: white;\n .wrapper {\n width: $navigation-width;\n padding: 0 40px;\n }\n}\n\n.main-content {\n background: $background-clr;\n margin-left: $navigation-width;\n height:100%;\n overflow-y:scroll;\n .main-view {\n position:relative;\n padding: 100px 40px 20px 40px;\n width:100%;\n min-height: 600px;\n height:100%;\n }\n}\n\n.top-bar {\n width:100%;\n position:fixed;\n top:0;\n background: white;\n height: $top-bar-height;\n z-index: 1000;\n line-height: $top-bar-height;\n}\n","$top-space: 15px;\n$nav-pad: 20px;\n\n@mixin expand {\n padding-left:$nav-pad;\n padding-right: $nav-pad;\n margin-left: $nav-pad * -1;\n width:100%;\n @include box-sizing(content-box);\n}\n\n.main-navigation {\n padding: 0 $nav-pad;\n .logo {\n display:block;\n height: 60px;\n line-height:60px;\n background: darken($navigation-bg-clr, 3%);\n position:relative;\n @include transition(background 0.2s ease-in-out);\n @include expand;\n img {\n position:absolute;\n top:50%;\n margin-top:-12px;\n }\n }\n .menu-section {\n @include expand;\n font-size:10px;\n text-transform:uppercase;\n padding : 10px $nav-pad;\n border-bottom: 1px solid darken($navigation-bg-clr, 3%);\n margin-top:20px;\n margin-bottom:10px;\n }\n .create-new {\n display:block;\n font-size: em(12px);\n color: white;\n background: $green-clr;\n text-decoration: none;\n padding: 12px 5px;\n border-radius: 2px;\n text-align: center;\n font-weight: bold;\n @include box-sizing(content-box);\n width: 100%;\n margin-left:-5px;\n }\n .navigation {\n .links {\n padding:0 ;\n margin:0;\n list-style: none;\n a {\n display:block;\n text-decoration: none;\n color: #616F8D;\n line-height: em(40px);\n font-size: em(12px);\n font-weight:bold;\n &:hover {\n opacity: 1;\n color:white;\n .icon {\n background-position: center bottom;\n }\n }\n &.active {\n opacity:1;\n color: white;\n cursor: default;\n .icon {\n background-position: center bottom;\n }\n }\n .text {\n }\n .icon {\n display:inline-block;\n vertical-align:middle;\n margin-right: 10px;\n width:24px;\n height:24px;\n background-size: 24px 48px;\n }\n\n }\n }\n }\n}\n","// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.\n// Example: @include transition (all 2s ease-in-out);\n// @include transition (opacity 1s ease-in 2s, width 2s ease-out);\n// @include transition-property (transform, opacity);\n\n@mixin transition ($properties...) {\n // Fix for vendor-prefix transform property\n $needs-prefixes: false;\n $webkit: ();\n $moz: ();\n $spec: ();\n\n // Create lists for vendor-prefixed transform\n @each $list in $properties {\n @if nth($list, 1) == \"transform\" {\n $needs-prefixes: true;\n $list1: -webkit-transform;\n $list2: -moz-transform;\n $list3: ();\n\n @each $var in $list {\n $list3: join($list3, $var);\n\n @if $var != \"transform\" {\n $list1: join($list1, $var);\n $list2: join($list2, $var);\n }\n }\n\n $webkit: append($webkit, $list1);\n $moz: append($moz, $list2);\n $spec: append($spec, $list3);\n }\n\n // Create lists for non-prefixed transition properties\n @else {\n $webkit: append($webkit, $list, comma);\n $moz: append($moz, $list, comma);\n $spec: append($spec, $list, comma);\n }\n }\n\n @if $needs-prefixes {\n -webkit-transition: $webkit;\n -moz-transition: $moz;\n transition: $spec;\n }\n @else {\n @if length($properties) >= 1 {\n @include prefixer(transition, $properties, webkit moz spec);\n }\n\n @else {\n $properties: all 0.15s ease-out 0s;\n @include prefixer(transition, $properties, webkit moz spec);\n }\n }\n}\n\n@mixin transition-property ($properties...) {\n -webkit-transition-property: transition-property-names($properties, 'webkit');\n -moz-transition-property: transition-property-names($properties, 'moz');\n transition-property: transition-property-names($properties, false);\n}\n\n@mixin transition-duration ($times...) {\n @include prefixer(transition-duration, $times, webkit moz spec);\n}\n\n@mixin transition-timing-function ($motions...) {\n// ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()\n @include prefixer(transition-timing-function, $motions, webkit moz spec);\n}\n\n@mixin transition-delay ($times...) {\n @include prefixer(transition-delay, $times, webkit moz spec);\n}\n",".top-bar {\n float: left;\n width: 100%;\n box-shadow: 0 1px 2px rgba($border-clr, 0.5);\n .primary {\n list-style:none;\n margin:0;\n padding-left:20px;\n margin-top:-4px;\n .item {\n img {\n display:inline-block;\n vertical-align:middle;\n }\n .hoverable {\n padding: 8px 12px;\n height: 100%;\n text-decoration:none;\n color: $text-clr;\n font-size: em(12px);\n border: 1px solid transparent;\n border-radius: 3px;\n vertical-align:bottom;\n border-color: $border-clr;\n span {\n vertical-align:middle;\n }\n &:hover {\n border-color: darken($border-clr,10%);\n }\n }\n &.dropdown.open .dropdown-toggle {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-color: $border-clr;\n border-bottom-color: white;\n position: relative;\n z-index:1001;\n }\n .dropdown-menu {\n background: white;\n color: $text-clr;\n font-size: em(16px);\n line-height: 1.5em;\n border: 1px solid $border-clr;\n border-radius: 3px;\n padding: 20px;\n margin-top:-14px;\n border-top-left-radius:0;\n box-shadow: 0 2px 3px $border-clr;\n .dropdown-title {\n font-weight:bold;\n font-size: em(15px);\n }\n .dropdown-content {\n font-size: em(14px);\n line-height: 1.5em;\n color: $text-2-clr;\n }\n }\n }\n\n }\n}\n","@charset \"UTF-8\";\n/*!\nAnimate.css - http://daneden.me/animate\nLicensed under the MIT license - http://opensource.org/licenses/MIT\n\nCopyright (c) 2014 Daniel Eden\n*/\n\n.animated {\n -webkit-animation-duration: 0.3s;\n animation-duration: 0.3s;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n}\n\n.animated.infinite {\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite;\n}\n\n.animated.hinge {\n -webkit-animation-duration: 2s;\n animation-duration: 2s;\n}\n\n@-webkit-keyframes bounce {\n 0%, 20%, 53%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n -webkit-transform: translate3d(0,0,0);\n transform: translate3d(0,0,0);\n }\n\n 40%, 43% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -30px, 0);\n transform: translate3d(0, -30px, 0);\n }\n\n 70% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -15px, 0);\n transform: translate3d(0, -15px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0,-4px,0);\n transform: translate3d(0,-4px,0);\n }\n}\n\n@keyframes bounce {\n 0%, 20%, 53%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n -webkit-transform: translate3d(0,0,0);\n transform: translate3d(0,0,0);\n }\n\n 40%, 43% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -30px, 0);\n transform: translate3d(0, -30px, 0);\n }\n\n 70% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -15px, 0);\n transform: translate3d(0, -15px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0,-4px,0);\n transform: translate3d(0,-4px,0);\n }\n}\n\n.bounce {\n -webkit-animation-name: bounce;\n animation-name: bounce;\n -webkit-transform-origin: center bottom;\n -ms-transform-origin: center bottom;\n transform-origin: center bottom;\n}\n\n@-webkit-keyframes flash {\n 0%, 50%, 100% {\n opacity: 1;\n }\n\n 25%, 75% {\n opacity: 0;\n }\n}\n\n@keyframes flash {\n 0%, 50%, 100% {\n opacity: 1;\n }\n\n 25%, 75% {\n opacity: 0;\n }\n}\n\n.flash {\n -webkit-animation-name: flash;\n animation-name: flash;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes pulse {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.05, 1.05, 1.05);\n transform: scale3d(1.05, 1.05, 1.05);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes pulse {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.05, 1.05, 1.05);\n transform: scale3d(1.05, 1.05, 1.05);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.pulse {\n -webkit-animation-name: pulse;\n animation-name: pulse;\n}\n\n@-webkit-keyframes rubberBand {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 30% {\n -webkit-transform: scale3d(1.25, 0.75, 1);\n transform: scale3d(1.25, 0.75, 1);\n }\n\n 40% {\n -webkit-transform: scale3d(0.75, 1.25, 1);\n transform: scale3d(0.75, 1.25, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.15, 0.85, 1);\n transform: scale3d(1.15, 0.85, 1);\n }\n\n 65% {\n -webkit-transform: scale3d(.95, 1.05, 1);\n transform: scale3d(.95, 1.05, 1);\n }\n\n 75% {\n -webkit-transform: scale3d(1.05, .95, 1);\n transform: scale3d(1.05, .95, 1);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes rubberBand {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 30% {\n -webkit-transform: scale3d(1.25, 0.75, 1);\n transform: scale3d(1.25, 0.75, 1);\n }\n\n 40% {\n -webkit-transform: scale3d(0.75, 1.25, 1);\n transform: scale3d(0.75, 1.25, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.15, 0.85, 1);\n transform: scale3d(1.15, 0.85, 1);\n }\n\n 65% {\n -webkit-transform: scale3d(.95, 1.05, 1);\n transform: scale3d(.95, 1.05, 1);\n }\n\n 75% {\n -webkit-transform: scale3d(1.05, .95, 1);\n transform: scale3d(1.05, .95, 1);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.rubberBand {\n -webkit-animation-name: rubberBand;\n animation-name: rubberBand;\n}\n\n@-webkit-keyframes shake {\n 0%, 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n 10%, 30%, 50%, 70%, 90% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 20%, 40%, 60%, 80% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n}\n\n@keyframes shake {\n 0%, 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n 10%, 30%, 50%, 70%, 90% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 20%, 40%, 60%, 80% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n}\n\n.shake {\n -webkit-animation-name: shake;\n animation-name: shake;\n}\n\n@-webkit-keyframes swing {\n 20% {\n -webkit-transform: rotate3d(0, 0, 1, 15deg);\n transform: rotate3d(0, 0, 1, 15deg);\n }\n\n 40% {\n -webkit-transform: rotate3d(0, 0, 1, -10deg);\n transform: rotate3d(0, 0, 1, -10deg);\n }\n\n 60% {\n -webkit-transform: rotate3d(0, 0, 1, 5deg);\n transform: rotate3d(0, 0, 1, 5deg);\n }\n\n 80% {\n -webkit-transform: rotate3d(0, 0, 1, -5deg);\n transform: rotate3d(0, 0, 1, -5deg);\n }\n\n 100% {\n -webkit-transform: rotate3d(0, 0, 1, 0deg);\n transform: rotate3d(0, 0, 1, 0deg);\n }\n}\n\n@keyframes swing {\n 20% {\n -webkit-transform: rotate3d(0, 0, 1, 15deg);\n transform: rotate3d(0, 0, 1, 15deg);\n }\n\n 40% {\n -webkit-transform: rotate3d(0, 0, 1, -10deg);\n transform: rotate3d(0, 0, 1, -10deg);\n }\n\n 60% {\n -webkit-transform: rotate3d(0, 0, 1, 5deg);\n transform: rotate3d(0, 0, 1, 5deg);\n }\n\n 80% {\n -webkit-transform: rotate3d(0, 0, 1, -5deg);\n transform: rotate3d(0, 0, 1, -5deg);\n }\n\n 100% {\n -webkit-transform: rotate3d(0, 0, 1, 0deg);\n transform: rotate3d(0, 0, 1, 0deg);\n }\n}\n\n.swing {\n -webkit-transform-origin: top center;\n -ms-transform-origin: top center;\n transform-origin: top center;\n -webkit-animation-name: swing;\n animation-name: swing;\n}\n\n@-webkit-keyframes tada {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 10%, 20% {\n -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n }\n\n 30%, 50%, 70%, 90% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n }\n\n 40%, 60%, 80% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes tada {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 10%, 20% {\n -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n }\n\n 30%, 50%, 70%, 90% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n }\n\n 40%, 60%, 80% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.tada {\n -webkit-animation-name: tada;\n animation-name: tada;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes wobble {\n 0% {\n -webkit-transform: none;\n transform: none;\n }\n\n 15% {\n -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n }\n\n 30% {\n -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n }\n\n 45% {\n -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n }\n\n 60% {\n -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n }\n\n 75% {\n -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes wobble {\n 0% {\n -webkit-transform: none;\n transform: none;\n }\n\n 15% {\n -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n }\n\n 30% {\n -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n }\n\n 45% {\n -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n }\n\n 60% {\n -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n }\n\n 75% {\n -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.wobble {\n -webkit-animation-name: wobble;\n animation-name: wobble;\n}\n\n@-webkit-keyframes bounceIn {\n 0%, 20%, 40%, 60%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 20% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 40% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(1.03, 1.03, 1.03);\n transform: scale3d(1.03, 1.03, 1.03);\n }\n\n 80% {\n -webkit-transform: scale3d(.97, .97, .97);\n transform: scale3d(.97, .97, .97);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes bounceIn {\n 0%, 20%, 40%, 60%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 20% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 40% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(1.03, 1.03, 1.03);\n transform: scale3d(1.03, 1.03, 1.03);\n }\n\n 80% {\n -webkit-transform: scale3d(.97, .97, .97);\n transform: scale3d(.97, .97, .97);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.bounceIn {\n -webkit-animation-name: bounceIn;\n animation-name: bounceIn;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n}\n\n@-webkit-keyframes bounceInDown {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -3000px, 0);\n transform: translate3d(0, -3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, 25px, 0);\n transform: translate3d(0, 25px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, 5px, 0);\n transform: translate3d(0, 5px, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes bounceInDown {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -3000px, 0);\n transform: translate3d(0, -3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, 25px, 0);\n transform: translate3d(0, 25px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, 5px, 0);\n transform: translate3d(0, 5px, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.bounceInDown {\n -webkit-animation-name: bounceInDown;\n animation-name: bounceInDown;\n}\n\n@-webkit-keyframes bounceInLeft {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-3000px, 0, 0);\n transform: translate3d(-3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(25px, 0, 0);\n transform: translate3d(25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(5px, 0, 0);\n transform: translate3d(5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes bounceInLeft {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-3000px, 0, 0);\n transform: translate3d(-3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(25px, 0, 0);\n transform: translate3d(25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(5px, 0, 0);\n transform: translate3d(5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.bounceInLeft {\n -webkit-animation-name: bounceInLeft;\n animation-name: bounceInLeft;\n}\n\n@-webkit-keyframes bounceInRight {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(3000px, 0, 0);\n transform: translate3d(3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(-25px, 0, 0);\n transform: translate3d(-25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(-5px, 0, 0);\n transform: translate3d(-5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes bounceInRight {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(3000px, 0, 0);\n transform: translate3d(3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(-25px, 0, 0);\n transform: translate3d(-25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(-5px, 0, 0);\n transform: translate3d(-5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.bounceInRight {\n -webkit-animation-name: bounceInRight;\n animation-name: bounceInRight;\n}\n\n@-webkit-keyframes bounceInUp {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 3000px, 0);\n transform: translate3d(0, 3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, -5px, 0);\n transform: translate3d(0, -5px, 0);\n }\n\n 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n@keyframes bounceInUp {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 3000px, 0);\n transform: translate3d(0, 3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, -5px, 0);\n transform: translate3d(0, -5px, 0);\n }\n\n 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n.bounceInUp {\n -webkit-animation-name: bounceInUp;\n animation-name: bounceInUp;\n}\n\n@-webkit-keyframes bounceOut {\n 20% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 50%, 55% {\n opacity: 1;\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n}\n\n@keyframes bounceOut {\n 20% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 50%, 55% {\n opacity: 1;\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n}\n\n.bounceOut {\n -webkit-animation-name: bounceOut;\n animation-name: bounceOut;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n}\n\n@-webkit-keyframes bounceOutDown {\n 20% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n@keyframes bounceOutDown {\n 20% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n.bounceOutDown {\n -webkit-animation-name: bounceOutDown;\n animation-name: bounceOutDown;\n}\n\n@-webkit-keyframes bounceOutLeft {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(20px, 0, 0);\n transform: translate3d(20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n@keyframes bounceOutLeft {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(20px, 0, 0);\n transform: translate3d(20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n.bounceOutLeft {\n -webkit-animation-name: bounceOutLeft;\n animation-name: bounceOutLeft;\n}\n\n@-webkit-keyframes bounceOutRight {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(-20px, 0, 0);\n transform: translate3d(-20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n@keyframes bounceOutRight {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(-20px, 0, 0);\n transform: translate3d(-20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n.bounceOutRight {\n -webkit-animation-name: bounceOutRight;\n animation-name: bounceOutRight;\n}\n\n@-webkit-keyframes bounceOutUp {\n 20% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, 20px, 0);\n transform: translate3d(0, 20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n@keyframes bounceOutUp {\n 20% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, 20px, 0);\n transform: translate3d(0, 20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n.bounceOutUp {\n -webkit-animation-name: bounceOutUp;\n animation-name: bounceOutUp;\n}\n\n@-webkit-keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n}\n\n@keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n}\n\n.fadeIn {\n -webkit-animation-name: fadeIn;\n animation-name: fadeIn;\n}\n\n@-webkit-keyframes fadeInDown {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInDown {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInDown {\n -webkit-animation-name: fadeInDown;\n animation-name: fadeInDown;\n}\n\n@-webkit-keyframes fadeInDownBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInDownBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInDownBig {\n -webkit-animation-name: fadeInDownBig;\n animation-name: fadeInDownBig;\n}\n\n@-webkit-keyframes fadeInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInLeft {\n -webkit-animation-name: fadeInLeft;\n animation-name: fadeInLeft;\n}\n\n@-webkit-keyframes fadeInLeftBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInLeftBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInLeftBig {\n -webkit-animation-name: fadeInLeftBig;\n animation-name: fadeInLeftBig;\n}\n\n@-webkit-keyframes fadeInRight {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInRight {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInRight {\n -webkit-animation-name: fadeInRight;\n animation-name: fadeInRight;\n}\n\n@-webkit-keyframes fadeInRightBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInRightBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInRightBig {\n -webkit-animation-name: fadeInRightBig;\n animation-name: fadeInRightBig;\n}\n\n@-webkit-keyframes fadeInUp {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInUp {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInUp {\n -webkit-animation-name: fadeInUp;\n animation-name: fadeInUp;\n}\n\n@-webkit-keyframes fadeInUpBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInUpBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInUpBig {\n -webkit-animation-name: fadeInUpBig;\n animation-name: fadeInUpBig;\n}\n\n@-webkit-keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n}\n\n@keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n}\n\n.fadeOut {\n -webkit-animation-name: fadeOut;\n animation-name: fadeOut;\n}\n\n@-webkit-keyframes fadeOutDown {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n}\n\n@keyframes fadeOutDown {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n}\n\n.fadeOutDown {\n -webkit-animation-name: fadeOutDown;\n animation-name: fadeOutDown;\n}\n\n@-webkit-keyframes fadeOutDownBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n@keyframes fadeOutDownBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n.fadeOutDownBig {\n -webkit-animation-name: fadeOutDownBig;\n animation-name: fadeOutDownBig;\n}\n\n@-webkit-keyframes fadeOutLeft {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n@keyframes fadeOutLeft {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.fadeOutLeft {\n -webkit-animation-name: fadeOutLeft;\n animation-name: fadeOutLeft;\n}\n\n@-webkit-keyframes fadeOutLeftBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n@keyframes fadeOutLeftBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n.fadeOutLeftBig {\n -webkit-animation-name: fadeOutLeftBig;\n animation-name: fadeOutLeftBig;\n}\n\n@-webkit-keyframes fadeOutRight {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n\n@keyframes fadeOutRight {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.fadeOutRight {\n -webkit-animation-name: fadeOutRight;\n animation-name: fadeOutRight;\n}\n\n@-webkit-keyframes fadeOutRightBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n@keyframes fadeOutRightBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n.fadeOutRightBig {\n -webkit-animation-name: fadeOutRightBig;\n animation-name: fadeOutRightBig;\n}\n\n@-webkit-keyframes fadeOutUp {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n}\n\n@keyframes fadeOutUp {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n}\n\n.fadeOutUp {\n -webkit-animation-name: fadeOutUp;\n animation-name: fadeOutUp;\n}\n\n@-webkit-keyframes fadeOutUpBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n@keyframes fadeOutUpBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n.fadeOutUpBig {\n -webkit-animation-name: fadeOutUpBig;\n animation-name: fadeOutUpBig;\n}\n\n@-webkit-keyframes flip {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 40% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 50% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 80% {\n -webkit-transform: perspective(400px) scale3d(.95, .95, .95);\n transform: perspective(400px) scale3d(.95, .95, .95);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n}\n\n@keyframes flip {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 40% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 50% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 80% {\n -webkit-transform: perspective(400px) scale3d(.95, .95, .95);\n transform: perspective(400px) scale3d(.95, .95, .95);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n}\n\n.animated.flip {\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n -webkit-animation-name: flip;\n animation-name: flip;\n}\n\n@-webkit-keyframes flipInX {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n@keyframes flipInX {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n.flipInX {\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n -webkit-animation-name: flipInX;\n animation-name: flipInX;\n}\n\n@-webkit-keyframes flipInY {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n@keyframes flipInY {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n.flipInY {\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n -webkit-animation-name: flipInY;\n animation-name: flipInY;\n}\n\n@-webkit-keyframes flipOutX {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n}\n\n@keyframes flipOutX {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n}\n\n.flipOutX {\n -webkit-animation-name: flipOutX;\n animation-name: flipOutX;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n}\n\n@-webkit-keyframes flipOutY {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n opacity: 0;\n }\n}\n\n@keyframes flipOutY {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n opacity: 0;\n }\n}\n\n.flipOutY {\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n -webkit-animation-name: flipOutY;\n animation-name: flipOutY;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n}\n\n@-webkit-keyframes lightSpeedIn {\n 0% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);\n transform: translate3d(100%, 0, 0) skewX(-30deg);\n opacity: 0;\n }\n\n 60% {\n -webkit-transform: skewX(20deg);\n transform: skewX(20deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: skewX(-5deg);\n transform: skewX(-5deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes lightSpeedIn {\n 0% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);\n transform: translate3d(100%, 0, 0) skewX(-30deg);\n opacity: 0;\n }\n\n 60% {\n -webkit-transform: skewX(20deg);\n transform: skewX(20deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: skewX(-5deg);\n transform: skewX(-5deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.lightSpeedIn {\n -webkit-animation-name: lightSpeedIn;\n animation-name: lightSpeedIn;\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n}\n\n@-webkit-keyframes lightSpeedOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);\n transform: translate3d(100%, 0, 0) skewX(30deg);\n opacity: 0;\n }\n}\n\n@keyframes lightSpeedOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);\n transform: translate3d(100%, 0, 0) skewX(30deg);\n opacity: 0;\n }\n}\n\n.lightSpeedOut {\n -webkit-animation-name: lightSpeedOut;\n animation-name: lightSpeedOut;\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n}\n\n@-webkit-keyframes rotateIn {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, -200deg);\n transform: rotate3d(0, 0, 1, -200deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateIn {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, -200deg);\n transform: rotate3d(0, 0, 1, -200deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateIn {\n -webkit-animation-name: rotateIn;\n animation-name: rotateIn;\n}\n\n@-webkit-keyframes rotateInDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInDownLeft {\n -webkit-animation-name: rotateInDownLeft;\n animation-name: rotateInDownLeft;\n}\n\n@-webkit-keyframes rotateInDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInDownRight {\n -webkit-animation-name: rotateInDownRight;\n animation-name: rotateInDownRight;\n}\n\n@-webkit-keyframes rotateInUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInUpLeft {\n -webkit-animation-name: rotateInUpLeft;\n animation-name: rotateInUpLeft;\n}\n\n@-webkit-keyframes rotateInUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -90deg);\n transform: rotate3d(0, 0, 1, -90deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -90deg);\n transform: rotate3d(0, 0, 1, -90deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInUpRight {\n -webkit-animation-name: rotateInUpRight;\n animation-name: rotateInUpRight;\n}\n\n@-webkit-keyframes rotateOut {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, 200deg);\n transform: rotate3d(0, 0, 1, 200deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOut {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, 200deg);\n transform: rotate3d(0, 0, 1, 200deg);\n opacity: 0;\n }\n}\n\n.rotateOut {\n -webkit-animation-name: rotateOut;\n animation-name: rotateOut;\n}\n\n@-webkit-keyframes rotateOutDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n}\n\n.rotateOutDownLeft {\n -webkit-animation-name: rotateOutDownLeft;\n animation-name: rotateOutDownLeft;\n}\n\n@-webkit-keyframes rotateOutDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n.rotateOutDownRight {\n -webkit-animation-name: rotateOutDownRight;\n animation-name: rotateOutDownRight;\n}\n\n@-webkit-keyframes rotateOutUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n.rotateOutUpLeft {\n -webkit-animation-name: rotateOutUpLeft;\n animation-name: rotateOutUpLeft;\n}\n\n@-webkit-keyframes rotateOutUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 90deg);\n transform: rotate3d(0, 0, 1, 90deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 90deg);\n transform: rotate3d(0, 0, 1, 90deg);\n opacity: 0;\n }\n}\n\n.rotateOutUpRight {\n -webkit-animation-name: rotateOutUpRight;\n animation-name: rotateOutUpRight;\n}\n\n@-webkit-keyframes hinge {\n 0% {\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 20%, 60% {\n -webkit-transform: rotate3d(0, 0, 1, 80deg);\n transform: rotate3d(0, 0, 1, 80deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 40%, 80% {\n -webkit-transform: rotate3d(0, 0, 1, 60deg);\n transform: rotate3d(0, 0, 1, 60deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(0, 700px, 0);\n transform: translate3d(0, 700px, 0);\n opacity: 0;\n }\n}\n\n@keyframes hinge {\n 0% {\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 20%, 60% {\n -webkit-transform: rotate3d(0, 0, 1, 80deg);\n transform: rotate3d(0, 0, 1, 80deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 40%, 80% {\n -webkit-transform: rotate3d(0, 0, 1, 60deg);\n transform: rotate3d(0, 0, 1, 60deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(0, 700px, 0);\n transform: translate3d(0, 700px, 0);\n opacity: 0;\n }\n}\n\n.hinge {\n -webkit-animation-name: hinge;\n animation-name: hinge;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes rollIn {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes rollIn {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.rollIn {\n -webkit-animation-name: rollIn;\n animation-name: rollIn;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes rollOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n }\n}\n\n@keyframes rollOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n }\n}\n\n.rollOut {\n -webkit-animation-name: rollOut;\n animation-name: rollOut;\n}\n\n@-webkit-keyframes zoomIn {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes zoomIn {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 50% {\n opacity: 1;\n }\n}\n\n.zoomIn {\n -webkit-animation-name: zoomIn;\n animation-name: zoomIn;\n}\n\n@-webkit-keyframes zoomInDown {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInDown {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInDown {\n -webkit-animation-name: zoomInDown;\n animation-name: zoomInDown;\n}\n\n@-webkit-keyframes zoomInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInLeft {\n -webkit-animation-name: zoomInLeft;\n animation-name: zoomInLeft;\n}\n\n@-webkit-keyframes zoomInRight {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInRight {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInRight {\n -webkit-animation-name: zoomInRight;\n animation-name: zoomInRight;\n}\n\n@-webkit-keyframes zoomInUp {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInUp {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInUp {\n -webkit-animation-name: zoomInUp;\n animation-name: zoomInUp;\n}\n\n@-webkit-keyframes zoomOut {\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n@keyframes zoomOut {\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n.zoomOut {\n -webkit-animation-name: zoomOut;\n animation-name: zoomOut;\n}\n\n@-webkit-keyframes zoomOutDown {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomOutDown {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomOutDown {\n -webkit-animation-name: zoomOutDown;\n animation-name: zoomOutDown;\n}\n\n@-webkit-keyframes zoomOutLeft {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);\n transform: scale(.1) translate3d(-2000px, 0, 0);\n -webkit-transform-origin: left center;\n transform-origin: left center;\n }\n}\n\n@keyframes zoomOutLeft {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);\n transform: scale(.1) translate3d(-2000px, 0, 0);\n -webkit-transform-origin: left center;\n transform-origin: left center;\n }\n}\n\n.zoomOutLeft {\n -webkit-animation-name: zoomOutLeft;\n animation-name: zoomOutLeft;\n}\n\n@-webkit-keyframes zoomOutRight {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(2000px, 0, 0);\n transform: scale(.1) translate3d(2000px, 0, 0);\n -webkit-transform-origin: right center;\n transform-origin: right center;\n }\n}\n\n@keyframes zoomOutRight {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(2000px, 0, 0);\n transform: scale(.1) translate3d(2000px, 0, 0);\n -webkit-transform-origin: right center;\n transform-origin: right center;\n }\n}\n\n.zoomOutRight {\n -webkit-animation-name: zoomOutRight;\n animation-name: zoomOutRight;\n}\n\n@-webkit-keyframes zoomOutUp {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomOutUp {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomOutUp {\n -webkit-animation-name: zoomOutUp;\n animation-name: zoomOutUp;\n}\n\n@-webkit-keyframes slideInDown {\n 0% {\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n@keyframes slideInDown {\n 0% {\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n.slideInDown {\n -webkit-animation-name: slideInDown;\n animation-name: slideInDown;\n}\n\n@-webkit-keyframes slideInLeft {\n 0% {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n@keyframes slideInLeft {\n 0% {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n.slideInLeft {\n -webkit-animation-name: slideInLeft;\n animation-name: slideInLeft;\n}\n\n@-webkit-keyframes slideInRight {\n 0% {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n@keyframes slideInRight {\n 0% {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n.slideInRight {\n -webkit-animation-name: slideInRight;\n animation-name: slideInRight;\n}\n\n@-webkit-keyframes slideInUp {\n 0% {\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n@keyframes slideInUp {\n 0% {\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n.slideInUp {\n -webkit-animation-name: slideInUp;\n animation-name: slideInUp;\n}\n\n@-webkit-keyframes slideOutDown {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n }\n}\n\n@keyframes slideOutDown {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n }\n}\n\n.slideOutDown {\n -webkit-animation-name: slideOutDown;\n animation-name: slideOutDown;\n}\n\n@-webkit-keyframes slideOutLeft {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n }\n}\n\n@keyframes slideOutLeft {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n }\n}\n\n.slideOutLeft {\n -webkit-animation-name: slideOutLeft;\n animation-name: slideOutLeft;\n}\n\n@-webkit-keyframes slideOutRight {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n }\n}\n\n@keyframes slideOutRight {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n }\n}\n\n.slideOutRight {\n -webkit-animation-name: slideOutRight;\n animation-name: slideOutRight;\n}\n\n@-webkit-keyframes slideOutUp {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n }\n}\n\n@keyframes slideOutUp {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n }\n}\n\n.slideOutUp {\n -webkit-animation-name: slideOutUp;\n animation-name: slideOutUp;\n}\n",".btn {\n $btn-top-clr: #FAFAFA;\n $btn-bottom-clr: #EFF1F3;\n border:1px solid #E0E3E9;\n display:inline-block;\n border-radius: 2px;\n box-shadow: inset 0 1px 0 white, 0 1px 1px rgba($border-clr,0.5);\n @include linear-gradient($btn-top-clr, $btn-bottom-clr);\n font-size: em(12px);\n font-weight:600;\n color: $text-2-clr;\n text-decoration:none;\n padding: em(8px) em(15px);\n &:hover {\n @include linear-gradient(lighten($btn-top-clr,0.5%), lighten($btn-bottom-clr,1%));\n }\n &.disabled {\n cursor:default;\n opacity: 0.5;\n &:active {\n box-shadow: inset 0 1px 0 white, 0 1px 1px rgba(black, 0.1);\n }\n }\n &.danger {\n color: $red-clr;\n }\n &:focus {\n outline:0;\n }\n &:active {\n box-shadow: none;\n }\n}\n","@mixin linear-gradient($pos, $G1, $G2: null,\n $G3: null, $G4: null,\n $G5: null, $G6: null,\n $G7: null, $G8: null,\n $G9: null, $G10: null,\n $fallback: null) {\n // Detect what type of value exists in $pos\n $pos-type: type-of(nth($pos, 1));\n $pos-spec: null;\n $pos-degree: null;\n\n // If $pos is missing from mixin, reassign vars and add default position\n @if ($pos-type == color) or (nth($pos, 1) == \"transparent\") {\n $G10: $G9; $G9: $G8; $G8: $G7; $G7: $G6; $G6: $G5;\n $G5: $G4; $G4: $G3; $G3: $G2; $G2: $G1; $G1: $pos;\n $pos: null;\n }\n\n @if $pos {\n $positions: _linear-positions-parser($pos);\n $pos-degree: nth($positions, 1);\n $pos-spec: nth($positions, 2);\n }\n\n $full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10;\n\n // Set $G1 as the default fallback color\n $fallback-color: nth($G1, 1);\n\n // If $fallback is a color use that color as the fallback color\n @if (type-of($fallback) == color) or ($fallback == \"transparent\") {\n $fallback-color: $fallback;\n }\n\n background-color: $fallback-color;\n background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome\n background-image: unquote(\"linear-gradient(#{$pos-spec}#{$full})\");\n}\n","form {\n margin:0;\n &.ng-submitted {\n .ng-invalid {\n border-color: $pink-clr !important;\n }\n }\n}\n\n.form-container {\n width:100%;\n}\n\n.form-row {\n @include row();\n margin-bottom:10px;\n @include user-select(none);\n}\n\n.form-col {\n @include span-columns(6);\n &.padded {\n &:first-child {\n padding: 0 20px 0 0;\n }\n &:last-child {\n padding: 0 0 0 20px;\n }\n }\n}\n\n.form-group {\n & > label {\n font-size:em(12px);\n color: $text-3-clr;\n display:inline-block;\n line-height:em(30px);\n\n }\n .form-error {\n font-size: em(12px);\n color: $red-clr;\n float: right;\n img {\n vertical-align:bottom;\n margin-right: 3px;\n }\n }\n &.optional > label:after {\n content: \" (optional)\";\n }\n &.error {\n input.form-control, textarea.form-control {\n\n border-color: $pink-clr;\n background: rgba($pink-clr,0.02);\n }\n }\n input.form-control, textarea.form-control {\n @include form-input;\n }\n .form-btn {\n padding: em(12px) em(15px);\n }\n input.form-control {\n vertical-align:middle;\n padding: em(5px) em(10px);\n }\n\n textarea.form-control {\n min-height: 135px;\n font-size: em(18px);\n padding: em(8px) em(10px);\n }\n\n}\n\n\n.form-submit-message {\n display:inline-block;\n margin-left: em(5px);\n font-size: em(12px);\n &.error {\n color: $red-clr;\n }\n img {\n vertical-align:middle;\n margin-right: em(5px);\n }\n}\n","/// Designates the element as a row of columns in the grid layout. It clears the floats on the element and sets its display property. Rows can't be nested, but there can be more than one row element—with different display properties—per layout.\n///\n/// @param {String} $display (default)\n/// Sets the display property of the element and the display context that will be used by its children. Can be `block` or `table`.\n///\n/// @param {String} $direction ($default-layout-direction)\n/// Sets the layout direction. Can be `LTR` (left-to-right) or `RTL` (right-to-left).\n///\n/// @example scss - Usage\n/// .element {\n/// @include row();\n/// }\n///\n/// @example css - CSS Output\n/// .element {\n/// *zoom: 1;\n/// display: block;\n/// }\n///\n/// .element:before, .element:after {\n/// content: \" \";\n/// display: table;\n/// }\n///\n/// .element:after {\n/// clear: both;\n/// }\n\n@mixin row($display: default, $direction: $default-layout-direction) {\n @if $direction != $default-layout-direction {\n @include -neat-warn(\"The $direction argument will be deprecated in future versions in favor of the direction(){...} mixin.\");\n }\n\n $layout-direction: $direction !global;\n\n @if $display != default {\n @include -neat-warn(\"The $display argument will be deprecated in future versions in favor of the display(){...} mixin.\");\n }\n\n @if $display == table {\n display: table;\n @include fill-parent;\n table-layout: fixed;\n $container-display-table: true !global;\n }\n\n @else {\n @include clearfix;\n display: block;\n $container-display-table: false !global;\n }\n}\n\n","// Modern micro clearfix provides an easy way to contain floats without adding additional markup.\n//\n// Example usage:\n//\n// // Contain all floats within .wrapper\n// .wrapper {\n// @include clearfix;\n// .content,\n// .sidebar {\n// float : left;\n// }\n// }\n\n@mixin clearfix {\n &:after {\n content:\"\";\n display:table;\n clear:both;\n }\n}\n\n// Acknowledgements\n// Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php)\n","/// Specifies the number of columns an element should span. If the selector is nested the number of columns of its parent element should be passed as an argument as well.\n///\n/// @param {List} $span\n/// A list containing `$columns`, the unitless number of columns the element spans (required), and `$container-columns`, the number of columns the parent element spans (optional).\n///\n/// If only one value is passed, it is assumed that it's `$columns` and that that `$container-columns` is equal to `$grid-columns`, the total number of columns in the grid.\n///\n/// The values can be separated with any string such as `of`, `/`, etc.\n///\n/// @param {String} $display (block)\n/// Sets the display property of the element. By default it sets the display propert of the element to `block`.\n///\n/// If passed `block-collapse`, it also removes the margin gutter by adding it to the element width.\n///\n/// If passed `table`, it sets the display property to `table-cell` and calculates the width of the element without taking gutters into consideration. The result does not align with the block-based grid.\n///\n/// @example scss - Usage\n/// .element {\n/// @include span-columns(6);\n///\n/// .nested-element {\n/// @include span-columns(2 of 6);\n/// }\n/// }\n///\n/// @example css - CSS Output\n/// .element {\n/// display: block;\n/// float: left;\n/// margin-right: 2.35765%;\n/// width: 48.82117%;\n/// }\n///\n/// .element:last-child {\n/// margin-right: 0;\n/// }\n///\n/// .element .nested-element {\n/// display: block;\n/// float: left;\n/// margin-right: 4.82916%;\n/// width: 30.11389%;\n/// }\n///\n/// .element .nested-element:last-child {\n/// margin-right: 0;\n/// }\n\n@mixin span-columns($span: $columns of $container-columns, $display: block) {\n $columns: nth($span, 1);\n $container-columns: container-span($span);\n\n $parent-columns: get-parent-columns($container-columns) !global;\n\n $direction: get-direction($layout-direction, $default-layout-direction);\n $opposite-direction: get-opposite-direction($direction);\n\n $display-table: is-display-table($container-display-table, $display);\n\n @if $display-table {\n display: table-cell;\n width: percentage($columns / $container-columns);\n } @else {\n float: #{$opposite-direction};\n\n @if $display != no-display {\n display: block;\n }\n\n @if $display == collapse {\n @include -neat-warn(\"The 'collapse' argument will be deprecated. Use 'block-collapse' instead.\");\n }\n\n @if $display == collapse or $display == block-collapse {\n width: flex-grid($columns, $container-columns) + flex-gutter($container-columns);\n\n &:last-child {\n width: flex-grid($columns, $container-columns);\n }\n\n } @else {\n margin-#{$direction}: flex-gutter($container-columns);\n width: flex-grid($columns, $container-columns);\n\n &:last-child {\n margin-#{$direction}: 0;\n }\n }\n }\n}\n","@mixin form-input {\n border-radius: 2px;\n border: 1px solid $border-clr;\n font-size:em(18px);\n @include transition(border-color 0.1s ease-in-out);\n &:focus {\n border-color: $blue-clr;\n outline:none;\n background: white;\n }\n &.extend {\n width:100%;\n }\n @include placeholder {\n color: rgba($text-3-clr,0.7);\n }\n}\n","@mixin placeholder {\n $placeholders: \":-webkit-input\" \":-moz\" \"-moz\" \"-ms-input\";\n @each $placeholder in $placeholders {\n &:#{$placeholder}-placeholder {\n @content;\n }\n }\n}\n","$box-v-pad: 20px;\n$box-h-pad: 25px;\n\n.box {\n background: white;\n border: 1px solid $border-clr;\n border-radius: 3px;\n margin: 0 auto 20px auto;\n max-width: 800px;\n min-width:700px;\n overflow:hidden;\n padding: $box-v-pad $box-h-pad;\n &.box-x-scroll {\n overflow-x: scroll;\n }\n &.invisible {\n background: transparent;\n border:0;\n padding: 0;\n margin-bottom:40px;\n }\n &.highlight {\n border-color: $blue-clr;\n box-shadow: 0 0 3px rgba($blue-clr, 0.5);\n }\n}\n\n.box-title {\n font-size: 24px;\n font-weight: bold;\n color: $text-clr;\n margin-bottom:20px;\n}\n\n.box-description {\n font-size: 14px;\n color: $text-2-clr;\n padding-bottom: 20px;\n border-bottom: 1px solid $border-clr;\n margin-top: -20px;\n margin-bottom: 20px;\n a {\n color: $text-clr;\n text-decoration:none;\n &:hover {\n border: 1px solid $border-clr;\n }\n }\n}\n.box-section {\n padding-top: 20px;\n &:first-child {\n border:0;\n }\n @include row;\n .section-details {\n @include span-columns(3);\n .section-title {\n font-size: em(14px);\n color: $text-2-clr;\n margin-bottom:20px;\n }\n }\n .section-main {\n @include span-columns(9);\n\n }\n}\n\n.box-message {\n text-align:center;\n padding:40px;\n max-width:500px;\n margin:0 auto;\n .main-image {\n margin-bottom: 20px;\n }\n .title {\n font-weight: bold;\n font-size: em(24px);\n color: $text-clr;\n margin-bottom: em(10px);\n }\n .content {\n font-size: em(14px);\n color: $text-2-clr;\n margin-bottom: 20px;\n }\n .mini-divider:after {\n content: \"\";\n display:inline-block;\n width:200px;\n height:1px;\n background: $border-clr;\n margin:20px auto;\n\n }\n}\n\n.box-side-sticky {\n padding: $box-v-pad $box-h-pad;\n box-sizing: content-box;\n width: 100%;\n margin-left: $box-h-pad * -1;\n\n}\n\n.box-bottom-sticky {\n padding: $box-v-pad $box-h-pad;\n box-sizing: content-box;\n width: 100%;\n margin-top:20px;\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n border-top: 1px solid $border-clr;\n margin-bottom: $box-v-pad * -1;\n margin-left: $box-h-pad * -1;\n}\n\n.box-controls {\n text-align: right;\n box-shadow: inset 0 1px 0 white;\n background: lighten($background-clr, 1%);\n margin-top: $box-v-pad;\n padding: 15px $box-h-pad;\n}\n\n.box-steps {\n @include display(flex);\n width:100%;\n list-style-position:inside;\n padding:0;\n margin:40px 0 10px 0;\n .step {\n @include flex(1);\n color: $text-2-clr;\n font-size: em(14px);\n margin: 0 0 0 0;\n padding: 0 0 10px 10px;\n border-bottom:2px solid $border-clr;\n position:relative;\n @include transition(all 0.2s ease-in-out);\n &:first-child {\n padding-left : 0;\n }\n &:after {\n content: \"\";\n position:absolute;\n bottom:-2px;\n left:0;\n height: 2px;\n width:0;\n background: $green-clr;\n @include transition(all 0.2s ease-in-out);\n }\n &.active {\n color: $text-clr;\n &:after {\n width:100%;\n }\n }\n }\n}\n","// CSS3 Flexible Box Model and property defaults\n\n// Custom shorthand notation for flexbox\n@mixin box($orient: inline-axis, $pack: start, $align: stretch) {\n @include display-box;\n @include box-orient($orient);\n @include box-pack($pack);\n @include box-align($align);\n}\n\n@mixin display-box {\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox; // IE 10\n display: box;\n}\n\n@mixin box-orient($orient: inline-axis) {\n// horizontal|vertical|inline-axis|block-axis|inherit\n @include prefixer(box-orient, $orient, webkit moz spec);\n}\n\n@mixin box-pack($pack: start) {\n// start|end|center|justify\n @include prefixer(box-pack, $pack, webkit moz spec);\n -ms-flex-pack: $pack; // IE 10\n}\n\n@mixin box-align($align: stretch) {\n// start|end|center|baseline|stretch\n @include prefixer(box-align, $align, webkit moz spec);\n -ms-flex-align: $align; // IE 10\n}\n\n@mixin box-direction($direction: normal) {\n// normal|reverse|inherit\n @include prefixer(box-direction, $direction, webkit moz spec);\n -ms-flex-direction: $direction; // IE 10\n}\n\n@mixin box-lines($lines: single) {\n// single|multiple\n @include prefixer(box-lines, $lines, webkit moz spec);\n}\n\n@mixin box-ordinal-group($int: 1) {\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n -ms-flex-order: $int; // IE 10\n}\n\n@mixin box-flex($value: 0.0) {\n @include prefixer(box-flex, $value, webkit moz spec);\n -ms-flex: $value; // IE 10\n}\n\n@mixin box-flex-group($int: 1) {\n @include prefixer(box-flex-group, $int, webkit moz spec);\n}\n\n// CSS3 Flexible Box Model and property defaults\n// Unified attributes for 2009, 2011, and 2012 flavours.\n\n// 2009 - display (box | inline-box)\n// 2011 - display (flexbox | inline-flexbox)\n// 2012 - display (flex | inline-flex)\n@mixin display($value) {\n// flex | inline-flex\n @if $value == \"flex\" {\n // 2009\n display: -webkit-box;\n display: -moz-box;\n display: box;\n\n // 2012\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox; // 2011 (IE 10)\n display: flex;\n }\n\n @elseif $value == \"inline-flex\" {\n display: -webkit-inline-box;\n display: -moz-inline-box;\n display: inline-box;\n\n display: -webkit-inline-flex;\n display: -moz-inline-flex;\n display: -ms-inline-flexbox;\n display: inline-flex;\n }\n\n @else {\n display: $value;\n }\n}\n\n// 2009 - box-flex (integer)\n// 2011 - flex (decimal | width decimal)\n// 2012 - flex (integer integer width)\n@mixin flex($value) {\n\n // Grab flex-grow for older browsers.\n $flex-grow: nth($value, 1);\n\n // 2009\n @include prefixer(box-flex, $flex-grow, webkit moz spec);\n\n // 2011 (IE 10), 2012\n @include prefixer(flex, $value, webkit moz ms spec);\n}\n\n// 2009 - box-orient ( horizontal | vertical | inline-axis | block-axis)\n// - box-direction (normal | reverse) \n// 2011 - flex-direction (row | row-reverse | column | column-reverse)\n// 2012 - flex-direction (row | row-reverse | column | column-reverse)\n@mixin flex-direction($value: row) {\n\n // Alt values.\n $value-2009: $value;\n $value-2011: $value;\n $direction: \"normal\";\n\n @if $value == row {\n $value-2009: horizontal;\n }\n\n @elseif $value == \"row-reverse\" {\n $value-2009: horizontal;\n $direction: reverse;\n }\n\n @elseif $value == column {\n $value-2009: vertical;\n }\n\n @elseif $value == \"column-reverse\" {\n $value-2009: vertical;\n $direction: reverse;\n }\n\n // 2009\n @include prefixer(box-orient, $value-2009, webkit moz spec);\n @if $direction == \"reverse\" {\n @include prefixer(box-direction, $direction, webkit moz spec);\n }\n\n // 2012\n @include prefixer(flex-direction, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-direction: $value;\n}\n\n// 2009 - box-lines (single | multiple)\n// 2011 - flex-wrap (nowrap | wrap | wrap-reverse)\n// 2012 - flex-wrap (nowrap | wrap | wrap-reverse)\n@mixin flex-wrap($value: nowrap) {\n\n // Alt values.\n $alt-value: $value;\n @if $value == nowrap {\n $alt-value: single;\n }\n\n @elseif $value == wrap {\n $alt-value: multiple;\n }\n\n @elseif $value == \"wrap-reverse\" {\n $alt-value: multiple;\n }\n\n @include prefixer(box-lines, $alt-value, webkit moz spec);\n @include prefixer(flex-wrap, $value, webkit moz ms spec);\n}\n\n// 2009 - TODO: parse values into flex-direction/flex-wrap\n// 2011 - TODO: parse values into flex-direction/flex-wrap\n// 2012 - flex-flow (flex-direction || flex-wrap)\n@mixin flex-flow($value) {\n @include prefixer(flex-flow, $value, webkit moz spec);\n}\n\n// 2009 - box-ordinal-group (integer)\n// 2011 - flex-order (integer)\n// 2012 - order (integer)\n@mixin order($int: 0) {\n // 2009\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n\n // 2012\n @include prefixer(order, $int, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-order: $int;\n}\n\n// 2012 - flex-grow (number)\n@mixin flex-grow($number: 0) {\n @include prefixer(flex-grow, $number, webkit moz spec);\n -ms-flex-positive: $number;\n}\n\n// 2012 - flex-shrink (number)\n@mixin flex-shrink($number: 1) {\n @include prefixer(flex-shrink, $number, webkit moz spec);\n -ms-flex-negative: $number;\n}\n\n// 2012 - flex-basis (number)\n@mixin flex-basis($width: auto) {\n @include prefixer(flex-basis, $width, webkit moz spec);\n -ms-flex-preferred-size: $width;\n}\n\n// 2009 - box-pack (start | end | center | justify)\n// 2011 - flex-pack (start | end | center | justify)\n// 2012 - justify-content (flex-start | flex-end | center | space-between | space-around)\n@mixin justify-content ($value: flex-start) {\n\n // Alt values.\n $alt-value: $value;\n @if $value == \"flex-start\" {\n $alt-value: start;\n }\n\n @elseif $value == \"flex-end\" {\n $alt-value: end;\n }\n\n @elseif $value == \"space-between\" {\n $alt-value: justify;\n }\n\n @elseif $value == \"space-around\" {\n $alt-value: center;\n }\n\n // 2009\n @include prefixer(box-pack, $alt-value, webkit moz spec);\n\n // 2012\n @include prefixer(justify-content, $value, webkit moz ms o spec);\n\n // 2011 (IE 10)\n -ms-flex-pack: $alt-value;\n}\n\n// 2009 - box-align (start | end | center | baseline | stretch)\n// 2011 - flex-align (start | end | center | baseline | stretch)\n// 2012 - align-items (flex-start | flex-end | center | baseline | stretch)\n@mixin align-items($value: stretch) {\n\n $alt-value: $value;\n\n @if $value == \"flex-start\" {\n $alt-value: start;\n } \n\n @elseif $value == \"flex-end\" {\n $alt-value: end;\n }\n\n // 2009\n @include prefixer(box-align, $alt-value, webkit moz spec);\n\n // 2012\n @include prefixer(align-items, $value, webkit moz ms o spec);\n \n // 2011 (IE 10)\n -ms-flex-align: $alt-value; \n}\n\n// 2011 - flex-item-align (auto | start | end | center | baseline | stretch)\n// 2012 - align-self (auto | flex-start | flex-end | center | baseline | stretch)\n@mixin align-self($value: auto) {\n\n $value-2011: $value;\n @if $value == \"flex-start\" {\n $value-2011: start;\n } \n\n @elseif $value == \"flex-end\" {\n $value-2011: end;\n }\n\n // 2012\n @include prefixer(align-self, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-item-align: $value-2011;\n}\n\n// 2011 - flex-line-pack (start | end | center | justify | distribute | stretch)\n// 2012 - align-content (flex-start | flex-end | center | space-between | space-around | stretch)\n@mixin align-content($value: stretch) {\n\n $value-2011: $value;\n @if $value == \"flex-start\" {\n $value-2011: start;\n } \n\n @elseif $value == \"flex-end\" {\n $value-2011: end;\n }\n\n @elseif $value == \"space-between\" {\n $value-2011: justify;\n }\n\n @elseif $value == \"space-around\" {\n $value-2011: distribute;\n }\n\n // 2012\n @include prefixer(align-content, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-line-pack: $value-2011;\n}\n\n",".ng-submitted .ng-invalid > .date-picker {\n border-color: $pink-clr;\n}\n\n.date-picker {\n border: 1px solid $border-clr;\n border-radius: 2px;\n @include transition(border-color 0.2s ease-in-out);\n .wrapper {\n padding:20px;\n }\n .date-picker-head {\n display:table;\n width:100%;\n margin-bottom:30px;\n text-align:center;\n .title {\n display:inline-block;\n width:200px;\n margin: 0 20px;\n font-weight:bold;\n font-size: em(18px);\n }\n .arrow {\n text-decoration:none;\n color: $text-3-clr;\n position:relative;\n border: 1px solid $border-clr;\n display:inline-block;\n width: 25px;\n border-radius: 2px;\n font-size: 12px;\n line-height:25px;\n text-align:center;\n float:left;\n box-shadow: 0 1px 1px rgba($border-clr,0.5);\n margin:0 20px;\n &:last-child {\n float:right;\n }\n &:hover {\n color: $text-clr;\n }\n &:active {\n box-shadow:none;\n }\n\n }\n }\n .dow {\n font-size:0;\n padding-bottom: 10px;\n border-bottom: 2px solid $border-clr;\n margin-bottom: 10px;\n .day {\n text-transform:uppercase;\n font-size: 14px;\n display:inline-block;\n width: (100% / 7);\n text-align:center;\n color: $pink-clr;\n }\n }\n .values {\n .value {\n display:inline-block;\n width: (100% / 7);\n text-align:center;\n font-size: em(14px);\n line-height:em(55px);\n position:relative;\n font-weight: bold;\n &.today {\n color:#818176;\n &:after {\n opacity:1;\n background: rgba(yellow, 0.1);\n }\n }\n &.outside {\n color: $text-3-clr;\n font-weight:normal;\n }\n &:after {\n content: \" \";\n cursor:pointer;\n opacity: 0;\n position:absolute;\n $size: em(42px);\n width:$size;\n height:$size;\n margin-left:$size * -0.5;\n margin-top:$size * -0.5;\n left:50%;\n top:50%;\n border-radius: 2px;\n }\n &:hover {\n &:after {\n opacity:1;\n background: rgba($border-clr,0.4);\n }\n cursor: pointer;\n }\n &.active {\n background:white;\n color: $green-clr;\n &:after {\n opacity:1;\n background: rgba($green-clr,0.1);\n }\n }\n }\n }\n}\n\n.ng-submitted .ng-invalid > .datepicker {\n border-color: $pink-clr;\n}\n.datepicker {\n width:100%;\n border:1px solid rgba($border-clr, 0.5);\n border-radius: 3px;\n background:white;\n padding: em(10px);\n @include transition(border-color 0.1s ease-in-out);\n table {\n width:100%;\n font-size: em($em-base);\n }\n thead {\n\n }\n tbody {\n &:before {\n content: '';\n display:block;\n height: em(10px);\n }\n }\n .prev, .next {\n opacity: 0.5;\n color: $text-2-clr;\n cursor: pointer;\n border-radius:5px;\n position:relative;\n &:hover {\n opacity: 1;\n &:after {\n opacity: 1;\n background: rgba($border-clr, 0.3);\n }\n }\n &:after {\n content: \" \";\n cursor:pointer;\n opacity: 0;\n position:absolute;\n $size: em(28px);\n width:$size;\n height:$size;\n margin-left:$size * -0.5;\n margin-top:$size * -0.5;\n left:50%;\n top:50%;\n border-radius:3px;\n @include transition(background-color 0.1s ease-in-out);\n }\n }\n .datepicker-switch {\n padding: 10px;\n font-weight:600;\n font-size:em(18px);\n border-radius: 3px;\n cursor: pointer;\n @include transition(background-color 0.1s ease-in-out);\n &:hover {\n background: rgba($border-clr, 0.4);\n }\n }\n .dow {\n padding:10px;\n font-weight:normal;\n text-transform: uppercase;\n color: $pink-clr;\n font-size: em(14px);\n border-bottom: 2px solid rgba($border-clr, 0.3);\n }\n .dow, .day {\n padding:em(15px);\n }\n .day {\n text-align:center;\n font-weight:600;\n position:relative;\n font-size:em(14px);\n &.today {\n color:#818176;\n &:after {\n opacity:1;\n background: rgba(yellow, 0.1);\n }\n }\n &:hover {\n &:after {\n opacity:1;\n background: rgba($border-clr,0.4);\n }\n cursor: pointer;\n }\n &.new, &.old {\n font-weight:normal;\n color: $text-3-clr;\n }\n &.active {\n background:white;\n color: $green-clr;\n &:after {\n opacity:1;\n background: rgba($green-clr,0.1);\n }\n }\n &:active {\n &:after {\n opacity: 0.8;\n }\n }\n &:after {\n content: \" \";\n @include transition(all 0.1s ease-in-out);\n cursor:pointer;\n opacity: 0;\n position:absolute;\n $size: em(40px);\n width:$size;\n height:$size;\n margin-left:$size * -0.5;\n margin-top:$size * -0.5;\n left:50%;\n top:50%;\n border-radius: 3px;\n }\n }\n .month, .year {\n width: 33.3%;\n display:inline-block;\n text-align:center;\n font-size: em(14px);\n padding:em(20px);\n cursor:pointer;\n @include transition(background-color 0.1s ease-in-out);\n border-radius: 3px;\n text-transform: uppercase;\n &:hover {\n background: rgba($border-clr, 0.3);\n }\n }\n}\n\n.daticon-list {\n margin:0;\n margin-left:-10px;\n list-style:none;\n padding:5px;\n text-align:left;\n li {\n display:inline-block;\n margin: 10px 10px 0 0;\n }\n}\n\n.daticon {\n box-shadow: 0 0 0 1px rgba($border-clr,0.5);\n border-radius: 3px;\n display:inline-block;\n padding:em(8px) em(16px);\n text-align:center;\n position:relative;\n cursor:default;\n background:white;\n .dow {\n font-size: em(6px);\n margin-top:em(-24px);\n background:white;\n color: $text-3-clr;\n margin-bottom: em(4px);\n font-weight:normal;\n text-transform: uppercase;\n }\n .day {\n font-size: em(20px);\n font-weight:normal;\n color: $pink-clr;\n line-height: em(16px);\n }\n .month {\n font-weight: 600;\n font-size: em(12px);\n text-transform: uppercase;\n }\n .delete {\n text-align:center;\n border:0;\n $size: 18px;\n width: em($size);\n height: em($size);\n position:absolute;\n top: $size * -0.4;\n right: $size * -0.4;\n border-radius:100%;\n display:inline-block;\n background: rgba($border-clr, 0.5) url(../images/close@2x.png) no-repeat center center;\n background-size: 7px 8px;\n cursor:pointer;\n opacity:0;\n &:hover {\n background-color: rgba($border-clr, 0.8)\n }\n }\n .count {\n text-align:center;\n border:0;\n $size: 18px;\n width: $size;\n height: $size;\n position:absolute;\n top: $size * -0.4;\n right: $size * -0.4;\n border-radius:100%;\n font-weight:bold;\n display:inline-block;\n background: darken($border-clr, 10%);\n color:white;\n font-size: 9px;\n line-height: $size;\n @include transition(background-color 0.2s ease-in-out);\n &.top {\n background: $orangered-clr;\n }\n\n }\n &:hover {\n .delete {\n opacity: 1;\n }\n }\n}\n",".rl-modal {\n background:white;\n position: fixed;\n top: 50%;\n left: 50%;\n width: 50%;\n max-width: 400px;\n display:inline-block;\n min-width: 200px;\n height: auto;\n z-index: 2000;\n overflow:hidden;\n border-radius: 5px;\n box-shadow: 0 0 0 1px $border-clr, 0 0 0 5px rgba($border-clr,0.5);\n @include transform(translateX(-50%) translateY(-50%));\n .rl-modal-message {\n padding: 0 20px 20px 20px;\n font-size: em(12px);\n color: $text-2-clr;\n }\n .rl-modal-title {\n padding:20px 20px 0 20px;\n font-size: em(18px);\n font-weight: bold;\n }\n .rl-modal-actions {\n border-top:1px solid $border-clr;\n box-shadow: inset 0 1px 0 white;\n background: lighten($background-clr,1%);\n text-align:right;\n padding: em(10px) em(20px);\n }\n}\n\n.rl-modal-overlay {\n position:fixed;\n z-index: 1999;\n top:0;\n left:0;\n width:100%;\n height:100%;\n background:rgba(black,0.1);\n\n}\n","$actions-col-width : 160px;\n$date-col-width: 70px;\n$name-col-width: 235px;\n\n.poll {\n min-width: 100%;\n display:block;\n margin-bottom:20px;\n}\n\n.poll-header {\n display:table;\n min-width: 100%;\n border-bottom:1px solid $border-clr;\n box-shadow: 0 3px 0 rgba($border-clr, 0.3);\n .header {\n display:table-cell;\n vertical-align:bottom;\n padding-bottom:20px;\n &.date-header {\n text-align:center;\n min-width: $date-col-width;\n width: $date-col-width;\n }\n &.actions-header {\n min-width: $actions-col-width;\n }\n &.participants-header {\n font-weight: bold;\n min-width: $name-col-width;\n width: $name-col-width;\n padding-left: em(10px);\n }\n }\n}\n\n.poll-body {\n min-width:100%;\n .poll-example {\n position:relative;\n &.hidden {\n display:none;\n }\n .overlay {\n position:absolute;\n top:0;\n left:0;\n width:100%;\n height: 100%;\n border-bottom:1px solid $border-clr;\n background: rgba(white, 0.75);\n text-align: center;\n .overlay-text {\n position:absolute;\n top:50%;\n left:50%;\n font-size: em(18px);\n font-weight: bold;\n color: $text-3-clr;\n background: rgba(white, 0.9);\n padding: 10px;\n @include transform(translateX(-50%) translateY(-50%));\n }\n }\n }\n .poll-entry.highlight {\n background: lighten($border-clr,10%);\n }\n .poll-entry {\n display:table;\n min-width: 100%;\n border-bottom: 1px solid rgba($border-clr,0.5);\n .hover {\n visibility:hidden;\n }\n &:hover {\n .hover {\n visibility: visible;\n }\n }\n .cell {\n padding: em(10px);\n display:table-cell;\n height: 50px;\n vertical-align:middle;\n &.name-cell {\n min-width: $name-col-width;\n width: $name-col-width;\n font-size: em(14px);\n .avatar {\n display:inline-block;\n padding: 5px;\n margin-right: 5px;\n border-radius: 2px;\n background: #D0D5DF;\n @for $i from 0 to length($color-collection) {\n &.style-#{$i + 1} {\n background: nth($color-collection, $i+1);\n }\n }\n }\n .name {\n padding: 5px 3px;\n margin-left: 2px;\n border-radius: 2px;\n &.editable:hover {\n background: $background-clr;\n cursor: pointer;\n }\n }\n .form-control {\n border:1px solid $border-clr;\n padding: em(5px);\n border-radius: 2px;\n color: $text-clr;\n &:focus {\n outline:0;\n border-color: $blue-clr;\n box-shadow: 0 0 3px rgba($blue-clr, 0.5);\n }\n @include placeholder {\n color: rgba($text-2-clr,0.7);\n }\n }\n }\n &.action-cell {\n min-width: $actions-col-width;\n }\n &.vote-cell {\n min-width: $date-col-width;\n width: $date-col-width;\n text-align:center;\n position: relative;\n .overlay {\n position: absolute;\n top:0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 10;\n &:hover {\n background: rgba($border-clr, 0.2);\n cursor: pointer;\n }\n }\n }\n }\n &.ng-submitted {\n .ng-invalid {\n border-color: $pink-clr !important;\n }\n }\n }\n}\n","$tag-font-size: 14px;\n\ntags-input {\n display: block;\n}\ntags-input *, tags-input *:before, tags-input *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\ntags-input .host {\n position: relative;\n margin-top: 5px;\n margin-bottom: 5px;\n &:focus {\n outline:0;\n }\n}\ntags-input .host:active {\n outline: none;\n}\n\ntags-input .tags {\n padding: 4px;\n overflow: hidden;\n word-wrap: break-word;\n cursor: text;\n border-radius: 3px;\n background-color: white;\n border: 1px solid $border-clr;\n @include transition(border-color 0.1s ease-in-out);\n}\ntags-input .tags.focused {\n outline: none;\n}\n\ntags-input .tags .tag-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\ntags-input .tags .tag-item {\n margin: 2px;\n padding: 0 8px;\n display: inline-block;\n float: left;\n font-size: em($tag-font-size);\n height: 26px;\n line-height: 25px;\n border-radius: 1px;\n background:#E5EBF2;\n color: #7587A1;\n box-shadow:0 0 0 1px #CBD4E2;\n}\ntags-input .tags .tag-item.selected {\n background: $red-clr;\n color: white;\n box-shadow: none;\n}\ntags-input .tags .tag-item .remove-button {\n margin: 0 0 0 5px;\n padding: 0;\n border: none;\n background: none;\n color: inherit;\n cursor: pointer;\n vertical-align: middle;\n font: bold em(16px) Arial, sans-serif;\n}\n\ntags-input .tags .input {\n border: 0;\n outline: none;\n margin: 2px;\n padding: 0;\n padding-left: 8px;\n float: left;\n height: 26px;\n font-size: em($tag-font-size);\n @include placeholder {\n color: $text-3-clr;\n }\n}\n\ntags-input .tags .input.invalid-tag {\n color: $red-clr;\n}\n\ntags-input .tags .input::-ms-clear {\n display: none;\n}\n\ntags-input.ng-invalid .tags {\n // highlight tags when model is invalid\n}\n",".dropdown {\n position:relative;\n cursor: pointer;\n .dropdown-menu {\n position: absolute;\n display:none;\n z-index: 1000;\n float:left;\n min-width:160px;\n max-width: 180px;\n padding: 5px;\n text-align:left;\n left:0;\n }\n &.open .dropdown-menu {\n display: block;\n }\n .dropdown-toggle {\n &:after {\n content: \"\";\n width: 6px;\n height: 4px;\n margin-left: 10px;\n display:inline-block;\n background-image: url(\"../images/dropdown_arrow.png\");\n background-size: 6px 4px;\n background-repeat:no-repeat;\n }\n }\n}\n",".comments-info {\n font-weight: bold;\n padding-bottom: 10px;\n border-bottom: 2px solid $border-clr;\n}\n\n.comment-form {\n @include row;\n margin-bottom: 20px;\n margin-top:20px;\n padding: 0 10px;\n .avatar-section {\n @include span-columns(1);\n img {\n border-radius: 3px;\n max-width: 100%;\n }\n }\n .input-section {\n @include span-columns(11);\n }\n .content-section {\n margin-bottom:10px;\n }\n .name-section {\n position:relative;\n margin-bottom: 10px;\n }\n .form-control {\n font-size: em(14px) !important;\n }\n textarea.form-control {\n min-height: 0;\n min-width: 100%;\n }\n}\n\n.comments-placeholder {\n color: $text-3-clr;\n text-align:center;\n}\n\n.comment-thread {\n list-style:none;\n margin:0;\n padding:0;\n margin-bottom: 20px;\n max-height: 500px;\n overflow-y: scroll;\n .comment {\n @include row;\n padding: 10px;\n .avatar-section {\n @include span-columns(1);\n img {\n max-width: 100%;\n border-radius: 3px;\n }\n }\n .comment-section {\n @include span-columns(11);\n position:relative;\n .comment-delete {\n opacity:0;\n text-decoration:none;\n color:white;\n background-color: $border-clr;\n color: $text-3-clr;\n border-radius: 2px;\n display:inline-block;\n position:absolute;\n right:0;\n top:0;\n font-size: em(14px);\n $cd-size: em(16px);\n width: $cd-size;\n height: $cd-size;\n line-height: $cd-size;\n text-align: center;\n &:hover {\n background: $red-clr;\n color: white;\n }\n &:active {\n background: darken($red-clr, 5%);\n }\n }\n .meta {\n font-size: em(13px);\n color: $text-2-clr;\n margin-bottom: 5px;\n }\n .name {\n color: $text-2-clr;\n font-weight: 600;\n }\n .time:before {\n content: \" \";\n display: inline-block;\n height: 4px;\n width: 4px;\n background: $text-3-clr;\n margin: 0 5px 2px 5px;\n border-radius: 100%;\n }\n .content {\n font-size: em(14px);\n margin-bottom: 5px;\n white-space: pre-wrap;\n margin-right: 100px;\n }\n .actions {\n opacity:0.8;\n a {\n color: $text-2-clr;\n font-size: em(12px);\n text-decoration: none;\n &:hover {\n color: $blue-clr;\n }\n }\n }\n }\n &:hover {\n background: $background-clr;\n cursor:default;\n border-radius: 3px;\n .name {\n color: $blue-clr;\n }\n .comment-delete {\n opacity: 1;\n }\n }\n }\n}\n",".switch-row {\n display:table;\n width: 100%;\n margin-bottom: 20px;\n padding-bottom: 20px;\n border-bottom: 1px solid $border-clr;\n &:last-child {\n border:0;\n }\n .switch-details {\n display:table-cell;\n .title {\n font-size: em(14px);\n font-weight: bold;\n }\n .description {\n font-size: em(12px);\n color: $text-2-clr;\n }\n }\n .switch {\n display:table-cell;\n text-align:right;\n min-width: 150px;\n vertical-align:middle;\n .switch-value {\n font-size: em(12px);\n color: $text-2-clr;\n display:inline-block;\n vertical-align:middle;\n\n }\n }\n}\n\n.switch-toggle {\n display:inline-block;\n margin-left: 5px;\n height: 20px;\n width: 40px;\n border-radius: 20px;\n vertical-align:middle;\n position:relative;\n cursor:pointer;\n background: $red-clr;\n box-shadow: inset 0 0 0 1px rgba(black,0.1);\n @include transition(all 0.1s ease-in-out);\n $tog-size: 16px;\n &:after {\n content: \" \";\n @include transition(all 0.1s ease-in-out);\n display:inline-block;\n height: $tog-size;\n width: $tog-size;\n position: absolute;\n $btn-top-clr: #FAFAFA;\n $btn-bottom-clr: #EFF1F3;\n box-shadow: inset 0 1px 0 white, 0 1px 1px rgba(black, 0.1);\n @include linear-gradient($btn-top-clr, $btn-bottom-clr);\n top: 50%;\n margin-top: ($tog-size / 2) * -1;\n left: 2px;\n border-radius: 100px;\n }\n &:hover {\n box-shadow:inset 0 0 0 1px rgba(black,0.1), inset 0 0 0 8px rgba(black,0.05); \n }\n &.active {\n background: $green-clr;\n &:after {\n left: 100%;\n margin-left: ($tog-size * -1) - 2;\n }\n }\n}\n",".notification {\n position: fixed;\n top: 80px;\n $not-width: 300px;\n right: 0;\n width: $not-width;\n z-index: 3000;\n padding: 12px 20px;\n background: $text-2-clr;\n border-top-left-radius:2px;\n border-bottom-left-radius:2px;\n color: white;\n @include transition(all 0.3s ease-in-out);\n &.success {\n background: $green-clr;\n }\n &.error {\n background: $red-clr;\n }\n &.ng-enter {\n right: -$not-width;\n opacity:0;\n }\n &.ng-enter-active {\n right:0;\n opacity:1;\n }\n &.ng-leave-active {\n right:-$not-width;\n opacity:1;\n }\n .title {\n font-size: em(14px);\n margin-bottom: 2px;\n }\n .message {\n font-size: em(12px);\n color: rgba(white, 0.8);\n }\n .close {\n position: absolute;\n top: 5px;\n right:10px;\n color: white;\n text-decoration:none;\n\n }\n}\n",".time-picker {\n width:100%;\n padding: 10px;\n .time-picker-col {\n display:table-cell;\n vertical-align:middle;\n }\n .time-picker-input {\n padding: 5px;\n border-radius: 3px;\n border: 1px solid $border-clr;\n outline:0;\n font-size: 18px;\n &:focus {\n border-color: $blue-clr;\n box-shadow: 0 0 3px rgba($blue-clr, 0.5);\n outline:0;\n }\n }\n}\n\n.time-picker-input {\n padding: em(5px) 0;\n text-align:center;\n border:0;\n font-size:em(14px);\n &.ng-invalid {\n border-color: $red-clr;\n &:focus {\n box-shadow: 0 0 3px rgba($red-clr, 0.5);\n }\n }\n &.ng-valid.ng-dirty {\n border-color: $green-clr;\n }\n &:focus {\n outline:0;\n color: $text-clr;\n }\n}\n\n.time-form {\n width:100%;\n border:1px solid $border-clr;\n th {\n border-bottom:2px solid $border-clr;\n padding: 10px;\n font-size: 14px;\n text-transform:uppercase;\n }\n td {\n border-right: 1px solid $border-clr;\n padding: 10px 10px;\n border-bottom:1px solid $border-clr;\n &:last-child {\n border-right:0;\n }\n input {\n width: 100%;\n }\n }\n tr:last-child {\n td {\n border-bottom:0;\n }\n }\n}\n",".page-placeholder {\n margin:0 auto;\n text-align:center;\n color:#B0B8C4;\n position:absolute;\n top:50%;\n left: 50%;\n @include transform(translateX(-50%) translateY(-50%));\n .image {\n margin-bottom:20px;\n }\n .title {\n font-size: em(36px);\n font-weight: bold;\n margin-bottom: 20px;\n }\n .content {\n font-size: em(14px);\n max-width: 320px;\n font-weight: normal;\n margin-bottom: 20px;\n }\n}\n",".event-description {\n font-size: em(14px);\n white-space: pre-wrap;\n padding-top:20px;\n padding-bottom: 20px;\n line-height:em(24px);\n color: $text-2-clr;\n background: $background-clr;\n border-top: 1px solid $border-clr;\n margin-top: 20px;\n margin-bottom:-20px;\n}\n\n.event-location {\n font-size: em(14px);\n a {\n color: $text-clr;\n text-decoration:none;\n &:hover {\n text-decoration:underline;\n }\n }\n img {\n vertical-align:middle;\n margin-right: 10px;\n }\n}\n\n\n.event-pair {\n margin-bottom: 20px;\n border-bottom: 1px solid $border-clr;\n padding-bottom: 20px;\n float: left;\n width: 100%;\n .icon {\n display:inline-block;\n width: 30px;\n float:left;\n position: relative;\n text-align:center;\n height: 35px;\n border-radius: 3px;\n margin-right: 10px;\n img {\n position: absolute;\n top:50%;\n left: 50%;\n @include transform(translateX(-50%) translateY(-50%));\n }\n }\n .content {\n float:left;\n display:inline-block;\n }\n .key {\n font-weight:bold;\n font-size: 11px;\n }\n .value {\n color: $text-2-clr;\n }\n}\n\n.event-header {\n width: 100%;\n .details {\n display:inline-block;\n .title {\n font-size: em(24px);\n font-weight: bold;\n .title-label {\n font-size: 11px;\n font-weight: normal;\n margin-left: 5px;\n position: relative;\n top: -3px;\n background: $text-2-clr;\n color:white;\n padding: 3px 10px;\n border-radius: 20px;\n &.success {\n background: $green-clr;\n }\n &.danger {\n background: $orangered-clr;\n }\n }\n }\n .subtitle {\n color: $text-2-clr;\n font-size: em(14px);\n a {\n color: $blue-clr;\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n }\n }\n }\n .actions {\n visibility:hidden;\n float: right;\n }\n &:hover {\n .actions {\n visibility:visible;\n }\n }\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["style.scss","partials/_normalize.scss","neat/grid/_box-sizing.scss","bourbon/addons/_prefixer.scss","modules/_vars.scss","partials/_applayout.scss","partials/_navigation.scss","bourbon/css3/_transition.scss","partials/_topbar.scss","partials/ui/_animations.scss","partials/ui/_buttons.scss","bourbon/css3/_linear-gradient.scss","partials/ui/_form.scss","neat/grid/_row.scss","bourbon/addons/_clearfix.scss","neat/grid/_span-columns.scss","modules/_mixins.scss","bourbon/css3/_placeholder.scss","partials/ui/_box.scss","bourbon/css3/_flex-box.scss","partials/ui/_datepicker.scss","partials/ui/_modal.scss","partials/ui/_poll.scss","partials/ui/_tags.scss","partials/ui/_dropdown.scss","partials/ui/_comments.scss","partials/ui/_switch.scss","partials/ui/_notification.scss","partials/ui/_timepicker.scss","partials/pages/_home.scss","partials/pages/_event.scss"],"names":[],"mappings":"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","file":"style.css","sourcesContent":["@import url(http://fonts.googleapis.com/css?family=Roboto:400,600,700);\n@import \"modules/vars\";\n@import \"modules/mixins\";\n@import \"partials/normalize\";\n@import \"bourbon/bourbon\";\n@import \"neat/neat\";\n\nbody {\n font-family: \"Roboto\", \"Helvetica Neue\", Arial, sans-serif;\n}\n\na {\n color: $blue-clr;\n}\n\n@import \"partials/applayout\";\n@import \"partials/navigation\";\n@import \"partials/topbar\";\n@import \"partials/ui/animations\";\n@import \"partials/ui/buttons\";\n@import \"partials/ui/form\";\n@import \"partials/ui/box\";\n@import \"partials/ui/datepicker\";\n@import \"partials/ui/modal\";\n@import \"partials/ui/poll\";\n@import \"partials/ui/tags\";\n@import \"partials/ui/dropdown\";\n@import \"partials/ui/comments\";\n@import \"partials/ui/switch\";\n@import \"partials/ui/notification\";\n@import \"partials/ui/timepicker\";\n\n@import \"partials/pages/home\";\n@import \"partials/pages/event\";\n","/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; /* 1 */\n vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n outline: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n * Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; /* 1 */\n font: inherit; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n * (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; /* 2 */\n box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/* Tables\n ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","@if $border-box-sizing == true {\n html { // http://bit.ly/1qk2tVR\n @include box-sizing(border-box);\n }\n\n * {\n &, &:before, &:after {\n @include box-sizing(inherit);\n }\n }\n}\n","//************************************************************************//\n// Example: @include prefixer(border-radius, $radii, webkit ms spec);\n//************************************************************************//\n// Variables located in /settings/_prefixer.scss\n\n@mixin prefixer ($property, $value, $prefixes) {\n @each $prefix in $prefixes {\n @if $prefix == webkit {\n @if $prefix-for-webkit {\n -webkit-#{$property}: $value;\n }\n }\n @else if $prefix == moz {\n @if $prefix-for-mozilla {\n -moz-#{$property}: $value;\n }\n }\n @else if $prefix == ms {\n @if $prefix-for-microsoft {\n -ms-#{$property}: $value;\n }\n }\n @else if $prefix == o {\n @if $prefix-for-opera {\n -o-#{$property}: $value;\n }\n }\n @else if $prefix == spec {\n @if $prefix-for-spec {\n #{$property}: $value;\n }\n }\n @else {\n @warn \"Unrecognized prefix: #{$prefix}\";\n }\n }\n}\n\n@mixin disable-prefix-for-all() {\n $prefix-for-webkit: false !global;\n $prefix-for-mozilla: false !global;\n $prefix-for-microsoft: false !global;\n $prefix-for-opera: false !global;\n $prefix-for-spec: false !global;\n}\n","$dark-blue-clr: #2E3A54;\n$green-clr: #75C062;\n$pink-clr: #E55A84;\n$red-clr: #E06488;\n$blue-clr: #5AC4E5;\n$light-blue-clr: #F5F6F8;\n$orangered-clr: #FF5D5D;\n\n$text-clr: #3D4043;\n$text-2-clr: #828B9A;\n$text-3-clr: #AEB4BE;\n$border-clr: #D9DDE3;\n$navigation-bg-clr: $dark-blue-clr;\n$background-clr: $light-blue-clr;\n\n$color-collection: (#8A75AE, #80A1DA, #B3DD8B, #7EE4E4, #FCD285, #F7967F, #E8669D, #F7B6E7, #F99D7B, #88D0CB);\n","$navigation-width: 200px;\n$top-bar-height: 60px;\n$min-width: 820px;\n\n.outer-container {\n width:100%;\n height:100%;\n overflow:hidden;\n}\n\nbody {\n background: $background-clr;\n color: $text-clr;\n min-width: $min-width;\n}\n\n.main-navigation {\n position:fixed;\n z-index: 2000;\n min-height:100%;\n width: $navigation-width;\n background: $navigation-bg-clr;\n color: white;\n .wrapper {\n width: $navigation-width;\n padding: 0 40px;\n }\n}\n\n.main-content {\n background: $background-clr;\n margin-left: $navigation-width;\n height:100%;\n overflow-y:scroll;\n .main-view {\n position:relative;\n padding: 100px 40px 20px 40px;\n width:100%;\n min-height: 600px;\n height:100%;\n }\n}\n\n.top-bar {\n width:100%;\n position:fixed;\n top:0;\n background: white;\n height: $top-bar-height;\n z-index: 1000;\n line-height: $top-bar-height;\n}\n","$top-space: 15px;\n$nav-pad: 20px;\n\n@mixin expand {\n padding-left:$nav-pad;\n padding-right: $nav-pad;\n margin-left: $nav-pad * -1;\n width:100%;\n @include box-sizing(content-box);\n}\n\n.main-navigation {\n padding: 0 $nav-pad;\n .logo {\n display:block;\n height: 60px;\n line-height:60px;\n background: darken($navigation-bg-clr, 3%);\n position:relative;\n @include transition(background 0.2s ease-in-out);\n @include expand;\n img {\n position:absolute;\n top:50%;\n margin-top:-12px;\n }\n }\n .menu-section {\n @include expand;\n font-size:10px;\n text-transform:uppercase;\n padding : 10px $nav-pad;\n border-bottom: 1px solid darken($navigation-bg-clr, 3%);\n margin-top:20px;\n margin-bottom:10px;\n }\n .create-new {\n display:block;\n font-size: em(12px);\n color: white;\n background: $green-clr;\n text-decoration: none;\n padding: 12px 5px;\n border-radius: 2px;\n text-align: center;\n font-weight: bold;\n @include box-sizing(content-box);\n width: 100%;\n margin-left:-5px;\n }\n .navigation {\n .links {\n padding:0 ;\n margin:0;\n list-style: none;\n a {\n display:block;\n text-decoration: none;\n color: #616F8D;\n line-height: em(40px);\n font-size: em(12px);\n font-weight:bold;\n &:hover {\n opacity: 1;\n color:white;\n .icon {\n background-position: center bottom;\n }\n }\n &.active {\n opacity:1;\n color: white;\n cursor: default;\n .icon {\n background-position: center bottom;\n }\n }\n .text {\n }\n .icon {\n display:inline-block;\n vertical-align:middle;\n margin-right: 10px;\n width:24px;\n height:24px;\n background-size: 24px 48px;\n }\n\n }\n }\n }\n}\n","// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.\n// Example: @include transition (all 2s ease-in-out);\n// @include transition (opacity 1s ease-in 2s, width 2s ease-out);\n// @include transition-property (transform, opacity);\n\n@mixin transition ($properties...) {\n // Fix for vendor-prefix transform property\n $needs-prefixes: false;\n $webkit: ();\n $moz: ();\n $spec: ();\n\n // Create lists for vendor-prefixed transform\n @each $list in $properties {\n @if nth($list, 1) == \"transform\" {\n $needs-prefixes: true;\n $list1: -webkit-transform;\n $list2: -moz-transform;\n $list3: ();\n\n @each $var in $list {\n $list3: join($list3, $var);\n\n @if $var != \"transform\" {\n $list1: join($list1, $var);\n $list2: join($list2, $var);\n }\n }\n\n $webkit: append($webkit, $list1);\n $moz: append($moz, $list2);\n $spec: append($spec, $list3);\n }\n\n // Create lists for non-prefixed transition properties\n @else {\n $webkit: append($webkit, $list, comma);\n $moz: append($moz, $list, comma);\n $spec: append($spec, $list, comma);\n }\n }\n\n @if $needs-prefixes {\n -webkit-transition: $webkit;\n -moz-transition: $moz;\n transition: $spec;\n }\n @else {\n @if length($properties) >= 1 {\n @include prefixer(transition, $properties, webkit moz spec);\n }\n\n @else {\n $properties: all 0.15s ease-out 0s;\n @include prefixer(transition, $properties, webkit moz spec);\n }\n }\n}\n\n@mixin transition-property ($properties...) {\n -webkit-transition-property: transition-property-names($properties, 'webkit');\n -moz-transition-property: transition-property-names($properties, 'moz');\n transition-property: transition-property-names($properties, false);\n}\n\n@mixin transition-duration ($times...) {\n @include prefixer(transition-duration, $times, webkit moz spec);\n}\n\n@mixin transition-timing-function ($motions...) {\n// ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier()\n @include prefixer(transition-timing-function, $motions, webkit moz spec);\n}\n\n@mixin transition-delay ($times...) {\n @include prefixer(transition-delay, $times, webkit moz spec);\n}\n",".top-bar {\n float: left;\n width: 100%;\n box-shadow: 0 1px 2px rgba($border-clr, 0.5);\n .primary {\n list-style:none;\n margin:0;\n padding-left:20px;\n margin-top:-4px;\n .item {\n img {\n display:inline-block;\n vertical-align:middle;\n }\n .hoverable {\n padding: 8px 12px;\n height: 100%;\n text-decoration:none;\n color: $text-clr;\n font-size: em(12px);\n border: 1px solid transparent;\n border-radius: 3px;\n vertical-align:bottom;\n border-color: $border-clr;\n span {\n vertical-align:middle;\n }\n &:hover {\n border-color: darken($border-clr,10%);\n }\n }\n &.dropdown.open .dropdown-toggle {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-color: $border-clr;\n border-bottom-color: white;\n position: relative;\n z-index:1001;\n }\n .dropdown-menu {\n background: white;\n color: $text-clr;\n font-size: em(16px);\n line-height: 1.5em;\n border: 1px solid $border-clr;\n border-radius: 3px;\n padding: 20px;\n margin-top:-14px;\n border-top-left-radius:0;\n box-shadow: 0 2px 3px $border-clr;\n .dropdown-title {\n font-weight:bold;\n font-size: em(15px);\n }\n .dropdown-content {\n font-size: em(14px);\n line-height: 1.5em;\n color: $text-2-clr;\n }\n }\n }\n\n }\n}\n","@charset \"UTF-8\";\n/*!\nAnimate.css - http://daneden.me/animate\nLicensed under the MIT license - http://opensource.org/licenses/MIT\n\nCopyright (c) 2014 Daniel Eden\n*/\n\n.animated {\n -webkit-animation-duration: 0.3s;\n animation-duration: 0.3s;\n -webkit-animation-fill-mode: both;\n animation-fill-mode: both;\n}\n\n.animated.infinite {\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite;\n}\n\n.animated.hinge {\n -webkit-animation-duration: 2s;\n animation-duration: 2s;\n}\n\n@-webkit-keyframes bounce {\n 0%, 20%, 53%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n -webkit-transform: translate3d(0,0,0);\n transform: translate3d(0,0,0);\n }\n\n 40%, 43% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -30px, 0);\n transform: translate3d(0, -30px, 0);\n }\n\n 70% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -15px, 0);\n transform: translate3d(0, -15px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0,-4px,0);\n transform: translate3d(0,-4px,0);\n }\n}\n\n@keyframes bounce {\n 0%, 20%, 53%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n -webkit-transform: translate3d(0,0,0);\n transform: translate3d(0,0,0);\n }\n\n 40%, 43% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -30px, 0);\n transform: translate3d(0, -30px, 0);\n }\n\n 70% {\n -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);\n -webkit-transform: translate3d(0, -15px, 0);\n transform: translate3d(0, -15px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0,-4px,0);\n transform: translate3d(0,-4px,0);\n }\n}\n\n.bounce {\n -webkit-animation-name: bounce;\n animation-name: bounce;\n -webkit-transform-origin: center bottom;\n -ms-transform-origin: center bottom;\n transform-origin: center bottom;\n}\n\n@-webkit-keyframes flash {\n 0%, 50%, 100% {\n opacity: 1;\n }\n\n 25%, 75% {\n opacity: 0;\n }\n}\n\n@keyframes flash {\n 0%, 50%, 100% {\n opacity: 1;\n }\n\n 25%, 75% {\n opacity: 0;\n }\n}\n\n.flash {\n -webkit-animation-name: flash;\n animation-name: flash;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes pulse {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.05, 1.05, 1.05);\n transform: scale3d(1.05, 1.05, 1.05);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes pulse {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.05, 1.05, 1.05);\n transform: scale3d(1.05, 1.05, 1.05);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.pulse {\n -webkit-animation-name: pulse;\n animation-name: pulse;\n}\n\n@-webkit-keyframes rubberBand {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 30% {\n -webkit-transform: scale3d(1.25, 0.75, 1);\n transform: scale3d(1.25, 0.75, 1);\n }\n\n 40% {\n -webkit-transform: scale3d(0.75, 1.25, 1);\n transform: scale3d(0.75, 1.25, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.15, 0.85, 1);\n transform: scale3d(1.15, 0.85, 1);\n }\n\n 65% {\n -webkit-transform: scale3d(.95, 1.05, 1);\n transform: scale3d(.95, 1.05, 1);\n }\n\n 75% {\n -webkit-transform: scale3d(1.05, .95, 1);\n transform: scale3d(1.05, .95, 1);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes rubberBand {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 30% {\n -webkit-transform: scale3d(1.25, 0.75, 1);\n transform: scale3d(1.25, 0.75, 1);\n }\n\n 40% {\n -webkit-transform: scale3d(0.75, 1.25, 1);\n transform: scale3d(0.75, 1.25, 1);\n }\n\n 50% {\n -webkit-transform: scale3d(1.15, 0.85, 1);\n transform: scale3d(1.15, 0.85, 1);\n }\n\n 65% {\n -webkit-transform: scale3d(.95, 1.05, 1);\n transform: scale3d(.95, 1.05, 1);\n }\n\n 75% {\n -webkit-transform: scale3d(1.05, .95, 1);\n transform: scale3d(1.05, .95, 1);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.rubberBand {\n -webkit-animation-name: rubberBand;\n animation-name: rubberBand;\n}\n\n@-webkit-keyframes shake {\n 0%, 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n 10%, 30%, 50%, 70%, 90% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 20%, 40%, 60%, 80% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n}\n\n@keyframes shake {\n 0%, 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n 10%, 30%, 50%, 70%, 90% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 20%, 40%, 60%, 80% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n}\n\n.shake {\n -webkit-animation-name: shake;\n animation-name: shake;\n}\n\n@-webkit-keyframes swing {\n 20% {\n -webkit-transform: rotate3d(0, 0, 1, 15deg);\n transform: rotate3d(0, 0, 1, 15deg);\n }\n\n 40% {\n -webkit-transform: rotate3d(0, 0, 1, -10deg);\n transform: rotate3d(0, 0, 1, -10deg);\n }\n\n 60% {\n -webkit-transform: rotate3d(0, 0, 1, 5deg);\n transform: rotate3d(0, 0, 1, 5deg);\n }\n\n 80% {\n -webkit-transform: rotate3d(0, 0, 1, -5deg);\n transform: rotate3d(0, 0, 1, -5deg);\n }\n\n 100% {\n -webkit-transform: rotate3d(0, 0, 1, 0deg);\n transform: rotate3d(0, 0, 1, 0deg);\n }\n}\n\n@keyframes swing {\n 20% {\n -webkit-transform: rotate3d(0, 0, 1, 15deg);\n transform: rotate3d(0, 0, 1, 15deg);\n }\n\n 40% {\n -webkit-transform: rotate3d(0, 0, 1, -10deg);\n transform: rotate3d(0, 0, 1, -10deg);\n }\n\n 60% {\n -webkit-transform: rotate3d(0, 0, 1, 5deg);\n transform: rotate3d(0, 0, 1, 5deg);\n }\n\n 80% {\n -webkit-transform: rotate3d(0, 0, 1, -5deg);\n transform: rotate3d(0, 0, 1, -5deg);\n }\n\n 100% {\n -webkit-transform: rotate3d(0, 0, 1, 0deg);\n transform: rotate3d(0, 0, 1, 0deg);\n }\n}\n\n.swing {\n -webkit-transform-origin: top center;\n -ms-transform-origin: top center;\n transform-origin: top center;\n -webkit-animation-name: swing;\n animation-name: swing;\n}\n\n@-webkit-keyframes tada {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 10%, 20% {\n -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n }\n\n 30%, 50%, 70%, 90% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n }\n\n 40%, 60%, 80% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes tada {\n 0% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n\n 10%, 20% {\n -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\n }\n\n 30%, 50%, 70%, 90% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\n }\n\n 40%, 60%, 80% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\n }\n\n 100% {\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.tada {\n -webkit-animation-name: tada;\n animation-name: tada;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes wobble {\n 0% {\n -webkit-transform: none;\n transform: none;\n }\n\n 15% {\n -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n }\n\n 30% {\n -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n }\n\n 45% {\n -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n }\n\n 60% {\n -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n }\n\n 75% {\n -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes wobble {\n 0% {\n -webkit-transform: none;\n transform: none;\n }\n\n 15% {\n -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);\n }\n\n 30% {\n -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);\n }\n\n 45% {\n -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);\n }\n\n 60% {\n -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);\n }\n\n 75% {\n -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.wobble {\n -webkit-animation-name: wobble;\n animation-name: wobble;\n}\n\n@-webkit-keyframes bounceIn {\n 0%, 20%, 40%, 60%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 20% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 40% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(1.03, 1.03, 1.03);\n transform: scale3d(1.03, 1.03, 1.03);\n }\n\n 80% {\n -webkit-transform: scale3d(.97, .97, .97);\n transform: scale3d(.97, .97, .97);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n@keyframes bounceIn {\n 0%, 20%, 40%, 60%, 80%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 20% {\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 40% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(1.03, 1.03, 1.03);\n transform: scale3d(1.03, 1.03, 1.03);\n }\n\n 80% {\n -webkit-transform: scale3d(.97, .97, .97);\n transform: scale3d(.97, .97, .97);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: scale3d(1, 1, 1);\n transform: scale3d(1, 1, 1);\n }\n}\n\n.bounceIn {\n -webkit-animation-name: bounceIn;\n animation-name: bounceIn;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n}\n\n@-webkit-keyframes bounceInDown {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -3000px, 0);\n transform: translate3d(0, -3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, 25px, 0);\n transform: translate3d(0, 25px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, 5px, 0);\n transform: translate3d(0, 5px, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes bounceInDown {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -3000px, 0);\n transform: translate3d(0, -3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, 25px, 0);\n transform: translate3d(0, 25px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, 5px, 0);\n transform: translate3d(0, 5px, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.bounceInDown {\n -webkit-animation-name: bounceInDown;\n animation-name: bounceInDown;\n}\n\n@-webkit-keyframes bounceInLeft {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-3000px, 0, 0);\n transform: translate3d(-3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(25px, 0, 0);\n transform: translate3d(25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(5px, 0, 0);\n transform: translate3d(5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes bounceInLeft {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-3000px, 0, 0);\n transform: translate3d(-3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(25px, 0, 0);\n transform: translate3d(25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(-10px, 0, 0);\n transform: translate3d(-10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(5px, 0, 0);\n transform: translate3d(5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.bounceInLeft {\n -webkit-animation-name: bounceInLeft;\n animation-name: bounceInLeft;\n}\n\n@-webkit-keyframes bounceInRight {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(3000px, 0, 0);\n transform: translate3d(3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(-25px, 0, 0);\n transform: translate3d(-25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(-5px, 0, 0);\n transform: translate3d(-5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes bounceInRight {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(3000px, 0, 0);\n transform: translate3d(3000px, 0, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(-25px, 0, 0);\n transform: translate3d(-25px, 0, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(10px, 0, 0);\n transform: translate3d(10px, 0, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(-5px, 0, 0);\n transform: translate3d(-5px, 0, 0);\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.bounceInRight {\n -webkit-animation-name: bounceInRight;\n animation-name: bounceInRight;\n}\n\n@-webkit-keyframes bounceInUp {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 3000px, 0);\n transform: translate3d(0, 3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, -5px, 0);\n transform: translate3d(0, -5px, 0);\n }\n\n 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n@keyframes bounceInUp {\n 0%, 60%, 75%, 90%, 100% {\n -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);\n }\n\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 3000px, 0);\n transform: translate3d(0, 3000px, 0);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 75% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 90% {\n -webkit-transform: translate3d(0, -5px, 0);\n transform: translate3d(0, -5px, 0);\n }\n\n 100% {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n.bounceInUp {\n -webkit-animation-name: bounceInUp;\n animation-name: bounceInUp;\n}\n\n@-webkit-keyframes bounceOut {\n 20% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 50%, 55% {\n opacity: 1;\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n}\n\n@keyframes bounceOut {\n 20% {\n -webkit-transform: scale3d(.9, .9, .9);\n transform: scale3d(.9, .9, .9);\n }\n\n 50%, 55% {\n opacity: 1;\n -webkit-transform: scale3d(1.1, 1.1, 1.1);\n transform: scale3d(1.1, 1.1, 1.1);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n}\n\n.bounceOut {\n -webkit-animation-name: bounceOut;\n animation-name: bounceOut;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n}\n\n@-webkit-keyframes bounceOutDown {\n 20% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n@keyframes bounceOutDown {\n 20% {\n -webkit-transform: translate3d(0, 10px, 0);\n transform: translate3d(0, 10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n.bounceOutDown {\n -webkit-animation-name: bounceOutDown;\n animation-name: bounceOutDown;\n}\n\n@-webkit-keyframes bounceOutLeft {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(20px, 0, 0);\n transform: translate3d(20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n@keyframes bounceOutLeft {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(20px, 0, 0);\n transform: translate3d(20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n.bounceOutLeft {\n -webkit-animation-name: bounceOutLeft;\n animation-name: bounceOutLeft;\n}\n\n@-webkit-keyframes bounceOutRight {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(-20px, 0, 0);\n transform: translate3d(-20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n@keyframes bounceOutRight {\n 20% {\n opacity: 1;\n -webkit-transform: translate3d(-20px, 0, 0);\n transform: translate3d(-20px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n.bounceOutRight {\n -webkit-animation-name: bounceOutRight;\n animation-name: bounceOutRight;\n}\n\n@-webkit-keyframes bounceOutUp {\n 20% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, 20px, 0);\n transform: translate3d(0, 20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n@keyframes bounceOutUp {\n 20% {\n -webkit-transform: translate3d(0, -10px, 0);\n transform: translate3d(0, -10px, 0);\n }\n\n 40%, 45% {\n opacity: 1;\n -webkit-transform: translate3d(0, 20px, 0);\n transform: translate3d(0, 20px, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n.bounceOutUp {\n -webkit-animation-name: bounceOutUp;\n animation-name: bounceOutUp;\n}\n\n@-webkit-keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n}\n\n@keyframes fadeIn {\n 0% {opacity: 0;}\n 100% {opacity: 1;}\n}\n\n.fadeIn {\n -webkit-animation-name: fadeIn;\n animation-name: fadeIn;\n}\n\n@-webkit-keyframes fadeInDown {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInDown {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInDown {\n -webkit-animation-name: fadeInDown;\n animation-name: fadeInDown;\n}\n\n@-webkit-keyframes fadeInDownBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInDownBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInDownBig {\n -webkit-animation-name: fadeInDownBig;\n animation-name: fadeInDownBig;\n}\n\n@-webkit-keyframes fadeInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInLeft {\n -webkit-animation-name: fadeInLeft;\n animation-name: fadeInLeft;\n}\n\n@-webkit-keyframes fadeInLeftBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInLeftBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInLeftBig {\n -webkit-animation-name: fadeInLeftBig;\n animation-name: fadeInLeftBig;\n}\n\n@-webkit-keyframes fadeInRight {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInRight {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInRight {\n -webkit-animation-name: fadeInRight;\n animation-name: fadeInRight;\n}\n\n@-webkit-keyframes fadeInRightBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInRightBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInRightBig {\n -webkit-animation-name: fadeInRightBig;\n animation-name: fadeInRightBig;\n}\n\n@-webkit-keyframes fadeInUp {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInUp {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInUp {\n -webkit-animation-name: fadeInUp;\n animation-name: fadeInUp;\n}\n\n@-webkit-keyframes fadeInUpBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes fadeInUpBig {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.fadeInUpBig {\n -webkit-animation-name: fadeInUpBig;\n animation-name: fadeInUpBig;\n}\n\n@-webkit-keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n}\n\n@keyframes fadeOut {\n 0% {opacity: 1;}\n 100% {opacity: 0;}\n}\n\n.fadeOut {\n -webkit-animation-name: fadeOut;\n animation-name: fadeOut;\n}\n\n@-webkit-keyframes fadeOutDown {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n}\n\n@keyframes fadeOutDown {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 100%, 0);\n transform: translate3d(0, 100%, 0);\n }\n}\n\n.fadeOutDown {\n -webkit-animation-name: fadeOutDown;\n animation-name: fadeOutDown;\n}\n\n@-webkit-keyframes fadeOutDownBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n@keyframes fadeOutDownBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, 2000px, 0);\n transform: translate3d(0, 2000px, 0);\n }\n}\n\n.fadeOutDownBig {\n -webkit-animation-name: fadeOutDownBig;\n animation-name: fadeOutDownBig;\n}\n\n@-webkit-keyframes fadeOutLeft {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n@keyframes fadeOutLeft {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.fadeOutLeft {\n -webkit-animation-name: fadeOutLeft;\n animation-name: fadeOutLeft;\n}\n\n@-webkit-keyframes fadeOutLeftBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n@keyframes fadeOutLeftBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(-2000px, 0, 0);\n transform: translate3d(-2000px, 0, 0);\n }\n}\n\n.fadeOutLeftBig {\n -webkit-animation-name: fadeOutLeftBig;\n animation-name: fadeOutLeftBig;\n}\n\n@-webkit-keyframes fadeOutRight {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n\n@keyframes fadeOutRight {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.fadeOutRight {\n -webkit-animation-name: fadeOutRight;\n animation-name: fadeOutRight;\n}\n\n@-webkit-keyframes fadeOutRightBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n@keyframes fadeOutRightBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(2000px, 0, 0);\n transform: translate3d(2000px, 0, 0);\n }\n}\n\n.fadeOutRightBig {\n -webkit-animation-name: fadeOutRightBig;\n animation-name: fadeOutRightBig;\n}\n\n@-webkit-keyframes fadeOutUp {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n}\n\n@keyframes fadeOutUp {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -100%, 0);\n transform: translate3d(0, -100%, 0);\n }\n}\n\n.fadeOutUp {\n -webkit-animation-name: fadeOutUp;\n animation-name: fadeOutUp;\n}\n\n@-webkit-keyframes fadeOutUpBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n@keyframes fadeOutUpBig {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(0, -2000px, 0);\n transform: translate3d(0, -2000px, 0);\n }\n}\n\n.fadeOutUpBig {\n -webkit-animation-name: fadeOutUpBig;\n animation-name: fadeOutUpBig;\n}\n\n@-webkit-keyframes flip {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 40% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 50% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 80% {\n -webkit-transform: perspective(400px) scale3d(.95, .95, .95);\n transform: perspective(400px) scale3d(.95, .95, .95);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n}\n\n@keyframes flip {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -360deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 40% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n\n 50% {\n -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 80% {\n -webkit-transform: perspective(400px) scale3d(.95, .95, .95);\n transform: perspective(400px) scale3d(.95, .95, .95);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n }\n}\n\n.animated.flip {\n -webkit-backface-visibility: visible;\n backface-visibility: visible;\n -webkit-animation-name: flip;\n animation-name: flip;\n}\n\n@-webkit-keyframes flipInX {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n@keyframes flipInX {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n.flipInX {\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n -webkit-animation-name: flipInX;\n animation-name: flipInX;\n}\n\n@-webkit-keyframes flipInY {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n@keyframes flipInY {\n 0% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n opacity: 0;\n }\n\n 40% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\n -webkit-transition-timing-function: ease-in;\n transition-timing-function: ease-in;\n }\n\n 60% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -5deg);\n }\n\n 100% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n}\n\n.flipInY {\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n -webkit-animation-name: flipInY;\n animation-name: flipInY;\n}\n\n@-webkit-keyframes flipOutX {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n}\n\n@keyframes flipOutX {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n transform: perspective(400px) rotate3d(1, 0, 0, -20deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n transform: perspective(400px) rotate3d(1, 0, 0, 90deg);\n opacity: 0;\n }\n}\n\n.flipOutX {\n -webkit-animation-name: flipOutX;\n animation-name: flipOutX;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n}\n\n@-webkit-keyframes flipOutY {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n opacity: 0;\n }\n}\n\n@keyframes flipOutY {\n 0% {\n -webkit-transform: perspective(400px);\n transform: perspective(400px);\n }\n\n 30% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n transform: perspective(400px) rotate3d(0, 1, 0, -15deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\n opacity: 0;\n }\n}\n\n.flipOutY {\n -webkit-backface-visibility: visible !important;\n backface-visibility: visible !important;\n -webkit-animation-name: flipOutY;\n animation-name: flipOutY;\n -webkit-animation-duration: .75s;\n animation-duration: .75s;\n}\n\n@-webkit-keyframes lightSpeedIn {\n 0% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);\n transform: translate3d(100%, 0, 0) skewX(-30deg);\n opacity: 0;\n }\n\n 60% {\n -webkit-transform: skewX(20deg);\n transform: skewX(20deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: skewX(-5deg);\n transform: skewX(-5deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes lightSpeedIn {\n 0% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);\n transform: translate3d(100%, 0, 0) skewX(-30deg);\n opacity: 0;\n }\n\n 60% {\n -webkit-transform: skewX(20deg);\n transform: skewX(20deg);\n opacity: 1;\n }\n\n 80% {\n -webkit-transform: skewX(-5deg);\n transform: skewX(-5deg);\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.lightSpeedIn {\n -webkit-animation-name: lightSpeedIn;\n animation-name: lightSpeedIn;\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n}\n\n@-webkit-keyframes lightSpeedOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);\n transform: translate3d(100%, 0, 0) skewX(30deg);\n opacity: 0;\n }\n}\n\n@keyframes lightSpeedOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);\n transform: translate3d(100%, 0, 0) skewX(30deg);\n opacity: 0;\n }\n}\n\n.lightSpeedOut {\n -webkit-animation-name: lightSpeedOut;\n animation-name: lightSpeedOut;\n -webkit-animation-timing-function: ease-in;\n animation-timing-function: ease-in;\n}\n\n@-webkit-keyframes rotateIn {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, -200deg);\n transform: rotate3d(0, 0, 1, -200deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateIn {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, -200deg);\n transform: rotate3d(0, 0, 1, -200deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateIn {\n -webkit-animation-name: rotateIn;\n animation-name: rotateIn;\n}\n\n@-webkit-keyframes rotateInDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInDownLeft {\n -webkit-animation-name: rotateInDownLeft;\n animation-name: rotateInDownLeft;\n}\n\n@-webkit-keyframes rotateInDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInDownRight {\n -webkit-animation-name: rotateInDownRight;\n animation-name: rotateInDownRight;\n}\n\n@-webkit-keyframes rotateInUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInUpLeft {\n -webkit-animation-name: rotateInUpLeft;\n animation-name: rotateInUpLeft;\n}\n\n@-webkit-keyframes rotateInUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -90deg);\n transform: rotate3d(0, 0, 1, -90deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n@keyframes rotateInUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -90deg);\n transform: rotate3d(0, 0, 1, -90deg);\n opacity: 0;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n }\n}\n\n.rotateInUpRight {\n -webkit-animation-name: rotateInUpRight;\n animation-name: rotateInUpRight;\n}\n\n@-webkit-keyframes rotateOut {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, 200deg);\n transform: rotate3d(0, 0, 1, 200deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOut {\n 0% {\n -webkit-transform-origin: center;\n transform-origin: center;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: center;\n transform-origin: center;\n -webkit-transform: rotate3d(0, 0, 1, 200deg);\n transform: rotate3d(0, 0, 1, 200deg);\n opacity: 0;\n }\n}\n\n.rotateOut {\n -webkit-animation-name: rotateOut;\n animation-name: rotateOut;\n}\n\n@-webkit-keyframes rotateOutDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutDownLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, 45deg);\n transform: rotate3d(0, 0, 1, 45deg);\n opacity: 0;\n }\n}\n\n.rotateOutDownLeft {\n -webkit-animation-name: rotateOutDownLeft;\n animation-name: rotateOutDownLeft;\n}\n\n@-webkit-keyframes rotateOutDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutDownRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n.rotateOutDownRight {\n -webkit-animation-name: rotateOutDownRight;\n animation-name: rotateOutDownRight;\n}\n\n@-webkit-keyframes rotateOutUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutUpLeft {\n 0% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: left bottom;\n transform-origin: left bottom;\n -webkit-transform: rotate3d(0, 0, 1, -45deg);\n transform: rotate3d(0, 0, 1, -45deg);\n opacity: 0;\n }\n}\n\n.rotateOutUpLeft {\n -webkit-animation-name: rotateOutUpLeft;\n animation-name: rotateOutUpLeft;\n}\n\n@-webkit-keyframes rotateOutUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 90deg);\n transform: rotate3d(0, 0, 1, 90deg);\n opacity: 0;\n }\n}\n\n@keyframes rotateOutUpRight {\n 0% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform-origin: right bottom;\n transform-origin: right bottom;\n -webkit-transform: rotate3d(0, 0, 1, 90deg);\n transform: rotate3d(0, 0, 1, 90deg);\n opacity: 0;\n }\n}\n\n.rotateOutUpRight {\n -webkit-animation-name: rotateOutUpRight;\n animation-name: rotateOutUpRight;\n}\n\n@-webkit-keyframes hinge {\n 0% {\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 20%, 60% {\n -webkit-transform: rotate3d(0, 0, 1, 80deg);\n transform: rotate3d(0, 0, 1, 80deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 40%, 80% {\n -webkit-transform: rotate3d(0, 0, 1, 60deg);\n transform: rotate3d(0, 0, 1, 60deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(0, 700px, 0);\n transform: translate3d(0, 700px, 0);\n opacity: 0;\n }\n}\n\n@keyframes hinge {\n 0% {\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 20%, 60% {\n -webkit-transform: rotate3d(0, 0, 1, 80deg);\n transform: rotate3d(0, 0, 1, 80deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n\n 40%, 80% {\n -webkit-transform: rotate3d(0, 0, 1, 60deg);\n transform: rotate3d(0, 0, 1, 60deg);\n -webkit-transform-origin: top left;\n transform-origin: top left;\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n opacity: 1;\n }\n\n 100% {\n -webkit-transform: translate3d(0, 700px, 0);\n transform: translate3d(0, 700px, 0);\n opacity: 0;\n }\n}\n\n.hinge {\n -webkit-animation-name: hinge;\n animation-name: hinge;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes rollIn {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes rollIn {\n 0% {\n opacity: 0;\n -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);\n }\n\n 100% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.rollIn {\n -webkit-animation-name: rollIn;\n animation-name: rollIn;\n}\n\n/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */\n\n@-webkit-keyframes rollOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n }\n}\n\n@keyframes rollOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);\n }\n}\n\n.rollOut {\n -webkit-animation-name: rollOut;\n animation-name: rollOut;\n}\n\n@-webkit-keyframes zoomIn {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes zoomIn {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 50% {\n opacity: 1;\n }\n}\n\n.zoomIn {\n -webkit-animation-name: zoomIn;\n animation-name: zoomIn;\n}\n\n@-webkit-keyframes zoomInDown {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInDown {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInDown {\n -webkit-animation-name: zoomInDown;\n animation-name: zoomInDown;\n}\n\n@-webkit-keyframes zoomInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInLeft {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInLeft {\n -webkit-animation-name: zoomInLeft;\n animation-name: zoomInLeft;\n}\n\n@-webkit-keyframes zoomInRight {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInRight {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInRight {\n -webkit-animation-name: zoomInRight;\n animation-name: zoomInRight;\n}\n\n@-webkit-keyframes zoomInUp {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomInUp {\n 0% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 60% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomInUp {\n -webkit-animation-name: zoomInUp;\n animation-name: zoomInUp;\n}\n\n@-webkit-keyframes zoomOut {\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n@keyframes zoomOut {\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0;\n -webkit-transform: scale3d(.3, .3, .3);\n transform: scale3d(.3, .3, .3);\n }\n\n 100% {\n opacity: 0;\n }\n}\n\n.zoomOut {\n -webkit-animation-name: zoomOut;\n animation-name: zoomOut;\n}\n\n@-webkit-keyframes zoomOutDown {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomOutDown {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomOutDown {\n -webkit-animation-name: zoomOutDown;\n animation-name: zoomOutDown;\n}\n\n@-webkit-keyframes zoomOutLeft {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);\n transform: scale(.1) translate3d(-2000px, 0, 0);\n -webkit-transform-origin: left center;\n transform-origin: left center;\n }\n}\n\n@keyframes zoomOutLeft {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);\n transform: scale(.1) translate3d(-2000px, 0, 0);\n -webkit-transform-origin: left center;\n transform-origin: left center;\n }\n}\n\n.zoomOutLeft {\n -webkit-animation-name: zoomOutLeft;\n animation-name: zoomOutLeft;\n}\n\n@-webkit-keyframes zoomOutRight {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(2000px, 0, 0);\n transform: scale(.1) translate3d(2000px, 0, 0);\n -webkit-transform-origin: right center;\n transform-origin: right center;\n }\n}\n\n@keyframes zoomOutRight {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale(.1) translate3d(2000px, 0, 0);\n transform: scale(.1) translate3d(2000px, 0, 0);\n -webkit-transform-origin: right center;\n transform-origin: right center;\n }\n}\n\n.zoomOutRight {\n -webkit-animation-name: zoomOutRight;\n animation-name: zoomOutRight;\n}\n\n@-webkit-keyframes zoomOutUp {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n@keyframes zoomOutUp {\n 40% {\n opacity: 1;\n -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);\n }\n\n 100% {\n opacity: 0;\n -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);\n }\n}\n\n.zoomOutUp {\n -webkit-animation-name: zoomOutUp;\n animation-name: zoomOutUp;\n}\n\n@-webkit-keyframes slideInDown {\n 0% {\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n@keyframes slideInDown {\n 0% {\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n.slideInDown {\n -webkit-animation-name: slideInDown;\n animation-name: slideInDown;\n}\n\n@-webkit-keyframes slideInLeft {\n 0% {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n@keyframes slideInLeft {\n 0% {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n.slideInLeft {\n -webkit-animation-name: slideInLeft;\n animation-name: slideInLeft;\n}\n\n@-webkit-keyframes slideInRight {\n 0% {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n@keyframes slideInRight {\n 0% {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n}\n\n.slideInRight {\n -webkit-animation-name: slideInRight;\n animation-name: slideInRight;\n}\n\n@-webkit-keyframes slideInUp {\n 0% {\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n@keyframes slideInUp {\n 0% {\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n visibility: visible;\n }\n\n 100% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n}\n\n.slideInUp {\n -webkit-animation-name: slideInUp;\n animation-name: slideInUp;\n}\n\n@-webkit-keyframes slideOutDown {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n }\n}\n\n@keyframes slideOutDown {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(100%);\n transform: translateY(100%);\n }\n}\n\n.slideOutDown {\n -webkit-animation-name: slideOutDown;\n animation-name: slideOutDown;\n}\n\n@-webkit-keyframes slideOutLeft {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n }\n}\n\n@keyframes slideOutLeft {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n }\n}\n\n.slideOutLeft {\n -webkit-animation-name: slideOutLeft;\n animation-name: slideOutLeft;\n}\n\n@-webkit-keyframes slideOutRight {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n }\n}\n\n@keyframes slideOutRight {\n 0% {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n }\n}\n\n.slideOutRight {\n -webkit-animation-name: slideOutRight;\n animation-name: slideOutRight;\n}\n\n@-webkit-keyframes slideOutUp {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n }\n}\n\n@keyframes slideOutUp {\n 0% {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n }\n\n 100% {\n visibility: hidden;\n -webkit-transform: translateY(-100%);\n transform: translateY(-100%);\n }\n}\n\n.slideOutUp {\n -webkit-animation-name: slideOutUp;\n animation-name: slideOutUp;\n}\n",".btn {\n $btn-top-clr: #FAFAFA;\n $btn-bottom-clr: #EFF1F3;\n border:1px solid #E0E3E9;\n display:inline-block;\n border-radius: 2px;\n box-shadow: inset 0 1px 0 white, 0 1px 1px rgba($border-clr,0.5);\n @include linear-gradient($btn-top-clr, $btn-bottom-clr);\n font-size: em(12px);\n font-weight:600;\n color: $text-2-clr;\n text-decoration:none;\n padding: em(8px) em(15px);\n &:hover {\n @include linear-gradient(lighten($btn-top-clr,0.5%), lighten($btn-bottom-clr,1%));\n }\n &.disabled {\n cursor:default;\n opacity: 0.5;\n &:active {\n box-shadow: inset 0 1px 0 white, 0 1px 1px rgba(black, 0.1);\n }\n }\n &.danger {\n color: $red-clr;\n }\n &:focus {\n outline:0;\n }\n &:active {\n box-shadow: none;\n }\n}\n","@mixin linear-gradient($pos, $G1, $G2: null,\n $G3: null, $G4: null,\n $G5: null, $G6: null,\n $G7: null, $G8: null,\n $G9: null, $G10: null,\n $fallback: null) {\n // Detect what type of value exists in $pos\n $pos-type: type-of(nth($pos, 1));\n $pos-spec: null;\n $pos-degree: null;\n\n // If $pos is missing from mixin, reassign vars and add default position\n @if ($pos-type == color) or (nth($pos, 1) == \"transparent\") {\n $G10: $G9; $G9: $G8; $G8: $G7; $G7: $G6; $G6: $G5;\n $G5: $G4; $G4: $G3; $G3: $G2; $G2: $G1; $G1: $pos;\n $pos: null;\n }\n\n @if $pos {\n $positions: _linear-positions-parser($pos);\n $pos-degree: nth($positions, 1);\n $pos-spec: nth($positions, 2);\n }\n\n $full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10;\n\n // Set $G1 as the default fallback color\n $fallback-color: nth($G1, 1);\n\n // If $fallback is a color use that color as the fallback color\n @if (type-of($fallback) == color) or ($fallback == \"transparent\") {\n $fallback-color: $fallback;\n }\n\n background-color: $fallback-color;\n background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome\n background-image: unquote(\"linear-gradient(#{$pos-spec}#{$full})\");\n}\n","form {\n margin:0;\n &.ng-submitted {\n .ng-invalid {\n border-color: $pink-clr !important;\n }\n }\n}\n\n.form-container {\n width:100%;\n}\n\n.form-row {\n @include row();\n margin-bottom:10px;\n @include user-select(none);\n}\n\n.form-col {\n @include span-columns(6);\n &.padded {\n &:first-child {\n padding: 0 20px 0 0;\n }\n &:last-child {\n padding: 0 0 0 20px;\n }\n }\n}\n\n.form-group {\n & > label {\n font-size:em(12px);\n color: $text-3-clr;\n display:inline-block;\n line-height:em(30px);\n\n }\n .form-error {\n font-size: em(12px);\n color: $red-clr;\n float: right;\n img {\n vertical-align:bottom;\n margin-right: 3px;\n }\n }\n &.optional > label:after {\n content: \" (optional)\";\n }\n &.error {\n input.form-control, textarea.form-control {\n\n border-color: $pink-clr;\n background: rgba($pink-clr,0.02);\n }\n }\n input.form-control, textarea.form-control {\n @include form-input;\n }\n .form-btn {\n padding: em(12px) em(15px);\n }\n input.form-control {\n vertical-align:middle;\n padding: em(5px) em(10px);\n }\n\n textarea.form-control {\n min-height: 135px;\n font-size: em(18px);\n padding: em(8px) em(10px);\n }\n\n}\n\n\n.form-submit-message {\n display:inline-block;\n margin-left: em(5px);\n font-size: em(12px);\n &.error {\n color: $red-clr;\n }\n img {\n vertical-align:middle;\n margin-right: em(5px);\n }\n}\n","/// Designates the element as a row of columns in the grid layout. It clears the floats on the element and sets its display property. Rows can't be nested, but there can be more than one row element—with different display properties—per layout.\n///\n/// @param {String} $display (default)\n/// Sets the display property of the element and the display context that will be used by its children. Can be `block` or `table`.\n///\n/// @param {String} $direction ($default-layout-direction)\n/// Sets the layout direction. Can be `LTR` (left-to-right) or `RTL` (right-to-left).\n///\n/// @example scss - Usage\n/// .element {\n/// @include row();\n/// }\n///\n/// @example css - CSS Output\n/// .element {\n/// *zoom: 1;\n/// display: block;\n/// }\n///\n/// .element:before, .element:after {\n/// content: \" \";\n/// display: table;\n/// }\n///\n/// .element:after {\n/// clear: both;\n/// }\n\n@mixin row($display: default, $direction: $default-layout-direction) {\n @if $direction != $default-layout-direction {\n @include -neat-warn(\"The $direction argument will be deprecated in future versions in favor of the direction(){...} mixin.\");\n }\n\n $layout-direction: $direction !global;\n\n @if $display != default {\n @include -neat-warn(\"The $display argument will be deprecated in future versions in favor of the display(){...} mixin.\");\n }\n\n @if $display == table {\n display: table;\n @include fill-parent;\n table-layout: fixed;\n $container-display-table: true !global;\n }\n\n @else {\n @include clearfix;\n display: block;\n $container-display-table: false !global;\n }\n}\n\n","// Modern micro clearfix provides an easy way to contain floats without adding additional markup.\n//\n// Example usage:\n//\n// // Contain all floats within .wrapper\n// .wrapper {\n// @include clearfix;\n// .content,\n// .sidebar {\n// float : left;\n// }\n// }\n\n@mixin clearfix {\n &:after {\n content:\"\";\n display:table;\n clear:both;\n }\n}\n\n// Acknowledgements\n// Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php)\n","/// Specifies the number of columns an element should span. If the selector is nested the number of columns of its parent element should be passed as an argument as well.\n///\n/// @param {List} $span\n/// A list containing `$columns`, the unitless number of columns the element spans (required), and `$container-columns`, the number of columns the parent element spans (optional).\n///\n/// If only one value is passed, it is assumed that it's `$columns` and that that `$container-columns` is equal to `$grid-columns`, the total number of columns in the grid.\n///\n/// The values can be separated with any string such as `of`, `/`, etc.\n///\n/// @param {String} $display (block)\n/// Sets the display property of the element. By default it sets the display propert of the element to `block`.\n///\n/// If passed `block-collapse`, it also removes the margin gutter by adding it to the element width.\n///\n/// If passed `table`, it sets the display property to `table-cell` and calculates the width of the element without taking gutters into consideration. The result does not align with the block-based grid.\n///\n/// @example scss - Usage\n/// .element {\n/// @include span-columns(6);\n///\n/// .nested-element {\n/// @include span-columns(2 of 6);\n/// }\n/// }\n///\n/// @example css - CSS Output\n/// .element {\n/// display: block;\n/// float: left;\n/// margin-right: 2.35765%;\n/// width: 48.82117%;\n/// }\n///\n/// .element:last-child {\n/// margin-right: 0;\n/// }\n///\n/// .element .nested-element {\n/// display: block;\n/// float: left;\n/// margin-right: 4.82916%;\n/// width: 30.11389%;\n/// }\n///\n/// .element .nested-element:last-child {\n/// margin-right: 0;\n/// }\n\n@mixin span-columns($span: $columns of $container-columns, $display: block) {\n $columns: nth($span, 1);\n $container-columns: container-span($span);\n\n $parent-columns: get-parent-columns($container-columns) !global;\n\n $direction: get-direction($layout-direction, $default-layout-direction);\n $opposite-direction: get-opposite-direction($direction);\n\n $display-table: is-display-table($container-display-table, $display);\n\n @if $display-table {\n display: table-cell;\n width: percentage($columns / $container-columns);\n } @else {\n float: #{$opposite-direction};\n\n @if $display != no-display {\n display: block;\n }\n\n @if $display == collapse {\n @include -neat-warn(\"The 'collapse' argument will be deprecated. Use 'block-collapse' instead.\");\n }\n\n @if $display == collapse or $display == block-collapse {\n width: flex-grid($columns, $container-columns) + flex-gutter($container-columns);\n\n &:last-child {\n width: flex-grid($columns, $container-columns);\n }\n\n } @else {\n margin-#{$direction}: flex-gutter($container-columns);\n width: flex-grid($columns, $container-columns);\n\n &:last-child {\n margin-#{$direction}: 0;\n }\n }\n }\n}\n","@mixin form-input {\n border-radius: 2px;\n border: 1px solid $border-clr;\n font-size:em(18px);\n @include transition(border-color 0.1s ease-in-out);\n &:focus {\n border-color: $blue-clr;\n outline:none;\n background: white;\n }\n &.extend {\n width:100%;\n }\n @include placeholder {\n color: rgba($text-3-clr,0.7);\n }\n}\n","@mixin placeholder {\n $placeholders: \":-webkit-input\" \":-moz\" \"-moz\" \"-ms-input\";\n @each $placeholder in $placeholders {\n &:#{$placeholder}-placeholder {\n @content;\n }\n }\n}\n","$box-v-pad: 20px;\n$box-h-pad: 25px;\n\n.box {\n background: white;\n border: 1px solid $border-clr;\n border-radius: 3px;\n margin: 0 auto 20px auto;\n max-width: 800px;\n min-width:700px;\n overflow:hidden;\n padding: $box-v-pad $box-h-pad;\n &.box-x-scroll {\n overflow-x: scroll;\n }\n &.invisible {\n background: transparent;\n border:0;\n padding: 0;\n margin-bottom:40px;\n }\n &.highlight {\n border-color: $blue-clr;\n box-shadow: 0 0 3px rgba($blue-clr, 0.5);\n }\n}\n\n.box-title {\n font-size: 24px;\n font-weight: bold;\n color: $text-clr;\n margin-bottom:20px;\n}\n\n.box-description {\n font-size: 14px;\n color: $text-2-clr;\n padding-bottom: 20px;\n border-bottom: 1px solid $border-clr;\n margin-top: -20px;\n margin-bottom: 20px;\n a {\n color: $text-clr;\n text-decoration:none;\n &:hover {\n border: 1px solid $border-clr;\n }\n }\n}\n.box-section {\n padding-top: 20px;\n &:first-child {\n border:0;\n }\n @include row;\n .section-details {\n @include span-columns(3);\n .section-title {\n font-size: em(14px);\n color: $text-2-clr;\n margin-bottom:20px;\n }\n }\n .section-main {\n @include span-columns(9);\n\n }\n}\n\n.box-message {\n text-align:center;\n padding:40px;\n max-width:500px;\n margin:0 auto;\n .main-image {\n margin-bottom: 20px;\n }\n .title {\n font-weight: bold;\n font-size: em(24px);\n color: $text-clr;\n margin-bottom: em(10px);\n }\n .content {\n font-size: em(14px);\n color: $text-2-clr;\n margin-bottom: 20px;\n }\n .mini-divider:after {\n content: \"\";\n display:inline-block;\n width:200px;\n height:1px;\n background: $border-clr;\n margin:20px auto;\n\n }\n}\n\n.box-side-sticky {\n padding: $box-v-pad $box-h-pad;\n box-sizing: content-box;\n width: 100%;\n margin-left: $box-h-pad * -1;\n\n}\n\n.box-bottom-sticky {\n padding: $box-v-pad $box-h-pad;\n box-sizing: content-box;\n width: 100%;\n margin-top:20px;\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n border-top: 1px solid $border-clr;\n margin-bottom: $box-v-pad * -1;\n margin-left: $box-h-pad * -1;\n}\n\n.box-controls {\n text-align: right;\n box-shadow: inset 0 1px 0 white;\n background: lighten($background-clr, 1%);\n margin-top: $box-v-pad;\n padding: 15px $box-h-pad;\n}\n\n.box-steps {\n @include display(flex);\n width:100%;\n list-style-position:inside;\n padding:0;\n margin:40px 0 10px 0;\n .step {\n @include flex(1);\n color: $text-2-clr;\n font-size: em(14px);\n margin: 0 0 0 0;\n padding: 0 0 10px 10px;\n border-bottom:2px solid $border-clr;\n position:relative;\n @include transition(all 0.2s ease-in-out);\n &:first-child {\n padding-left : 0;\n }\n &:after {\n content: \"\";\n position:absolute;\n bottom:-2px;\n left:0;\n height: 2px;\n width:0;\n background: $green-clr;\n @include transition(all 0.2s ease-in-out);\n }\n &.active {\n color: $text-clr;\n &:after {\n width:100%;\n }\n }\n }\n}\n","// CSS3 Flexible Box Model and property defaults\n\n// Custom shorthand notation for flexbox\n@mixin box($orient: inline-axis, $pack: start, $align: stretch) {\n @include display-box;\n @include box-orient($orient);\n @include box-pack($pack);\n @include box-align($align);\n}\n\n@mixin display-box {\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox; // IE 10\n display: box;\n}\n\n@mixin box-orient($orient: inline-axis) {\n// horizontal|vertical|inline-axis|block-axis|inherit\n @include prefixer(box-orient, $orient, webkit moz spec);\n}\n\n@mixin box-pack($pack: start) {\n// start|end|center|justify\n @include prefixer(box-pack, $pack, webkit moz spec);\n -ms-flex-pack: $pack; // IE 10\n}\n\n@mixin box-align($align: stretch) {\n// start|end|center|baseline|stretch\n @include prefixer(box-align, $align, webkit moz spec);\n -ms-flex-align: $align; // IE 10\n}\n\n@mixin box-direction($direction: normal) {\n// normal|reverse|inherit\n @include prefixer(box-direction, $direction, webkit moz spec);\n -ms-flex-direction: $direction; // IE 10\n}\n\n@mixin box-lines($lines: single) {\n// single|multiple\n @include prefixer(box-lines, $lines, webkit moz spec);\n}\n\n@mixin box-ordinal-group($int: 1) {\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n -ms-flex-order: $int; // IE 10\n}\n\n@mixin box-flex($value: 0.0) {\n @include prefixer(box-flex, $value, webkit moz spec);\n -ms-flex: $value; // IE 10\n}\n\n@mixin box-flex-group($int: 1) {\n @include prefixer(box-flex-group, $int, webkit moz spec);\n}\n\n// CSS3 Flexible Box Model and property defaults\n// Unified attributes for 2009, 2011, and 2012 flavours.\n\n// 2009 - display (box | inline-box)\n// 2011 - display (flexbox | inline-flexbox)\n// 2012 - display (flex | inline-flex)\n@mixin display($value) {\n// flex | inline-flex\n @if $value == \"flex\" {\n // 2009\n display: -webkit-box;\n display: -moz-box;\n display: box;\n\n // 2012\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox; // 2011 (IE 10)\n display: flex;\n }\n\n @elseif $value == \"inline-flex\" {\n display: -webkit-inline-box;\n display: -moz-inline-box;\n display: inline-box;\n\n display: -webkit-inline-flex;\n display: -moz-inline-flex;\n display: -ms-inline-flexbox;\n display: inline-flex;\n }\n\n @else {\n display: $value;\n }\n}\n\n// 2009 - box-flex (integer)\n// 2011 - flex (decimal | width decimal)\n// 2012 - flex (integer integer width)\n@mixin flex($value) {\n\n // Grab flex-grow for older browsers.\n $flex-grow: nth($value, 1);\n\n // 2009\n @include prefixer(box-flex, $flex-grow, webkit moz spec);\n\n // 2011 (IE 10), 2012\n @include prefixer(flex, $value, webkit moz ms spec);\n}\n\n// 2009 - box-orient ( horizontal | vertical | inline-axis | block-axis)\n// - box-direction (normal | reverse) \n// 2011 - flex-direction (row | row-reverse | column | column-reverse)\n// 2012 - flex-direction (row | row-reverse | column | column-reverse)\n@mixin flex-direction($value: row) {\n\n // Alt values.\n $value-2009: $value;\n $value-2011: $value;\n $direction: \"normal\";\n\n @if $value == row {\n $value-2009: horizontal;\n }\n\n @elseif $value == \"row-reverse\" {\n $value-2009: horizontal;\n $direction: reverse;\n }\n\n @elseif $value == column {\n $value-2009: vertical;\n }\n\n @elseif $value == \"column-reverse\" {\n $value-2009: vertical;\n $direction: reverse;\n }\n\n // 2009\n @include prefixer(box-orient, $value-2009, webkit moz spec);\n @if $direction == \"reverse\" {\n @include prefixer(box-direction, $direction, webkit moz spec);\n }\n\n // 2012\n @include prefixer(flex-direction, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-direction: $value;\n}\n\n// 2009 - box-lines (single | multiple)\n// 2011 - flex-wrap (nowrap | wrap | wrap-reverse)\n// 2012 - flex-wrap (nowrap | wrap | wrap-reverse)\n@mixin flex-wrap($value: nowrap) {\n\n // Alt values.\n $alt-value: $value;\n @if $value == nowrap {\n $alt-value: single;\n }\n\n @elseif $value == wrap {\n $alt-value: multiple;\n }\n\n @elseif $value == \"wrap-reverse\" {\n $alt-value: multiple;\n }\n\n @include prefixer(box-lines, $alt-value, webkit moz spec);\n @include prefixer(flex-wrap, $value, webkit moz ms spec);\n}\n\n// 2009 - TODO: parse values into flex-direction/flex-wrap\n// 2011 - TODO: parse values into flex-direction/flex-wrap\n// 2012 - flex-flow (flex-direction || flex-wrap)\n@mixin flex-flow($value) {\n @include prefixer(flex-flow, $value, webkit moz spec);\n}\n\n// 2009 - box-ordinal-group (integer)\n// 2011 - flex-order (integer)\n// 2012 - order (integer)\n@mixin order($int: 0) {\n // 2009\n @include prefixer(box-ordinal-group, $int, webkit moz spec);\n\n // 2012\n @include prefixer(order, $int, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-order: $int;\n}\n\n// 2012 - flex-grow (number)\n@mixin flex-grow($number: 0) {\n @include prefixer(flex-grow, $number, webkit moz spec);\n -ms-flex-positive: $number;\n}\n\n// 2012 - flex-shrink (number)\n@mixin flex-shrink($number: 1) {\n @include prefixer(flex-shrink, $number, webkit moz spec);\n -ms-flex-negative: $number;\n}\n\n// 2012 - flex-basis (number)\n@mixin flex-basis($width: auto) {\n @include prefixer(flex-basis, $width, webkit moz spec);\n -ms-flex-preferred-size: $width;\n}\n\n// 2009 - box-pack (start | end | center | justify)\n// 2011 - flex-pack (start | end | center | justify)\n// 2012 - justify-content (flex-start | flex-end | center | space-between | space-around)\n@mixin justify-content ($value: flex-start) {\n\n // Alt values.\n $alt-value: $value;\n @if $value == \"flex-start\" {\n $alt-value: start;\n }\n\n @elseif $value == \"flex-end\" {\n $alt-value: end;\n }\n\n @elseif $value == \"space-between\" {\n $alt-value: justify;\n }\n\n @elseif $value == \"space-around\" {\n $alt-value: center;\n }\n\n // 2009\n @include prefixer(box-pack, $alt-value, webkit moz spec);\n\n // 2012\n @include prefixer(justify-content, $value, webkit moz ms o spec);\n\n // 2011 (IE 10)\n -ms-flex-pack: $alt-value;\n}\n\n// 2009 - box-align (start | end | center | baseline | stretch)\n// 2011 - flex-align (start | end | center | baseline | stretch)\n// 2012 - align-items (flex-start | flex-end | center | baseline | stretch)\n@mixin align-items($value: stretch) {\n\n $alt-value: $value;\n\n @if $value == \"flex-start\" {\n $alt-value: start;\n } \n\n @elseif $value == \"flex-end\" {\n $alt-value: end;\n }\n\n // 2009\n @include prefixer(box-align, $alt-value, webkit moz spec);\n\n // 2012\n @include prefixer(align-items, $value, webkit moz ms o spec);\n \n // 2011 (IE 10)\n -ms-flex-align: $alt-value; \n}\n\n// 2011 - flex-item-align (auto | start | end | center | baseline | stretch)\n// 2012 - align-self (auto | flex-start | flex-end | center | baseline | stretch)\n@mixin align-self($value: auto) {\n\n $value-2011: $value;\n @if $value == \"flex-start\" {\n $value-2011: start;\n } \n\n @elseif $value == \"flex-end\" {\n $value-2011: end;\n }\n\n // 2012\n @include prefixer(align-self, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-item-align: $value-2011;\n}\n\n// 2011 - flex-line-pack (start | end | center | justify | distribute | stretch)\n// 2012 - align-content (flex-start | flex-end | center | space-between | space-around | stretch)\n@mixin align-content($value: stretch) {\n\n $value-2011: $value;\n @if $value == \"flex-start\" {\n $value-2011: start;\n } \n\n @elseif $value == \"flex-end\" {\n $value-2011: end;\n }\n\n @elseif $value == \"space-between\" {\n $value-2011: justify;\n }\n\n @elseif $value == \"space-around\" {\n $value-2011: distribute;\n }\n\n // 2012\n @include prefixer(align-content, $value, webkit moz spec);\n\n // 2011 (IE 10)\n -ms-flex-line-pack: $value-2011;\n}\n\n",".ng-submitted .ng-invalid > .date-picker {\n border-color: $pink-clr;\n}\n\n.date-picker {\n border: 1px solid $border-clr;\n border-radius: 2px;\n @include transition(border-color 0.2s ease-in-out);\n .wrapper {\n padding:20px;\n }\n .date-picker-head {\n display:table;\n width:100%;\n margin-bottom:30px;\n text-align:center;\n .title {\n display:inline-block;\n width:200px;\n margin: 0 20px;\n font-weight:bold;\n font-size: em(18px);\n }\n .arrow {\n text-decoration:none;\n color: $text-3-clr;\n position:relative;\n border: 1px solid $border-clr;\n display:inline-block;\n width: 25px;\n border-radius: 2px;\n font-size: 12px;\n line-height:25px;\n text-align:center;\n float:left;\n box-shadow: 0 1px 1px rgba($border-clr,0.5);\n margin:0 20px;\n &:last-child {\n float:right;\n }\n &:hover {\n color: $text-clr;\n }\n &:active {\n box-shadow:none;\n }\n\n }\n }\n .dow {\n font-size:0;\n padding-bottom: 10px;\n border-bottom: 2px solid $border-clr;\n margin-bottom: 10px;\n .day {\n text-transform:uppercase;\n font-size: 14px;\n display:inline-block;\n width: (100% / 7);\n text-align:center;\n color: $pink-clr;\n }\n }\n .values {\n .value {\n display:inline-block;\n width: (100% / 7);\n text-align:center;\n font-size: em(14px);\n line-height:em(55px);\n position:relative;\n font-weight: bold;\n &.today {\n color:#818176;\n &:after {\n opacity:1;\n background: rgba(yellow, 0.1);\n }\n }\n &.outside {\n color: $text-3-clr;\n font-weight:normal;\n }\n &:after {\n content: \" \";\n cursor:pointer;\n opacity: 0;\n position:absolute;\n $size: em(42px);\n width:$size;\n height:$size;\n margin-left:$size * -0.5;\n margin-top:$size * -0.5;\n left:50%;\n top:50%;\n border-radius: 2px;\n }\n &:hover {\n &:after {\n opacity:1;\n background: rgba($border-clr,0.4);\n }\n cursor: pointer;\n }\n &.active {\n background:white;\n color: $green-clr;\n &:after {\n opacity:1;\n background: rgba($green-clr,0.1);\n }\n }\n }\n }\n}\n\n.daticon-list {\n margin:0;\n margin-left:-10px;\n list-style:none;\n padding:5px;\n text-align:left;\n li {\n display:inline-block;\n margin: 10px 10px 0 0;\n }\n}\n\n.daticon {\n box-shadow: 0 0 0 1px rgba($border-clr,0.5);\n border-radius: 3px;\n display:inline-block;\n padding:em(8px) em(16px);\n text-align:center;\n position:relative;\n cursor:default;\n background:white;\n .dow {\n font-size: em(6px);\n margin-top:em(-24px);\n background:white;\n color: $text-3-clr;\n margin-bottom: em(4px);\n font-weight:normal;\n text-transform: uppercase;\n }\n .day {\n font-size: em(20px);\n font-weight:normal;\n color: $pink-clr;\n line-height: em(16px);\n }\n .month {\n font-weight: 600;\n font-size: em(12px);\n text-transform: uppercase;\n }\n .delete {\n text-align:center;\n border:0;\n $size: 18px;\n width: em($size);\n height: em($size);\n position:absolute;\n top: $size * -0.4;\n right: $size * -0.4;\n border-radius:100%;\n display:inline-block;\n background: rgba($border-clr, 0.5) url(../images/close@2x.png) no-repeat center center;\n background-size: 7px 8px;\n cursor:pointer;\n opacity:0;\n &:hover {\n background-color: rgba($border-clr, 0.8)\n }\n }\n .count {\n text-align:center;\n border:0;\n $size: 18px;\n width: $size;\n height: $size;\n position:absolute;\n top: $size * -0.4;\n right: $size * -0.4;\n border-radius:100%;\n font-weight:bold;\n display:inline-block;\n background: darken($border-clr, 10%);\n color:white;\n font-size: 9px;\n line-height: $size;\n @include transition(background-color 0.2s ease-in-out);\n &.top {\n background: $orangered-clr;\n }\n\n }\n &:hover {\n .delete {\n opacity: 1;\n }\n }\n}\n",".rl-modal {\n background:white;\n position: fixed;\n top: 50%;\n left: 50%;\n width: 50%;\n max-width: 400px;\n display:inline-block;\n min-width: 200px;\n height: auto;\n z-index: 2000;\n overflow:hidden;\n border-radius: 5px;\n box-shadow: 0 0 0 1px $border-clr, 0 0 0 5px rgba($border-clr,0.5);\n @include transform(translateX(-50%) translateY(-50%));\n .rl-modal-message {\n padding: 0 20px 20px 20px;\n font-size: em(12px);\n color: $text-2-clr;\n }\n .rl-modal-title {\n padding:20px 20px 0 20px;\n font-size: em(18px);\n font-weight: bold;\n }\n .rl-modal-actions {\n border-top:1px solid $border-clr;\n box-shadow: inset 0 1px 0 white;\n background: lighten($background-clr,1%);\n text-align:right;\n padding: em(10px) em(20px);\n }\n}\n\n.rl-modal-overlay {\n position:fixed;\n z-index: 1999;\n top:0;\n left:0;\n width:100%;\n height:100%;\n background:rgba(black,0.1);\n\n}\n","$actions-col-width : 160px;\n$date-col-width: 70px;\n$name-col-width: 235px;\n\n.poll {\n margin-top:20px;\n min-width: 100%;\n display:block;\n border:1px solid rgba($border-clr, 0.5);\n border-radius: 3px;\n overflow-x:scroll;\n}\n\n.poll-header {\n display:table;\n min-width: 100%;\n padding-top:20px;\n overflow:hidden;\n border-bottom:1px solid $border-clr;\n box-shadow: 0 3px 0 rgba($border-clr, 0.3);\n .header {\n display:table-cell;\n vertical-align:bottom;\n padding-bottom:10px;\n &.date-header {\n text-align:center;\n min-width: $date-col-width;\n width: $date-col-width;\n }\n &.actions-header {\n min-width: $actions-col-width;\n }\n &.participants-header {\n font-weight: bold;\n min-width: $name-col-width;\n width: $name-col-width;\n padding-left: 20px;\n }\n }\n}\n\n.poll-body {\n min-width:100%;\n overflow:hidden;\n display:table;\n .poll-example {\n position:relative;\n &.hidden {\n display:none;\n }\n .overlay {\n position:absolute;\n top:0;\n left:0;\n width:100%;\n height: 100%;\n border-bottom:1px solid $border-clr;\n background: rgba(white, 0.75);\n text-align: center;\n .overlay-text {\n position:absolute;\n top:50%;\n left:50%;\n font-size: em(18px);\n font-weight: bold;\n color: $text-3-clr;\n background: rgba(white, 0.9);\n padding: 10px;\n @include transform(translateX(-50%) translateY(-50%));\n }\n }\n }\n .poll-entry.highlight {\n background: lighten($border-clr,10%);\n }\n .poll-entry {\n display:table;\n min-width: 100%;\n border-bottom: 1px solid rgba($border-clr,0.5);\n &:last-child {\n border-bottom:0;\n }\n .hover {\n visibility:hidden;\n }\n &:hover {\n .hover {\n visibility: visible;\n }\n }\n .cell {\n padding: em(10px);\n display:table-cell;\n height: 50px;\n vertical-align:middle;\n &.name-cell {\n min-width: $name-col-width;\n width: $name-col-width;\n font-size: em(14px);\n padding-left:20px;\n .avatar {\n display:inline-block;\n padding: 5px;\n margin-right: 5px;\n border-radius: 2px;\n background: #D0D5DF;\n @for $i from 0 to length($color-collection) {\n &.style-#{$i + 1} {\n background: nth($color-collection, $i+1);\n }\n }\n }\n .name {\n padding: 5px 3px;\n margin-left: 2px;\n border-radius: 2px;\n &.editable:hover {\n background: $background-clr;\n cursor: pointer;\n }\n }\n .form-control {\n border:1px solid $border-clr;\n padding: em(5px);\n border-radius: 2px;\n color: $text-clr;\n &:focus {\n outline:0;\n border-color: $blue-clr;\n box-shadow: 0 0 3px rgba($blue-clr, 0.5);\n }\n @include placeholder {\n color: rgba($text-2-clr,0.7);\n }\n }\n }\n &.action-cell {\n min-width: $actions-col-width;\n }\n &.vote-cell {\n min-width: $date-col-width;\n width: $date-col-width;\n text-align:center;\n position: relative;\n .overlay {\n position: absolute;\n top:0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 10;\n &:hover {\n background: rgba($border-clr, 0.2);\n cursor: pointer;\n }\n }\n }\n }\n &.ng-submitted {\n .ng-invalid {\n border-color: $pink-clr !important;\n }\n }\n }\n}\n","$tag-font-size: 14px;\n\ntags-input {\n display: block;\n}\ntags-input *, tags-input *:before, tags-input *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\ntags-input .host {\n position: relative;\n margin-top: 5px;\n margin-bottom: 5px;\n &:focus {\n outline:0;\n }\n}\ntags-input .host:active {\n outline: none;\n}\n\ntags-input .tags {\n padding: 4px;\n overflow: hidden;\n word-wrap: break-word;\n cursor: text;\n border-radius: 3px;\n background-color: white;\n border: 1px solid $border-clr;\n @include transition(border-color 0.1s ease-in-out);\n}\ntags-input .tags.focused {\n outline: none;\n}\n\ntags-input .tags .tag-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\ntags-input .tags .tag-item {\n margin: 2px;\n padding: 0 8px;\n display: inline-block;\n float: left;\n font-size: em($tag-font-size);\n height: 26px;\n line-height: 25px;\n border-radius: 1px;\n background:#E5EBF2;\n color: #7587A1;\n box-shadow:0 0 0 1px #CBD4E2;\n}\ntags-input .tags .tag-item.selected {\n background: $red-clr;\n color: white;\n box-shadow: none;\n}\ntags-input .tags .tag-item .remove-button {\n margin: 0 0 0 5px;\n padding: 0;\n border: none;\n background: none;\n color: inherit;\n cursor: pointer;\n vertical-align: middle;\n font: bold em(16px) Arial, sans-serif;\n}\n\ntags-input .tags .input {\n border: 0;\n outline: none;\n margin: 2px;\n padding: 0;\n padding-left: 8px;\n float: left;\n height: 26px;\n font-size: em($tag-font-size);\n @include placeholder {\n color: $text-3-clr;\n }\n}\n\ntags-input .tags .input.invalid-tag {\n color: $red-clr;\n}\n\ntags-input .tags .input::-ms-clear {\n display: none;\n}\n\ntags-input.ng-invalid .tags {\n // highlight tags when model is invalid\n}\n",".dropdown {\n position:relative;\n cursor: pointer;\n .dropdown-menu {\n position: absolute;\n display:none;\n z-index: 1000;\n float:left;\n min-width:160px;\n max-width: 180px;\n padding: 5px;\n text-align:left;\n left:0;\n }\n &.open .dropdown-menu {\n display: block;\n }\n .dropdown-toggle {\n &:after {\n content: \"\";\n width: 6px;\n height: 4px;\n margin-left: 10px;\n display:inline-block;\n background-image: url(\"../images/dropdown_arrow.png\");\n background-size: 6px 4px;\n background-repeat:no-repeat;\n }\n }\n}\n",".comments-info {\n font-weight: bold;\n padding-bottom: 10px;\n border-bottom: 2px solid $border-clr;\n}\n\n.comment-form {\n @include row;\n margin-top:20px;\n padding: 0 10px;\n .avatar-section {\n @include span-columns(1);\n img {\n border-radius: 3px;\n max-width: 100%;\n }\n }\n .input-section {\n @include span-columns(11);\n }\n .content-section {\n margin-bottom:10px;\n }\n .name-section {\n position:relative;\n margin-bottom: 10px;\n }\n .form-control {\n font-size: em(14px) !important;\n }\n textarea.form-control {\n min-height: 0;\n min-width: 100%;\n }\n}\n\n.comments-placeholder {\n color: $text-3-clr;\n text-align:center;\n}\n\n.comment-thread {\n list-style:none;\n margin:0;\n padding:0;\n margin-bottom: 20px;\n max-height: 500px;\n overflow-y: scroll;\n .comment {\n @include row;\n padding: 10px;\n .avatar-section {\n @include span-columns(1);\n img {\n max-width: 100%;\n border-radius: 3px;\n }\n }\n .comment-section {\n @include span-columns(11);\n position:relative;\n .comment-delete {\n opacity:0;\n text-decoration:none;\n color:white;\n background-color: $border-clr;\n color: $text-3-clr;\n border-radius: 2px;\n display:inline-block;\n position:absolute;\n right:0;\n top:0;\n font-size: em(14px);\n $cd-size: em(16px);\n width: $cd-size;\n height: $cd-size;\n line-height: $cd-size;\n text-align: center;\n &:hover {\n background: $red-clr;\n color: white;\n }\n &:active {\n background: darken($red-clr, 5%);\n }\n }\n .meta {\n font-size: em(13px);\n color: $text-2-clr;\n margin-bottom: 5px;\n }\n .name {\n color: $text-2-clr;\n font-weight: 600;\n }\n .time:before {\n content: \" \";\n display: inline-block;\n height: 4px;\n width: 4px;\n background: $text-3-clr;\n margin: 0 5px 2px 5px;\n border-radius: 100%;\n }\n .content {\n font-size: em(14px);\n margin-bottom: 5px;\n white-space: pre-wrap;\n margin-right: 100px;\n }\n .actions {\n opacity:0.8;\n a {\n color: $text-2-clr;\n font-size: em(12px);\n text-decoration: none;\n &:hover {\n color: $blue-clr;\n }\n }\n }\n }\n &:hover {\n background: $background-clr;\n cursor:default;\n border-radius: 3px;\n .name {\n color: $blue-clr;\n }\n .comment-delete {\n opacity: 1;\n }\n }\n }\n}\n",".switch-row {\n display:table;\n width: 100%;\n margin-bottom: 20px;\n padding-bottom: 20px;\n border-bottom: 1px solid $border-clr;\n &:last-child {\n border:0;\n }\n .switch-details {\n display:table-cell;\n .title {\n font-size: em(14px);\n font-weight: bold;\n }\n .description {\n font-size: em(12px);\n color: $text-2-clr;\n }\n }\n .switch {\n display:table-cell;\n text-align:right;\n min-width: 150px;\n vertical-align:middle;\n .switch-value {\n font-size: em(12px);\n color: $text-2-clr;\n display:inline-block;\n vertical-align:middle;\n\n }\n }\n}\n\n.switch-toggle {\n display:inline-block;\n margin-left: 5px;\n height: 20px;\n width: 40px;\n border-radius: 20px;\n vertical-align:middle;\n position:relative;\n cursor:pointer;\n background: $red-clr;\n box-shadow: inset 0 0 0 1px rgba(black,0.1);\n @include transition(all 0.1s ease-in-out);\n $tog-size: 16px;\n &:after {\n content: \" \";\n @include transition(all 0.1s ease-in-out);\n display:inline-block;\n height: $tog-size;\n width: $tog-size;\n position: absolute;\n $btn-top-clr: #FAFAFA;\n $btn-bottom-clr: #EFF1F3;\n box-shadow: inset 0 1px 0 white, 0 1px 1px rgba(black, 0.1);\n @include linear-gradient($btn-top-clr, $btn-bottom-clr);\n top: 50%;\n margin-top: ($tog-size / 2) * -1;\n left: 2px;\n border-radius: 100px;\n }\n &:hover {\n box-shadow:inset 0 0 0 1px rgba(black,0.1), inset 0 0 0 8px rgba(black,0.05); \n }\n &.active {\n background: $green-clr;\n &:after {\n left: 100%;\n margin-left: ($tog-size * -1) - 2;\n }\n }\n}\n",".notification {\n position: fixed;\n top: 80px;\n $not-width: 300px;\n right: 0;\n width: $not-width;\n z-index: 3000;\n padding: 12px 20px;\n background: $text-2-clr;\n border-top-left-radius:2px;\n border-bottom-left-radius:2px;\n color: white;\n @include transition(all 0.3s ease-in-out);\n &.success {\n background: $green-clr;\n }\n &.error {\n background: $red-clr;\n }\n &.ng-enter {\n right: -$not-width;\n opacity:0;\n }\n &.ng-enter-active {\n right:0;\n opacity:1;\n }\n &.ng-leave-active {\n right:-$not-width;\n opacity:1;\n }\n .title {\n font-size: em(14px);\n margin-bottom: 2px;\n }\n .message {\n font-size: em(12px);\n color: rgba(white, 0.8);\n }\n .close {\n position: absolute;\n top: 5px;\n right:10px;\n color: white;\n text-decoration:none;\n\n }\n}\n",".time-picker {\n width:100%;\n padding: 10px;\n .time-picker-col {\n display:table-cell;\n vertical-align:middle;\n }\n .time-picker-input {\n padding: 5px;\n border-radius: 3px;\n border: 1px solid $border-clr;\n outline:0;\n font-size: 18px;\n &:focus {\n border-color: $blue-clr;\n box-shadow: 0 0 3px rgba($blue-clr, 0.5);\n outline:0;\n }\n }\n}\n\n.time-picker-input {\n padding: em(5px) 0;\n text-align:center;\n border:0;\n font-size:em(14px);\n &.ng-invalid {\n border-color: $red-clr;\n &:focus {\n box-shadow: 0 0 3px rgba($red-clr, 0.5);\n }\n }\n &.ng-valid.ng-dirty {\n border-color: $green-clr;\n }\n &:focus {\n outline:0;\n color: $text-clr;\n }\n}\n\n.time-form {\n width:100%;\n border:1px solid $border-clr;\n th {\n border-bottom:2px solid $border-clr;\n padding: 10px;\n font-size: 14px;\n text-transform:uppercase;\n }\n td {\n border-right: 1px solid $border-clr;\n padding: 10px 10px;\n border-bottom:1px solid $border-clr;\n &:last-child {\n border-right:0;\n }\n input {\n width: 100%;\n }\n }\n tr:last-child {\n td {\n border-bottom:0;\n }\n }\n}\n",".page-placeholder {\n margin:0 auto;\n text-align:center;\n color:#B0B8C4;\n position:absolute;\n top:50%;\n left: 50%;\n @include transform(translateX(-50%) translateY(-50%));\n .image {\n margin-bottom:20px;\n }\n .title {\n font-size: em(36px);\n font-weight: bold;\n margin-bottom: 20px;\n }\n .content {\n font-size: em(14px);\n max-width: 320px;\n font-weight: normal;\n margin-bottom: 20px;\n }\n}\n",".event-header {\n width: 100%;\n margin-bottom:20px;\n .details {\n display:inline-block;\n .title {\n font-size: em(24px);\n font-weight: bold;\n .title-label {\n font-size: 11px;\n font-weight: normal;\n margin-left: 5px;\n position: relative;\n top: -3px;\n background: $text-2-clr;\n color:white;\n padding: 3px 10px;\n border-radius: 20px;\n &.success {\n background: $green-clr;\n }\n &.danger {\n background: $orangered-clr;\n }\n }\n }\n .subtitle {\n color: $text-2-clr;\n font-size: em(13px);\n a {\n color: $blue-clr;\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n }\n }\n }\n .actions {\n visibility:hidden;\n float: right;\n }\n &:hover {\n .actions {\n visibility:visible;\n }\n }\n}\n\n.event-description {\n font-size: em(18px);\n white-space: pre-wrap;\n margin-bottom: 20px;\n background: $background-clr;\n line-height:em(24px);\n position:relative;\n color: $text-2-clr;\n border-top:1px solid $border-clr;\n border-bottom: 1px solid $border-clr;\n}\n\n.event-location {\n font-size: em(14px);\n margin-bottom:20px;\n color: $text-3-clr;\n a {\n color: $text-clr;\n text-decoration:none;\n &:hover {\n text-decoration:underline;\n }\n }\n img {\n vertical-align:middle;\n margin-right: 10px;\n }\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/public/js/main.js b/public/js/main.js index 37add02c7..d4df8579f 100644 --- a/public/js/main.js +++ b/public/js/main.js @@ -1,4 +1,4 @@ -angular.module('rallly', ['ui.router','ngResource','btford.modal','ngTagsInput','ngAnimate']) +angular.module('rallly', ['ui.router','ngResource','btford.modal','ngTagsInput','ngAnimate','ngFitText']) .config(function($stateProvider, $urlRouterProvider, $locationProvider){ $locationProvider.html5Mode(true); $urlRouterProvider.otherwise("/notfound") diff --git a/public/js/templates.js b/public/js/templates.js index 8b99981dd..331af4cb8 100644 --- a/public/js/templates.js +++ b/public/js/templates.js @@ -1,7 +1,7 @@ angular.module("rallly").run(["$templateCache", function($templateCache) {$templateCache.put("templates/about.html","
\n

What is Rallly?

\n
Rallly is a collaborative scheduling service that makes deciding on a date fast and easy.
\n

Hi, I\'m Luke!

\n

\n I created Rallly as side project to help me learn some new technologies. I decided to publish it because I thought other people might find it useful. Rallly is a completely free service. In fact it is even open source. You can look at the latest source code on Github.\n

\n
\n"); $templateCache.put("templates/confirmmodal.html","
\n\n
\n
{{modal.title}}
\n
\n {{modal.message}}\n
\n
\n \n \n
\n
\n"); $templateCache.put("templates/editevent.html","
\n
\n\n
Edit Event
\n
\n You can makes changes to your existing event by changing the fields in the form below.\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n \n \n Done\n
\n\n
\n\n
\n\n
\n"); -$templateCache.put("templates/event.html","
\n
\n
\n
\n
\n {{event.title}}\n Poll Closed\n Poll Open\n
\n
\n Created by {{event.creator.name}} • {{event.created | elapsed}}\n
\n
\n
\n \n
\n
\n
{{event.description}}
\n \n\n
\n
\n
\n
\n
\n\n
\n
\n Discussion\n
\n
\n You can discuss the event with your friends by leaving a comment below.\n
\n
\n\n
\n
\n
\n"); +$templateCache.put("templates/event.html","
\n
\n
\n
\n
\n {{event.title}}\n Poll Closed\n Poll Open\n
\n
\n Created by {{event.creator.name}} • {{event.created | elapsed}}\n
\n
\n
\n \n
\n
\n
{{event.description}}
\n
\n Location:\n {{event.location}}\n
\n\n
\n
\n
\n\n
\n
\n Discussion\n
\n
\n You can discuss the event with your friends by leaving a comment below.\n
\n
\n\n
\n
\n
\n"); $templateCache.put("templates/home.html","
\n
\n \n
\n
\n Schedule an Event\n
\n
\n Want to host an event but can’t decide on a date? Click on the button below to start!\n
\n \n
\n"); $templateCache.put("templates/newevent.html","
\n
\n\n
Schedule a New Event
\n
\n Fill in the form below to create your event and share it with your friends and colleagues.\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n
\n
\n\n
\n\n
\n\n
\n\n
\n
\n\n
\n\n
\n\n
\n\n
\n\n\n
\n \n \n \n
\n\n
\n
\n\n
\n
\n
\n
\n \n
\n
Event Created
\n
\n Your event has been created successfully! You should receive an email shortly with instructions to verify your email address.\n
\n
\n
\n
\n \n GO\n
\n
\n
\n"); $templateCache.put("templates/notfound.html","

Error 404

\n

Not Found

\n"); diff --git a/public/scss/partials/pages/_event.scss b/public/scss/partials/pages/_event.scss index 248d7da36..361bd504a 100644 --- a/public/scss/partials/pages/_event.scss +++ b/public/scss/partials/pages/_event.scss @@ -1,69 +1,6 @@ -.event-description { - font-size: em(14px); - white-space: pre-wrap; - padding-top:20px; - padding-bottom: 20px; - line-height:em(24px); - color: $text-2-clr; - background: $background-clr; - border-top: 1px solid $border-clr; - margin-top: 20px; - margin-bottom:-20px; -} - -.event-location { - font-size: em(14px); - a { - color: $text-clr; - text-decoration:none; - &:hover { - text-decoration:underline; - } - } - img { - vertical-align:middle; - margin-right: 10px; - } -} - - -.event-pair { - margin-bottom: 20px; - border-bottom: 1px solid $border-clr; - padding-bottom: 20px; - float: left; - width: 100%; - .icon { - display:inline-block; - width: 30px; - float:left; - position: relative; - text-align:center; - height: 35px; - border-radius: 3px; - margin-right: 10px; - img { - position: absolute; - top:50%; - left: 50%; - @include transform(translateX(-50%) translateY(-50%)); - } - } - .content { - float:left; - display:inline-block; - } - .key { - font-weight:bold; - font-size: 11px; - } - .value { - color: $text-2-clr; - } -} - .event-header { width: 100%; + margin-bottom:20px; .details { display:inline-block; .title { @@ -89,7 +26,7 @@ } .subtitle { color: $text-2-clr; - font-size: em(14px); + font-size: em(13px); a { color: $blue-clr; text-decoration: none; @@ -109,3 +46,32 @@ } } } + +.event-description { + font-size: em(18px); + white-space: pre-wrap; + margin-bottom: 20px; + background: $background-clr; + line-height:em(24px); + position:relative; + color: $text-2-clr; + border-top:1px solid $border-clr; + border-bottom: 1px solid $border-clr; +} + +.event-location { + font-size: em(14px); + margin-bottom:20px; + color: $text-3-clr; + a { + color: $text-clr; + text-decoration:none; + &:hover { + text-decoration:underline; + } + } + img { + vertical-align:middle; + margin-right: 10px; + } +} diff --git a/public/scss/partials/ui/_comments.scss b/public/scss/partials/ui/_comments.scss index 831fa07d8..bed877bd4 100644 --- a/public/scss/partials/ui/_comments.scss +++ b/public/scss/partials/ui/_comments.scss @@ -6,7 +6,6 @@ .comment-form { @include row; - margin-bottom: 20px; margin-top:20px; padding: 0 10px; .avatar-section { diff --git a/public/scss/partials/ui/_datepicker.scss b/public/scss/partials/ui/_datepicker.scss index fcf98458d..f27107da7 100644 --- a/public/scss/partials/ui/_datepicker.scss +++ b/public/scss/partials/ui/_datepicker.scss @@ -114,149 +114,6 @@ } } -.ng-submitted .ng-invalid > .datepicker { - border-color: $pink-clr; -} -.datepicker { - width:100%; - border:1px solid rgba($border-clr, 0.5); - border-radius: 3px; - background:white; - padding: em(10px); - @include transition(border-color 0.1s ease-in-out); - table { - width:100%; - font-size: em($em-base); - } - thead { - - } - tbody { - &:before { - content: ''; - display:block; - height: em(10px); - } - } - .prev, .next { - opacity: 0.5; - color: $text-2-clr; - cursor: pointer; - border-radius:5px; - position:relative; - &:hover { - opacity: 1; - &:after { - opacity: 1; - background: rgba($border-clr, 0.3); - } - } - &:after { - content: " "; - cursor:pointer; - opacity: 0; - position:absolute; - $size: em(28px); - width:$size; - height:$size; - margin-left:$size * -0.5; - margin-top:$size * -0.5; - left:50%; - top:50%; - border-radius:3px; - @include transition(background-color 0.1s ease-in-out); - } - } - .datepicker-switch { - padding: 10px; - font-weight:600; - font-size:em(18px); - border-radius: 3px; - cursor: pointer; - @include transition(background-color 0.1s ease-in-out); - &:hover { - background: rgba($border-clr, 0.4); - } - } - .dow { - padding:10px; - font-weight:normal; - text-transform: uppercase; - color: $pink-clr; - font-size: em(14px); - border-bottom: 2px solid rgba($border-clr, 0.3); - } - .dow, .day { - padding:em(15px); - } - .day { - text-align:center; - font-weight:600; - position:relative; - font-size:em(14px); - &.today { - color:#818176; - &:after { - opacity:1; - background: rgba(yellow, 0.1); - } - } - &:hover { - &:after { - opacity:1; - background: rgba($border-clr,0.4); - } - cursor: pointer; - } - &.new, &.old { - font-weight:normal; - color: $text-3-clr; - } - &.active { - background:white; - color: $green-clr; - &:after { - opacity:1; - background: rgba($green-clr,0.1); - } - } - &:active { - &:after { - opacity: 0.8; - } - } - &:after { - content: " "; - @include transition(all 0.1s ease-in-out); - cursor:pointer; - opacity: 0; - position:absolute; - $size: em(40px); - width:$size; - height:$size; - margin-left:$size * -0.5; - margin-top:$size * -0.5; - left:50%; - top:50%; - border-radius: 3px; - } - } - .month, .year { - width: 33.3%; - display:inline-block; - text-align:center; - font-size: em(14px); - padding:em(20px); - cursor:pointer; - @include transition(background-color 0.1s ease-in-out); - border-radius: 3px; - text-transform: uppercase; - &:hover { - background: rgba($border-clr, 0.3); - } - } -} - .daticon-list { margin:0; margin-left:-10px; diff --git a/public/scss/partials/ui/_poll.scss b/public/scss/partials/ui/_poll.scss index f03c78120..b4910dfa5 100644 --- a/public/scss/partials/ui/_poll.scss +++ b/public/scss/partials/ui/_poll.scss @@ -3,20 +3,25 @@ $date-col-width: 70px; $name-col-width: 235px; .poll { + margin-top:20px; min-width: 100%; display:block; - margin-bottom:20px; + border:1px solid rgba($border-clr, 0.5); + border-radius: 3px; + overflow-x:scroll; } .poll-header { display:table; min-width: 100%; + padding-top:20px; + overflow:hidden; border-bottom:1px solid $border-clr; box-shadow: 0 3px 0 rgba($border-clr, 0.3); .header { display:table-cell; vertical-align:bottom; - padding-bottom:20px; + padding-bottom:10px; &.date-header { text-align:center; min-width: $date-col-width; @@ -29,13 +34,15 @@ $name-col-width: 235px; font-weight: bold; min-width: $name-col-width; width: $name-col-width; - padding-left: em(10px); + padding-left: 20px; } } } .poll-body { min-width:100%; + overflow:hidden; + display:table; .poll-example { position:relative; &.hidden { @@ -70,6 +77,9 @@ $name-col-width: 235px; display:table; min-width: 100%; border-bottom: 1px solid rgba($border-clr,0.5); + &:last-child { + border-bottom:0; + } .hover { visibility:hidden; } @@ -87,6 +97,7 @@ $name-col-width: 235px; min-width: $name-col-width; width: $name-col-width; font-size: em(14px); + padding-left:20px; .avatar { display:inline-block; padding: 5px; diff --git a/public/templates/event.html b/public/templates/event.html index a2346239f..10f8fdc4c 100644 --- a/public/templates/event.html +++ b/public/templates/event.html @@ -15,13 +15,12 @@ -
{{event.description}}
-
- {{event.location}} +
{{event.description}}
+
+ Location: + {{event.location}}
-
-
diff --git a/public/vendor/bootstrap-datepicker/.bower.json b/public/vendor/bootstrap-datepicker/.bower.json deleted file mode 100644 index 97b089c74..000000000 --- a/public/vendor/bootstrap-datepicker/.bower.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "bootstrap-datepicker", - "version": "1.3.1", - "main": [ - "js/bootstrap-datepicker.js", - "css/datepicker.css", - "css/datepicker3.css" - ], - "dependencies": { - "jquery": ">=1.7.1", - "bootstrap": ">=3.0 <4.0" - }, - "homepage": "https://github.com/eternicode/bootstrap-datepicker", - "_release": "1.3.1", - "_resolution": { - "type": "version", - "tag": "1.3.1", - "commit": "809a5c2ae394c3c93a7ff823ffec8039787d136c" - }, - "_source": "git://github.com/eternicode/bootstrap-datepicker.git", - "_target": "~1.3.0", - "_originalSource": "bootstrap-datepicker" -} \ No newline at end of file diff --git a/public/vendor/bootstrap-datepicker/.gitignore b/public/vendor/bootstrap-datepicker/.gitignore deleted file mode 100644 index fc4025729..000000000 --- a/public/vendor/bootstrap-datepicker/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -docs/_build -node_modules/ -_build diff --git a/public/vendor/bootstrap-datepicker/.jscs.json b/public/vendor/bootstrap-datepicker/.jscs.json deleted file mode 100644 index 22fd3046b..000000000 --- a/public/vendor/bootstrap-datepicker/.jscs.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "requireSpaceAfterKeywords": [ - "if", "else", "for", "while", "do", "switch", "return" - ], - "disallowSpacesInFunctionExpression": { - "beforeOpeningRoundBrace": true, - "beforeOpeningCurlyBrace": true - }, - "disallowSpacesInsideObjectBrackets": true, - "disallowSpacesInsideArrayBrackets": true, - "disallowSpacesInsideParentheses": true, - "disallowQuotedKeysInObjects": "allButReserved", - "disallowSpaceAfterObjectKeys": true, - "disallowLeftStickedOperators": [ - "?", "==", "===", "!=", "!==", ">", ">=", "<", "<=" - ], - "disallowRightStickedOperators": [ - "?", "==", "===", "!=", "!==", ">", ">=", "<", "<=" - ], - "requireLeftStickedOperators": [","], - "requireRightStickedOperators": ["!"], - "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~"], - "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], - "validateLineBreaks": "LF", - "requireKeywordsOnNewLine": ["else", "return", "break", "delete"], - "requireLineFeedAtFileEnd": true -} diff --git a/public/vendor/bootstrap-datepicker/.jshintrc b/public/vendor/bootstrap-datepicker/.jshintrc deleted file mode 100644 index f19475da5..000000000 --- a/public/vendor/bootstrap-datepicker/.jshintrc +++ /dev/null @@ -1,20 +0,0 @@ -{ - "jquery": true, - "browser": true, - - "eqeqeq": true, - "freeze": true, - //"indent": 4, // when we move to spaces - "latedef": true, - "undef": true, - "unused": true, - "immed": true, - "trailing": true, - "maxcomplexity": 50, // Can we get this under 5? - //"maxlen": 120, - - "-W014": false, // Bad line breaking before ? (in tertiary operator) - "-W065": false, // Missing radix parameter to parseInt (defaults to 10) - "-W069": false, // Literal accessor is better written in dot notation - "-W100": false // Silently deleted characters (in locales) -} diff --git a/public/vendor/bootstrap-datepicker/.travis.yml b/public/vendor/bootstrap-datepicker/.travis.yml deleted file mode 100644 index 6ef04eb80..000000000 --- a/public/vendor/bootstrap-datepicker/.travis.yml +++ /dev/null @@ -1,5 +0,0 @@ -language: node_js -node_js: - - "0.10" -before_script: - - npm install -g grunt-cli diff --git a/public/vendor/bootstrap-datepicker/CHANGELOG.md b/public/vendor/bootstrap-datepicker/CHANGELOG.md deleted file mode 100644 index d11d42319..000000000 --- a/public/vendor/bootstrap-datepicker/CHANGELOG.md +++ /dev/null @@ -1,172 +0,0 @@ -Changelog -========= - -1.3.0 ------ - -New features: -* Bootstrap 3 support. Added build files `build/build_standalone3.less` and `build/build3.less`, and source files `less/datepicker3.less` and `css/datepicker3.css` (built from `build_standalone3.less`). -* Multi-date functionality. This required rethinking several areas of the picker: - * The internals have been modified to be completely multidate-centric. - * Attributes and methods availabel on events have changed, but the old attributes and functions will still work. - * Keyboard navigation has been revamped, as it didn't work at all properly with multidate selection. - * The picker now explicitly supports "no selected date". - -Non-API changes: -* Keyboard navigation has been changed. See `docs/keyboard.rst`. -* Empty pickers in a range picker setup will be populated with the first date selected by the user to make finding the next date easier. - -Bug squashed: -* Jan 1, 1970 is now highlighted when selected -* `touchstart` added to document-bound picker-closing events (alongside `mousedown`) -* Fixed a display bug with component add-on icons being vertically higher than they should have been. -* Input is refocused after clicking the picker. -* `changeDate` event is triggered when `setDate` is called. - -Locale changes: -* Added Ukrainian, Belgium-Dutch, Welsh, Galician, Vietnamese, and Azerbaijani -* `clear` for German, Danish, Italian, and Romanian -* Fixed `weekStart` and `format` for Norwegian -* `weekStart` and `format` for Georgian -* Tweaks for Latvian, French, Vietnamese, Swedish, and Croatian -* De-duplicated Ukrainian files from `uk` and `ua` to just `ua` - -Repository changes: -* Documentation has been moved from the base `README.md` file to the `docs/` folder, and been re-written to use sphinx docs. The docs are now viewable online at http://bootstrap-datepicker.readthedocs.org/. The [gh-pages](http://eternicode.github.io/bootstrap-datepicker/) branch has been reduced to the sandbox demo. -* Changed the js file header to point at repo/demo/docs urls instead of eyecon.ro -* The css files are now the output of the standalone build scripts instead of `build/build.less` etc. -* `composer.json` now supports component-installer -* Added [JSHint](http://www.jshint.com/docs/) and [JSCS](https://github.com/mdevils/node-jscs) configurations - - -1.2.0 ------ - -New features: -* Google Closure Compiler Compatibility -* Smart orientation by default, and explicit picker orientation with the `orientation` option -* Text inside the picker is no longer user-selectable -* Packagist/Composer support (I think...) -* No longer depends on glyphicons for arrows -* `clearDate` event added, fired when the date is cleared - -Bug squashed: -* `noConflict` fixed -* Fix for large years causing an infinite loop in date parsing -* Fixed cases where `changeYear` and `changeMonth` events were not being triggered -* `component.js` moved to `bower.js` -* Falsey values for `startDate` and `endDate` translate to `-Infinity` and `Infinity`, respectively (effectively, falsey values mean "no bounds") -* Fixed `autoclose` for non-input, non-component elements -* Fixed 50% param in `mix()` less function -- expands compatibility with less compilers -* Fixed `update` method to update the selected date -* `beforeShowDay` was getting UTC dates, now it gets local dates (all dates that developers are given should be in local time, not UTC). -* `startDate` and `endDate` were a bit confused when given `new Date()` -- they would not allow today to be selected (the range should be inclusive), they would change whether it was selectable based on local time, etc. These quirks should be fixed now. They both also now expect local dates (which will then be time-zeroed and converted to UTC). -* Fixed selected date not being automatically constrained to the specified range when `setStartDate` and `setEndDate` were called. -* No longer uses jQuery's `.size()` (deprecated in favor of `.length`) -* `changeDate` triggered during manual user input -* `change` event fired when input value changed, it wasn't in some cases - -Locale changes: -* Added Arabic, Norwegian, Georgian -* `clear` for French -* `today` and `clear` for Bahasa -* `today` and `clear` for Portuguese (both `pt` and `pt-BR`) -* `format` for Turkish -* `format` and `weekStart` for Swedish -* `format` and `weekStart` for Simplified Chinese; `today`, `format`, and `weekStart` for Traditional Chinese -* Fixed typo in Serbian latin (`rs-latin`) -* More appropriate use of Traditional Chinese habit in `zh-TW` - - -1.1.3 - ---------- - - Clicking the clear button now triggers the input's `change` and datepicker's `changeDate` events. - Fixed a bug that broke the event-attached `format` function. - - -1.1.2 ----------- - -Botched release, no change from 1.1.1 - - -1.1.1 ----------- - -Fixes a bug when setting startDate or endDate during initialization. - - -1.1.0 ----------- - -New features: -* Date range picker. -* Data API / noConflict. -* `getDate` and `setDate` methods. -* `format` method for events; this allows you to easily format the `date` associated with the event. -* New options: - * `beforeShowDay` option: a dev-provided function that can enable/disable dates, add css classes, and add tooltips. - * `clearBtn`, a button for resetting the picker. - -Internal changes: -* Cleaner and more reliable method for extracting options from all potential sources (defaults, locale overrides, data-attrs, and instantiation options, in that order). This also populates `$.fn.datepicker.defaults` with the default values, and uses this hash as the actual source of defaults, meaning you can globally change the default value for a given option. - -Bugs squashed: -* Resolved a conflict with bootstrap's native `.switch` class. -* Fixed a bug with components where they would be stuck with a stale value when editing the value manually. -* The `date` attributes on events are now local dates instead of internal UTC dates. -* Separate `Date` objects for internal selected and view date references. -* Clicking multiple times inside inputs no longer hides the picker. - -Minor improvements: -* Better text color for highlighted "today" date. -* Last year in decade view now marked as "new" instead of "old". -* Formats now properly handle trailing separators. - -Locale changes: -* Added Albanian, Estonian, and Macedonian -* Added `weekStart` for Russian -* Added `weekStart` and `format` for Finnish - -Potentially backward-incompatible changes: -* Options revamp: - * This fixes bugs in the correlation of some data-attrs to their associated option names. If you use `data-date-weekstart`, `data-date-startdate`, or `data-date-enddate`, you should update these to `data-date-week-start`, `data-date-start-date`, or `data-date-end-date`, respectively. - * All options for datepicker are now properties on the datepicker's `o` property; options are no longer stored on the Datepicker instance itself. If you have code that accesses options stored on the datepicker instance (eg, `datepicker.format`), you will need to update it to access those options via the `o` property (eg, `datepicker.o.format`). "Raw" options are available via the `_o` property. - -1.0.2 ----------- - -Small optimizations release - -* Reduced the number of times `update` is called on initialization. -* Datepicker now detaches the picker dropdown when it is hidden, and appends it when shown. This removes the picker from the DOM when it is not in use. -* No longer listens to document/window events unless picker is visible. - -v1.0.1 ------- - -* Support for [Bower](http://twitter.github.com/bower/) -* Component pickers are now aligned under the input, not the add-on element. -* Japanese locale now has "today" and "format". -* "remove" method removes `.data().date` if the datepicker is on a non-input. -* Events on initialized elements are no longer blocked from bubbling up the DOM (jQuery.live et al can now catch the events). -* Component triggers now include `.btn` in addition to `.add-on`. -* Updates to README contents. - -v1.0.0 ------- - -Initial release: - -* format option -* weekStart option -* calendarWeeks option -* startDate / endDate options -* daysOfWeekDisabled option -* autoclose option -* startView / mnViewMode options -* todayBtn / todayHighlight options -* keyboardNavigation option -* language option -* forceParse option diff --git a/public/vendor/bootstrap-datepicker/CONTRIBUTING.md b/public/vendor/bootstrap-datepicker/CONTRIBUTING.md deleted file mode 100644 index 775c6447c..000000000 --- a/public/vendor/bootstrap-datepicker/CONTRIBUTING.md +++ /dev/null @@ -1,41 +0,0 @@ -# Contributing - -## Support requests - -The issue tracker is not the place for support requests. If you get stuck with bootstrap-datepicker, it's very likely that the fine folks at [StackOverflow](http://stackoverflow.com/) will be able to help you; simply describe the problem you're having and provide them a link to the repo (so they know what code you're using). Another option is to post to the [bootstrap-datepicker google group](https://groups.google.com/group/bootstrap-datepicker). - -## Issues - -If you've found a bug in bootstrap-datepicker, we want to know about it! However, please keep the following in mind: - -* This is not the bootstrap-datepicker from [eyecon.ro](http://www.eyecon.ro/bootstrap-datepicker/). Stefan provided the initial code for bootstrap-datepicker, but this repo is divergent from his codebase. Please make sure you're using either the latest tagged version or the latest master from https://github.com/eternicode/bootstrap-datepicker/ . -* A working example of the bug you've found is *much* easier to work with than a description alone. If possible, please provide a link to a demonstration of the bug, perhaps using http://jsfiddle.net/ . - * CDN-backed assets can be found at http://bsdp-assets.blackcherry.us/ . These should be used *only* for building test cases, as they may be removed or changed at any time. -* Finally, it's possible someone else has already reported the same bug you have. Please search the issue tracker for similar issues before posting your own. Thanks! - -## Pull Requests - -Patches welcome! - -For all cases, you should have your own fork of the repo. - -To submit a pull request for a **new feature**: - -1. Run the tests. Every pull request for a new feature should have an accompanying unit test and docs changes. See the README in the `tests/` and `docs/` directories for details. -2. Create a new branch off of the `master` branch for your feature. This is particularly helpful when you want to submit multiple pull requests. -3. Add a test (or multiple tests) for your feature. Again, see `tests/README.md`. -4. Add your new feature, making the test pass. -5. Push to your fork and submit the pull request! - -To submit a **bug fix**: - -1. Create a new branch off of the `master` branch. -2. Add a test that demonstrates the bug. -3. Make the test pass. -4. Push to your fork and submit the pull request! - -To submit a **documentation fix**: - -1. Create a new branch off of the `master` branch. -2. Add your documentation fixes (no tests required). -3. Push to your fork and submit the pull request! diff --git a/public/vendor/bootstrap-datepicker/Gruntfile.js b/public/vendor/bootstrap-datepicker/Gruntfile.js deleted file mode 100644 index 2c605f59b..000000000 --- a/public/vendor/bootstrap-datepicker/Gruntfile.js +++ /dev/null @@ -1,118 +0,0 @@ -/* global module, require */ -module.exports = function(grunt){ - require('load-grunt-tasks')(grunt); - - grunt.initConfig({ - pkg: grunt.file.readJSON('package.json'), - qunit: { - all: ['tests/tests.html'] - }, - jshint: { - options: { - jshintrc: true - }, - gruntfile: ['Gruntfile.js'], - main: ['js/bootstrap-datepicker.js'], - locales: ['js/locales/*js'] - }, - jscs: { - /* grunt-contrib-jscs notes: - 0.1.2 works - 0.1.3 infinite loops on postinstall - 0.1.4 doesn't seem to hit all targets when run via "grunt jscs" - */ - gruntfile: ['Gruntfile.js'], - main: ['js/bootstrap-datepicker.js'], - locales: ['js/locales/*js'] - }, - less: { - standalone: { - files: { - '_build/datepicker.standalone.css': 'build/build_standalone.less', - '_build/datepicker3.standalone.css': 'build/build_standalone3.less' - } - }, - css: { - files: { - '_build/datepicker.css': 'build/build.less', - '_build/datepicker3.css': 'build/build3.less' - } - }, - repo: { - files: { - 'css/datepicker.css': 'build/build_standalone.less', - 'css/datepicker3.css': 'build/build_standalone3.less' - } - } - }, - uglify: { - options: { - compress: true, - mangle: true - }, - main: { - options: { - sourceMap: function(dest){ - return dest.replace('.min.js', '.js.map'); - } - }, - files: { - '_build/bootstrap-datepicker.min.js': 'js/bootstrap-datepicker.js', - '_build/bootstrap-datepicker.locales.min.js': 'js/locales/*.js' - } - }, - locales: { - files: [{ - expand: true, - cwd: 'js/locales/', - src: ['*.js', '!*.min.js'], - dest: '_build/locales/', - rename: function(dest, name){ - return dest + name.replace(/\.js$/, '.min.js'); - } - }] - } - }, - cssmin: { - all: { - files: { - '_build/datepicker.standalone.min.css': '_build/datepicker.standalone.css', - '_build/datepicker.min.css': '_build/datepicker.css', - '_build/datepicker3.standalone.min.css': '_build/datepicker3.standalone.css', - '_build/datepicker3.min.css': '_build/datepicker3.css' - } - } - }, - clean: ['_build'] - }); - - grunt.registerTask('lint', 'Lint all js files with jshint and jscs', ['jshint', 'jscs']); - grunt.registerTask('test', 'Lint files and run unit tests', ['lint', 'qunit']); - grunt.registerTask('finish', 'Prepares repo for commit [test, less:repo, screenshots]', ['test', 'less:repo', 'screenshots']); - grunt.registerTask('dist', 'Builds minified files', ['less:css', 'less:standalone', 'cssmin', 'uglify']); - - grunt.registerTask('screenshots', 'Rebuilds automated docs screenshots', function(){ - var phantomjs = require('phantomjs').path; - - grunt.file.recurse('docs/_static/screenshots/', function(abspath){ - grunt.file.delete(abspath); - }); - - grunt.file.recurse('docs/_screenshots/', function(abspath, root, subdir, filename){ - if (!/.html$/.test(filename)) - return; - subdir = subdir || ''; - - var outdir = "docs/_static/screenshots/" + subdir, - outfile = outdir + filename.replace(/.html$/, '.png'); - - if (!grunt.file.exists(outdir)) - grunt.file.mkdir(outdir); - - grunt.util.spawn({ - cmd: phantomjs, - args: ['docs/_screenshots/script/screenshot.js', abspath, outfile] - }); - }); - }); -}; diff --git a/public/vendor/bootstrap-datepicker/LICENSE b/public/vendor/bootstrap-datepicker/LICENSE deleted file mode 100644 index d64569567..000000000 --- a/public/vendor/bootstrap-datepicker/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/public/vendor/bootstrap-datepicker/README.md b/public/vendor/bootstrap-datepicker/README.md deleted file mode 100644 index 05681bc01..000000000 --- a/public/vendor/bootstrap-datepicker/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# bootstrap-datepicker - -This is a fork of Stefan Petre's [original code](http://www.eyecon.ro/bootstrap-datepicker/); -thanks go to him for getting this thing started! - -Please note that this fork is not used on Stefan's page, nor is it maintained or contributed to by him. - -Versions are incremented according to [semver](http://semver.org/). - -## Links - -* [Online Demo](http://eternicode.github.io/bootstrap-datepicker/) -* [Online Docs](http://bootstrap-datepicker.readthedocs.org/) (ReadTheDocs.com) -* [Google Group](https://groups.google.com/group/bootstrap-datepicker/) -* [Travis CI ![Build Status](https://travis-ci.org/eternicode/bootstrap-datepicker.png?branch=master)](https://travis-ci.org/eternicode/bootstrap-datepicker) - -## Development - -Once you cloned the repo, you'll need to install [grunt](http://gruntjs.com/) and the development dependencies using [npm](https://npmjs.org/). - - npm install -g grunt-cli - npm install diff --git a/public/vendor/bootstrap-datepicker/bower.json b/public/vendor/bootstrap-datepicker/bower.json deleted file mode 100644 index 405de2f2b..000000000 --- a/public/vendor/bootstrap-datepicker/bower.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "bootstrap-datepicker", - "version": "1.3.1", - "main": ["js/bootstrap-datepicker.js", "css/datepicker.css", "css/datepicker3.css"], - "dependencies": { - "jquery" : ">=1.7.1", - "bootstrap" : ">=3.0 <4.0" - } -} diff --git a/public/vendor/bootstrap-datepicker/build/build.less b/public/vendor/bootstrap-datepicker/build/build.less deleted file mode 100644 index 04fce23b0..000000000 --- a/public/vendor/bootstrap-datepicker/build/build.less +++ /dev/null @@ -1,67 +0,0 @@ -// Datepicker .less buildfile. Includes select mixins/variables from bootstrap -// and imports the included datepicker.less to output a minimal datepicker.css -// -// Usage: -// lessc build.less datepicker.css -// -// Variables and mixins copied from bootstrap 2.0.2 - -// Variables -@grayLight: #999; -@grayLighter: #eee; -@white: #fff; -@linkColor: #08c; -@btnPrimaryBackground: @linkColor; -@orange: #f89406; -@baseLineHeight: 18px; - -// Mixins - -// Border Radius -.border-radius(@radius: 5px) { - -webkit-border-radius: @radius; - -moz-border-radius: @radius; - border-radius: @radius; -} - -// Button backgrounds -.buttonBackground(@startColor, @endColor) { - .gradientBar(@startColor, @endColor); - .reset-filter(); - &:hover, &:active, &.active, &.disabled, &[disabled] { - background-color: @endColor; - } - &:active, - &.active { - background-color: darken(@endColor, 10%) e("\9"); - } -} - -// Reset filters for IE -.reset-filter() { - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} - -// Gradient Bar Colors for buttons and alerts -.gradientBar(@primaryColor, @secondaryColor) { - #gradient > .vertical(@primaryColor, @secondaryColor); - border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%); - border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%); -} - -// Gradients -#gradient { - .vertical(@startColor: #555, @endColor: #333) { - background-color: mix(@startColor, @endColor, 60%); - background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+ - background-image: -ms-linear-gradient(top, @startColor, @endColor); // IE10 - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ - background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+ - background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10 - background-image: linear-gradient(top, @startColor, @endColor); // The standard - background-repeat: repeat-x; - filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down - } -} - -@import "../less/datepicker.less"; diff --git a/public/vendor/bootstrap-datepicker/build/build3.less b/public/vendor/bootstrap-datepicker/build/build3.less deleted file mode 100644 index c2f6db145..000000000 --- a/public/vendor/bootstrap-datepicker/build/build3.less +++ /dev/null @@ -1,71 +0,0 @@ -// Datepicker .less buildfile. Includes select mixins/variables from bootstrap -// and imports the included datepicker.less to output a minimal datepicker.css -// -// Usage: -// lessc build.less datepicker.css -// -// Variables and mixins copied from bootstrap 2.0.2 - -// Variables -@gray: lighten(#000, 33.5%); // #555 -@gray-light: lighten(#000, 60%); // #999 -@gray-lighter: lighten(#000, 93.5%); // #eee - -@input-border: #ccc; - -@brand-primary: #428bca; -//@btn-default-color: #333; -//@btn-default-bg: #fff; -//@btn-default-border: #ccc; -@btn-primary-color: #fff; -@btn-primary-bg: @brand-primary; -@btn-primary-border: darken(@btn-primary-bg, 5%); - - -@btn-link-disabled-color: @gray-light; - -@input-group-addon-bg: @gray-lighter; -@input-group-addon-border-color: @input-border; - -@font-size-base: 14px; -@line-height-base: 1.428571429; // 20/14 -@line-height-computed: floor(@font-size-base * @line-height-base); // ~20px - - -// Mixins - -// Button variants -.button-variant(@color; @background; @border) { - color: @color; - background-color: @background; - border-color: @border; - - &:hover, - &:focus, - &:active, - &.active, - .open .dropdown-toggle& { - color: @color; - background-color: darken(@background, 8%); - border-color: darken(@border, 12%); - } - &:active, - &.active, - .open .dropdown-toggle& { - background-image: none; - } - &.disabled, - &[disabled], - fieldset[disabled] & { - &, - &:hover, - &:focus, - &:active, - &.active { - background-color: @background; - border-color: @border - } - } -} - -@import "../less/datepicker3.less"; diff --git a/public/vendor/bootstrap-datepicker/build/build_standalone.less b/public/vendor/bootstrap-datepicker/build/build_standalone.less deleted file mode 100644 index 9fa1b8b84..000000000 --- a/public/vendor/bootstrap-datepicker/build/build_standalone.less +++ /dev/null @@ -1,64 +0,0 @@ -// Datepicker standalone .less buildfile. Includes all necessary mixins/variables/rules from bootstrap -// and imports the included datepicker.less to output a minimal standalone datepicker.css -// -// Usage: -// lessc build_standalone.less datepicker.css -// -// Variables, mixins, and rules copied from bootstrap 2.0.2 - -@import "build.less"; - -// Dropdown css - -@zindexDropdown: 1000; -@grayDark: #333; -@baseLineHeight: 20px; -@tableBackground: transparent; // overall background-color -@dropdownBackground: @white; -@dropdownBorder: rgba(0,0,0,.2); -@dropdownLinkColor: @grayDark; -@dropdownLinkColorHover: @white; -@dropdownLinkBackgroundHover: @linkColor; - -// Drop shadows -.box-shadow(@shadow) { - -webkit-box-shadow: @shadow; - -moz-box-shadow: @shadow; - box-shadow: @shadow; -} - -// The dropdown menu (ul) -// ---------------------- -.datepicker{ - &.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: @zindexDropdown; - float: left; - display: none; // none by default, but block on "open" of the menu - min-width: 160px; - list-style: none; - background-color: @dropdownBackground; - border: 1px solid #ccc; - border: 1px solid rgba(0,0,0,.2); - .border-radius(5px); - .box-shadow(0 5px 10px rgba(0,0,0,.2)); - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; - *border-right-width: 2px; - *border-bottom-width: 2px; - - // Normally inherited from bootstrap's `body` - color: #333333; - font-size:13px; - line-height: @baseLineHeight; - } - - &.dropdown-menu, &.datepicker-inline { - th, td { - padding: 4px 5px; - } - } -} diff --git a/public/vendor/bootstrap-datepicker/build/build_standalone3.less b/public/vendor/bootstrap-datepicker/build/build_standalone3.less deleted file mode 100644 index 80c9fdced..000000000 --- a/public/vendor/bootstrap-datepicker/build/build_standalone3.less +++ /dev/null @@ -1,66 +0,0 @@ -// Datepicker standalone .less buildfile. Includes all necessary mixins/variables/rules from bootstrap -// and imports the included datepicker.less to output a minimal standalone datepicker.css -// -// Usage: -// lessc build_standalone.less datepicker.css -// -// Variables, mixins, and rules copied from bootstrap 2.0.2 - -@import "build3.less"; - -// Dropdown css - -@zindex-dropdown: 1000; -@gray-dark: #333; -@line-height-base: 1.428571429; // 20/14 -@table-bg: transparent; // overall background-color -@dropdown-bg: #fff; -@dropdow-border: rgba(0,0,0,.15); -@dropdown-link-color: @gray-dark; -@dropdown-link-hover-color: #fff; -@component-active-bg: @brand-primary; -@dropdown-link-active-bg: @component-active-bg; -@dropdown-link-hover-bg: @dropdown-link-active-bg; - -// Drop shadows -.box-shadow(@shadow) { - -webkit-box-shadow: @shadow; - -moz-box-shadow: @shadow; - box-shadow: @shadow; -} - -// The dropdown menu (ul) -// ---------------------- -.datepicker { - &.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: @zindex-dropdown; - float: left; - display: none; // none by default, but block on "open" of the menu - min-width: 160px; - list-style: none; - background-color: @dropdown-bg; - border: 1px solid #ccc; - border: 1px solid rgba(0,0,0,.2); - border-radius: 5px; - .box-shadow(0 5px 10px rgba(0,0,0,.2)); - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; - *border-right-width: 2px; - *border-bottom-width: 2px; - - // Normally inherited from bootstrap's `body` - color: #333333; - font-size:13px; - line-height: @line-height-base; - } - - &.dropdown-menu, &.datepicker-inline { - th, td { - padding: 0px 5px; - } - } -} diff --git a/public/vendor/bootstrap-datepicker/composer.json b/public/vendor/bootstrap-datepicker/composer.json deleted file mode 100644 index f0b8e5251..000000000 --- a/public/vendor/bootstrap-datepicker/composer.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "eternicode/bootstrap-datepicker", - "description": "A datepicker for twitter bootstrap forked from Stefan Petre's (of eyecon.ro)", - "keywords": [ - "bootstrap", - "datepicker" - ], - "type": "component", - "require": { - "robloach/component-installer": "*", - "components/bootstrap" : ">=3.0, <4.0", - "components/jquery": ">=1.7.1" - }, - "extra": { - "component": { - "scripts": [ - "js/bootstrap-datepicker.js" - ], - "styles": [ - "css/datepicker.css", - "css/datepicker3.css" - ], - "files": [ - "js/locales/bootstrap-datepicker.*.js" - ] - } - } -} diff --git a/public/vendor/bootstrap-datepicker/css/datepicker.css b/public/vendor/bootstrap-datepicker/css/datepicker.css deleted file mode 100644 index 6d37209eb..000000000 --- a/public/vendor/bootstrap-datepicker/css/datepicker.css +++ /dev/null @@ -1,510 +0,0 @@ -/*! - * Datepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */ -.datepicker { - padding: 4px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - direction: ltr; -} -.datepicker-inline { - width: 220px; -} -.datepicker.datepicker-rtl { - direction: rtl; -} -.datepicker.datepicker-rtl table tr td span { - float: right; -} -.datepicker-dropdown { - top: 0; - left: 0; -} -.datepicker-dropdown:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #ccc; - border-top: 0; - border-bottom-color: rgba(0, 0, 0, 0.2); - position: absolute; -} -.datepicker-dropdown:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #ffffff; - border-top: 0; - position: absolute; -} -.datepicker-dropdown.datepicker-orient-left:before { - left: 6px; -} -.datepicker-dropdown.datepicker-orient-left:after { - left: 7px; -} -.datepicker-dropdown.datepicker-orient-right:before { - right: 6px; -} -.datepicker-dropdown.datepicker-orient-right:after { - right: 7px; -} -.datepicker-dropdown.datepicker-orient-top:before { - top: -7px; -} -.datepicker-dropdown.datepicker-orient-top:after { - top: -6px; -} -.datepicker-dropdown.datepicker-orient-bottom:before { - bottom: -7px; - border-bottom: 0; - border-top: 7px solid #999; -} -.datepicker-dropdown.datepicker-orient-bottom:after { - bottom: -6px; - border-bottom: 0; - border-top: 6px solid #ffffff; -} -.datepicker > div { - display: none; -} -.datepicker.days div.datepicker-days { - display: block; -} -.datepicker.months div.datepicker-months { - display: block; -} -.datepicker.years div.datepicker-years { - display: block; -} -.datepicker table { - margin: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.datepicker td, -.datepicker th { - text-align: center; - width: 20px; - height: 20px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - border: none; -} -.table-striped .datepicker table tr td, -.table-striped .datepicker table tr th { - background-color: transparent; -} -.datepicker table tr td.day:hover, -.datepicker table tr td.day.focused { - background: #eeeeee; - cursor: pointer; -} -.datepicker table tr td.old, -.datepicker table tr td.new { - color: #999999; -} -.datepicker table tr td.disabled, -.datepicker table tr td.disabled:hover { - background: none; - color: #999999; - cursor: default; -} -.datepicker table tr td.today, -.datepicker table tr td.today:hover, -.datepicker table tr td.today.disabled, -.datepicker table tr td.today.disabled:hover { - background-color: #fde19a; - background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a)); - background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -o-linear-gradient(top, #fdd49a, #fdf59a); - background-image: linear-gradient(top, #fdd49a, #fdf59a); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); - border-color: #fdf59a #fdf59a #fbed50; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #000; -} -.datepicker table tr td.today:hover, -.datepicker table tr td.today:hover:hover, -.datepicker table tr td.today.disabled:hover, -.datepicker table tr td.today.disabled:hover:hover, -.datepicker table tr td.today:active, -.datepicker table tr td.today:hover:active, -.datepicker table tr td.today.disabled:active, -.datepicker table tr td.today.disabled:hover:active, -.datepicker table tr td.today.active, -.datepicker table tr td.today:hover.active, -.datepicker table tr td.today.disabled.active, -.datepicker table tr td.today.disabled:hover.active, -.datepicker table tr td.today.disabled, -.datepicker table tr td.today:hover.disabled, -.datepicker table tr td.today.disabled.disabled, -.datepicker table tr td.today.disabled:hover.disabled, -.datepicker table tr td.today[disabled], -.datepicker table tr td.today:hover[disabled], -.datepicker table tr td.today.disabled[disabled], -.datepicker table tr td.today.disabled:hover[disabled] { - background-color: #fdf59a; -} -.datepicker table tr td.today:active, -.datepicker table tr td.today:hover:active, -.datepicker table tr td.today.disabled:active, -.datepicker table tr td.today.disabled:hover:active, -.datepicker table tr td.today.active, -.datepicker table tr td.today:hover.active, -.datepicker table tr td.today.disabled.active, -.datepicker table tr td.today.disabled:hover.active { - background-color: #fbf069 \9; -} -.datepicker table tr td.today:hover:hover { - color: #000; -} -.datepicker table tr td.today.active:hover { - color: #fff; -} -.datepicker table tr td.range, -.datepicker table tr td.range:hover, -.datepicker table tr td.range.disabled, -.datepicker table tr td.range.disabled:hover { - background: #eeeeee; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.datepicker table tr td.range.today, -.datepicker table tr td.range.today:hover, -.datepicker table tr td.range.today.disabled, -.datepicker table tr td.range.today.disabled:hover { - background-color: #f3d17a; - background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a); - background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a)); - background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a); - background-image: -o-linear-gradient(top, #f3c17a, #f3e97a); - background-image: linear-gradient(top, #f3c17a, #f3e97a); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0); - border-color: #f3e97a #f3e97a #edde34; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} -.datepicker table tr td.range.today:hover, -.datepicker table tr td.range.today:hover:hover, -.datepicker table tr td.range.today.disabled:hover, -.datepicker table tr td.range.today.disabled:hover:hover, -.datepicker table tr td.range.today:active, -.datepicker table tr td.range.today:hover:active, -.datepicker table tr td.range.today.disabled:active, -.datepicker table tr td.range.today.disabled:hover:active, -.datepicker table tr td.range.today.active, -.datepicker table tr td.range.today:hover.active, -.datepicker table tr td.range.today.disabled.active, -.datepicker table tr td.range.today.disabled:hover.active, -.datepicker table tr td.range.today.disabled, -.datepicker table tr td.range.today:hover.disabled, -.datepicker table tr td.range.today.disabled.disabled, -.datepicker table tr td.range.today.disabled:hover.disabled, -.datepicker table tr td.range.today[disabled], -.datepicker table tr td.range.today:hover[disabled], -.datepicker table tr td.range.today.disabled[disabled], -.datepicker table tr td.range.today.disabled:hover[disabled] { - background-color: #f3e97a; -} -.datepicker table tr td.range.today:active, -.datepicker table tr td.range.today:hover:active, -.datepicker table tr td.range.today.disabled:active, -.datepicker table tr td.range.today.disabled:hover:active, -.datepicker table tr td.range.today.active, -.datepicker table tr td.range.today:hover.active, -.datepicker table tr td.range.today.disabled.active, -.datepicker table tr td.range.today.disabled:hover.active { - background-color: #efe24b \9; -} -.datepicker table tr td.selected, -.datepicker table tr td.selected:hover, -.datepicker table tr td.selected.disabled, -.datepicker table tr td.selected.disabled:hover { - background-color: #9e9e9e; - background-image: -moz-linear-gradient(top, #b3b3b3, #808080); - background-image: -ms-linear-gradient(top, #b3b3b3, #808080); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080)); - background-image: -webkit-linear-gradient(top, #b3b3b3, #808080); - background-image: -o-linear-gradient(top, #b3b3b3, #808080); - background-image: linear-gradient(top, #b3b3b3, #808080); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0); - border-color: #808080 #808080 #595959; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker table tr td.selected:hover, -.datepicker table tr td.selected:hover:hover, -.datepicker table tr td.selected.disabled:hover, -.datepicker table tr td.selected.disabled:hover:hover, -.datepicker table tr td.selected:active, -.datepicker table tr td.selected:hover:active, -.datepicker table tr td.selected.disabled:active, -.datepicker table tr td.selected.disabled:hover:active, -.datepicker table tr td.selected.active, -.datepicker table tr td.selected:hover.active, -.datepicker table tr td.selected.disabled.active, -.datepicker table tr td.selected.disabled:hover.active, -.datepicker table tr td.selected.disabled, -.datepicker table tr td.selected:hover.disabled, -.datepicker table tr td.selected.disabled.disabled, -.datepicker table tr td.selected.disabled:hover.disabled, -.datepicker table tr td.selected[disabled], -.datepicker table tr td.selected:hover[disabled], -.datepicker table tr td.selected.disabled[disabled], -.datepicker table tr td.selected.disabled:hover[disabled] { - background-color: #808080; -} -.datepicker table tr td.selected:active, -.datepicker table tr td.selected:hover:active, -.datepicker table tr td.selected.disabled:active, -.datepicker table tr td.selected.disabled:hover:active, -.datepicker table tr td.selected.active, -.datepicker table tr td.selected:hover.active, -.datepicker table tr td.selected.disabled.active, -.datepicker table tr td.selected.disabled:hover.active { - background-color: #666666 \9; -} -.datepicker table tr td.active, -.datepicker table tr td.active:hover, -.datepicker table tr td.active.disabled, -.datepicker table tr td.active.disabled:hover { - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -ms-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(top, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker table tr td.active:hover, -.datepicker table tr td.active:hover:hover, -.datepicker table tr td.active.disabled:hover, -.datepicker table tr td.active.disabled:hover:hover, -.datepicker table tr td.active:active, -.datepicker table tr td.active:hover:active, -.datepicker table tr td.active.disabled:active, -.datepicker table tr td.active.disabled:hover:active, -.datepicker table tr td.active.active, -.datepicker table tr td.active:hover.active, -.datepicker table tr td.active.disabled.active, -.datepicker table tr td.active.disabled:hover.active, -.datepicker table tr td.active.disabled, -.datepicker table tr td.active:hover.disabled, -.datepicker table tr td.active.disabled.disabled, -.datepicker table tr td.active.disabled:hover.disabled, -.datepicker table tr td.active[disabled], -.datepicker table tr td.active:hover[disabled], -.datepicker table tr td.active.disabled[disabled], -.datepicker table tr td.active.disabled:hover[disabled] { - background-color: #0044cc; -} -.datepicker table tr td.active:active, -.datepicker table tr td.active:hover:active, -.datepicker table tr td.active.disabled:active, -.datepicker table tr td.active.disabled:hover:active, -.datepicker table tr td.active.active, -.datepicker table tr td.active:hover.active, -.datepicker table tr td.active.disabled.active, -.datepicker table tr td.active.disabled:hover.active { - background-color: #003399 \9; -} -.datepicker table tr td span { - display: block; - width: 23%; - height: 54px; - line-height: 54px; - float: left; - margin: 1%; - cursor: pointer; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.datepicker table tr td span:hover { - background: #eeeeee; -} -.datepicker table tr td span.disabled, -.datepicker table tr td span.disabled:hover { - background: none; - color: #999999; - cursor: default; -} -.datepicker table tr td span.active, -.datepicker table tr td span.active:hover, -.datepicker table tr td span.active.disabled, -.datepicker table tr td span.active.disabled:hover { - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -ms-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(top, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker table tr td span.active:hover, -.datepicker table tr td span.active:hover:hover, -.datepicker table tr td span.active.disabled:hover, -.datepicker table tr td span.active.disabled:hover:hover, -.datepicker table tr td span.active:active, -.datepicker table tr td span.active:hover:active, -.datepicker table tr td span.active.disabled:active, -.datepicker table tr td span.active.disabled:hover:active, -.datepicker table tr td span.active.active, -.datepicker table tr td span.active:hover.active, -.datepicker table tr td span.active.disabled.active, -.datepicker table tr td span.active.disabled:hover.active, -.datepicker table tr td span.active.disabled, -.datepicker table tr td span.active:hover.disabled, -.datepicker table tr td span.active.disabled.disabled, -.datepicker table tr td span.active.disabled:hover.disabled, -.datepicker table tr td span.active[disabled], -.datepicker table tr td span.active:hover[disabled], -.datepicker table tr td span.active.disabled[disabled], -.datepicker table tr td span.active.disabled:hover[disabled] { - background-color: #0044cc; -} -.datepicker table tr td span.active:active, -.datepicker table tr td span.active:hover:active, -.datepicker table tr td span.active.disabled:active, -.datepicker table tr td span.active.disabled:hover:active, -.datepicker table tr td span.active.active, -.datepicker table tr td span.active:hover.active, -.datepicker table tr td span.active.disabled.active, -.datepicker table tr td span.active.disabled:hover.active { - background-color: #003399 \9; -} -.datepicker table tr td span.old, -.datepicker table tr td span.new { - color: #999999; -} -.datepicker th.datepicker-switch { - width: 145px; -} -.datepicker thead tr:first-child th, -.datepicker tfoot tr th { - cursor: pointer; -} -.datepicker thead tr:first-child th:hover, -.datepicker tfoot tr th:hover { - background: #eeeeee; -} -.datepicker .cw { - font-size: 10px; - width: 12px; - padding: 0 2px 0 5px; - vertical-align: middle; -} -.datepicker thead tr:first-child th.cw { - cursor: default; - background-color: transparent; -} -.input-append.date .add-on i, -.input-prepend.date .add-on i { - cursor: pointer; - width: 16px; - height: 16px; -} -.input-daterange input { - text-align: center; -} -.input-daterange input:first-child { - -webkit-border-radius: 3px 0 0 3px; - -moz-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; -} -.input-daterange input:last-child { - -webkit-border-radius: 0 3px 3px 0; - -moz-border-radius: 0 3px 3px 0; - border-radius: 0 3px 3px 0; -} -.input-daterange .add-on { - display: inline-block; - width: auto; - min-width: 16px; - height: 20px; - padding: 4px 5px; - font-weight: normal; - line-height: 20px; - text-align: center; - text-shadow: 0 1px 0 #ffffff; - vertical-align: middle; - background-color: #eeeeee; - border: 1px solid #ccc; - margin-left: -5px; - margin-right: -5px; -} -.datepicker.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - float: left; - display: none; - min-width: 160px; - list-style: none; - background-color: #ffffff; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.2); - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - border-radius: 5px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; - *border-right-width: 2px; - *border-bottom-width: 2px; - color: #333333; - font-size: 13px; - line-height: 20px; -} -.datepicker.dropdown-menu th, -.datepicker.datepicker-inline th, -.datepicker.dropdown-menu td, -.datepicker.datepicker-inline td { - padding: 4px 5px; -} diff --git a/public/vendor/bootstrap-datepicker/css/datepicker3.css b/public/vendor/bootstrap-datepicker/css/datepicker3.css deleted file mode 100644 index 2addd4f40..000000000 --- a/public/vendor/bootstrap-datepicker/css/datepicker3.css +++ /dev/null @@ -1,786 +0,0 @@ -/*! - * Datepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */ -.datepicker { - padding: 4px; - border-radius: 4px; - direction: ltr; -} -.datepicker-inline { - width: 220px; -} -.datepicker.datepicker-rtl { - direction: rtl; -} -.datepicker.datepicker-rtl table tr td span { - float: right; -} -.datepicker-dropdown { - top: 0; - left: 0; -} -.datepicker-dropdown:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #ccc; - border-top: 0; - border-bottom-color: rgba(0, 0, 0, 0.2); - position: absolute; -} -.datepicker-dropdown:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #fff; - border-top: 0; - position: absolute; -} -.datepicker-dropdown.datepicker-orient-left:before { - left: 6px; -} -.datepicker-dropdown.datepicker-orient-left:after { - left: 7px; -} -.datepicker-dropdown.datepicker-orient-right:before { - right: 6px; -} -.datepicker-dropdown.datepicker-orient-right:after { - right: 7px; -} -.datepicker-dropdown.datepicker-orient-top:before { - top: -7px; -} -.datepicker-dropdown.datepicker-orient-top:after { - top: -6px; -} -.datepicker-dropdown.datepicker-orient-bottom:before { - bottom: -7px; - border-bottom: 0; - border-top: 7px solid #999; -} -.datepicker-dropdown.datepicker-orient-bottom:after { - bottom: -6px; - border-bottom: 0; - border-top: 6px solid #fff; -} -.datepicker > div { - display: none; -} -.datepicker.days div.datepicker-days { - display: block; -} -.datepicker.months div.datepicker-months { - display: block; -} -.datepicker.years div.datepicker-years { - display: block; -} -.datepicker table { - margin: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.datepicker table tr td, -.datepicker table tr th { - text-align: center; - width: 30px; - height: 30px; - border-radius: 4px; - border: none; -} -.table-striped .datepicker table tr td, -.table-striped .datepicker table tr th { - background-color: transparent; -} -.datepicker table tr td.day:hover, -.datepicker table tr td.day.focused { - background: #eeeeee; - cursor: pointer; -} -.datepicker table tr td.old, -.datepicker table tr td.new { - color: #999999; -} -.datepicker table tr td.disabled, -.datepicker table tr td.disabled:hover { - background: none; - color: #999999; - cursor: default; -} -.datepicker table tr td.today, -.datepicker table tr td.today:hover, -.datepicker table tr td.today.disabled, -.datepicker table tr td.today.disabled:hover { - color: #000000; - background-color: #ffdb99; - border-color: #ffb733; -} -.datepicker table tr td.today:hover, -.datepicker table tr td.today:hover:hover, -.datepicker table tr td.today.disabled:hover, -.datepicker table tr td.today.disabled:hover:hover, -.datepicker table tr td.today:focus, -.datepicker table tr td.today:hover:focus, -.datepicker table tr td.today.disabled:focus, -.datepicker table tr td.today.disabled:hover:focus, -.datepicker table tr td.today:active, -.datepicker table tr td.today:hover:active, -.datepicker table tr td.today.disabled:active, -.datepicker table tr td.today.disabled:hover:active, -.datepicker table tr td.today.active, -.datepicker table tr td.today:hover.active, -.datepicker table tr td.today.disabled.active, -.datepicker table tr td.today.disabled:hover.active, -.open .dropdown-toggle.datepicker table tr td.today, -.open .dropdown-toggle.datepicker table tr td.today:hover, -.open .dropdown-toggle.datepicker table tr td.today.disabled, -.open .dropdown-toggle.datepicker table tr td.today.disabled:hover { - color: #000000; - background-color: #ffcd70; - border-color: #f59e00; -} -.datepicker table tr td.today:active, -.datepicker table tr td.today:hover:active, -.datepicker table tr td.today.disabled:active, -.datepicker table tr td.today.disabled:hover:active, -.datepicker table tr td.today.active, -.datepicker table tr td.today:hover.active, -.datepicker table tr td.today.disabled.active, -.datepicker table tr td.today.disabled:hover.active, -.open .dropdown-toggle.datepicker table tr td.today, -.open .dropdown-toggle.datepicker table tr td.today:hover, -.open .dropdown-toggle.datepicker table tr td.today.disabled, -.open .dropdown-toggle.datepicker table tr td.today.disabled:hover { - background-image: none; -} -.datepicker table tr td.today.disabled, -.datepicker table tr td.today:hover.disabled, -.datepicker table tr td.today.disabled.disabled, -.datepicker table tr td.today.disabled:hover.disabled, -.datepicker table tr td.today[disabled], -.datepicker table tr td.today:hover[disabled], -.datepicker table tr td.today.disabled[disabled], -.datepicker table tr td.today.disabled:hover[disabled], -fieldset[disabled] .datepicker table tr td.today, -fieldset[disabled] .datepicker table tr td.today:hover, -fieldset[disabled] .datepicker table tr td.today.disabled, -fieldset[disabled] .datepicker table tr td.today.disabled:hover, -.datepicker table tr td.today.disabled:hover, -.datepicker table tr td.today:hover.disabled:hover, -.datepicker table tr td.today.disabled.disabled:hover, -.datepicker table tr td.today.disabled:hover.disabled:hover, -.datepicker table tr td.today[disabled]:hover, -.datepicker table tr td.today:hover[disabled]:hover, -.datepicker table tr td.today.disabled[disabled]:hover, -.datepicker table tr td.today.disabled:hover[disabled]:hover, -fieldset[disabled] .datepicker table tr td.today:hover, -fieldset[disabled] .datepicker table tr td.today:hover:hover, -fieldset[disabled] .datepicker table tr td.today.disabled:hover, -fieldset[disabled] .datepicker table tr td.today.disabled:hover:hover, -.datepicker table tr td.today.disabled:focus, -.datepicker table tr td.today:hover.disabled:focus, -.datepicker table tr td.today.disabled.disabled:focus, -.datepicker table tr td.today.disabled:hover.disabled:focus, -.datepicker table tr td.today[disabled]:focus, -.datepicker table tr td.today:hover[disabled]:focus, -.datepicker table tr td.today.disabled[disabled]:focus, -.datepicker table tr td.today.disabled:hover[disabled]:focus, -fieldset[disabled] .datepicker table tr td.today:focus, -fieldset[disabled] .datepicker table tr td.today:hover:focus, -fieldset[disabled] .datepicker table tr td.today.disabled:focus, -fieldset[disabled] .datepicker table tr td.today.disabled:hover:focus, -.datepicker table tr td.today.disabled:active, -.datepicker table tr td.today:hover.disabled:active, -.datepicker table tr td.today.disabled.disabled:active, -.datepicker table tr td.today.disabled:hover.disabled:active, -.datepicker table tr td.today[disabled]:active, -.datepicker table tr td.today:hover[disabled]:active, -.datepicker table tr td.today.disabled[disabled]:active, -.datepicker table tr td.today.disabled:hover[disabled]:active, -fieldset[disabled] .datepicker table tr td.today:active, -fieldset[disabled] .datepicker table tr td.today:hover:active, -fieldset[disabled] .datepicker table tr td.today.disabled:active, -fieldset[disabled] .datepicker table tr td.today.disabled:hover:active, -.datepicker table tr td.today.disabled.active, -.datepicker table tr td.today:hover.disabled.active, -.datepicker table tr td.today.disabled.disabled.active, -.datepicker table tr td.today.disabled:hover.disabled.active, -.datepicker table tr td.today[disabled].active, -.datepicker table tr td.today:hover[disabled].active, -.datepicker table tr td.today.disabled[disabled].active, -.datepicker table tr td.today.disabled:hover[disabled].active, -fieldset[disabled] .datepicker table tr td.today.active, -fieldset[disabled] .datepicker table tr td.today:hover.active, -fieldset[disabled] .datepicker table tr td.today.disabled.active, -fieldset[disabled] .datepicker table tr td.today.disabled:hover.active { - background-color: #ffdb99; - border-color: #ffb733; -} -.datepicker table tr td.today:hover:hover { - color: #000; -} -.datepicker table tr td.today.active:hover { - color: #fff; -} -.datepicker table tr td.range, -.datepicker table tr td.range:hover, -.datepicker table tr td.range.disabled, -.datepicker table tr td.range.disabled:hover { - background: #eeeeee; - border-radius: 0; -} -.datepicker table tr td.range.today, -.datepicker table tr td.range.today:hover, -.datepicker table tr td.range.today.disabled, -.datepicker table tr td.range.today.disabled:hover { - color: #000000; - background-color: #f7ca77; - border-color: #f1a417; - border-radius: 0; -} -.datepicker table tr td.range.today:hover, -.datepicker table tr td.range.today:hover:hover, -.datepicker table tr td.range.today.disabled:hover, -.datepicker table tr td.range.today.disabled:hover:hover, -.datepicker table tr td.range.today:focus, -.datepicker table tr td.range.today:hover:focus, -.datepicker table tr td.range.today.disabled:focus, -.datepicker table tr td.range.today.disabled:hover:focus, -.datepicker table tr td.range.today:active, -.datepicker table tr td.range.today:hover:active, -.datepicker table tr td.range.today.disabled:active, -.datepicker table tr td.range.today.disabled:hover:active, -.datepicker table tr td.range.today.active, -.datepicker table tr td.range.today:hover.active, -.datepicker table tr td.range.today.disabled.active, -.datepicker table tr td.range.today.disabled:hover.active, -.open .dropdown-toggle.datepicker table tr td.range.today, -.open .dropdown-toggle.datepicker table tr td.range.today:hover, -.open .dropdown-toggle.datepicker table tr td.range.today.disabled, -.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover { - color: #000000; - background-color: #f4bb51; - border-color: #bf800c; -} -.datepicker table tr td.range.today:active, -.datepicker table tr td.range.today:hover:active, -.datepicker table tr td.range.today.disabled:active, -.datepicker table tr td.range.today.disabled:hover:active, -.datepicker table tr td.range.today.active, -.datepicker table tr td.range.today:hover.active, -.datepicker table tr td.range.today.disabled.active, -.datepicker table tr td.range.today.disabled:hover.active, -.open .dropdown-toggle.datepicker table tr td.range.today, -.open .dropdown-toggle.datepicker table tr td.range.today:hover, -.open .dropdown-toggle.datepicker table tr td.range.today.disabled, -.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover { - background-image: none; -} -.datepicker table tr td.range.today.disabled, -.datepicker table tr td.range.today:hover.disabled, -.datepicker table tr td.range.today.disabled.disabled, -.datepicker table tr td.range.today.disabled:hover.disabled, -.datepicker table tr td.range.today[disabled], -.datepicker table tr td.range.today:hover[disabled], -.datepicker table tr td.range.today.disabled[disabled], -.datepicker table tr td.range.today.disabled:hover[disabled], -fieldset[disabled] .datepicker table tr td.range.today, -fieldset[disabled] .datepicker table tr td.range.today:hover, -fieldset[disabled] .datepicker table tr td.range.today.disabled, -fieldset[disabled] .datepicker table tr td.range.today.disabled:hover, -.datepicker table tr td.range.today.disabled:hover, -.datepicker table tr td.range.today:hover.disabled:hover, -.datepicker table tr td.range.today.disabled.disabled:hover, -.datepicker table tr td.range.today.disabled:hover.disabled:hover, -.datepicker table tr td.range.today[disabled]:hover, -.datepicker table tr td.range.today:hover[disabled]:hover, -.datepicker table tr td.range.today.disabled[disabled]:hover, -.datepicker table tr td.range.today.disabled:hover[disabled]:hover, -fieldset[disabled] .datepicker table tr td.range.today:hover, -fieldset[disabled] .datepicker table tr td.range.today:hover:hover, -fieldset[disabled] .datepicker table tr td.range.today.disabled:hover, -fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:hover, -.datepicker table tr td.range.today.disabled:focus, -.datepicker table tr td.range.today:hover.disabled:focus, -.datepicker table tr td.range.today.disabled.disabled:focus, -.datepicker table tr td.range.today.disabled:hover.disabled:focus, -.datepicker table tr td.range.today[disabled]:focus, -.datepicker table tr td.range.today:hover[disabled]:focus, -.datepicker table tr td.range.today.disabled[disabled]:focus, -.datepicker table tr td.range.today.disabled:hover[disabled]:focus, -fieldset[disabled] .datepicker table tr td.range.today:focus, -fieldset[disabled] .datepicker table tr td.range.today:hover:focus, -fieldset[disabled] .datepicker table tr td.range.today.disabled:focus, -fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:focus, -.datepicker table tr td.range.today.disabled:active, -.datepicker table tr td.range.today:hover.disabled:active, -.datepicker table tr td.range.today.disabled.disabled:active, -.datepicker table tr td.range.today.disabled:hover.disabled:active, -.datepicker table tr td.range.today[disabled]:active, -.datepicker table tr td.range.today:hover[disabled]:active, -.datepicker table tr td.range.today.disabled[disabled]:active, -.datepicker table tr td.range.today.disabled:hover[disabled]:active, -fieldset[disabled] .datepicker table tr td.range.today:active, -fieldset[disabled] .datepicker table tr td.range.today:hover:active, -fieldset[disabled] .datepicker table tr td.range.today.disabled:active, -fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:active, -.datepicker table tr td.range.today.disabled.active, -.datepicker table tr td.range.today:hover.disabled.active, -.datepicker table tr td.range.today.disabled.disabled.active, -.datepicker table tr td.range.today.disabled:hover.disabled.active, -.datepicker table tr td.range.today[disabled].active, -.datepicker table tr td.range.today:hover[disabled].active, -.datepicker table tr td.range.today.disabled[disabled].active, -.datepicker table tr td.range.today.disabled:hover[disabled].active, -fieldset[disabled] .datepicker table tr td.range.today.active, -fieldset[disabled] .datepicker table tr td.range.today:hover.active, -fieldset[disabled] .datepicker table tr td.range.today.disabled.active, -fieldset[disabled] .datepicker table tr td.range.today.disabled:hover.active { - background-color: #f7ca77; - border-color: #f1a417; -} -.datepicker table tr td.selected, -.datepicker table tr td.selected:hover, -.datepicker table tr td.selected.disabled, -.datepicker table tr td.selected.disabled:hover { - color: #ffffff; - background-color: #999999; - border-color: #555555; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker table tr td.selected:hover, -.datepicker table tr td.selected:hover:hover, -.datepicker table tr td.selected.disabled:hover, -.datepicker table tr td.selected.disabled:hover:hover, -.datepicker table tr td.selected:focus, -.datepicker table tr td.selected:hover:focus, -.datepicker table tr td.selected.disabled:focus, -.datepicker table tr td.selected.disabled:hover:focus, -.datepicker table tr td.selected:active, -.datepicker table tr td.selected:hover:active, -.datepicker table tr td.selected.disabled:active, -.datepicker table tr td.selected.disabled:hover:active, -.datepicker table tr td.selected.active, -.datepicker table tr td.selected:hover.active, -.datepicker table tr td.selected.disabled.active, -.datepicker table tr td.selected.disabled:hover.active, -.open .dropdown-toggle.datepicker table tr td.selected, -.open .dropdown-toggle.datepicker table tr td.selected:hover, -.open .dropdown-toggle.datepicker table tr td.selected.disabled, -.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover { - color: #ffffff; - background-color: #858585; - border-color: #373737; -} -.datepicker table tr td.selected:active, -.datepicker table tr td.selected:hover:active, -.datepicker table tr td.selected.disabled:active, -.datepicker table tr td.selected.disabled:hover:active, -.datepicker table tr td.selected.active, -.datepicker table tr td.selected:hover.active, -.datepicker table tr td.selected.disabled.active, -.datepicker table tr td.selected.disabled:hover.active, -.open .dropdown-toggle.datepicker table tr td.selected, -.open .dropdown-toggle.datepicker table tr td.selected:hover, -.open .dropdown-toggle.datepicker table tr td.selected.disabled, -.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover { - background-image: none; -} -.datepicker table tr td.selected.disabled, -.datepicker table tr td.selected:hover.disabled, -.datepicker table tr td.selected.disabled.disabled, -.datepicker table tr td.selected.disabled:hover.disabled, -.datepicker table tr td.selected[disabled], -.datepicker table tr td.selected:hover[disabled], -.datepicker table tr td.selected.disabled[disabled], -.datepicker table tr td.selected.disabled:hover[disabled], -fieldset[disabled] .datepicker table tr td.selected, -fieldset[disabled] .datepicker table tr td.selected:hover, -fieldset[disabled] .datepicker table tr td.selected.disabled, -fieldset[disabled] .datepicker table tr td.selected.disabled:hover, -.datepicker table tr td.selected.disabled:hover, -.datepicker table tr td.selected:hover.disabled:hover, -.datepicker table tr td.selected.disabled.disabled:hover, -.datepicker table tr td.selected.disabled:hover.disabled:hover, -.datepicker table tr td.selected[disabled]:hover, -.datepicker table tr td.selected:hover[disabled]:hover, -.datepicker table tr td.selected.disabled[disabled]:hover, -.datepicker table tr td.selected.disabled:hover[disabled]:hover, -fieldset[disabled] .datepicker table tr td.selected:hover, -fieldset[disabled] .datepicker table tr td.selected:hover:hover, -fieldset[disabled] .datepicker table tr td.selected.disabled:hover, -fieldset[disabled] .datepicker table tr td.selected.disabled:hover:hover, -.datepicker table tr td.selected.disabled:focus, -.datepicker table tr td.selected:hover.disabled:focus, -.datepicker table tr td.selected.disabled.disabled:focus, -.datepicker table tr td.selected.disabled:hover.disabled:focus, -.datepicker table tr td.selected[disabled]:focus, -.datepicker table tr td.selected:hover[disabled]:focus, -.datepicker table tr td.selected.disabled[disabled]:focus, -.datepicker table tr td.selected.disabled:hover[disabled]:focus, -fieldset[disabled] .datepicker table tr td.selected:focus, -fieldset[disabled] .datepicker table tr td.selected:hover:focus, -fieldset[disabled] .datepicker table tr td.selected.disabled:focus, -fieldset[disabled] .datepicker table tr td.selected.disabled:hover:focus, -.datepicker table tr td.selected.disabled:active, -.datepicker table tr td.selected:hover.disabled:active, -.datepicker table tr td.selected.disabled.disabled:active, -.datepicker table tr td.selected.disabled:hover.disabled:active, -.datepicker table tr td.selected[disabled]:active, -.datepicker table tr td.selected:hover[disabled]:active, -.datepicker table tr td.selected.disabled[disabled]:active, -.datepicker table tr td.selected.disabled:hover[disabled]:active, -fieldset[disabled] .datepicker table tr td.selected:active, -fieldset[disabled] .datepicker table tr td.selected:hover:active, -fieldset[disabled] .datepicker table tr td.selected.disabled:active, -fieldset[disabled] .datepicker table tr td.selected.disabled:hover:active, -.datepicker table tr td.selected.disabled.active, -.datepicker table tr td.selected:hover.disabled.active, -.datepicker table tr td.selected.disabled.disabled.active, -.datepicker table tr td.selected.disabled:hover.disabled.active, -.datepicker table tr td.selected[disabled].active, -.datepicker table tr td.selected:hover[disabled].active, -.datepicker table tr td.selected.disabled[disabled].active, -.datepicker table tr td.selected.disabled:hover[disabled].active, -fieldset[disabled] .datepicker table tr td.selected.active, -fieldset[disabled] .datepicker table tr td.selected:hover.active, -fieldset[disabled] .datepicker table tr td.selected.disabled.active, -fieldset[disabled] .datepicker table tr td.selected.disabled:hover.active { - background-color: #999999; - border-color: #555555; -} -.datepicker table tr td.active, -.datepicker table tr td.active:hover, -.datepicker table tr td.active.disabled, -.datepicker table tr td.active.disabled:hover { - color: #ffffff; - background-color: #428bca; - border-color: #357ebd; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker table tr td.active:hover, -.datepicker table tr td.active:hover:hover, -.datepicker table tr td.active.disabled:hover, -.datepicker table tr td.active.disabled:hover:hover, -.datepicker table tr td.active:focus, -.datepicker table tr td.active:hover:focus, -.datepicker table tr td.active.disabled:focus, -.datepicker table tr td.active.disabled:hover:focus, -.datepicker table tr td.active:active, -.datepicker table tr td.active:hover:active, -.datepicker table tr td.active.disabled:active, -.datepicker table tr td.active.disabled:hover:active, -.datepicker table tr td.active.active, -.datepicker table tr td.active:hover.active, -.datepicker table tr td.active.disabled.active, -.datepicker table tr td.active.disabled:hover.active, -.open .dropdown-toggle.datepicker table tr td.active, -.open .dropdown-toggle.datepicker table tr td.active:hover, -.open .dropdown-toggle.datepicker table tr td.active.disabled, -.open .dropdown-toggle.datepicker table tr td.active.disabled:hover { - color: #ffffff; - background-color: #3276b1; - border-color: #285e8e; -} -.datepicker table tr td.active:active, -.datepicker table tr td.active:hover:active, -.datepicker table tr td.active.disabled:active, -.datepicker table tr td.active.disabled:hover:active, -.datepicker table tr td.active.active, -.datepicker table tr td.active:hover.active, -.datepicker table tr td.active.disabled.active, -.datepicker table tr td.active.disabled:hover.active, -.open .dropdown-toggle.datepicker table tr td.active, -.open .dropdown-toggle.datepicker table tr td.active:hover, -.open .dropdown-toggle.datepicker table tr td.active.disabled, -.open .dropdown-toggle.datepicker table tr td.active.disabled:hover { - background-image: none; -} -.datepicker table tr td.active.disabled, -.datepicker table tr td.active:hover.disabled, -.datepicker table tr td.active.disabled.disabled, -.datepicker table tr td.active.disabled:hover.disabled, -.datepicker table tr td.active[disabled], -.datepicker table tr td.active:hover[disabled], -.datepicker table tr td.active.disabled[disabled], -.datepicker table tr td.active.disabled:hover[disabled], -fieldset[disabled] .datepicker table tr td.active, -fieldset[disabled] .datepicker table tr td.active:hover, -fieldset[disabled] .datepicker table tr td.active.disabled, -fieldset[disabled] .datepicker table tr td.active.disabled:hover, -.datepicker table tr td.active.disabled:hover, -.datepicker table tr td.active:hover.disabled:hover, -.datepicker table tr td.active.disabled.disabled:hover, -.datepicker table tr td.active.disabled:hover.disabled:hover, -.datepicker table tr td.active[disabled]:hover, -.datepicker table tr td.active:hover[disabled]:hover, -.datepicker table tr td.active.disabled[disabled]:hover, -.datepicker table tr td.active.disabled:hover[disabled]:hover, -fieldset[disabled] .datepicker table tr td.active:hover, -fieldset[disabled] .datepicker table tr td.active:hover:hover, -fieldset[disabled] .datepicker table tr td.active.disabled:hover, -fieldset[disabled] .datepicker table tr td.active.disabled:hover:hover, -.datepicker table tr td.active.disabled:focus, -.datepicker table tr td.active:hover.disabled:focus, -.datepicker table tr td.active.disabled.disabled:focus, -.datepicker table tr td.active.disabled:hover.disabled:focus, -.datepicker table tr td.active[disabled]:focus, -.datepicker table tr td.active:hover[disabled]:focus, -.datepicker table tr td.active.disabled[disabled]:focus, -.datepicker table tr td.active.disabled:hover[disabled]:focus, -fieldset[disabled] .datepicker table tr td.active:focus, -fieldset[disabled] .datepicker table tr td.active:hover:focus, -fieldset[disabled] .datepicker table tr td.active.disabled:focus, -fieldset[disabled] .datepicker table tr td.active.disabled:hover:focus, -.datepicker table tr td.active.disabled:active, -.datepicker table tr td.active:hover.disabled:active, -.datepicker table tr td.active.disabled.disabled:active, -.datepicker table tr td.active.disabled:hover.disabled:active, -.datepicker table tr td.active[disabled]:active, -.datepicker table tr td.active:hover[disabled]:active, -.datepicker table tr td.active.disabled[disabled]:active, -.datepicker table tr td.active.disabled:hover[disabled]:active, -fieldset[disabled] .datepicker table tr td.active:active, -fieldset[disabled] .datepicker table tr td.active:hover:active, -fieldset[disabled] .datepicker table tr td.active.disabled:active, -fieldset[disabled] .datepicker table tr td.active.disabled:hover:active, -.datepicker table tr td.active.disabled.active, -.datepicker table tr td.active:hover.disabled.active, -.datepicker table tr td.active.disabled.disabled.active, -.datepicker table tr td.active.disabled:hover.disabled.active, -.datepicker table tr td.active[disabled].active, -.datepicker table tr td.active:hover[disabled].active, -.datepicker table tr td.active.disabled[disabled].active, -.datepicker table tr td.active.disabled:hover[disabled].active, -fieldset[disabled] .datepicker table tr td.active.active, -fieldset[disabled] .datepicker table tr td.active:hover.active, -fieldset[disabled] .datepicker table tr td.active.disabled.active, -fieldset[disabled] .datepicker table tr td.active.disabled:hover.active { - background-color: #428bca; - border-color: #357ebd; -} -.datepicker table tr td span { - display: block; - width: 23%; - height: 54px; - line-height: 54px; - float: left; - margin: 1%; - cursor: pointer; - border-radius: 4px; -} -.datepicker table tr td span:hover { - background: #eeeeee; -} -.datepicker table tr td span.disabled, -.datepicker table tr td span.disabled:hover { - background: none; - color: #999999; - cursor: default; -} -.datepicker table tr td span.active, -.datepicker table tr td span.active:hover, -.datepicker table tr td span.active.disabled, -.datepicker table tr td span.active.disabled:hover { - color: #ffffff; - background-color: #428bca; - border-color: #357ebd; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker table tr td span.active:hover, -.datepicker table tr td span.active:hover:hover, -.datepicker table tr td span.active.disabled:hover, -.datepicker table tr td span.active.disabled:hover:hover, -.datepicker table tr td span.active:focus, -.datepicker table tr td span.active:hover:focus, -.datepicker table tr td span.active.disabled:focus, -.datepicker table tr td span.active.disabled:hover:focus, -.datepicker table tr td span.active:active, -.datepicker table tr td span.active:hover:active, -.datepicker table tr td span.active.disabled:active, -.datepicker table tr td span.active.disabled:hover:active, -.datepicker table tr td span.active.active, -.datepicker table tr td span.active:hover.active, -.datepicker table tr td span.active.disabled.active, -.datepicker table tr td span.active.disabled:hover.active, -.open .dropdown-toggle.datepicker table tr td span.active, -.open .dropdown-toggle.datepicker table tr td span.active:hover, -.open .dropdown-toggle.datepicker table tr td span.active.disabled, -.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover { - color: #ffffff; - background-color: #3276b1; - border-color: #285e8e; -} -.datepicker table tr td span.active:active, -.datepicker table tr td span.active:hover:active, -.datepicker table tr td span.active.disabled:active, -.datepicker table tr td span.active.disabled:hover:active, -.datepicker table tr td span.active.active, -.datepicker table tr td span.active:hover.active, -.datepicker table tr td span.active.disabled.active, -.datepicker table tr td span.active.disabled:hover.active, -.open .dropdown-toggle.datepicker table tr td span.active, -.open .dropdown-toggle.datepicker table tr td span.active:hover, -.open .dropdown-toggle.datepicker table tr td span.active.disabled, -.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover { - background-image: none; -} -.datepicker table tr td span.active.disabled, -.datepicker table tr td span.active:hover.disabled, -.datepicker table tr td span.active.disabled.disabled, -.datepicker table tr td span.active.disabled:hover.disabled, -.datepicker table tr td span.active[disabled], -.datepicker table tr td span.active:hover[disabled], -.datepicker table tr td span.active.disabled[disabled], -.datepicker table tr td span.active.disabled:hover[disabled], -fieldset[disabled] .datepicker table tr td span.active, -fieldset[disabled] .datepicker table tr td span.active:hover, -fieldset[disabled] .datepicker table tr td span.active.disabled, -fieldset[disabled] .datepicker table tr td span.active.disabled:hover, -.datepicker table tr td span.active.disabled:hover, -.datepicker table tr td span.active:hover.disabled:hover, -.datepicker table tr td span.active.disabled.disabled:hover, -.datepicker table tr td span.active.disabled:hover.disabled:hover, -.datepicker table tr td span.active[disabled]:hover, -.datepicker table tr td span.active:hover[disabled]:hover, -.datepicker table tr td span.active.disabled[disabled]:hover, -.datepicker table tr td span.active.disabled:hover[disabled]:hover, -fieldset[disabled] .datepicker table tr td span.active:hover, -fieldset[disabled] .datepicker table tr td span.active:hover:hover, -fieldset[disabled] .datepicker table tr td span.active.disabled:hover, -fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover, -.datepicker table tr td span.active.disabled:focus, -.datepicker table tr td span.active:hover.disabled:focus, -.datepicker table tr td span.active.disabled.disabled:focus, -.datepicker table tr td span.active.disabled:hover.disabled:focus, -.datepicker table tr td span.active[disabled]:focus, -.datepicker table tr td span.active:hover[disabled]:focus, -.datepicker table tr td span.active.disabled[disabled]:focus, -.datepicker table tr td span.active.disabled:hover[disabled]:focus, -fieldset[disabled] .datepicker table tr td span.active:focus, -fieldset[disabled] .datepicker table tr td span.active:hover:focus, -fieldset[disabled] .datepicker table tr td span.active.disabled:focus, -fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus, -.datepicker table tr td span.active.disabled:active, -.datepicker table tr td span.active:hover.disabled:active, -.datepicker table tr td span.active.disabled.disabled:active, -.datepicker table tr td span.active.disabled:hover.disabled:active, -.datepicker table tr td span.active[disabled]:active, -.datepicker table tr td span.active:hover[disabled]:active, -.datepicker table tr td span.active.disabled[disabled]:active, -.datepicker table tr td span.active.disabled:hover[disabled]:active, -fieldset[disabled] .datepicker table tr td span.active:active, -fieldset[disabled] .datepicker table tr td span.active:hover:active, -fieldset[disabled] .datepicker table tr td span.active.disabled:active, -fieldset[disabled] .datepicker table tr td span.active.disabled:hover:active, -.datepicker table tr td span.active.disabled.active, -.datepicker table tr td span.active:hover.disabled.active, -.datepicker table tr td span.active.disabled.disabled.active, -.datepicker table tr td span.active.disabled:hover.disabled.active, -.datepicker table tr td span.active[disabled].active, -.datepicker table tr td span.active:hover[disabled].active, -.datepicker table tr td span.active.disabled[disabled].active, -.datepicker table tr td span.active.disabled:hover[disabled].active, -fieldset[disabled] .datepicker table tr td span.active.active, -fieldset[disabled] .datepicker table tr td span.active:hover.active, -fieldset[disabled] .datepicker table tr td span.active.disabled.active, -fieldset[disabled] .datepicker table tr td span.active.disabled:hover.active { - background-color: #428bca; - border-color: #357ebd; -} -.datepicker table tr td span.old, -.datepicker table tr td span.new { - color: #999999; -} -.datepicker th.datepicker-switch { - width: 145px; -} -.datepicker thead tr:first-child th, -.datepicker tfoot tr th { - cursor: pointer; -} -.datepicker thead tr:first-child th:hover, -.datepicker tfoot tr th:hover { - background: #eeeeee; -} -.datepicker .cw { - font-size: 10px; - width: 12px; - padding: 0 2px 0 5px; - vertical-align: middle; -} -.datepicker thead tr:first-child th.cw { - cursor: default; - background-color: transparent; -} -.input-group.date .input-group-addon i { - cursor: pointer; -} -.input-daterange input { - text-align: center; -} -.input-daterange input:first-child { - border-radius: 3px 0 0 3px; -} -.input-daterange input:last-child { - border-radius: 0 3px 3px 0; -} -.input-daterange .input-group-addon { - width: auto; - min-width: 16px; - padding: 4px 5px; - font-weight: normal; - line-height: 1.42857143; - text-align: center; - text-shadow: 0 1px 0 #fff; - vertical-align: middle; - background-color: #eeeeee; - border: solid #cccccc; - border-width: 1px 0; - margin-left: -5px; - margin-right: -5px; -} -.datepicker.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - float: left; - display: none; - min-width: 160px; - list-style: none; - background-color: #ffffff; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 5px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; - *border-right-width: 2px; - *border-bottom-width: 2px; - color: #333333; - font-size: 13px; - line-height: 1.42857143; -} -.datepicker.dropdown-menu th, -.datepicker.datepicker-inline th, -.datepicker.dropdown-menu td, -.datepicker.datepicker-inline td { - padding: 0px 5px; -} diff --git a/public/vendor/bootstrap-datepicker/docs/Makefile b/public/vendor/bootstrap-datepicker/docs/Makefile deleted file mode 100644 index 34b6ef8d4..000000000 --- a/public/vendor/bootstrap-datepicker/docs/Makefile +++ /dev/null @@ -1,153 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = _build - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext - -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - -clean: - -rm -rf $(BUILDDIR)/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/bootstrap-datepicker.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/bootstrap-datepicker.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/bootstrap-datepicker" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/bootstrap-datepicker" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." diff --git a/public/vendor/bootstrap-datepicker/docs/REAME.md b/public/vendor/bootstrap-datepicker/docs/REAME.md deleted file mode 100644 index f8d03089b..000000000 --- a/public/vendor/bootstrap-datepicker/docs/REAME.md +++ /dev/null @@ -1,8 +0,0 @@ -Documentation -============= - -Project documentation is built using [Sphinx docs](http://sphinx-doc.org/), which uses [ReST](http://docutils.sf.net/rst.html) for markup. This allows the docs to cover a vast amount of topics without using a thousand-line README file. - -Sphinx docs is pip-installable via `pip install sphinx`. Once installed, open a command line in the docs folder and run `make html`; the output files will be placed in the `_build/html/` directory, and can be browsed (locally) with any browser. - -The docs can also be found online at http://bootstrap-datepicker.readthedocs.org/. diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/demo_head.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/demo_head.html deleted file mode 100644 index 4ff677502..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/demo_head.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - -
- -
-
- - -
-
-
-
- - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/markup_component.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/markup_component.html deleted file mode 100644 index 018a77a3e..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/markup_component.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - -
- - -
- - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/markup_daterange.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/markup_daterange.html deleted file mode 100644 index 63e612dbb..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/markup_daterange.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - -
-
- - to - -
-
- - to - -
-
- - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/markup_inline.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/markup_inline.html deleted file mode 100644 index 8af4dc4b7..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/markup_inline.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - -
- - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/markup_input.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/markup_input.html deleted file mode 100644 index 4c5488742..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/markup_input.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_calendarweeks.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/option_calendarweeks.html deleted file mode 100644 index e5fb209e7..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_calendarweeks.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - -
- -
-
- -
- - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_clearbtn.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/option_clearbtn.html deleted file mode 100644 index 370bf16ab..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_clearbtn.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_daysofweekdisabled.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/option_daysofweekdisabled.html deleted file mode 100644 index 06baedfb4..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_daysofweekdisabled.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_enddate.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/option_enddate.html deleted file mode 100644 index 4ed88234a..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_enddate.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_language.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/option_language.html deleted file mode 100644 index bbb85588b..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_language.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - -
-
-
-
-
-
-
-
-
-
- - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_multidate.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/option_multidate.html deleted file mode 100644 index 6aea112da..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_multidate.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - -
-
- -
-
- -
-
- -
-
- - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_startdate.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/option_startdate.html deleted file mode 100644 index f79642bd1..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_startdate.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_todaybtn.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/option_todaybtn.html deleted file mode 100644 index 86dc34a7c..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_todaybtn.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_todayhighlight.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/option_todayhighlight.html deleted file mode 100644 index 3d4351b91..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_todayhighlight.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - -
- -
-
- -
- - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_weekstart.html b/public/vendor/bootstrap-datepicker/docs/_screenshots/option_weekstart.html deleted file mode 100644 index c3cb7c86f..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/option_weekstart.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - -
- -
-
- -
-
- -
- - diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/script/common.css b/public/vendor/bootstrap-datepicker/docs/_screenshots/script/common.css deleted file mode 100644 index 141517ef8..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/script/common.css +++ /dev/null @@ -1,9 +0,0 @@ -@import url('http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css'); -@import url('../../../css/datepicker.css'); - -body { - /* Padding around all elements to allow space for screenshots */ - padding: 10px; - /* Transparent background for PNG screenshots */ - background: none; -} diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/script/common.js b/public/vendor/bootstrap-datepicker/docs/_screenshots/script/common.js deleted file mode 100644 index 0d6c4126a..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/script/common.js +++ /dev/null @@ -1,2 +0,0 @@ -document.write(""); -document.write(""); diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/script/debug.js b/public/vendor/bootstrap-datepicker/docs/_screenshots/script/debug.js deleted file mode 100644 index e609fa6ba..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/script/debug.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - Usage: $ phantomjs --remote-debugger-port=9001 --remote-debugger-autorun=yes debug.js page.html - - Open Chrome tab to http://localhost:9001/; open second link (ie, path to page.html) -*/ -var system = require('system' ), fs = require('fs'), webpage = require('webpage'); - -(function(phantom){ - var page=webpage.create(); - - function debugPage(){ - console.log("Refresh a second debugger-port page and open a second webkit inspector for the target page."); - console.log("Letting this page continue will then trigger a break in the target page."); - debugger; // pause here in first web browser tab for steps 5 & 6 - page.open(system.args[1]); - page.evaluateAsync(function() { - debugger; // step 7 will wait here in the second web browser tab - }); - } - debugPage(); -}(phantom)); diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/script/html-imports.min.js b/public/vendor/bootstrap-datepicker/docs/_screenshots/script/html-imports.min.js deleted file mode 100644 index 368d2261d..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/script/html-imports.min.js +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) 2012 The Polymer Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -window.HTMLImports=window.HTMLImports||{flags:{}},function(a){var b=(a.path,a.xhr),c=function(a,b){this.cache={},this.onload=a,this.oncomplete=b,this.inflight=0,this.pending={}};c.prototype={addNodes:function(a){this.inflight+=a.length,d(a,this.require,this),this.checkDone()},require:function(a){var b=a.src||a.href;a.__nodeUrl=b,this.dedupe(b,a)||this.fetch(b,a)},dedupe:function(a,b){return this.pending[a]?(this.pending[a].push(b),!0):this.cache[a]?(this.onload(a,b,this.cache[a]),this.tail(),!0):(this.pending[a]=[b],!1)},fetch:function(a,c){var d=function(b,d){this.receive(a,c,b,d)}.bind(this);b.load(a,d)},receive:function(a,b,c,d){c||(this.cache[a]=d),this.pending[a].forEach(function(b){c||this.onload(a,b,d),this.tail()},this),this.pending[a]=null},tail:function(){--this.inflight,this.checkDone()},checkDone:function(){this.inflight||this.oncomplete()}},b=b||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(c,d,e){var f=new XMLHttpRequest;return(a.flags.debug||a.flags.bust)&&(c+="?"+Math.random()),f.open("GET",c,b.async),f.addEventListener("readystatechange",function(){4===f.readyState&&d.call(e,!b.ok(f)&&f,f.response||f.responseText,c)}),f.send(),f},loadDocument:function(a,b,c){this.load(a,b,c).responseType="document"}};var d=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=b,a.Loader=c}(window.HTMLImports),function(a){function b(a){return c(a,j)}function c(a,b){return"link"===a.localName&&a.getAttribute("rel")===b}function d(a){return"script"===a.localName}function e(a,b){var c=a;c instanceof Document||(c=document.implementation.createHTMLDocument(j)),c._URL=b;var d=c.createElement("base");return d.setAttribute("href",b),c.baseURI||(c.baseURI=b),c.head.appendChild(d),a instanceof Document||(c.body.innerHTML=a),window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(c),c}function f(a,b){function c(){k==l&&requestAnimationFrame(a)}function d(){k++,c()}b=b||o;var e=HTMLImports.isIE?"complete":"interactive",h="complete"===b.readyState||b.readyState===e;if(!h){var i=function(){("complete"===b.readyState||b.readyState===e)&&(b.removeEventListener("readystatechange",i),f(a,b))};return void b.addEventListener("readystatechange",i)}var j=b.querySelectorAll("link[rel=import]"),k=0,l=j.length;if(l)for(var m,n=0;l>n&&(m=j[n]);n++)g(m)?d.call(m):(m.addEventListener("load",d),m.addEventListener("error",d));else c()}function g(a){return i?a.import&&"loading"!==a.import.readyState:a.__importParsed}var h="import"in document.createElement("link"),i=!a.flags.imports&&h,j="import";if(!i){{var k,l=a.Loader,m=(a.xhr,"stylesheet"),n={documents:{},cache:{},preloadSelectors:["link[rel="+j+"]","template","script[src]:not([type])",'script[src][type="text/javascript"]'].join(","),loader:function(a){if(k&&k.inflight){var b=k.oncomplete;return k.oncomplete=function(){b(),a()},k}return k=new l(n.loaded,a),k.cache=n.cache,k},load:function(a,b){k=n.loader(b),n.preload(a)},preload:function(a){var b=this.marshalNodes(a);k.addNodes(b)},marshalNodes:function(a){var b=a.querySelectorAll(n.preloadSelectors);return b=this.filterMainDocumentNodes(a,b),b=this.extractTemplateNodes(b)},filterMainDocumentNodes:function(a,b){return a===document&&(b=Array.prototype.filter.call(b,function(a){return!d(a)})),b},extractTemplateNodes:function(a){var b=[];return a=Array.prototype.filter.call(a,function(a){if("template"===a.localName){if(a.content){var c=a.content.querySelectorAll("link[rel="+m+"]");c.length&&(b=b.concat(Array.prototype.slice.call(c,0)))}return!1}return!0}),b.length&&(a=a.concat(b)),a},loaded:function(a,c,d){if(b(c)){var f=n.documents[a];f||(f=e(d,a),n.documents[a]=f,n.preload(f)),c.import=c.content=d=f}c.__resource=d}};Array.prototype.forEach.call.bind(Array.prototype.forEach)}a.importer=n}var o=window.ShadowDOMPolyfill?wrap(document):document;Object.defineProperty(o,"_currentScript",{get:function(){return HTMLImports.currentScript||o.currentScript},writeable:!0,configurable:!0}),a.hasNative=h,a.useNative=i,a.whenImportsReady=f,a.IMPORT_LINK_TYPE=j,a.isImportLoaded=g}(window.HTMLImports),function(a){function b(a){var b=a.ownerDocument.createElement("style");return b.textContent=a.textContent,g.resolveUrlsInStyle(b),b}function c(a,b){this.doc=a,this.doc.__loadTracker=this,this.callback=b}function d(a){return"link"===a.localName&&a.getAttribute("rel")===h}function e(a){return a.parentNode&&!f(a)}function f(a){return a.ownerDocument===document||a.ownerDocument.impl===document}var g=a.path,h="import",i=/Trident/.test(navigator.userAgent),j={selectors:["link[rel="+h+"]","link[rel=stylesheet]","style","script:not([type])",'script[type="text/javascript"]'],map:{link:"parseLink",script:"parseScript",style:"parseStyle"},parse:function(a,b){if(a.__importParsed)b&&b();else{a.__importParsed=!0;for(var d,e=new c(a,b),f=a.querySelectorAll(j.selectors),g=a.scripts?a.scripts.length:0,h=0;hg&&(e=f[g]);g++)a.addEventListener(e,c)},receive:function(){this.pending--,this.checkDone()},checkDone:function(){this.isOpen&&this.pending<=0&&this.callback&&(this.isOpen=!1,this.callback())}};Array.prototype.forEach.call.bind(Array.prototype.forEach);a.parser=j,a.path=g,a.isIE=i}(HTMLImports),function(){function a(){HTMLImports.ready=!0,HTMLImports.readyTime=(new Date).getTime(),c.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))}function b(){HTMLImports.useNative||HTMLImports.importer.load(c,function(){HTMLImports.parser.parse(c)})}"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a,b){var c=document.createEvent("HTMLEvents");return c.initEvent(a,b.bubbles===!1?!1:!0,b.cancelable===!1?!1:!0,b.detail),c});var c=window.ShadowDOMPolyfill?window.ShadowDOMPolyfill.wrapIfNeeded(document):document;HTMLImports.useNative||("complete"===document.readyState||"interactive"===document.readyState&&!window.attachEvent?b():document.addEventListener("DOMContentLoaded",b)),HTMLImports.whenImportsReady(function(){a()})}(); -//# sourceMappingURL=html-imports.min.map \ No newline at end of file diff --git a/public/vendor/bootstrap-datepicker/docs/_screenshots/script/screenshot.js b/public/vendor/bootstrap-datepicker/docs/_screenshots/script/screenshot.js deleted file mode 100644 index 3300c7c20..000000000 --- a/public/vendor/bootstrap-datepicker/docs/_screenshots/script/screenshot.js +++ /dev/null @@ -1,69 +0,0 @@ -/* jshint phantom:true, devel:true */ -/* Usage: phantomjs screenshot.js in.html out.png */ - -var sys = require('system'), - page = new WebPage(); -page.viewportSize = { - width: 800, - height: 600 -}; - -page.open(sys.args[1], function(status){ - if (status !== 'success'){ - console.log('Bad status: %s', status); - phantom.exit(1); - } - window.setTimeout(function(){ - var box = page.evaluate(function(){ - var lefts, rights, tops, bottoms, - padding = 10, // px - selection, show; - - // Call setup method - if (window.setup) - window.setup(); - // Show all pickers, or only those marked for showing - show = $('body').data('show'); - show = show ? $(show) : $('*'); - show - .filter(function(){ - return 'datepicker' in $(this).data(); - }) - .datepicker('show'); - - // Get bounds of selected elements - selection = $($('body').data('capture')); - tops = selection.map(function(){ - return $(this).offset().top; - }).toArray(); - lefts = selection.map(function(){ - return $(this).offset().left; - }).toArray(); - bottoms = selection.map(function(){ - return $(this).offset().top + $(this).outerHeight(); - }).toArray(); - rights = selection.map(function(){ - return $(this).offset().left + $(this).outerWidth(); - }).toArray(); - - // Convert bounds to single bounding box - var b = { - top: Math.min.apply(Math, tops), - left: Math.min.apply(Math, lefts) - }; - b['width'] = Math.max.apply(Math, rights) - b.left; - b['height'] = Math.max.apply(Math, bottoms) - b.top; - - // Return bounding box - return { - top: Math.max(b.top - padding, 0), - left: Math.max(b.left - padding, 0), - width: b.width + 2 * padding, - height: b.height + 2 * padding - }; - }); - page.clipRect = box; - page.render(sys.args[2]); - phantom.exit(); - }, 1); -}); diff --git a/public/vendor/bootstrap-datepicker/docs/_static/screenshots/demo_head.png b/public/vendor/bootstrap-datepicker/docs/_static/screenshots/demo_head.png deleted file mode 100644 index bc7b92c9578d9b47b774c2e727ee5fd4caa3369c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35214 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

n8s2IFf?jFIsY)DxdU+p2L>O+fC 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 z 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 XE|`5Q?6c@L~De8 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 diff --git a/public/vendor/bootstrap-datepicker/docs/_static/screenshots/markup_inline.png b/public/vendor/bootstrap-datepicker/docs/_static/screenshots/markup_inline.png deleted file mode 100644 index 5e6428dfb2513508d6fd042b28ab5762ac2417a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12398 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 v?_zo6C7eZUiJG!~khQ1Vp;KQyS?m=?3XK@BV*h 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 z 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 a8$at!te^e46h40qc_bk%o+YOF_J0AcR%b>4 diff --git a/public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_clearbtn.png b/public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_clearbtn.png deleted file mode 100644 index a24f7436a3b38b0024254e038577057c59d9ffbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13180 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 TU$4O-dgPwGid=z=QNaHJsebX- diff --git a/public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_language.png b/public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_language.png deleted file mode 100644 index 29aab72df7d1cfeac892040dc55c082f72583028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47404 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⪙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 diff --git a/public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_multidate.png b/public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_multidate.png deleted file mode 100644 index b08b5c196945f46d14ad9cf17f8952d81e15db08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26853 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 diff --git a/public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_startdate.png b/public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_startdate.png deleted file mode 100644 index c7dc8110b21534dbc4ace751b77bdc7c066bfa90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12901 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 OD9EbF6iGdP{(k`aT0|NE diff --git a/public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_todayhighlight.png b/public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_todayhighlight.png deleted file mode 100644 index 271bee3ea6bbc3c8bbd266e9e5a7529f6e2df599..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17533 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\?AcmjM#tH8)_8qoxyyXRb;tyIlp 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 Ol;WNHvboYv-uw@eq}@mW diff --git a/public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_weekstart.png b/public/vendor/bootstrap-datepicker/docs/_static/screenshots/option_weekstart.png deleted file mode 100644 index 61e495fa56b89f9fb6ed46c7e8408c5cafa23c4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22478 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

T23c!O30&gEXUC&WZ{Op0JrLv>Kz= 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 Lu6{1-oD!M v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'bootstrap-datepickerdoc' - - -# -- Options for LaTeX output -------------------------------------------------- - -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). -latex_documents = [ - ('index', 'bootstrap-datepicker.tex', u'bootstrap-datepicker Documentation', - u'eternicode', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output -------------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'bootstrap-datepicker', u'bootstrap-datepicker Documentation', - [u'eternicode'], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------------ - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'bootstrap-datepicker', u'bootstrap-datepicker Documentation', - u'eternicode', 'bootstrap-datepicker', 'One line description of project.', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' diff --git a/public/vendor/bootstrap-datepicker/docs/events.rst b/public/vendor/bootstrap-datepicker/docs/events.rst deleted file mode 100644 index 4423aa1e8..000000000 --- a/public/vendor/bootstrap-datepicker/docs/events.rst +++ /dev/null @@ -1,48 +0,0 @@ -Events -====== - -Datepicker triggers a number of events in certain circumstances. All events have extra data attached to the event object that is passed to any event handlers:: - - $('.datepicker').datepicker() - .on(picker_event, function(e){ - # `e` here contains the extra attributes - }); - -* ``date``: the relevant Date object, in local timezone. For a multidate picker, this will be the latest date picked. -* ``dates``: an Array of Date objects, in local timezone, when using a multidate picker. -* ``format([ix], [format])``: a function to make formatting ``date`` easier. ``ix`` can be the index of a Date in the ``dates`` array to format; if absent, the last date selected will be used. ``format`` can be any format string that datepicker supports; if absent, the format set on the datepicker will be used. Both arguments are optional. - - -show ----- - -Fired when the date picker is displayed. - - -hide ----- - -Fired when the date picker is hidden. - - -clearDate ---------- - -Fired when the date is cleared, normally when the "clear" button (enabled with the ``clearBtn`` option) is pressed. - - -changeDate ----------- - -Fired when the date is changed. - - -changeYear ----------- - -Fired when the *view* year is changed from decade view. - -changeMonth ------------ - -Fired when the *view* month is changed from year view. diff --git a/public/vendor/bootstrap-datepicker/docs/i18n.rst b/public/vendor/bootstrap-datepicker/docs/i18n.rst deleted file mode 100644 index 3eabe08a9..000000000 --- a/public/vendor/bootstrap-datepicker/docs/i18n.rst +++ /dev/null @@ -1,31 +0,0 @@ -I18N -==== - -The plugin supports i18n for the month and weekday names and the ``weekStart`` option. The default is English ("en"); other available translations are available in the ``js/locales/`` directory, simply include your desired locale after the plugin. To add more languages, simply add a key to ``$.fn.datepicker.dates``, before calling ``.datepicker()``. Example:: - - $.fn.datepicker.dates['en'] = { - days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], - daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], - daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], - months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - today: "Today", - clear: "Clear" - }; - -Right-to-left languages may also include ``rtl: true`` to make the calendar display appropriately. - -If your browser (or those of your users) is displaying characters wrong, chances are the browser is loading the javascript file with a non-unicode encoding. Simply add ``charset="UTF-8"`` to your ``script`` tag: - -.. code-block:: html - - - -:: - - $('.datepicker').datepicker({ - language: 'XX' - }); - -.. figure:: _static/screenshots/option_language.png - :align: center diff --git a/public/vendor/bootstrap-datepicker/docs/index.rst b/public/vendor/bootstrap-datepicker/docs/index.rst deleted file mode 100644 index 073672432..000000000 --- a/public/vendor/bootstrap-datepicker/docs/index.rst +++ /dev/null @@ -1,122 +0,0 @@ -bootstrap-datepicker -==================== - -Bootstrap-datepicker provides a flexible datepicker widget in the Twitter bootstrap style. - -.. figure:: _static/screenshots/demo_head.png - :align: center - -This is a fork of Stefan Petre's `original code `_; thanks go to him for getting this thing started! - -Please note that this fork is not used on Stefan's page at this time, nor is it maintained or contributed to by him. - -Versions are incremented according to `semver `_. - -`Online Demo `_ - - -Requirements ------------- - -* `Bootstrap`_ 2.0.4+ -* `jQuery`_ 1.7.1+ - -.. _Bootstrap: http://twitter.github.com/bootstrap/ -.. _jQuery: http://jquery.com/ - -These are the specific versions bootstrap-datepicker is tested against (``js`` files) and built against (``css`` files). Use other versions at your own risk. - - -Dependencies ------------- - -Requires bootstrap's dropdown component (``dropdowns.less``) for some styles, and bootstrap's sprites (``sprites.less`` and associated images) for arrows. - -A standalone .css file (including necessary dropdown styles and alternative, text-based arrows) can be generated by running ``build/build_standalone.less`` through the ``lessc`` compiler:: - - $ lessc build/build_standalone.less datepicker.css - - -Usage ------ - -Call the datepicker via javascript:: - - $('.datepicker').datepicker() - - -Data API -^^^^^^^^ - -As with bootstrap's own plugins, datepicker provides a data-api that can be used to instantiate datepickers without the need for custom javascript. For most datepickers, simply set ``data-provide="datepicker"`` on the element you want to initialize, and it will be intialized lazily, in true bootstrap fashion. For inline datepickers, use ``data-provide="datepicker-inline"``; these will be immediately initialized on page load, and cannot be lazily loaded. - -.. code-block:: html - - - -You can disable datepicker's data-api in the same way as you would disable other bootstrap plugins:: - - $(document).off('.datepicker.data-api'); - - -Configuration -^^^^^^^^^^^^^ - -:doc:`options` are passed to the ``datepicker`` function via an options hash at instantiation:: - - $('.datepicker').datepicker({ - format: 'mm/dd/yyyy', - startDate: '-3d' - }) - -Most options may be provided as data-attributes on the target element: - -.. code-block:: html - - - -:: - - $('.datepicker').datepicker({ - startDate: '-3d' - }) - -Defaults for all options can be modified directly by changing values in the ``$.fn.datepicker.defaults`` hash:: - - $.fn.datepicker.defaults.format = "mm/dd/yyyy"; - $('.datepicker').datepicker({ - startDate: '-3d' - }) - - -No Conflict mode -^^^^^^^^^^^^^^^^ - -``$.fn.datepicker.noConflict`` provides a way to avoid conflict with other jQuery datepicker plugins:: - - var datepicker = $.fn.datepicker.noConflict(); // return $.fn.datepicker to previously assigned value - $.fn.bootstrapDP = datepicker; // give $().bootstrapDP the bootstrap-datepicker functionality - - - -Table of Contents ------------------ - -.. toctree:: - - markup - options - methods - events - keyboard - i18n - - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` - diff --git a/public/vendor/bootstrap-datepicker/docs/keyboard.rst b/public/vendor/bootstrap-datepicker/docs/keyboard.rst deleted file mode 100644 index e34ba65d6..000000000 --- a/public/vendor/bootstrap-datepicker/docs/keyboard.rst +++ /dev/null @@ -1,27 +0,0 @@ -Keyboard support -================ - -The datepicker includes keyboard navigation. The "focused date" is kept track of and highlighted (as with mouse hover) during keyboard nav, and is cleared when a date is toggled or the picker is hidden. - -up, down, left, right arrow keys --------------------------------- - -By themselves, left/right will move focus backward/forward one day, up/down will move focus back/forward one week. - -With the shift key, up/left will move focus backward one month, down/right will move focus forward one month. - -With the ctrl key, up/left will move focus backward one year, down/right will move focus forward one year. - -Shift+ctrl behaves the same as ctrl -- that is, it does not change both month and year simultaneously, only the year. - -enter ------ - -When the picker is visible, enter will toggle the focused date (if there is one). When the picker is not visible, enter will have normal effects -- submitting the current form, etc. - -When the date is deselected, the ``clearDate`` event is triggered; otherwise, the ``changeDate`` event is triggered. If ``autoclose`` is enabled, the picker will be hidden after selection or deselection. - -escape ------- - -The escape key can be used to clear the focused date and hide and re-show the datepicker; hiding the picker is necessary if the user wants to manually edit the value. diff --git a/public/vendor/bootstrap-datepicker/docs/make.bat b/public/vendor/bootstrap-datepicker/docs/make.bat deleted file mode 100644 index 282b37a8f..000000000 --- a/public/vendor/bootstrap-datepicker/docs/make.bat +++ /dev/null @@ -1,190 +0,0 @@ -@ECHO OFF - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set BUILDDIR=_build -set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . -set I18NSPHINXOPTS=%SPHINXOPTS% . -if NOT "%PAPER%" == "" ( - set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% - set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% -) - -if "%1" == "" goto help - -if "%1" == "help" ( - :help - echo.Please use `make ^` where ^ is one of - echo. html to make standalone HTML files - echo. dirhtml to make HTML files named index.html in directories - echo. singlehtml to make a single large HTML file - echo. pickle to make pickle files - echo. json to make JSON files - echo. htmlhelp to make HTML files and a HTML help project - echo. qthelp to make HTML files and a qthelp project - echo. devhelp to make HTML files and a Devhelp project - echo. epub to make an epub - echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter - echo. text to make text files - echo. man to make manual pages - echo. texinfo to make Texinfo files - echo. gettext to make PO message catalogs - echo. changes to make an overview over all changed/added/deprecated items - echo. linkcheck to check all external links for integrity - echo. doctest to run all doctests embedded in the documentation if enabled - goto end -) - -if "%1" == "clean" ( - for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i - del /q /s %BUILDDIR%\* - goto end -) - -if "%1" == "html" ( - %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/html. - goto end -) - -if "%1" == "dirhtml" ( - %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. - goto end -) - -if "%1" == "singlehtml" ( - %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. - goto end -) - -if "%1" == "pickle" ( - %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the pickle files. - goto end -) - -if "%1" == "json" ( - %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the JSON files. - goto end -) - -if "%1" == "htmlhelp" ( - %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run HTML Help Workshop with the ^ -.hhp project file in %BUILDDIR%/htmlhelp. - goto end -) - -if "%1" == "qthelp" ( - %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run "qcollectiongenerator" with the ^ -.qhcp project file in %BUILDDIR%/qthelp, like this: - echo.^> qcollectiongenerator %BUILDDIR%\qthelp\bootstrap-datepicker.qhcp - echo.To view the help file: - echo.^> assistant -collectionFile %BUILDDIR%\qthelp\bootstrap-datepicker.ghc - goto end -) - -if "%1" == "devhelp" ( - %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. - goto end -) - -if "%1" == "epub" ( - %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The epub file is in %BUILDDIR%/epub. - goto end -) - -if "%1" == "latex" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "text" ( - %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The text files are in %BUILDDIR%/text. - goto end -) - -if "%1" == "man" ( - %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The manual pages are in %BUILDDIR%/man. - goto end -) - -if "%1" == "texinfo" ( - %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. - goto end -) - -if "%1" == "gettext" ( - %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The message catalogs are in %BUILDDIR%/locale. - goto end -) - -if "%1" == "changes" ( - %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes - if errorlevel 1 exit /b 1 - echo. - echo.The overview file is in %BUILDDIR%/changes. - goto end -) - -if "%1" == "linkcheck" ( - %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck - if errorlevel 1 exit /b 1 - echo. - echo.Link check complete; look for any errors in the above output ^ -or in %BUILDDIR%/linkcheck/output.txt. - goto end -) - -if "%1" == "doctest" ( - %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest - if errorlevel 1 exit /b 1 - echo. - echo.Testing of doctests in the sources finished, look at the ^ -results in %BUILDDIR%/doctest/output.txt. - goto end -) - -:end diff --git a/public/vendor/bootstrap-datepicker/docs/markup.rst b/public/vendor/bootstrap-datepicker/docs/markup.rst deleted file mode 100644 index 9e8084926..000000000 --- a/public/vendor/bootstrap-datepicker/docs/markup.rst +++ /dev/null @@ -1,62 +0,0 @@ -Markup -======= - -The following are examples of supported markup. On their own, these will not provide a datepicker widget; you will need to instantiate the datepicker on the markup. - - -input ------ - -The simplest case: focusing the input (clicking or tabbing into it) will show the picker. - -.. code-block:: html - - - -.. figure:: _static/screenshots/markup_input.png - :align: center - -component ---------- - -Adding the ``date`` class to an ``input-append`` or ``input-prepend`` bootstrap component will allow the ``add-on`` elements to trigger the picker. - -.. code-block:: html - -

- -.. figure:: _static/screenshots/markup_component.png - :align: center - -.. _daterange: - -date-range ----------- - -Using the ``input-daterange`` construct with multiple child inputs will instantiate one picker per input and link them together to allow selecting ranges. - -.. code-block:: html - -
- - to - -
- -.. figure:: _static/screenshots/markup_daterange.png - :align: center - -inline or embedded ------------------- - -Instantiating the datepicker on a simple div will give an embedded picker that is always visible. - -.. code-block:: html - -
- -.. figure:: _static/screenshots/markup_inline.png - :align: center diff --git a/public/vendor/bootstrap-datepicker/docs/methods.rst b/public/vendor/bootstrap-datepicker/docs/methods.rst deleted file mode 100644 index 03dd781e9..000000000 --- a/public/vendor/bootstrap-datepicker/docs/methods.rst +++ /dev/null @@ -1,164 +0,0 @@ -Methods -======= - -Methods are called on a datepicker by call the ``datepicker`` function with a string first argument, followed by any arguments the method takes:: - - $('.datepicker').datepicker('method', arg1, arg2); - - -remove ------- - -Arguments: None - -Remove the datepicker. Removes attached events, internal attached objects, and added HTML elements. - - -show ----- - -Arguments: None - -Show the picker. - - -hide ----- - -Arguments: None - -Hide the picker. - - -update ------- - -Arguments: - -* date (String|Date, optional) - -Update the datepicker with given argument or the current input value. - -If ``date`` is provided and is a Date object, it is assumed to be a "local" date object, and will be converted to UTC for internal use. - -:: - - $('.datepicker').datepicker('update'); - $('.datepicker').datepicker('update', '2011-03-05'); - $('.datepicker').datepicker('update', new Date(2011, 2, 5)); - - -setDate -------- - -Arguments: - -* date (Date) - -Sets the internal date. ``date`` is assumed to be a "local" date object, and will be converted to UTC for internal use. - - -setUTCDate ----------- - -Arguments: - -* date (Date) - -Sets the internal date. ``date`` is assumed to be a UTC date object, and will not be converted. - - -setDates --------- - -Arguments: - -* date[, date[, ...]] (Date) - -or - -* [date[, date[, ...]]] (Array) - -Sets the internal date list; accepts multiple dates or a single array of dates as arguments. Each ``date`` is assumed to be a "local" date object, and will be converted to UTC for internal use. For use with multidate pickers. - - -setUTCDates ------------ - -Arguments: - -* date[, date[, ...]] (Date) - -or - -* [date[, date[, ...]]] (Array) - -Sets the internal date list. Each ``date`` is assumed to be a UTC date object, and will not be converted. For use with multidate pickers. - - -getDate -------- - -Arguments: None - -Returns a localized date object representing the internal date object of the first datepicker in the selection. For multidate pickers, returns the latest date selected. - - -getUTCDate ----------- - -Arguments: None - -Returns the internal UTC date object, as-is and unconverted to local time, of the first datepicker in the selection. For multidate pickers, returns the latest date selected. - - -getDates --------- - -Arguments: None - -Returns a list of localized date objects representing the internal date objects of the first datepicker in the selection. For use with multidate pickers. - - -getUTCDates ------------ - -Arguments: None - -Returns the internal list of UTC date objects, as they are and unconverted to local time, of the first datepicker in the selection. For use with multidate pickers. - - -setStartDate ------------- - -Arguments: - -* startDate (Date) - -Sets a new lower date limit on the datepicker. See :ref:`startdate` for valid values. - -Omit startDate (or provide an otherwise falsey value) to unset the limit. - - -setEndDate ----------- - -Arguments: - -* endDate (Date) - -Sets a new upper date limit on the datepicker. See :ref:`enddate` for valid values. - -Omit endDate (or provide an otherwise falsey value) to unset the limit. - - -setDaysOfWeekDisabled ---------------------- - -Arguments: - -* daysOfWeekDisabled (String|Array) - -Sets the days of week that should be disabled. See :ref:`daysofweekdisabled` for valid values. - -Omit daysOfWeekDisabled (or provide an otherwise falsey value) to unset the disabled days. diff --git a/public/vendor/bootstrap-datepicker/docs/options.rst b/public/vendor/bootstrap-datepicker/docs/options.rst deleted file mode 100644 index e4c62374c..000000000 --- a/public/vendor/bootstrap-datepicker/docs/options.rst +++ /dev/null @@ -1,221 +0,0 @@ -Options -======= - -All options that take a "Date" can handle a ``Date`` object; a String formatted according to the given ``format``; or a timedelta relative to today, eg "-1d", "+6m +1y", etc, where valid units are "d" (day), "w" (week), "m" (month), and "y" (year). - -Most options can be provided via data-attributes. An option can be converted to a data-attribute by taking its name, replacing each uppercase letter with its lowercase equivalent preceded by a dash, and prepending "data-date-" to the result. For example, ``startDate`` would be ``data-date-start-date``, ``format`` would be ``data-date-format``, and ``daysOfWeekDisabled`` would be ``data-date-days-of-week-disabled``. - - -autoclose ---------- - -Boolean. Default: false - -Whether or not to close the datepicker immediately when a date is selected. - - -beforeShowDay -------------- - -Function(Date). Default: $.noop - -A function that takes a date as a parameter and returns one of the following values: - - * undefined to have no effect - * A Boolean, indicating whether or not this date is selectable - * A String representing additional CSS classes to apply to the date's cell - * An object with the following properties: - - * ``enabled``: same as the Boolean value above - * ``classes``: same as the String value above - * ``tooltip``: a tooltip to apply to this date, via the ``title`` HTML attribute - - -calendarWeeks -------------- - -Boolean. Default: false - -Whether or not to show week numbers to the left of week rows. - -.. figure:: _static/screenshots/option_calendarweeks.png - :align: center - -clearBtn --------- - -Boolean. Default: false - -If true, displays a "Clear" button at the bottom of the datepicker to clear the input value. If "autoclose" is also set to true, this button will also close the datepicker. - -.. figure:: _static/screenshots/option_clearbtn.png - :align: center - - -.. _daysofweekdisabled: - -daysOfWeekDisabled ------------------- - -String, Array. Default: '', [] - -Days of the week that should be disabled. Values are 0 (Sunday) to 6 (Saturday). Multiple values should be comma-separated. Example: disable weekends: ``'0,6'`` or ``[0,6]``. - -.. figure:: _static/screenshots/option_daysofweekdisabled.png - :align: center - - -.. _enddate: - -endDate -------- - -Date. Default: End of time - -The latest date that may be selected; all later dates will be disabled. - -.. figure:: _static/screenshots/option_enddate.png - :align: center - - -forceParse ----------- - -Boolean. Default: true - -Whether or not to force parsing of the input value when the picker is closed. That is, when an invalid date is left in the input field by the user, the picker will forcibly parse that value, and set the input's value to the new, valid date, conforming to the given `format`. - - -format ------- - -String. Default: "mm/dd/yyyy" - -The date format, combination of d, dd, D, DD, m, mm, M, MM, yy, yyyy. - -* d, dd: Numeric date, no leading zero and leading zero, respectively. Eg, 5, 05. -* D, DD: Abbreviated and full weekday names, respectively. Eg, Mon, Monday. -* m, mm: Numeric month, no leading zero and leading zero, respectively. Eg, 7, 07. -* M, MM: Abbreviated and full month names, respectively. Eg, Jan, January -* yy, yyyy: 2- and 4-digit years, respectively. Eg, 12, 2012. - - -inputs ------- - -Array. Default: None - -A list of inputs to be used in a range picker, which will be attached to the selected element. Allows for explicitly creating a range picker on a non-standard element. - - -keyboardNavigation ------------------- - -Boolean. Default: true - -Whether or not to allow date navigation by arrow keys. - - -language --------- - -String. Default: "en" - -The IETF code (eg "en" for English, "pt-BR" for Brazilian Portuguese) of the language to use for month and day names. These will also be used as the input's value (and subsequently sent to the server in the case of form submissions). If a full code (eg "de-DE") is supplied the picker will first check for an "de-DE" language and if not found will fallback and check for a "de" language. If an unknown language code is given, English will be used. See :doc:`i18n`. - -.. figure:: _static/screenshots/option_language.png - :align: center - - -minViewMode ------------ - -Number, String. Default: 0, "days" - -Set a limit for the view mode. Accepts: "days" or 0, "months" or 1, and "years" or 2. -Gives the ability to pick only a month or an year. The day is set to the 1st for "months", and the month is set to January for "years". - -multidate ---------- - -Boolean, Number. Default: false - -Enable multidate picking. Each date in month view acts as a toggle button, keeping track of which dates the user has selected in order. If a number is given, the picker will limit how many dates can be selected to that number, dropping the oldest dates from the list when the number is exceeded. ``true`` equates to no limit. The input's value (if present) is set to a string generated by joining the dates, formatted, with ``multidateSeparator``. - -For selecting 2 dates as a range please see :ref:`daterange` - -.. figure:: _static/screenshots/option_multidate.png - :align: center - - -multidateSeparator ------------------- - -String. Default: "," - -The string that will appear between dates when generating the input's value. When parsing the input's value for a multidate picker, this will also be used to split the incoming string to separate multiple formatted dates; as such, it is highly recommended that you not use a string that could be a substring of a formatted date (eg, using '-' to separate dates when your format is 'yyyy-mm-dd'). - - -orientation ------------ - -String. Default: "auto" - -A space-separated string consisting of one or two of "left" or "right", "top" or "bottom", and "auto" (may be omitted); for example, "top left", "bottom" (horizontal orientation will default to "auto"), "right" (vertical orientation will default to "auto"), "auto top". Allows for fixed placement of the picker popup. - -"orientation" refers to the location of the picker popup's "anchor"; you can also think of it as the location of the trigger element (input, component, etc) relative to the picker. - -"auto" triggers "smart orientation" of the picker. Horizontal orientation will default to "left" and left offset will be tweaked to keep the picker inside the browser viewport; vertical orientation will simply choose "top" or "bottom", whichever will show more of the picker in the viewport. - -.. _startdate: - -startDate ---------- - -Date. Default: Beginning of time - -The earliest date that may be selected; all earlier dates will be disabled. - -.. figure:: _static/screenshots/option_startdate.png - :align: center - - -startView ---------- - -Number, String. Default: 0, "month" - -The view that the datepicker should show when it is opened. Accepts values of 0 or "month" for month view (the default), 1 or "year" for the 12-month overview, and 2 or "decade" for the 10-year overview. Useful for date-of-birth datepickers. - - -todayBtn --------- - -Boolean, "linked". Default: false - -If true or "linked", displays a "Today" button at the bottom of the datepicker to select the current date. If true, the "Today" button will only move the current date into view; if "linked", the current date will also be selected. - -.. figure:: _static/screenshots/option_todaybtn.png - :align: center - - -todayHighlight --------------- - -Boolean. Default: false - -If true, highlights the current date. - -.. figure:: _static/screenshots/option_todayhighlight.png - :align: center - - -weekStart ---------- - -Integer. Default: 0 - -Day of the week start. 0 (Sunday) to 6 (Saturday) - -.. figure:: _static/screenshots/option_weekstart.png - :align: center diff --git a/public/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js b/public/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js deleted file mode 100644 index 5db96af2f..000000000 --- a/public/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js +++ /dev/null @@ -1,1681 +0,0 @@ -/* ========================================================= - * bootstrap-datepicker.js - * Repo: https://github.com/eternicode/bootstrap-datepicker/ - * Demo: http://eternicode.github.io/bootstrap-datepicker/ - * Docs: http://bootstrap-datepicker.readthedocs.org/ - * Forked from http://www.eyecon.ro/bootstrap-datepicker - * ========================================================= - * Started by Stefan Petre; improvements by Andrew Rowls + contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================= */ - -(function($, undefined){ - - var $window = $(window); - - function UTCDate(){ - return new Date(Date.UTC.apply(Date, arguments)); - } - function UTCToday(){ - var today = new Date(); - return UTCDate(today.getFullYear(), today.getMonth(), today.getDate()); - } - function alias(method){ - return function(){ - return this[method].apply(this, arguments); - }; - } - - var DateArray = (function(){ - var extras = { - get: function(i){ - return this.slice(i)[0]; - }, - contains: function(d){ - // Array.indexOf is not cross-browser; - // $.inArray doesn't work with Dates - var val = d && d.valueOf(); - for (var i=0, l=this.length; i < l; i++) - if (this[i].valueOf() === val) - return i; - return -1; - }, - remove: function(i){ - this.splice(i,1); - }, - replace: function(new_array){ - if (!new_array) - return; - if (!$.isArray(new_array)) - new_array = [new_array]; - this.clear(); - this.push.apply(this, new_array); - }, - clear: function(){ - this.length = 0; - }, - copy: function(){ - var a = new DateArray(); - a.replace(this); - return a; - } - }; - - return function(){ - var a = []; - a.push.apply(a, arguments); - $.extend(a, extras); - return a; - }; - })(); - - - // Picker object - - var Datepicker = function(element, options){ - this.dates = new DateArray(); - this.viewDate = UTCToday(); - this.focusDate = null; - - this._process_options(options); - - this.element = $(element); - this.isInline = false; - this.isInput = this.element.is('input'); - this.component = this.element.is('.date') ? this.element.find('.add-on, .input-group-addon, .btn') : false; - this.hasInput = this.component && this.element.find('input').length; - if (this.component && this.component.length === 0) - this.component = false; - - this.picker = $(DPGlobal.template); - this._buildEvents(); - this._attachEvents(); - - if (this.isInline){ - this.picker.addClass('datepicker-inline').appendTo(this.element); - } - else { - this.picker.addClass('datepicker-dropdown dropdown-menu'); - } - - if (this.o.rtl){ - this.picker.addClass('datepicker-rtl'); - } - - this.viewMode = this.o.startView; - - if (this.o.calendarWeeks) - this.picker.find('tfoot th.today, tfoot th.clear') - .attr('colspan', function(i, val){ - return parseInt(val) + 1; - }); - - this._allow_update = false; - - this.setStartDate(this._o.startDate); - this.setEndDate(this._o.endDate); - this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled); - - this.fillDow(); - this.fillMonths(); - - this._allow_update = true; - - this.update(); - this.showMode(); - - if (this.isInline){ - this.show(); - } - }; - - Datepicker.prototype = { - constructor: Datepicker, - - _process_options: function(opts){ - // Store raw options for reference - this._o = $.extend({}, this._o, opts); - // Processed options - var o = this.o = $.extend({}, this._o); - - // Check if "de-DE" style date is available, if not language should - // fallback to 2 letter code eg "de" - var lang = o.language; - if (!dates[lang]){ - lang = lang.split('-')[0]; - if (!dates[lang]) - lang = defaults.language; - } - o.language = lang; - - switch (o.startView){ - case 2: - case 'decade': - o.startView = 2; - break; - case 1: - case 'year': - o.startView = 1; - break; - default: - o.startView = 0; - } - - switch (o.minViewMode){ - case 1: - case 'months': - o.minViewMode = 1; - break; - case 2: - case 'years': - o.minViewMode = 2; - break; - default: - o.minViewMode = 0; - } - - o.startView = Math.max(o.startView, o.minViewMode); - - // true, false, or Number > 0 - if (o.multidate !== true){ - o.multidate = Number(o.multidate) || false; - if (o.multidate !== false) - o.multidate = Math.max(0, o.multidate); - else - o.multidate = 1; - } - o.multidateSeparator = String(o.multidateSeparator); - - o.weekStart %= 7; - o.weekEnd = ((o.weekStart + 6) % 7); - - var format = DPGlobal.parseFormat(o.format); - if (o.startDate !== -Infinity){ - if (!!o.startDate){ - if (o.startDate instanceof Date) - o.startDate = this._local_to_utc(this._zero_time(o.startDate)); - else - o.startDate = DPGlobal.parseDate(o.startDate, format, o.language); - } - else { - o.startDate = -Infinity; - } - } - if (o.endDate !== Infinity){ - if (!!o.endDate){ - if (o.endDate instanceof Date) - o.endDate = this._local_to_utc(this._zero_time(o.endDate)); - else - o.endDate = DPGlobal.parseDate(o.endDate, format, o.language); - } - else { - o.endDate = Infinity; - } - } - - o.daysOfWeekDisabled = o.daysOfWeekDisabled||[]; - if (!$.isArray(o.daysOfWeekDisabled)) - o.daysOfWeekDisabled = o.daysOfWeekDisabled.split(/[,\s]*/); - o.daysOfWeekDisabled = $.map(o.daysOfWeekDisabled, function(d){ - return parseInt(d, 10); - }); - - var plc = String(o.orientation).toLowerCase().split(/\s+/g), - _plc = o.orientation.toLowerCase(); - plc = $.grep(plc, function(word){ - return (/^auto|left|right|top|bottom$/).test(word); - }); - o.orientation = {x: 'auto', y: 'auto'}; - if (!_plc || _plc === 'auto') - ; // no action - else if (plc.length === 1){ - switch (plc[0]){ - case 'top': - case 'bottom': - o.orientation.y = plc[0]; - break; - case 'left': - case 'right': - o.orientation.x = plc[0]; - break; - } - } - else { - _plc = $.grep(plc, function(word){ - return (/^left|right$/).test(word); - }); - o.orientation.x = _plc[0] || 'auto'; - - _plc = $.grep(plc, function(word){ - return (/^top|bottom$/).test(word); - }); - o.orientation.y = _plc[0] || 'auto'; - } - }, - _events: [], - _secondaryEvents: [], - _applyEvents: function(evs){ - for (var i=0, el, ch, ev; i < evs.length; i++){ - el = evs[i][0]; - if (evs[i].length === 2){ - ch = undefined; - ev = evs[i][1]; - } - else if (evs[i].length === 3){ - ch = evs[i][1]; - ev = evs[i][2]; - } - el.on(ev, ch); - } - }, - _unapplyEvents: function(evs){ - for (var i=0, el, ev, ch; i < evs.length; i++){ - el = evs[i][0]; - if (evs[i].length === 2){ - ch = undefined; - ev = evs[i][1]; - } - else if (evs[i].length === 3){ - ch = evs[i][1]; - ev = evs[i][2]; - } - el.off(ev, ch); - } - }, - _buildEvents: function(){ - if (this.isInput){ // single input - this._events = [ - [this.element, { - focus: $.proxy(this.show, this), - keyup: $.proxy(function(e){ - if ($.inArray(e.keyCode, [27,37,39,38,40,32,13,9]) === -1) - this.update(); - }, this), - keydown: $.proxy(this.keydown, this) - }] - ]; - } - else if (this.component && this.hasInput){ // component: input + button - this._events = [ - // For components that are not readonly, allow keyboard nav - [this.element.find('input'), { - focus: $.proxy(this.show, this), - keyup: $.proxy(function(e){ - if ($.inArray(e.keyCode, [27,37,39,38,40,32,13,9]) === -1) - this.update(); - }, this), - keydown: $.proxy(this.keydown, this) - }], - [this.component, { - click: $.proxy(this.show, this) - }] - ]; - } - else if (this.element.is('div')){ // inline datepicker - this.isInline = true; - } - else { - this._events = [ - [this.element, { - click: $.proxy(this.show, this) - }] - ]; - } - this._events.push( - // Component: listen for blur on element descendants - [this.element, '*', { - blur: $.proxy(function(e){ - this._focused_from = e.target; - }, this) - }], - // Input: listen for blur on element - [this.element, { - blur: $.proxy(function(e){ - this._focused_from = e.target; - }, this) - }] - ); - - this._secondaryEvents = [ - [this.picker, { - click: $.proxy(this.click, this) - }], - [$(window), { - resize: $.proxy(this.place, this) - }], - [$(document), { - 'mousedown touchstart': $.proxy(function(e){ - // Clicked outside the datepicker, hide it - if (!( - this.element.is(e.target) || - this.element.find(e.target).length || - this.picker.is(e.target) || - this.picker.find(e.target).length - )){ - this.hide(); - } - }, this) - }] - ]; - }, - _attachEvents: function(){ - this._detachEvents(); - this._applyEvents(this._events); - }, - _detachEvents: function(){ - this._unapplyEvents(this._events); - }, - _attachSecondaryEvents: function(){ - this._detachSecondaryEvents(); - this._applyEvents(this._secondaryEvents); - }, - _detachSecondaryEvents: function(){ - this._unapplyEvents(this._secondaryEvents); - }, - _trigger: function(event, altdate){ - var date = altdate || this.dates.get(-1), - local_date = this._utc_to_local(date); - - this.element.trigger({ - type: event, - date: local_date, - dates: $.map(this.dates, this._utc_to_local), - format: $.proxy(function(ix, format){ - if (arguments.length === 0){ - ix = this.dates.length - 1; - format = this.o.format; - } - else if (typeof ix === 'string'){ - format = ix; - ix = this.dates.length - 1; - } - format = format || this.o.format; - var date = this.dates.get(ix); - return DPGlobal.formatDate(date, format, this.o.language); - }, this) - }); - }, - - show: function(){ - if (!this.isInline) - this.picker.appendTo('body'); - this.picker.show(); - this.place(); - this._attachSecondaryEvents(); - this._trigger('show'); - }, - - hide: function(){ - if (this.isInline) - return; - if (!this.picker.is(':visible')) - return; - this.focusDate = null; - this.picker.hide().detach(); - this._detachSecondaryEvents(); - this.viewMode = this.o.startView; - this.showMode(); - - if ( - this.o.forceParse && - ( - this.isInput && this.element.val() || - this.hasInput && this.element.find('input').val() - ) - ) - this.setValue(); - this._trigger('hide'); - }, - - remove: function(){ - this.hide(); - this._detachEvents(); - this._detachSecondaryEvents(); - this.picker.remove(); - delete this.element.data().datepicker; - if (!this.isInput){ - delete this.element.data().date; - } - }, - - _utc_to_local: function(utc){ - return utc && new Date(utc.getTime() + (utc.getTimezoneOffset()*60000)); - }, - _local_to_utc: function(local){ - return local && new Date(local.getTime() - (local.getTimezoneOffset()*60000)); - }, - _zero_time: function(local){ - return local && new Date(local.getFullYear(), local.getMonth(), local.getDate()); - }, - _zero_utc_time: function(utc){ - return utc && new Date(Date.UTC(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate())); - }, - - getDates: function(){ - return $.map(this.dates, this._utc_to_local); - }, - - getUTCDates: function(){ - return $.map(this.dates, function(d){ - return new Date(d); - }); - }, - - getDate: function(){ - return this._utc_to_local(this.getUTCDate()); - }, - - getUTCDate: function(){ - return new Date(this.dates.get(-1)); - }, - - setDates: function(){ - var args = $.isArray(arguments[0]) ? arguments[0] : arguments; - this.update.apply(this, args); - this._trigger('changeDate'); - this.setValue(); - }, - - setUTCDates: function(){ - var args = $.isArray(arguments[0]) ? arguments[0] : arguments; - this.update.apply(this, $.map(args, this._utc_to_local)); - this._trigger('changeDate'); - this.setValue(); - }, - - setDate: alias('setDates'), - setUTCDate: alias('setUTCDates'), - - setValue: function(){ - var formatted = this.getFormattedDate(); - if (!this.isInput){ - if (this.component){ - this.element.find('input').val(formatted).change(); - } - } - else { - this.element.val(formatted).change(); - } - }, - - getFormattedDate: function(format){ - if (format === undefined) - format = this.o.format; - - var lang = this.o.language; - return $.map(this.dates, function(d){ - return DPGlobal.formatDate(d, format, lang); - }).join(this.o.multidateSeparator); - }, - - setStartDate: function(startDate){ - this._process_options({startDate: startDate}); - this.update(); - this.updateNavArrows(); - }, - - setEndDate: function(endDate){ - this._process_options({endDate: endDate}); - this.update(); - this.updateNavArrows(); - }, - - setDaysOfWeekDisabled: function(daysOfWeekDisabled){ - this._process_options({daysOfWeekDisabled: daysOfWeekDisabled}); - this.update(); - this.updateNavArrows(); - }, - - place: function(){ - if (this.isInline) - return; - var calendarWidth = this.picker.outerWidth(), - calendarHeight = this.picker.outerHeight(), - visualPadding = 10, - windowWidth = $window.width(), - windowHeight = $window.height(), - scrollTop = $window.scrollTop(); - - var parentsZindex = []; - this.element.parents().each(function() { - var itemZIndex = $(this).css('z-index'); - if ( itemZIndex !== 'auto' && itemZIndex !== 0 ) parentsZindex.push( parseInt( itemZIndex ) ); - }); - var zIndex = Math.max.apply( Math, parentsZindex ) + 10; - var offset = this.component ? this.component.parent().offset() : this.element.offset(); - var height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(false); - var width = this.component ? this.component.outerWidth(true) : this.element.outerWidth(false); - var left = offset.left, - top = offset.top; - - this.picker.removeClass( - 'datepicker-orient-top datepicker-orient-bottom '+ - 'datepicker-orient-right datepicker-orient-left' - ); - - if (this.o.orientation.x !== 'auto'){ - this.picker.addClass('datepicker-orient-' + this.o.orientation.x); - if (this.o.orientation.x === 'right') - left -= calendarWidth - width; - } - // auto x orientation is best-placement: if it crosses a window - // edge, fudge it sideways - else { - // Default to left - this.picker.addClass('datepicker-orient-left'); - if (offset.left < 0) - left -= offset.left - visualPadding; - else if (offset.left + calendarWidth > windowWidth) - left = windowWidth - calendarWidth - visualPadding; - } - - // auto y orientation is best-situation: top or bottom, no fudging, - // decision based on which shows more of the calendar - var yorient = this.o.orientation.y, - top_overflow, bottom_overflow; - if (yorient === 'auto'){ - top_overflow = -scrollTop + offset.top - calendarHeight; - bottom_overflow = scrollTop + windowHeight - (offset.top + height + calendarHeight); - if (Math.max(top_overflow, bottom_overflow) === bottom_overflow) - yorient = 'top'; - else - yorient = 'bottom'; - } - this.picker.addClass('datepicker-orient-' + yorient); - if (yorient === 'top') - top += height; - else - top -= calendarHeight + parseInt(this.picker.css('padding-top')); - - this.picker.css({ - top: top, - left: left, - zIndex: zIndex - }); - }, - - _allow_update: true, - update: function(){ - if (!this._allow_update) - return; - - var oldDates = this.dates.copy(), - dates = [], - fromArgs = false; - if (arguments.length){ - $.each(arguments, $.proxy(function(i, date){ - if (date instanceof Date) - date = this._local_to_utc(date); - dates.push(date); - }, this)); - fromArgs = true; - } - else { - dates = this.isInput - ? this.element.val() - : this.element.data('date') || this.element.find('input').val(); - if (dates && this.o.multidate) - dates = dates.split(this.o.multidateSeparator); - else - dates = [dates]; - delete this.element.data().date; - } - - dates = $.map(dates, $.proxy(function(date){ - return DPGlobal.parseDate(date, this.o.format, this.o.language); - }, this)); - dates = $.grep(dates, $.proxy(function(date){ - return ( - date < this.o.startDate || - date > this.o.endDate || - !date - ); - }, this), true); - this.dates.replace(dates); - - if (this.dates.length) - this.viewDate = new Date(this.dates.get(-1)); - else if (this.viewDate < this.o.startDate) - this.viewDate = new Date(this.o.startDate); - else if (this.viewDate > this.o.endDate) - this.viewDate = new Date(this.o.endDate); - - if (fromArgs){ - // setting date by clicking - this.setValue(); - } - else if (dates.length){ - // setting date by typing - if (String(oldDates) !== String(this.dates)) - this._trigger('changeDate'); - } - if (!this.dates.length && oldDates.length) - this._trigger('clearDate'); - - this.fill(); - }, - - fillDow: function(){ - var dowCnt = this.o.weekStart, - html = ''; - if (this.o.calendarWeeks){ - var cell = ' '; - html += cell; - this.picker.find('.datepicker-days thead tr:first-child').prepend(cell); - } - while (dowCnt < this.o.weekStart + 7){ - html += ''+dates[this.o.language].daysMin[(dowCnt++)%7]+''; - } - html += ''; - this.picker.find('.datepicker-days thead').append(html); - }, - - fillMonths: function(){ - var html = '', - i = 0; - while (i < 12){ - html += ''+dates[this.o.language].monthsShort[i++]+''; - } - this.picker.find('.datepicker-months td').html(html); - }, - - setRange: function(range){ - if (!range || !range.length) - delete this.range; - else - this.range = $.map(range, function(d){ - return d.valueOf(); - }); - this.fill(); - }, - - getClassNames: function(date){ - var cls = [], - year = this.viewDate.getUTCFullYear(), - month = this.viewDate.getUTCMonth(), - today = new Date(); - if (date.getUTCFullYear() < year || (date.getUTCFullYear() === year && date.getUTCMonth() < month)){ - cls.push('old'); - } - else if (date.getUTCFullYear() > year || (date.getUTCFullYear() === year && date.getUTCMonth() > month)){ - cls.push('new'); - } - if (this.focusDate && date.valueOf() === this.focusDate.valueOf()) - cls.push('focused'); - // Compare internal UTC date with local today, not UTC today - if (this.o.todayHighlight && - date.getUTCFullYear() === today.getFullYear() && - date.getUTCMonth() === today.getMonth() && - date.getUTCDate() === today.getDate()){ - cls.push('today'); - } - if (this.dates.contains(date) !== -1) - cls.push('active'); - if (date.valueOf() < this.o.startDate || date.valueOf() > this.o.endDate || - $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1){ - cls.push('disabled'); - } - if (this.range){ - if (date > this.range[0] && date < this.range[this.range.length-1]){ - cls.push('range'); - } - if ($.inArray(date.valueOf(), this.range) !== -1){ - cls.push('selected'); - } - } - return cls; - }, - - fill: function(){ - var d = new Date(this.viewDate), - year = d.getUTCFullYear(), - month = d.getUTCMonth(), - startYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity, - startMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity, - endYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity, - endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity, - todaytxt = dates[this.o.language].today || dates['en'].today || '', - cleartxt = dates[this.o.language].clear || dates['en'].clear || '', - tooltip; - if (isNaN(year) || isNaN(month)) return; - this.picker.find('.datepicker-days thead th.datepicker-switch') - .text(dates[this.o.language].months[month]+' '+year); - this.picker.find('tfoot th.today') - .text(todaytxt) - .toggle(this.o.todayBtn !== false); - this.picker.find('tfoot th.clear') - .text(cleartxt) - .toggle(this.o.clearBtn !== false); - this.updateNavArrows(); - this.fillMonths(); - var prevMonth = UTCDate(year, month-1, 28), - day = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(), prevMonth.getUTCMonth()); - prevMonth.setUTCDate(day); - prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7)%7); - var nextMonth = new Date(prevMonth); - nextMonth.setUTCDate(nextMonth.getUTCDate() + 42); - nextMonth = nextMonth.valueOf(); - var html = []; - var clsName; - while (prevMonth.valueOf() < nextMonth){ - if (prevMonth.getUTCDay() === this.o.weekStart){ - html.push(''); - if (this.o.calendarWeeks){ - // ISO 8601: First week contains first thursday. - // ISO also states week starts on Monday, but we can be more abstract here. - var - // Start of current week: based on weekstart/current date - ws = new Date(+prevMonth + (this.o.weekStart - prevMonth.getUTCDay() - 7) % 7 * 864e5), - // Thursday of this week - th = new Date(Number(ws) + (7 + 4 - ws.getUTCDay()) % 7 * 864e5), - // First Thursday of year, year from thursday - yth = new Date(Number(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay())%7*864e5), - // Calendar week: ms between thursdays, div ms per day, div 7 days - calWeek = (th - yth) / 864e5 / 7 + 1; - html.push(''+ calWeek +''); - - } - } - clsName = this.getClassNames(prevMonth); - clsName.push('day'); - - if (this.o.beforeShowDay !== $.noop){ - var before = this.o.beforeShowDay(this._utc_to_local(prevMonth)); - if (before === undefined) - before = {}; - else if (typeof(before) === 'boolean') - before = {enabled: before}; - else if (typeof(before) === 'string') - before = {classes: before}; - if (before.enabled === false) - clsName.push('disabled'); - if (before.classes) - clsName = clsName.concat(before.classes.split(/\s+/)); - if (before.tooltip) - tooltip = before.tooltip; - } - - clsName = $.unique(clsName); - html.push(''+prevMonth.getUTCDate() + ''); - tooltip = null; - if (prevMonth.getUTCDay() === this.o.weekEnd){ - html.push(''); - } - prevMonth.setUTCDate(prevMonth.getUTCDate()+1); - } - this.picker.find('.datepicker-days tbody').empty().append(html.join('')); - - var months = this.picker.find('.datepicker-months') - .find('th:eq(1)') - .text(year) - .end() - .find('span').removeClass('active'); - - $.each(this.dates, function(i, d){ - if (d.getUTCFullYear() === year) - months.eq(d.getUTCMonth()).addClass('active'); - }); - - if (year < startYear || year > endYear){ - months.addClass('disabled'); - } - if (year === startYear){ - months.slice(0, startMonth).addClass('disabled'); - } - if (year === endYear){ - months.slice(endMonth+1).addClass('disabled'); - } - - html = ''; - year = parseInt(year/10, 10) * 10; - var yearCont = this.picker.find('.datepicker-years') - .find('th:eq(1)') - .text(year + '-' + (year + 9)) - .end() - .find('td'); - year -= 1; - var years = $.map(this.dates, function(d){ - return d.getUTCFullYear(); - }), - classes; - for (var i = -1; i < 11; i++){ - classes = ['year']; - if (i === -1) - classes.push('old'); - else if (i === 10) - classes.push('new'); - if ($.inArray(year, years) !== -1) - classes.push('active'); - if (year < startYear || year > endYear) - classes.push('disabled'); - html += ''+year+''; - year += 1; - } - yearCont.html(html); - }, - - updateNavArrows: function(){ - if (!this._allow_update) - return; - - var d = new Date(this.viewDate), - year = d.getUTCFullYear(), - month = d.getUTCMonth(); - switch (this.viewMode){ - case 0: - if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear() && month <= this.o.startDate.getUTCMonth()){ - this.picker.find('.prev').css({visibility: 'hidden'}); - } - else { - this.picker.find('.prev').css({visibility: 'visible'}); - } - if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear() && month >= this.o.endDate.getUTCMonth()){ - this.picker.find('.next').css({visibility: 'hidden'}); - } - else { - this.picker.find('.next').css({visibility: 'visible'}); - } - break; - case 1: - case 2: - if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear()){ - this.picker.find('.prev').css({visibility: 'hidden'}); - } - else { - this.picker.find('.prev').css({visibility: 'visible'}); - } - if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear()){ - this.picker.find('.next').css({visibility: 'hidden'}); - } - else { - this.picker.find('.next').css({visibility: 'visible'}); - } - break; - } - }, - - click: function(e){ - e.preventDefault(); - var target = $(e.target).closest('span, td, th'), - year, month, day; - if (target.length === 1){ - switch (target[0].nodeName.toLowerCase()){ - case 'th': - switch (target[0].className){ - case 'datepicker-switch': - this.showMode(1); - break; - case 'prev': - case 'next': - var dir = DPGlobal.modes[this.viewMode].navStep * (target[0].className === 'prev' ? -1 : 1); - switch (this.viewMode){ - case 0: - this.viewDate = this.moveMonth(this.viewDate, dir); - this._trigger('changeMonth', this.viewDate); - break; - case 1: - case 2: - this.viewDate = this.moveYear(this.viewDate, dir); - if (this.viewMode === 1) - this._trigger('changeYear', this.viewDate); - break; - } - this.fill(); - break; - case 'today': - var date = new Date(); - date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); - - this.showMode(-2); - var which = this.o.todayBtn === 'linked' ? null : 'view'; - this._setDate(date, which); - break; - case 'clear': - var element; - if (this.isInput) - element = this.element; - else if (this.component) - element = this.element.find('input'); - if (element) - element.val("").change(); - this.update(); - this._trigger('changeDate'); - if (this.o.autoclose) - this.hide(); - break; - } - break; - case 'span': - if (!target.is('.disabled')){ - this.viewDate.setUTCDate(1); - if (target.is('.month')){ - day = 1; - month = target.parent().find('span').index(target); - year = this.viewDate.getUTCFullYear(); - this.viewDate.setUTCMonth(month); - this._trigger('changeMonth', this.viewDate); - if (this.o.minViewMode === 1){ - this._setDate(UTCDate(year, month, day)); - } - } - else { - day = 1; - month = 0; - year = parseInt(target.text(), 10)||0; - this.viewDate.setUTCFullYear(year); - this._trigger('changeYear', this.viewDate); - if (this.o.minViewMode === 2){ - this._setDate(UTCDate(year, month, day)); - } - } - this.showMode(-1); - this.fill(); - } - break; - case 'td': - if (target.is('.day') && !target.is('.disabled')){ - day = parseInt(target.text(), 10)||1; - year = this.viewDate.getUTCFullYear(); - month = this.viewDate.getUTCMonth(); - if (target.is('.old')){ - if (month === 0){ - month = 11; - year -= 1; - } - else { - month -= 1; - } - } - else if (target.is('.new')){ - if (month === 11){ - month = 0; - year += 1; - } - else { - month += 1; - } - } - this._setDate(UTCDate(year, month, day)); - } - break; - } - } - if (this.picker.is(':visible') && this._focused_from){ - $(this._focused_from).focus(); - } - delete this._focused_from; - }, - - _toggle_multidate: function(date){ - var ix = this.dates.contains(date); - if (!date){ - this.dates.clear(); - } - if (this.o.multidate === 1 && ix === 0){ - // single datepicker, don't remove selected date - } - else if (ix !== -1){ - this.dates.remove(ix); - } - else { - this.dates.push(date); - } - if (typeof this.o.multidate === 'number') - while (this.dates.length > this.o.multidate) - this.dates.remove(0); - }, - - _setDate: function(date, which){ - if (!which || which === 'date') - this._toggle_multidate(date && new Date(date)); - if (!which || which === 'view') - this.viewDate = date && new Date(date); - - this.fill(); - this.setValue(); - this._trigger('changeDate'); - var element; - if (this.isInput){ - element = this.element; - } - else if (this.component){ - element = this.element.find('input'); - } - if (element){ - element.change(); - } - if (this.o.autoclose && (!which || which === 'date')){ - this.hide(); - } - }, - - moveMonth: function(date, dir){ - if (!date) - return undefined; - if (!dir) - return date; - var new_date = new Date(date.valueOf()), - day = new_date.getUTCDate(), - month = new_date.getUTCMonth(), - mag = Math.abs(dir), - new_month, test; - dir = dir > 0 ? 1 : -1; - if (mag === 1){ - test = dir === -1 - // If going back one month, make sure month is not current month - // (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02) - ? function(){ - return new_date.getUTCMonth() === month; - } - // If going forward one month, make sure month is as expected - // (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02) - : function(){ - return new_date.getUTCMonth() !== new_month; - }; - new_month = month + dir; - new_date.setUTCMonth(new_month); - // Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11 - if (new_month < 0 || new_month > 11) - new_month = (new_month + 12) % 12; - } - else { - // For magnitudes >1, move one month at a time... - for (var i=0; i < mag; i++) - // ...which might decrease the day (eg, Jan 31 to Feb 28, etc)... - new_date = this.moveMonth(new_date, dir); - // ...then reset the day, keeping it in the new month - new_month = new_date.getUTCMonth(); - new_date.setUTCDate(day); - test = function(){ - return new_month !== new_date.getUTCMonth(); - }; - } - // Common date-resetting loop -- if date is beyond end of month, make it - // end of month - while (test()){ - new_date.setUTCDate(--day); - new_date.setUTCMonth(new_month); - } - return new_date; - }, - - moveYear: function(date, dir){ - return this.moveMonth(date, dir*12); - }, - - dateWithinRange: function(date){ - return date >= this.o.startDate && date <= this.o.endDate; - }, - - keydown: function(e){ - if (this.picker.is(':not(:visible)')){ - if (e.keyCode === 27) // allow escape to hide and re-show picker - this.show(); - return; - } - var dateChanged = false, - dir, newDate, newViewDate, - focusDate = this.focusDate || this.viewDate; - switch (e.keyCode){ - case 27: // escape - if (this.focusDate){ - this.focusDate = null; - this.viewDate = this.dates.get(-1) || this.viewDate; - this.fill(); - } - else - this.hide(); - e.preventDefault(); - break; - case 37: // left - case 39: // right - if (!this.o.keyboardNavigation) - break; - dir = e.keyCode === 37 ? -1 : 1; - if (e.ctrlKey){ - newDate = this.moveYear(this.dates.get(-1) || UTCToday(), dir); - newViewDate = this.moveYear(focusDate, dir); - this._trigger('changeYear', this.viewDate); - } - else if (e.shiftKey){ - newDate = this.moveMonth(this.dates.get(-1) || UTCToday(), dir); - newViewDate = this.moveMonth(focusDate, dir); - this._trigger('changeMonth', this.viewDate); - } - else { - newDate = new Date(this.dates.get(-1) || UTCToday()); - newDate.setUTCDate(newDate.getUTCDate() + dir); - newViewDate = new Date(focusDate); - newViewDate.setUTCDate(focusDate.getUTCDate() + dir); - } - if (this.dateWithinRange(newDate)){ - this.focusDate = this.viewDate = newViewDate; - this.setValue(); - this.fill(); - e.preventDefault(); - } - break; - case 38: // up - case 40: // down - if (!this.o.keyboardNavigation) - break; - dir = e.keyCode === 38 ? -1 : 1; - if (e.ctrlKey){ - newDate = this.moveYear(this.dates.get(-1) || UTCToday(), dir); - newViewDate = this.moveYear(focusDate, dir); - this._trigger('changeYear', this.viewDate); - } - else if (e.shiftKey){ - newDate = this.moveMonth(this.dates.get(-1) || UTCToday(), dir); - newViewDate = this.moveMonth(focusDate, dir); - this._trigger('changeMonth', this.viewDate); - } - else { - newDate = new Date(this.dates.get(-1) || UTCToday()); - newDate.setUTCDate(newDate.getUTCDate() + dir * 7); - newViewDate = new Date(focusDate); - newViewDate.setUTCDate(focusDate.getUTCDate() + dir * 7); - } - if (this.dateWithinRange(newDate)){ - this.focusDate = this.viewDate = newViewDate; - this.setValue(); - this.fill(); - e.preventDefault(); - } - break; - case 32: // spacebar - // Spacebar is used in manually typing dates in some formats. - // As such, its behavior should not be hijacked. - break; - case 13: // enter - focusDate = this.focusDate || this.dates.get(-1) || this.viewDate; - if (this.o.keyboardNavigation) { - this._toggle_multidate(focusDate); - dateChanged = true; - } - this.focusDate = null; - this.viewDate = this.dates.get(-1) || this.viewDate; - this.setValue(); - this.fill(); - if (this.picker.is(':visible')){ - e.preventDefault(); - if (this.o.autoclose) - this.hide(); - } - break; - case 9: // tab - this.focusDate = null; - this.viewDate = this.dates.get(-1) || this.viewDate; - this.fill(); - this.hide(); - break; - } - if (dateChanged){ - if (this.dates.length) - this._trigger('changeDate'); - else - this._trigger('clearDate'); - var element; - if (this.isInput){ - element = this.element; - } - else if (this.component){ - element = this.element.find('input'); - } - if (element){ - element.change(); - } - } - }, - - showMode: function(dir){ - if (dir){ - this.viewMode = Math.max(this.o.minViewMode, Math.min(2, this.viewMode + dir)); - } - this.picker - .find('>div') - .hide() - .filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName) - .css('display', 'block'); - this.updateNavArrows(); - } - }; - - var DateRangePicker = function(element, options){ - this.element = $(element); - this.inputs = $.map(options.inputs, function(i){ - return i.jquery ? i[0] : i; - }); - delete options.inputs; - - $(this.inputs) - .datepicker(options) - .bind('changeDate', $.proxy(this.dateUpdated, this)); - - this.pickers = $.map(this.inputs, function(i){ - return $(i).data('datepicker'); - }); - this.updateDates(); - }; - DateRangePicker.prototype = { - updateDates: function(){ - this.dates = $.map(this.pickers, function(i){ - return i.getUTCDate(); - }); - this.updateRanges(); - }, - updateRanges: function(){ - var range = $.map(this.dates, function(d){ - return d.valueOf(); - }); - $.each(this.pickers, function(i, p){ - p.setRange(range); - }); - }, - dateUpdated: function(e){ - // `this.updating` is a workaround for preventing infinite recursion - // between `changeDate` triggering and `setUTCDate` calling. Until - // there is a better mechanism. - if (this.updating) - return; - this.updating = true; - - var dp = $(e.target).data('datepicker'), - new_date = dp.getUTCDate(), - i = $.inArray(e.target, this.inputs), - l = this.inputs.length; - if (i === -1) - return; - - $.each(this.pickers, function(i, p){ - if (!p.getUTCDate()) - p.setUTCDate(new_date); - }); - - if (new_date < this.dates[i]){ - // Date being moved earlier/left - while (i >= 0 && new_date < this.dates[i]){ - this.pickers[i--].setUTCDate(new_date); - } - } - else if (new_date > this.dates[i]){ - // Date being moved later/right - while (i < l && new_date > this.dates[i]){ - this.pickers[i++].setUTCDate(new_date); - } - } - this.updateDates(); - - delete this.updating; - }, - remove: function(){ - $.map(this.pickers, function(p){ p.remove(); }); - delete this.element.data().datepicker; - } - }; - - function opts_from_el(el, prefix){ - // Derive options from element data-attrs - var data = $(el).data(), - out = {}, inkey, - replace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])'); - prefix = new RegExp('^' + prefix.toLowerCase()); - function re_lower(_,a){ - return a.toLowerCase(); - } - for (var key in data) - if (prefix.test(key)){ - inkey = key.replace(replace, re_lower); - out[inkey] = data[key]; - } - return out; - } - - function opts_from_locale(lang){ - // Derive options from locale plugins - var out = {}; - // Check if "de-DE" style date is available, if not language should - // fallback to 2 letter code eg "de" - if (!dates[lang]){ - lang = lang.split('-')[0]; - if (!dates[lang]) - return; - } - var d = dates[lang]; - $.each(locale_opts, function(i,k){ - if (k in d) - out[k] = d[k]; - }); - return out; - } - - var old = $.fn.datepicker; - $.fn.datepicker = function(option){ - var args = Array.apply(null, arguments); - args.shift(); - var internal_return; - this.each(function(){ - var $this = $(this), - data = $this.data('datepicker'), - options = typeof option === 'object' && option; - if (!data){ - var elopts = opts_from_el(this, 'date'), - // Preliminary otions - xopts = $.extend({}, defaults, elopts, options), - locopts = opts_from_locale(xopts.language), - // Options priority: js args, data-attrs, locales, defaults - opts = $.extend({}, defaults, locopts, elopts, options); - if ($this.is('.input-daterange') || opts.inputs){ - var ropts = { - inputs: opts.inputs || $this.find('input').toArray() - }; - $this.data('datepicker', (data = new DateRangePicker(this, $.extend(opts, ropts)))); - } - else { - $this.data('datepicker', (data = new Datepicker(this, opts))); - } - } - if (typeof option === 'string' && typeof data[option] === 'function'){ - internal_return = data[option].apply(data, args); - if (internal_return !== undefined) - return false; - } - }); - if (internal_return !== undefined) - return internal_return; - else - return this; - }; - - var defaults = $.fn.datepicker.defaults = { - autoclose: false, - beforeShowDay: $.noop, - calendarWeeks: false, - clearBtn: false, - daysOfWeekDisabled: [], - endDate: Infinity, - forceParse: true, - format: 'mm/dd/yyyy', - keyboardNavigation: true, - language: 'en', - minViewMode: 0, - multidate: false, - multidateSeparator: ',', - orientation: "auto", - rtl: false, - startDate: -Infinity, - startView: 0, - todayBtn: false, - todayHighlight: false, - weekStart: 0 - }; - var locale_opts = $.fn.datepicker.locale_opts = [ - 'format', - 'rtl', - 'weekStart' - ]; - $.fn.datepicker.Constructor = Datepicker; - var dates = $.fn.datepicker.dates = { - en: { - days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], - daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], - daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], - months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - today: "Today", - clear: "Clear" - } - }; - - var DPGlobal = { - modes: [ - { - clsName: 'days', - navFnc: 'Month', - navStep: 1 - }, - { - clsName: 'months', - navFnc: 'FullYear', - navStep: 1 - }, - { - clsName: 'years', - navFnc: 'FullYear', - navStep: 10 - }], - isLeapYear: function(year){ - return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)); - }, - getDaysInMonth: function(year, month){ - return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; - }, - validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g, - nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g, - parseFormat: function(format){ - // IE treats \0 as a string end in inputs (truncating the value), - // so it's a bad format delimiter, anyway - var separators = format.replace(this.validParts, '\0').split('\0'), - parts = format.match(this.validParts); - if (!separators || !separators.length || !parts || parts.length === 0){ - throw new Error("Invalid date format."); - } - return {separators: separators, parts: parts}; - }, - parseDate: function(date, format, language){ - if (!date) - return undefined; - if (date instanceof Date) - return date; - if (typeof format === 'string') - format = DPGlobal.parseFormat(format); - var part_re = /([\-+]\d+)([dmwy])/, - parts = date.match(/([\-+]\d+)([dmwy])/g), - part, dir, i; - if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(date)){ - date = new Date(); - for (i=0; i < parts.length; i++){ - part = part_re.exec(parts[i]); - dir = parseInt(part[1]); - switch (part[2]){ - case 'd': - date.setUTCDate(date.getUTCDate() + dir); - break; - case 'm': - date = Datepicker.prototype.moveMonth.call(Datepicker.prototype, date, dir); - break; - case 'w': - date.setUTCDate(date.getUTCDate() + dir * 7); - break; - case 'y': - date = Datepicker.prototype.moveYear.call(Datepicker.prototype, date, dir); - break; - } - } - return UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), 0, 0, 0); - } - parts = date && date.match(this.nonpunctuation) || []; - date = new Date(); - var parsed = {}, - setters_order = ['yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'd', 'dd'], - setters_map = { - yyyy: function(d,v){ - return d.setUTCFullYear(v); - }, - yy: function(d,v){ - return d.setUTCFullYear(2000+v); - }, - m: function(d,v){ - if (isNaN(d)) - return d; - v -= 1; - while (v < 0) v += 12; - v %= 12; - d.setUTCMonth(v); - while (d.getUTCMonth() !== v) - d.setUTCDate(d.getUTCDate()-1); - return d; - }, - d: function(d,v){ - return d.setUTCDate(v); - } - }, - val, filtered; - setters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m']; - setters_map['dd'] = setters_map['d']; - date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); - var fparts = format.parts.slice(); - // Remove noop parts - if (parts.length !== fparts.length){ - fparts = $(fparts).filter(function(i,p){ - return $.inArray(p, setters_order) !== -1; - }).toArray(); - } - // Process remainder - function match_part(){ - var m = this.slice(0, parts[i].length), - p = parts[i].slice(0, m.length); - return m === p; - } - if (parts.length === fparts.length){ - var cnt; - for (i=0, cnt = fparts.length; i < cnt; i++){ - val = parseInt(parts[i], 10); - part = fparts[i]; - if (isNaN(val)){ - switch (part){ - case 'MM': - filtered = $(dates[language].months).filter(match_part); - val = $.inArray(filtered[0], dates[language].months) + 1; - break; - case 'M': - filtered = $(dates[language].monthsShort).filter(match_part); - val = $.inArray(filtered[0], dates[language].monthsShort) + 1; - break; - } - } - parsed[part] = val; - } - var _date, s; - for (i=0; i < setters_order.length; i++){ - s = setters_order[i]; - if (s in parsed && !isNaN(parsed[s])){ - _date = new Date(date); - setters_map[s](_date, parsed[s]); - if (!isNaN(_date)) - date = _date; - } - } - } - return date; - }, - formatDate: function(date, format, language){ - if (!date) - return ''; - if (typeof format === 'string') - format = DPGlobal.parseFormat(format); - var val = { - d: date.getUTCDate(), - D: dates[language].daysShort[date.getUTCDay()], - DD: dates[language].days[date.getUTCDay()], - m: date.getUTCMonth() + 1, - M: dates[language].monthsShort[date.getUTCMonth()], - MM: dates[language].months[date.getUTCMonth()], - yy: date.getUTCFullYear().toString().substring(2), - yyyy: date.getUTCFullYear() - }; - val.dd = (val.d < 10 ? '0' : '') + val.d; - val.mm = (val.m < 10 ? '0' : '') + val.m; - date = []; - var seps = $.extend([], format.separators); - for (var i=0, cnt = format.parts.length; i <= cnt; i++){ - if (seps.length) - date.push(seps.shift()); - date.push(val[format.parts[i]]); - } - return date.join(''); - }, - headTemplate: ''+ - ''+ - '«'+ - ''+ - '»'+ - ''+ - '', - contTemplate: '', - footTemplate: ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - '' - }; - DPGlobal.template = '
'+ - '
'+ - ''+ - DPGlobal.headTemplate+ - ''+ - DPGlobal.footTemplate+ - '
'+ - '
'+ - '
'+ - ''+ - DPGlobal.headTemplate+ - DPGlobal.contTemplate+ - DPGlobal.footTemplate+ - '
'+ - '
'+ - '
'+ - ''+ - DPGlobal.headTemplate+ - DPGlobal.contTemplate+ - DPGlobal.footTemplate+ - '
'+ - '
'+ - '
'; - - $.fn.datepicker.DPGlobal = DPGlobal; - - - /* DATEPICKER NO CONFLICT - * =================== */ - - $.fn.datepicker.noConflict = function(){ - $.fn.datepicker = old; - return this; - }; - - - /* DATEPICKER DATA-API - * ================== */ - - $(document).on( - 'focus.datepicker.data-api click.datepicker.data-api', - '[data-provide="datepicker"]', - function(e){ - var $this = $(this); - if ($this.data('datepicker')) - return; - e.preventDefault(); - // component click requires us to explicitly show it - $this.datepicker('show'); - } - ); - $(function(){ - $('[data-provide="datepicker-inline"]').datepicker(); - }); - -}(window.jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ar.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ar.js deleted file mode 100644 index 12ae1821d..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ar.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Arabic translation for bootstrap-datepicker - * Mohammed Alshehri - */ -;(function($){ - $.fn.datepicker.dates['ar'] = { - days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"], - daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"], - daysMin: ["ح", "ن", "ث", "ع", "خ", "ج", "س", "ح"], - months: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], - monthsShort: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], - today: "هذا اليوم", - rtl: true - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.az.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.az.js deleted file mode 100644 index 0285341ca..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.az.js +++ /dev/null @@ -1,12 +0,0 @@ -// Azerbaijani -;(function($){ - $.fn.datepicker.dates['az'] = { - days: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə", "Bazar"], - daysShort: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş.", "B."], - daysMin: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş.", "B."], - months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"], - monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"], - today: "Bu gün", - weekStart: 1 - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.bg.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.bg.js deleted file mode 100644 index 6837afd9c..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.bg.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Bulgarian translation for bootstrap-datepicker - * Apostol Apostolov - */ -;(function($){ - $.fn.datepicker.dates['bg'] = { - days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"], - daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"], - daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"], - months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"], - monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"], - today: "днес" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.bs.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.bs.js deleted file mode 100644 index f0d4c26a0..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.bs.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Bosnian translation for bootstrap-datepicker - */ -;(function($){ - $.fn.datepicker.dates['bs'] = { - days: ["Nedjelja","Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota", "Nedjelja"], - daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub", "Ned"], - daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], - months: ["Januar", "Februar", "Mart", "April", "Maj", "Juni", "Juli", "August", "Septembar", "Oktobar", "Novembar", "Decembar"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], - today: "Danas", - weekStart: 1, - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ca.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ca.js deleted file mode 100644 index 432481e78..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ca.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Catalan translation for bootstrap-datepicker - * J. Garcia - */ -;(function($){ - $.fn.datepicker.dates['ca'] = { - days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"], - daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"], - daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"], - months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], - monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], - today: "Avui", - clear: "Esborrar", - weekStart: 1, - format: "dd/mm/yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cs.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cs.js deleted file mode 100644 index 885c73bf4..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cs.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Czech translation for bootstrap-datepicker - * Matěj Koubík - * Fixes by Michal Remiš - */ -;(function($){ - $.fn.datepicker.dates['cs'] = { - days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"], - daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"], - daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"], - months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], - monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"], - today: "Dnes", - clear: "Vymazat", - weekStart: 1, - format: "d.m.yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cy.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cy.js deleted file mode 100644 index 7e1136ab6..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.cy.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Welsh translation for bootstrap-datepicker - * S. Morris - */ -;(function($){ - $.fn.datepicker.dates['cy'] = { - days: ["Sul", "Llun", "Mawrth", "Mercher", "Iau", "Gwener", "Sadwrn", "Sul"], - daysShort: ["Sul", "Llu", "Maw", "Mer", "Iau", "Gwe", "Sad", "Sul"], - daysMin: ["Su", "Ll", "Ma", "Me", "Ia", "Gwe", "Sa", "Su"], - months: ["Ionawr", "Chewfror", "Mawrth", "Ebrill", "Mai", "Mehefin", "Gorfennaf", "Awst", "Medi", "Hydref", "Tachwedd", "Rhagfyr"], - monthsShort: ["Ion", "Chw", "Maw", "Ebr", "Mai", "Meh", "Gor", "Aws", "Med", "Hyd", "Tach", "Rha"], - today: "Heddiw" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.da.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.da.js deleted file mode 100644 index c3d702d45..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.da.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Danish translation for bootstrap-datepicker - * Christian Pedersen - */ -;(function($){ - $.fn.datepicker.dates['da'] = { - days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], - daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], - daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], - months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], - today: "I Dag", - clear: "Nulstil" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.de.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.de.js deleted file mode 100644 index a27ba578e..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.de.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * German translation for bootstrap-datepicker - * Sam Zurcher - */ -;(function($){ - $.fn.datepicker.dates['de'] = { - days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"], - daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"], - daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"], - months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], - monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], - today: "Heute", - clear: "Löschen", - weekStart: 1, - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.el.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.el.js deleted file mode 100644 index b2a79d9d1..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.el.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Greek translation for bootstrap-datepicker - */ -;(function($){ - $.fn.datepicker.dates['el'] = { - days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"], - daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"], - daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"], - months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], - monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"], - today: "Σήμερα", - clear: "Καθαρισμός", - weekStart: 1, - format: "d/m/yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.en-GB.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.en-GB.js deleted file mode 100644 index a4a68cf0c..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.en-GB.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * British English translation for bootstrap-datepicker - * Xavier Dutreilh - */ -;(function($){ - $.fn.datepicker.dates['en-GB'] = { - days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], - daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], - daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], - months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - today: "Today", - clear: "Clear", - weekStart: 1, - format: "dd/mm/yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.es.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.es.js deleted file mode 100644 index e497d5892..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.es.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Spanish translation for bootstrap-datepicker - * Bruno Bonamin - */ -;(function($){ - $.fn.datepicker.dates['es'] = { - days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"], - daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"], - daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"], - months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], - monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], - today: "Hoy", - clear: "Borrar", - weekStart: 1, - format: "dd/mm/yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.et.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.et.js deleted file mode 100644 index 87c812ed5..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.et.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Estonian translation for bootstrap-datepicker - * Ando Roots - * Fixes by Illimar Tambek < - */ -;(function($){ - $.fn.datepicker.dates['et'] = { - days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev", "Pühapäev"], - daysShort: ["Pühap", "Esmasp", "Teisip", "Kolmap", "Neljap", "Reede", "Laup", "Pühap"], - daysMin: ["P", "E", "T", "K", "N", "R", "L", "P"], - months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"], - monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"], - today: "Täna", - clear: "Tühjenda", - weekStart: 1, - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.eu.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.eu.js deleted file mode 100644 index 295db4c51..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.eu.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Basque translation for bootstrap-datepicker - * Arkaitz Etxeberria - */ -;(function($){ - $.fn.datepicker.dates['eu'] = { - days: ['Igandea','Astelehena','Asteartea','Asteazkena','Osteguna','Ostirala','Larunbata','Igandea'], - daysShort: ['Ig','Al','Ar','Az','Og','Ol','Lr', 'Ig'], - daysMin: ['Ig','Al','Ar','Az','Og','Ol','Lr', 'Ig'], - months: ['Urtarrila','Otsaila','Martxoa','Apirila','Maiatza','Ekaina','Uztaila','Abuztua','Iraila','Urria','Azaroa','Abendua'], - monthsShort: ['Urt','Ots','Mar','Api','Mai','Eka','Uzt','Abu','Ira','Urr','Aza','Abe'], - today: "Gaur" - }; -}(jQuery)); - diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fa.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fa.js deleted file mode 100644 index 6503c85dd..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fa.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Persian translation for bootstrap-datepicker - * Mostafa Rokooie - */ -;(function($){ - $.fn.datepicker.dates['fa'] = { - days: ["یک‌شنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه", "یک‌شنبه"], - daysShort: ["یک", "دو", "سه", "چهار", "پنج", "جمعه", "شنبه", "یک"], - daysMin: ["ی", "د", "س", "چ", "پ", "ج", "ش", "ی"], - months: ["ژانویه", "فوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], - monthsShort: ["ژان", "فور", "مار", "آور", "مه", "ژون", "ژوی", "اوت", "سپت", "اکت", "نوا", "دسا"], - today: "امروز", - clear: "پاک کن", - weekStart: 1, - format: "yyyy/mm/dd" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fi.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fi.js deleted file mode 100644 index 01f40dc2f..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fi.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Finnish translation for bootstrap-datepicker - * Jaakko Salonen - */ -;(function($){ - $.fn.datepicker.dates['fi'] = { - days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"], - daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"], - daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"], - months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], - monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"], - today: "tänään", - weekStart: 1, - format: "d.m.yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fo.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fo.js deleted file mode 100644 index 64a5394df..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fo.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Faroese translation for bootstrap-datepicker - * Theodor Johannesen - */ -;(function($){ - $.fn.datepicker.dates['fo'] = { - days: ["Sunnudagur", "Mánadagur", "Týsdagur", "Mikudagur", "Hósdagur", "Fríggjadagur", "Leygardagur", "Sunnudagur"], - daysShort: ["Sun", "Mán", "Týs", "Mik", "Hós", "Frí", "Ley", "Sun"], - daysMin: ["Su", "Má", "Tý", "Mi", "Hó", "Fr", "Le", "Su"], - months: ["Januar", "Februar", "Marts", "Apríl", "Mei", "Juni", "Juli", "August", "Septembur", "Oktobur", "Novembur", "Desembur"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], - today: "Í Dag", - clear: "Reinsa" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr-CH.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr-CH.js deleted file mode 100644 index 684c166c1..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr-CH.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * French (Switzerland) translation for bootstrap-datepicker - * Christoph Jossi - * Based on - * French translation for bootstrap-datepicker - * Nico Mollet - */ -;(function($){ - $.fn.datepicker.dates['fr'] = { - days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"], - daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], - daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], - months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], - monthsShort: ["Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Déc"], - today: "Aujourd'hui", - clear: "Effacer", - weekStart: 1, - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr.js deleted file mode 100644 index eff07aa6f..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.fr.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * French translation for bootstrap-datepicker - * Nico Mollet - */ -;(function($){ - $.fn.datepicker.dates['fr'] = { - days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"], - daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], - daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], - months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], - monthsShort: ["Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Déc"], - today: "Aujourd'hui", - clear: "Effacer", - weekStart: 1, - format: "dd/mm/yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.gl.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.gl.js deleted file mode 100644 index b0ce47c52..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.gl.js +++ /dev/null @@ -1,13 +0,0 @@ -;(function($){ - $.fn.datepicker.dates['gl'] = { - days: ["Domingo", "Luns", "Martes", "Mércores", "Xoves", "Venres", "Sábado", "Domingo"], - daysShort: ["Dom", "Lun", "Mar", "Mér", "Xov", "Ven", "Sáb", "Dom"], - daysMin: ["Do", "Lu", "Ma", "Me", "Xo", "Ve", "Sa", "Do"], - months: ["Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xuño", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro"], - monthsShort: ["Xan", "Feb", "Mar", "Abr", "Mai", "Xun", "Xul", "Ago", "Sep", "Out", "Nov", "Dec"], - today: "Hoxe", - clear: "Limpar", - weekStart: 1, - format: "dd/mm/yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.he.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.he.js deleted file mode 100644 index 2e17393b1..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.he.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Hebrew translation for bootstrap-datepicker - * Sagie Maoz - */ -;(function($){ - $.fn.datepicker.dates['he'] = { - days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"], - daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], - daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], - months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], - monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], - today: "היום", - rtl: true - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hr.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hr.js deleted file mode 100644 index 655ea54b4..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hr.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Croatian localisation - */ -;(function($){ - $.fn.datepicker.dates['hr'] = { - days: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota", "Nedjelja"], - daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub", "Ned"], - daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"], - months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"], - monthsShort: ["Sij", "Velj", "Ožu", "Tra", "Svi", "Lip", "Srp", "Kol", "Ruj", "Lis", "Stu", "Pro"], - today: "Danas" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hu.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hu.js deleted file mode 100644 index bf5308a13..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hu.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Hungarian translation for bootstrap-datepicker - * Sotus László - */ -;(function($){ - $.fn.datepicker.dates['hu'] = { - days: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Vasárnap"], - daysShort: ["Vas", "Hét", "Ked", "Sze", "Csü", "Pén", "Szo", "Vas"], - daysMin: ["Va", "Hé", "Ke", "Sz", "Cs", "Pé", "Sz", "Va"], - months: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], - monthsShort: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"], - today: "Ma", - weekStart: 1, - format: "yyyy.mm.dd" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hy.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hy.js deleted file mode 100644 index 716e19f9c..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.hy.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Armenian translation for bootstrap-datepicker - * Hayk Chamyan - */ -;(function($){ - $.fn.datepicker.dates['hy'] = { - days: ["Կիրակի", "Երկուշաբթի", "Երեքշաբթի", "Չորեքշաբթի", "Հինգշաբթի", "Ուրբաթ", "Շաբաթ", "Կիրակի"], - daysShort: ["Կիր", "Երկ", "Երք", "Չոր", "Հնգ", "Ուր", "Շաբ", "Կիր"], - daysMin: ["Կի", "Եկ", "Եք", "Չո", "Հի", "Ու", "Շա", "Կի"], - months: ["Հունվար", "Փետրվար", "Մարտ", "Ապրիլ", "Մայիս", "Հունիս", "Հուլիս", "Օգոստոս", "Սեպտեմբեր", "Հոկտեմբեր", "Նոյեմբեր", "Դեկտեմբեր"], - monthsShort: ["Հնվ", "Փետ", "Մար", "Ապր", "Մայ", "Հուն", "Հուլ", "Օգս", "Սեպ", "Հոկ", "Նոյ", "Դեկ"], - today: "Այսօր", - clear: "Ջնջել", - format: "dd.mm.yyyy", - weekStart: 1 - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.id.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.id.js deleted file mode 100644 index aae6e8960..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.id.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Bahasa translation for bootstrap-datepicker - * Azwar Akbar - */ -;(function($){ - $.fn.datepicker.dates['id'] = { - days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"], - daysShort: ["Mgu", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mgu"], - daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"], - months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], - today: "Hari Ini", - clear: "Kosongkan" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.is.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.is.js deleted file mode 100644 index 0e57a9168..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.is.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Icelandic translation for bootstrap-datepicker - * Hinrik Örn Sigurðsson - */ -;(function($){ - $.fn.datepicker.dates['is'] = { - days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"], - daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"], - daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"], - months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"], - today: "Í Dag" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.it-CH.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.it-CH.js deleted file mode 100644 index 7aa6f582e..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.it-CH.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Italian (Switzerland) translation for bootstrap-datepicker - * Christoph Jossi - * Based on - * Italian translation for bootstrap-datepicker - * Enrico Rubboli - */ -;(function($){ - $.fn.datepicker.dates['it'] = { - days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"], - daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], - daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], - months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], - monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], - today: "Oggi", - clear: "Cancella", - weekStart: 1, - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.it.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.it.js deleted file mode 100644 index 9f476fa23..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.it.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Italian translation for bootstrap-datepicker - * Enrico Rubboli - */ -;(function($){ - $.fn.datepicker.dates['it'] = { - days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"], - daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], - daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], - months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], - monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], - today: "Oggi", - clear: "Cancella", - weekStart: 1, - format: "dd/mm/yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ja.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ja.js deleted file mode 100644 index 699b6aefb..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ja.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Japanese translation for bootstrap-datepicker - * Norio Suzuki - */ -;(function($){ - $.fn.datepicker.dates['ja'] = { - days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"], - daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"], - daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"], - months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], - monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], - today: "今日", - format: "yyyy/mm/dd", - clear: "クリア" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ka.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ka.js deleted file mode 100644 index 543445494..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ka.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Georgian translation for bootstrap-datepicker - * Levan Melikishvili - */ -;(function($){ - $.fn.datepicker.dates['ka'] = { - days: ["კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი", "კვირა"], - daysShort: ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ", "კვი"], - daysMin: ["კვ", "ორ", "სა", "ოთ", "ხუ", "პა", "შა", "კვ"], - months: ["იანვარი", "თებერვალი", "მარტი", "აპრილი", "მაისი", "ივნისი", "ივლისი", "აგვისტო", "სექტემბერი", "ოქტომები", "ნოემბერი", "დეკემბერი"], - monthsShort: ["იან", "თებ", "მარ", "აპრ", "მაი", "ივნ", "ივლ", "აგვ", "სექ", "ოქტ", "ნოე", "დეკ"], - today: "დღეს", - clear: "გასუფთავება", - weekStart: 1, - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kh.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kh.js deleted file mode 100644 index d3072c937..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kh.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Cambodia (Khmer) translation for bootstrap-datepicker - * Lytay TOUCH - */ -;(function($){ - $.fn.datepicker.dates['kh'] = { - days: ["អាទិត្យ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍", "អាទិត្យ"], - daysShort: ["អា.ទិ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រ.ហ", "សុក្រ", "សៅរ៍", "អារ.ទិ"], - daysMin: ["អា.ទិ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រ.ហ", "សុក្រ", "សៅរ៍", "អារ.ទិ"], - months: ["មករា", "កុម្ភះ", "មិនា", "មេសា", "ឧសភា", "មិថុនា", "កក្កដា", "សីហា", "កញ្ញា", "តុលា", "វិច្ឆិកា", "ធ្នូ"], - monthsShort: ["មករា", "កុម្ភះ", "មិនា", "មេសា", "ឧសភា", "មិថុនា", "កក្កដា", "សីហា", "កញ្ញា", "តុលា", "វិច្ឆិកា", "ធ្នូ"], - today: "ថ្ងៃនេះ", - clear: "សំអាត" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kk.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kk.js deleted file mode 100644 index 94dd6b8f1..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kk.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Kazakh translation for bootstrap-datepicker - * Yerzhan Tolekov - */ -;(function($){ - $.fn.datepicker.dates['kk'] = { - days: ["Жексенбі", "Дүйсенбі", "Сейсенбі", "Сәрсенбі", "Бейсенбі", "Жұма", "Сенбі", "Жексенбі"], - daysShort: ["Жек", "Дүй", "Сей", "Сәр", "Бей", "Жұм", "Сен", "Жек"], - daysMin: ["Жк", "Дс", "Сс", "Ср", "Бс", "Жм", "Сн", "Жк"], - months: ["Қаңтар", "Ақпан", "Наурыз", "Сәуір", "Мамыр", "Маусым", "Шілде", "Тамыз", "Қыркүйек", "Қазан", "Қараша", "Желтоқсан"], - monthsShort: ["Қаң", "Ақп", "Нау", "Сәу", "Мамыр", "Мау", "Шлд", "Тмз", "Қыр", "Қзн", "Қар", "Жел"], - today: "Бүгін", - weekStart: 1 - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kr.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kr.js deleted file mode 100644 index 183a88d15..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.kr.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Korean translation for bootstrap-datepicker - * Gu Youn - */ -;(function($){ - $.fn.datepicker.dates['kr'] = { - days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"], - daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"], - daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"], - months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], - monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"] - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lt.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lt.js deleted file mode 100644 index 11c1b3ad4..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lt.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Lithuanian translation for bootstrap-datepicker - * Šarūnas Gliebus - */ - -;(function($){ - $.fn.datepicker.dates['lt'] = { - days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"], - daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"], - daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"], - months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"], - monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"], - today: "Šiandien", - weekStart: 1 - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lv.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lv.js deleted file mode 100644 index 76d0f3a6c..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.lv.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Latvian translation for bootstrap-datepicker - * Artis Avotins - */ - -;(function($){ - $.fn.datepicker.dates['lv'] = { - days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena"], - daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"], - daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "Se", "Sv"], - months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec"], - today: "Šodien", - weekStart: 1 - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.mk.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.mk.js deleted file mode 100644 index 0ab8cf681..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.mk.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Macedonian translation for bootstrap-datepicker - * Marko Aleksic - */ -;(function($){ - $.fn.datepicker.dates['mk'] = { - days: ["Недела", "Понеделник", "Вторник", "Среда", "Четврток", "Петок", "Сабота", "Недела"], - daysShort: ["Нед", "Пон", "Вто", "Сре", "Чет", "Пет", "Саб", "Нед"], - daysMin: ["Не", "По", "Вт", "Ср", "Че", "Пе", "Са", "Не"], - months: ["Јануари", "Февруари", "Март", "Април", "Мај", "Јуни", "Јули", "Август", "Септември", "Октомври", "Ноември", "Декември"], - monthsShort: ["Јан", "Фев", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Ное", "Дек"], - today: "Денес", - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ms.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ms.js deleted file mode 100644 index fa3a21a54..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ms.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Malay translation for bootstrap-datepicker - * Ateman Faiz - */ -;(function($){ - $.fn.datepicker.dates['ms'] = { - days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"], - daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"], - daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"], - months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"], - today: "Hari Ini" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nb.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nb.js deleted file mode 100644 index 7b28e84f5..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nb.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Norwegian (bokmål) translation for bootstrap-datepicker - * Fredrik Sundmyhr - */ -;(function($){ - $.fn.datepicker.dates['nb'] = { - days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], - daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], - daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], - months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], - today: "I Dag" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl-BE.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl-BE.js deleted file mode 100644 index ee4201a66..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl-BE.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Belgium-Dutch translation for bootstrap-datepicker - * Julien Poulin - */ -;(function($){ - $.fn.datepicker.dates['nl-BE'] = { - days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], - daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], - daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], - months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], - monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], - today: "Vandaag", - clear: "Leegmaken", - weekStart: 1, - format: "dd/mm/yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl.js deleted file mode 100644 index b83338db8..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.nl.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Dutch translation for bootstrap-datepicker - * Reinier Goltstein - */ -;(function($){ - $.fn.datepicker.dates['nl'] = { - days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], - daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], - daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], - months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], - monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], - today: "Vandaag", - clear: "Wissen", - weekStart: 1, - format: "dd-mm-yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js deleted file mode 100644 index c29ec83bc..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.no.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Norwegian translation for bootstrap-datepicker - **/ -;(function($){ - $.fn.datepicker.dates['no'] = { - days: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'], - daysShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'], - daysMin: ['Sø','Ma','Ti','On','To','Fr','Lø'], - months: ['Januar','Februar','Mars','April','Mai','Juni','Juli','August','September','Oktober','November','Desember'], - monthsShort: ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Des'], - today: 'I dag', - clear: 'Nullstill', - weekStart: 1, - format: 'dd.mm.yyyy' - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pl.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pl.js deleted file mode 100644 index 1bf88ea19..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pl.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Polish translation for bootstrap-datepicker - * Robert - */ -;(function($){ - $.fn.datepicker.dates['pl'] = { - days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"], - daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"], - daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"], - months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], - monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"], - today: "Dzisiaj", - weekStart: 1, - clear: "Wyczyść" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt-BR.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt-BR.js deleted file mode 100644 index eb642b7c7..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt-BR.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Brazilian translation for bootstrap-datepicker - * Cauan Cabral - */ -;(function($){ - $.fn.datepicker.dates['pt-BR'] = { - days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], - daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], - daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], - months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], - monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], - today: "Hoje", - clear: "Limpar" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt.js deleted file mode 100644 index e54981d33..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.pt.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Portuguese translation for bootstrap-datepicker - * Original code: Cauan Cabral - * Tiago Melo - */ -;(function($){ - $.fn.datepicker.dates['pt'] = { - days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], - daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], - daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], - months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], - monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], - today: "Hoje", - clear: "Limpar" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ro.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ro.js deleted file mode 100644 index e1e65df2e..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ro.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Romanian translation for bootstrap-datepicker - * Cristian Vasile - */ -;(function($){ - $.fn.datepicker.dates['ro'] = { - days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"], - daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"], - daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"], - months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], - monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], - today: "Astăzi", - clear: "Șterge", - weekStart: 1 - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs-latin.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs-latin.js deleted file mode 100644 index d9f677f3d..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs-latin.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Serbian latin translation for bootstrap-datepicker - * Bojan Milosavlević - */ -;(function($){ - $.fn.datepicker.dates['rs-latin'] = { - days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"], - daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"], - daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], - months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], - today: "Danas", - weekStart: 1, - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs.js deleted file mode 100644 index 92899eacb..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.rs.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Serbian cyrillic translation for bootstrap-datepicker - * Bojan Milosavlević - */ -;(function($){ - $.fn.datepicker.dates['rs'] = { - days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"], - daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"], - daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"], - months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], - monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], - today: "Данас", - weekStart: 1, - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ru.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ru.js deleted file mode 100644 index 90b573ba3..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.ru.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Russian translation for bootstrap-datepicker - * Victor Taranenko - */ -;(function($){ - $.fn.datepicker.dates['ru'] = { - days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"], - daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"], - daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], - months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], - monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], - today: "Сегодня", - clear: "Очистить", - format: "dd.mm.yyyy", - weekStart: 1 - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sk.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sk.js deleted file mode 100644 index c48032a56..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sk.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Slovak translation for bootstrap-datepicker - * Marek Lichtner - * Fixes by Michal Remiš - */ -;(function($){ - $.fn.datepicker.dates["sk"] = { - days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"], - daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"], - daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pia", "So", "Ne"], - months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], - today: "Dnes" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sl.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sl.js deleted file mode 100644 index 41b0e0603..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sl.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Slovene translation for bootstrap-datepicker - * Gregor Rudolf - */ -;(function($){ - $.fn.datepicker.dates['sl'] = { - days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota", "Nedelja"], - daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"], - daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"], - months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], - today: "Danes" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sq.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sq.js deleted file mode 100644 index 1d646c7b5..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sq.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Albanian translation for bootstrap-datepicker - * Tomor Pupovci - */ -;(function($){ - $.fn.datepicker.dates['sq'] = { - days: ["E Diel", "E Hënë", "E Martē", "E Mërkurë", "E Enjte", "E Premte", "E Shtunë", "E Diel"], - daysShort: ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Shtu", "Die"], - daysMin: ["Di", "Hë", "Ma", "Më", "En", "Pr", "Sht", "Di"], - months: ["Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor"], - monthsShort: ["Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Korr", "Gu", "Sht", "Tet", "Nën", "Dhjet"], - today: "Sot" - }; -}(jQuery)); - diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sr-latin.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sr-latin.js deleted file mode 100644 index 0e3aad99e..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sr-latin.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Serbian latin translation for bootstrap-datepicker - * Bojan Milosavlević - */ -;(function($){ - $.fn.datepicker.dates['sr-latin'] = { - days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"], - daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"], - daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], - months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], - today: "Danas", - weekStart: 1, - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sr.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sr.js deleted file mode 100644 index 1de0bcb22..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sr.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Serbian cyrillic translation for bootstrap-datepicker - * Bojan Milosavlević - */ -;(function($){ - $.fn.datepicker.dates['sr'] = { - days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"], - daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"], - daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"], - months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], - monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], - today: "Данас", - weekStart: 1, - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sv.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sv.js deleted file mode 100644 index fe82a3bc3..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sv.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Swedish translation for bootstrap-datepicker - * Patrik Ragnarsson - */ -;(function($){ - $.fn.datepicker.dates['sv'] = { - days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"], - daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"], - daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"], - months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], - today: "Idag", - format: "yyyy-mm-dd", - weekStart: 1, - clear: "Rensa" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sw.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sw.js deleted file mode 100644 index 622e0ef0d..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.sw.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Swahili translation for bootstrap-datepicker - * Edwin Mugendi - * Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku - */ -;(function($){ - $.fn.datepicker.dates['sw'] = { - days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Jumapili"], - daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"], - daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"], - months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"], - monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"], - today: "Leo" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.th.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.th.js deleted file mode 100644 index 562b063c5..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.th.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Thai translation for bootstrap-datepicker - * Suchau Jiraprapot - */ -;(function($){ - $.fn.datepicker.dates['th'] = { - days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"], - daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], - daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], - months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"], - monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."], - today: "วันนี้" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.tr.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.tr.js deleted file mode 100644 index 2be8b6d83..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.tr.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Turkish translation for bootstrap-datepicker - * Serkan Algur - */ -;(function($){ - $.fn.datepicker.dates['tr'] = { - days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"], - daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"], - daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"], - months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], - monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"], - today: "Bugün", - format: "dd.mm.yyyy" - }; -}(jQuery)); - diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.uk.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.uk.js deleted file mode 100644 index b743bed8c..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.uk.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Ukrainian translation for bootstrap-datepicker - * Igor Polynets - */ -;(function($){ - $.fn.datepicker.dates['uk'] = { - days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота", "Неділя"], - daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], - daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], - months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], - monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], - today: "Сьогодні", - weekStart: 1 - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.vi.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.vi.js deleted file mode 100644 index a8cc52eec..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.vi.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Vietnamese translation for bootstrap-datepicker - * An Vo - */ -;(function($){ - $.fn.datepicker.dates['vi'] = { - days: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy", "Chủ nhật"], - daysShort: ["CN", "Thứ 2", "Thứ 3", "Thứ 4", "Thứ 5", "Thứ 6", "Thứ 7", "CN"], - daysMin: ["CN", "T2", "T3", "T4", "T5", "T6", "T7", "CN"], - months: ["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"], - monthsShort: ["Th1", "Th2", "Th3", "Th4", "Th5", "Th6", "Th7", "Th8", "Th9", "Th10", "Th11", "Th12"], - today: "Hôm nay", - clear: "Xóa", - format: "dd/mm/yyyy" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js deleted file mode 100644 index 984aa935b..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Simplified Chinese translation for bootstrap-datepicker - * Yuan Cheung - */ -;(function($){ - $.fn.datepicker.dates['zh-CN'] = { - days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], - daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], - daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], - months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], - monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], - today: "今日", - format: "yyyy年mm月dd日", - weekStart: 1, - clear: "清空" - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-TW.js b/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-TW.js deleted file mode 100644 index 53337ae06..000000000 --- a/public/vendor/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-TW.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Traditional Chinese translation for bootstrap-datepicker - * Rung-Sheng Jang - * FrankWu Fix more appropriate use of Traditional Chinese habit - */ -;(function($){ - $.fn.datepicker.dates['zh-TW'] = { - days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], - daysShort: ["週日", "週一", "週二", "週三", "週四", "週五", "週六", "週日"], - daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], - months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], - monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], - today: "今天", - format: "yyyy年mm月dd日", - weekStart: 1 - }; -}(jQuery)); diff --git a/public/vendor/bootstrap-datepicker/less/datepicker.less b/public/vendor/bootstrap-datepicker/less/datepicker.less deleted file mode 100644 index 321a4bdc1..000000000 --- a/public/vendor/bootstrap-datepicker/less/datepicker.less +++ /dev/null @@ -1,254 +0,0 @@ -/*! - * Datepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */ - -.datepicker { - padding: 4px; - .border-radius(4px); - &-inline { - width: 220px; - } - direction: ltr; - &&-rtl { - direction: rtl; - table tr td span { - float: right; - } - } - &-dropdown { - top: 0; - left: 0; - &:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #ccc; - border-top: 0; - border-bottom-color: rgba(0,0,0,.2); - position: absolute; - } - &:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid @white; - border-top: 0; - position: absolute; - } - &.datepicker-orient-left:before { left: 6px; } - &.datepicker-orient-left:after { left: 7px; } - &.datepicker-orient-right:before { right: 6px; } - &.datepicker-orient-right:after { right: 7px; } - &.datepicker-orient-top:before { top: -7px; } - &.datepicker-orient-top:after { top: -6px; } - &.datepicker-orient-bottom:before { - bottom: -7px; - border-bottom: 0; - border-top: 7px solid #999; - } - &.datepicker-orient-bottom:after { - bottom: -6px; - border-bottom: 0; - border-top: 6px solid @white; - } - } - >div { - display: none; - } - &.days div.datepicker-days { - display: block; - } - &.months div.datepicker-months { - display: block; - } - &.years div.datepicker-years { - display: block; - } - table{ - margin: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - } - td, - th{ - text-align: center; - width: 20px; - height: 20px; - .border-radius(4px); - - border: none; - } - // Inline display inside a table presents some problems with - // border and background colors. - .table-striped & table tr { - td, th { - background-color:transparent; - } - } - table tr td { - &.day:hover, &.day.focused { - background: @grayLighter; - cursor: pointer; - } - &.old, - &.new { - color: @grayLight; - } - &.disabled, - &.disabled:hover { - background: none; - color: @grayLight; - cursor: default; - } - &.today, - &.today:hover, - &.today.disabled, - &.today.disabled:hover { - @todayBackground: lighten(@orange, 30%); - .buttonBackground(@todayBackground, spin(@todayBackground, 20)); - color: #000; - } - &.today:hover:hover { // Thank bootstrap 2.0 for this selector... - // TODO: Bump min BS to 2.1, use @textColor in buttonBackground above - color: #000; - } - &.today.active:hover { - color: #fff; - } - &.range, - &.range:hover, - &.range.disabled, - &.range.disabled:hover { - background:@grayLighter; - .border-radius(0); - } - &.range.today, - &.range.today:hover, - &.range.today.disabled, - &.range.today.disabled:hover { - @todayBackground: mix(@orange, @grayLighter, 50%); - .buttonBackground(@todayBackground, spin(@todayBackground, 20)); - .border-radius(0); - } - &.selected, - &.selected:hover, - &.selected.disabled, - &.selected.disabled:hover { - .buttonBackground(lighten(@grayLight, 10), darken(@grayLight, 10)); - color: #fff; - text-shadow: 0 -1px 0 rgba(0,0,0,.25); - } - &.active, - &.active:hover, - &.active.disabled, - &.active.disabled:hover { - .buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20)); - color: #fff; - text-shadow: 0 -1px 0 rgba(0,0,0,.25); - } - span { - display: block; - width: 23%; - height: 54px; - line-height: 54px; - float: left; - margin: 1%; - cursor: pointer; - .border-radius(4px); - &:hover { - background: @grayLighter; - } - &.disabled, - &.disabled:hover { - background:none; - color: @grayLight; - cursor: default; - } - &.active, - &.active:hover, - &.active.disabled, - &.active.disabled:hover { - .buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20)); - color: #fff; - text-shadow: 0 -1px 0 rgba(0,0,0,.25); - } - &.old, - &.new { - color: @grayLight; - } - } - } - - th.datepicker-switch { - width: 145px; - } - - thead tr:first-child th, - tfoot tr th { - cursor: pointer; - &:hover{ - background: @grayLighter; - } - } - - // Basic styling for calendar-week cells - .cw { - font-size: 10px; - width: 12px; - padding: 0 2px 0 5px; - vertical-align: middle; - } - thead tr:first-child th.cw { - cursor: default; - background-color: transparent; - } -} -.input-append, -.input-prepend { - &.date { - .add-on i { - cursor: pointer; - width: 16px; - height: 16px; - } - } -} -.input-daterange { - input { - text-align:center; - } - input:first-child { - .border-radius(3px 0 0 3px); - } - input:last-child { - .border-radius(0 3px 3px 0); - } - .add-on { - display: inline-block; - width: auto; - min-width: 16px; - height: @baseLineHeight; - padding: 4px 5px; - font-weight: normal; - line-height: @baseLineHeight; - text-align: center; - text-shadow: 0 1px 0 @white; - vertical-align: middle; - background-color: @grayLighter; - border: 1px solid #ccc; - margin-left:-5px; - margin-right:-5px; - } -} diff --git a/public/vendor/bootstrap-datepicker/less/datepicker3.less b/public/vendor/bootstrap-datepicker/less/datepicker3.less deleted file mode 100644 index 55ceb1d4e..000000000 --- a/public/vendor/bootstrap-datepicker/less/datepicker3.less +++ /dev/null @@ -1,247 +0,0 @@ -/*! - * Datepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */ - -.datepicker { - padding: 4px; - border-radius: 4px; - &-inline { - width: 220px; - } - direction: ltr; - &&-rtl { - direction: rtl; - table tr td span { - float: right; - } - } - &-dropdown { - top: 0; - left: 0; - &:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #ccc; - border-top: 0; - border-bottom-color: rgba(0,0,0,.2); - position: absolute; - } - &:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #fff; - border-top: 0; - position: absolute; - } - &.datepicker-orient-left:before { left: 6px; } - &.datepicker-orient-left:after { left: 7px; } - &.datepicker-orient-right:before { right: 6px; } - &.datepicker-orient-right:after { right: 7px; } - &.datepicker-orient-top:before { top: -7px; } - &.datepicker-orient-top:after { top: -6px; } - &.datepicker-orient-bottom:before { - bottom: -7px; - border-bottom: 0; - border-top: 7px solid #999; - } - &.datepicker-orient-bottom:after { - bottom: -6px; - border-bottom: 0; - border-top: 6px solid #fff; - } - } - >div { - display: none; - } - &.days div.datepicker-days { - display: block; - } - &.months div.datepicker-months { - display: block; - } - &.years div.datepicker-years { - display: block; - } - table{ - margin: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - tr { - td, th { - text-align: center; - width: 30px; - height: 30px; - border-radius: 4px; - - border: none; - } - } - } - // Inline display inside a table presents some problems with - // border and background colors. - .table-striped & table tr { - td, th { - background-color:transparent; - } - } - table tr td { - &.day:hover, &.day.focused { - background: @gray-lighter; - cursor: pointer; - } - &.old, - &.new { - color: @btn-link-disabled-color; - } - &.disabled, - &.disabled:hover { - background: none; - color: @btn-link-disabled-color; - cursor: default; - } - &.today, - &.today:hover, - &.today.disabled, - &.today.disabled:hover { - @today-bg: lighten(orange, 30%); - .button-variant(#000, @today-bg, darken(@today-bg, 20%)); - } - &.today:hover:hover { // Thank bootstrap 2.0 for this selector... - // TODO: Bump min BS to 2.1, use @textColor in buttonBackground above - color: #000; - } - &.today.active:hover { - color: #fff; - } - &.range, - &.range:hover, - &.range.disabled, - &.range.disabled:hover { - background:@gray-lighter; - border-radius: 0; - } - &.range.today, - &.range.today:hover, - &.range.today.disabled, - &.range.today.disabled:hover { - @today-bg: mix(orange, @gray-lighter, 50%); - .button-variant(#000, @today-bg, darken(@today-bg, 20%)); - border-radius: 0; - } - &.selected, - &.selected:hover, - &.selected.disabled, - &.selected.disabled:hover { - .button-variant(#fff, @gray-light, @gray); - text-shadow: 0 -1px 0 rgba(0,0,0,.25); - } - &.active, - &.active:hover, - &.active.disabled, - &.active.disabled:hover { - .button-variant(@btn-primary-color, @btn-primary-bg, @btn-primary-border); - text-shadow: 0 -1px 0 rgba(0,0,0,.25); - } - span { - display: block; - width: 23%; - height: 54px; - line-height: 54px; - float: left; - margin: 1%; - cursor: pointer; - border-radius: 4px; - &:hover { - background: @gray-lighter; - } - &.disabled, - &.disabled:hover { - background: none; - color: @btn-link-disabled-color; - cursor: default; - } - &.active, - &.active:hover, - &.active.disabled, - &.active.disabled:hover { - .button-variant(@btn-primary-color, @btn-primary-bg, @btn-primary-border); - text-shadow: 0 -1px 0 rgba(0,0,0,.25); - } - &.old, - &.new { - color: @btn-link-disabled-color; - } - } - } - - th.datepicker-switch { - width: 145px; - } - - thead tr:first-child th, - tfoot tr th { - cursor: pointer; - &:hover{ - background: @gray-lighter; - } - } - - // Basic styling for calendar-week cells - .cw { - font-size: 10px; - width: 12px; - padding: 0 2px 0 5px; - vertical-align: middle; - } - thead tr:first-child th.cw { - cursor: default; - background-color: transparent; - } -} -.input-group { - &.date { - .input-group-addon i { - cursor: pointer; - } - } -} -.input-daterange { - input { - text-align:center; - } - input:first-child { - border-radius: 3px 0 0 3px; - } - input:last-child { - border-radius: 0 3px 3px 0; - } - .input-group-addon { - width: auto; - min-width: 16px; - padding: 4px 5px; - font-weight: normal; - line-height: @line-height-base; - text-align: center; - text-shadow: 0 1px 0 #fff; - vertical-align: middle; - background-color: @input-group-addon-bg; - border: solid @input-group-addon-border-color; - border-width: 1px 0; - margin-left:-5px; - margin-right:-5px; - } -} diff --git a/public/vendor/bootstrap-datepicker/package.json b/public/vendor/bootstrap-datepicker/package.json deleted file mode 100644 index ba89ad924..000000000 --- a/public/vendor/bootstrap-datepicker/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "bootstrap-datepicker", - "description": "A datepicker for twitter bootstrap forked from Stefan Petre's (of eyecon.ro), improvements by eternicode", - "version": "1.3.1", - "keywords": [ - "datepicker", - "twitter-bootstrap" - ], - "homepage": "https://github.com/eternicode/bootstrap-datepicker", - "author": "Andrew Rowls ", - "scripts": { - "test": "grunt test" - }, - "repository": { - "type": "git", - "url": "https://github.com/eternicode/bootstrap-datepicker.git" - }, - "dependencies": { - "jquery" : ">=1.7.1" - }, - "devDependencies": { - "grunt": "~0.4.2", - "load-grunt-tasks": "~0.2.1", - "grunt-contrib-jshint": "~0.8.0", - "grunt-contrib-jscs": "0.1.2", - "grunt-contrib-qunit": "~0.3.0", - "grunt-contrib-less": "~0.9.0", - "grunt-contrib-uglify": "~0.2.7", - "grunt-contrib-cssmin": "~0.7.0", - "grunt-contrib-clean": "~0.5.0", - "phantomjs": "~1.9.0" - } -} \ No newline at end of file diff --git a/public/vendor/bootstrap-datepicker/tests/README.md b/public/vendor/bootstrap-datepicker/tests/README.md deleted file mode 100644 index 47e29886a..000000000 --- a/public/vendor/bootstrap-datepicker/tests/README.md +++ /dev/null @@ -1,30 +0,0 @@ -Unit tests, written with [QUnit](http://docs.jquery.com/QUnit), are used to -expose bugs for squashing, prevent bugs from respawning, and suppress new -bugs when adding new features and making changes. - -# Running the tests - -The simplest way to run the tests is to open `tests/tests.html` in your browser. -The test suites will automatically run themselves and present their results. - -To run the tests from the command line (after running jshint and jscs, which is -recommended), install Grunt and run the `test` task from anywhere within the -repo: - - $ grunt test - -# Adding tests - -Tests go in js files in the `tests/suites/` directory tree. QUnit organizes -tests into suites called "modules"; there is one module per js file. If the -tests you are adding do not fit into an existing module, create a new one at -`tests/suites/.js`, where `` is a broad yet -descriptive name for the suite. If tests have many year-specific cases (ie, -behave differently in leap years vs normal years, or have specific buggy -behavior in a certain year), create the module in a new directory, -`tests/suites//.js`, where `` is the decriptive -name and `` is the four-digit year the tests pertain to. - -In order for new tests to be run, they must be imported into `tests/tests.html`. -Find the script includes headed by the html comment ``, and -add a new one to the list which includes the new js files. diff --git a/public/vendor/bootstrap-datepicker/tests/assets/coverage.js b/public/vendor/bootstrap-datepicker/tests/assets/coverage.js deleted file mode 100644 index 2e5704bc8..000000000 --- a/public/vendor/bootstrap-datepicker/tests/assets/coverage.js +++ /dev/null @@ -1,48 +0,0 @@ -(function(){ - //we want this at global scope so outside callers can find it. In a more realistic implementation we - //should probably put it in a namespace. - window.getCoverageByLine = function(silent) { - var key = null; - var lines = null; - var source = null; - //look for code coverage data - if (typeof window._$jscoverage === 'object') { - for (key in _$jscoverage) {} - lines = _$jscoverage[key]; - } - - if (!lines && !silent) { - console.log('code coverage data is NOT available'); - } - - return { 'key': key, 'lines': lines }; - }; - - QUnit.done = function(t) { - var cvgInfo = getCoverageByLine(true); - if (!!cvgInfo.key) { - var testableLines = 0; - var testedLines = 0; - var untestableLines = 0; - for (lineIdx in cvgInfo.lines) { - var cvg = cvgInfo.lines[lineIdx]; - if (typeof cvg === 'number') { - testableLines += 1; - if (cvg > 0) { - testedLines += 1; - } - } else { - untestableLines += 1; - } - } - var coverage = '' + Math.floor(100 * testedLines / testableLines) + '%'; - - var result = document.getElementById('qunit-testresult'); - if (result != null) { - result.innerHTML = result.innerHTML + ' ' + coverage + ' test coverage of ' + cvgInfo.key; - } else { - console.log('can\'t find test-result element to update'); - } - } - }; -}()); \ No newline at end of file diff --git a/public/vendor/bootstrap-datepicker/tests/assets/jquery-1.7.1.min.js b/public/vendor/bootstrap-datepicker/tests/assets/jquery-1.7.1.min.js deleted file mode 100644 index 198b3ff07..000000000 --- a/public/vendor/bootstrap-datepicker/tests/assets/jquery-1.7.1.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.7.1 jquery.com | jquery.org/license */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
"+""+"
",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
t
",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; -f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() -{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/public/vendor/bootstrap-datepicker/tests/assets/mock.js b/public/vendor/bootstrap-datepicker/tests/assets/mock.js deleted file mode 100644 index b1d134003..000000000 --- a/public/vendor/bootstrap-datepicker/tests/assets/mock.js +++ /dev/null @@ -1,26 +0,0 @@ -;(function(){ - -window.patch_date = function patch(f){ - var NativeDate = window.Date; - var date = function date(y,m,d,h,i,s,j){ - switch(arguments.length){ - case 0: return date.now ? new NativeDate(date.now) : new NativeDate(); - case 1: return new NativeDate(y); - case 2: return new NativeDate(y,m); - case 3: return new NativeDate(y,m,d); - case 4: return new NativeDate(y,m,d,h); - case 5: return new NativeDate(y,m,d,h,i); - case 6: return new NativeDate(y,m,d,h,i,s); - case 7: return new NativeDate(y,y,m,d,h,i,s,j); - } - }; - date.UTC = NativeDate.UTC; - return function(){ - Array.prototype.push.call(arguments, date); - window.Date = date; - res = f.apply(this, arguments); - window.Date = NativeDate; - } -} - -}()); \ No newline at end of file diff --git a/public/vendor/bootstrap-datepicker/tests/assets/qunit-logging.js b/public/vendor/bootstrap-datepicker/tests/assets/qunit-logging.js deleted file mode 100644 index 5bef1a524..000000000 --- a/public/vendor/bootstrap-datepicker/tests/assets/qunit-logging.js +++ /dev/null @@ -1,29 +0,0 @@ -// Dummy logging calls (ie, if tests are run in IE) -window.console = window.console || {}; -window.console.log = window.console.log || function(){}; -window.console.debug = window.console.debug || function(){}; -window.console.info = window.console.info || function(){}; -window.console.warn = window.console.warn || function(){}; -window.console.error = window.console.error || function(){}; - -(function() { - var modName, testName; - - //arg: { name } - QUnit.testStart = function(t) { - modName = t.module; - testName = t.name; - }; - - //arg: { name, failed, passed, total } - QUnit.testDone = function(t) { - if (t.failed) - console.log('Test "' + t.module + ': ' + t.name + '" completed: ' + (0 === t.failed ? 'pass' : 'FAIL') + '\n') - }; - - //{ result, actual, expected, message } - QUnit.log = function(t) { - if (!t.result) - console.log('Test "' + modName + ': ' + testName + '" assertion failed. Expected <' + t.expected + '> Actual <' + t.actual + '>' + (t.message ? ': \'' + t.message + '\'' : '')); - }; -}()); diff --git a/public/vendor/bootstrap-datepicker/tests/assets/qunit.css b/public/vendor/bootstrap-datepicker/tests/assets/qunit.css deleted file mode 100644 index b948bae1c..000000000 --- a/public/vendor/bootstrap-datepicker/tests/assets/qunit.css +++ /dev/null @@ -1,235 +0,0 @@ -/** - * QUnit v1.5.0 - A JavaScript Unit Testing Framework - * - * http://docs.jquery.com/QUnit - * - * Copyright (c) 2012 John Resig, Jörn Zaefferer - * Dual licensed under the MIT (MIT-LICENSE.txt) - * or GPL (GPL-LICENSE.txt) licenses. - */ - -/** Font Family and Sizes */ - -#qunit-tests, #qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult { - font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial, sans-serif; -} - -#qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; } -#qunit-tests { font-size: smaller; } - - -/** Resets */ - -#qunit-tests, #qunit-tests ol, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult { - margin: 0; - padding: 0; -} - - -/** Header */ - -#qunit-header { - padding: 0.5em 0 0.5em 1em; - - color: #8699a4; - background-color: #0d3349; - - font-size: 1.5em; - line-height: 1em; - font-weight: normal; - - border-radius: 15px 15px 0 0; - -moz-border-radius: 15px 15px 0 0; - -webkit-border-top-right-radius: 15px; - -webkit-border-top-left-radius: 15px; -} - -#qunit-header a { - text-decoration: none; - color: #c2ccd1; -} - -#qunit-header a:hover, -#qunit-header a:focus { - color: #fff; -} - -#qunit-header label { - display: inline-block; -} - -#qunit-banner { - height: 5px; -} - -#qunit-testrunner-toolbar { - padding: 0.5em 0 0.5em 2em; - color: #5E740B; - background-color: #eee; -} - -#qunit-userAgent { - padding: 0.5em 0 0.5em 2.5em; - background-color: #2b81af; - color: #fff; - text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px; -} - - -/** Tests: Pass/Fail */ - -#qunit-tests { - list-style-position: inside; -} - -#qunit-tests li { - padding: 0.4em 0.5em 0.4em 2.5em; - border-bottom: 1px solid #fff; - list-style-position: inside; -} - -#qunit-tests.hidepass li.pass, #qunit-tests.hidepass li.running { - display: none; -} - -#qunit-tests li strong { - cursor: pointer; -} - -#qunit-tests li a { - padding: 0.5em; - color: #c2ccd1; - text-decoration: none; -} -#qunit-tests li a:hover, -#qunit-tests li a:focus { - color: #000; -} - -#qunit-tests ol { - margin-top: 0.5em; - padding: 0.5em; - - background-color: #fff; - - border-radius: 15px; - -moz-border-radius: 15px; - -webkit-border-radius: 15px; - - box-shadow: inset 0px 2px 13px #999; - -moz-box-shadow: inset 0px 2px 13px #999; - -webkit-box-shadow: inset 0px 2px 13px #999; -} - -#qunit-tests table { - border-collapse: collapse; - margin-top: .2em; -} - -#qunit-tests th { - text-align: right; - vertical-align: top; - padding: 0 .5em 0 0; -} - -#qunit-tests td { - vertical-align: top; -} - -#qunit-tests pre { - margin: 0; - white-space: pre-wrap; - word-wrap: break-word; -} - -#qunit-tests del { - background-color: #e0f2be; - color: #374e0c; - text-decoration: none; -} - -#qunit-tests ins { - background-color: #ffcaca; - color: #500; - text-decoration: none; -} - -/*** Test Counts */ - -#qunit-tests b.counts { color: black; } -#qunit-tests b.passed { color: #5E740B; } -#qunit-tests b.failed { color: #710909; } - -#qunit-tests li li { - margin: 0.5em; - padding: 0.4em 0.5em 0.4em 0.5em; - background-color: #fff; - border-bottom: none; - list-style-position: inside; -} - -/*** Passing Styles */ - -#qunit-tests li li.pass { - color: #5E740B; - background-color: #fff; - border-left: 26px solid #C6E746; -} - -#qunit-tests .pass { color: #528CE0; background-color: #D2E0E6; } -#qunit-tests .pass .test-name { color: #366097; } - -#qunit-tests .pass .test-actual, -#qunit-tests .pass .test-expected { color: #999999; } - -#qunit-banner.qunit-pass { background-color: #C6E746; } - -/*** Failing Styles */ - -#qunit-tests li li.fail { - color: #710909; - background-color: #fff; - border-left: 26px solid #EE5757; - white-space: pre; -} - -#qunit-tests > li:last-child { - border-radius: 0 0 15px 15px; - -moz-border-radius: 0 0 15px 15px; - -webkit-border-bottom-right-radius: 15px; - -webkit-border-bottom-left-radius: 15px; -} - -#qunit-tests .fail { color: #000000; background-color: #EE5757; } -#qunit-tests .fail .test-name, -#qunit-tests .fail .module-name { color: #000000; } - -#qunit-tests .fail .test-actual { color: #EE5757; } -#qunit-tests .fail .test-expected { color: green; } - -#qunit-banner.qunit-fail { background-color: #EE5757; } - - -/** Result */ - -#qunit-testresult { - padding: 0.5em 0.5em 0.5em 2.5em; - - color: #2b81af; - background-color: #D2E0E6; - - border-bottom: 1px solid white; -} -#qunit-testresult .module-name { - font-weight: bold; -} - -/** Fixture */ - -#qunit-fixture { - position: absolute; - top: -10000px; - left: -10000px; - width: 1000px; - height: 1000px; -} diff --git a/public/vendor/bootstrap-datepicker/tests/assets/qunit.js b/public/vendor/bootstrap-datepicker/tests/assets/qunit.js deleted file mode 100644 index 66dd72154..000000000 --- a/public/vendor/bootstrap-datepicker/tests/assets/qunit.js +++ /dev/null @@ -1,1669 +0,0 @@ -/** - * QUnit v1.5.0 - A JavaScript Unit Testing Framework - * - * http://docs.jquery.com/QUnit - * - * Copyright (c) 2012 John Resig, Jörn Zaefferer - * Dual licensed under the MIT (MIT-LICENSE.txt) - * or GPL (GPL-LICENSE.txt) licenses. - */ - -(function(window) { - -var defined = { - setTimeout: typeof window.setTimeout !== "undefined", - sessionStorage: (function() { - var x = "qunit-test-string"; - try { - sessionStorage.setItem(x, x); - sessionStorage.removeItem(x); - return true; - } catch(e) { - return false; - } - }()) -}; - -var testId = 0, - toString = Object.prototype.toString, - hasOwn = Object.prototype.hasOwnProperty; - -var Test = function(name, testName, expected, async, callback) { - this.name = name; - this.testName = testName; - this.expected = expected; - this.async = async; - this.callback = callback; - this.assertions = []; -}; -Test.prototype = { - init: function() { - var tests = id("qunit-tests"); - if (tests) { - var b = document.createElement("strong"); - b.innerHTML = "Running " + this.name; - var li = document.createElement("li"); - li.appendChild( b ); - li.className = "running"; - li.id = this.id = "test-output" + testId++; - tests.appendChild( li ); - } - }, - setup: function() { - if (this.module != config.previousModule) { - if ( config.previousModule ) { - runLoggingCallbacks('moduleDone', QUnit, { - name: config.previousModule, - failed: config.moduleStats.bad, - passed: config.moduleStats.all - config.moduleStats.bad, - total: config.moduleStats.all - } ); - } - config.previousModule = this.module; - config.moduleStats = { all: 0, bad: 0 }; - runLoggingCallbacks( 'moduleStart', QUnit, { - name: this.module - } ); - } else if (config.autorun) { - runLoggingCallbacks( 'moduleStart', QUnit, { - name: this.module - } ); - } - - config.current = this; - this.testEnvironment = extend({ - setup: function() {}, - teardown: function() {} - }, this.moduleTestEnvironment); - - runLoggingCallbacks( 'testStart', QUnit, { - name: this.testName, - module: this.module - }); - - // allow utility functions to access the current test environment - // TODO why?? - QUnit.current_testEnvironment = this.testEnvironment; - - if ( !config.pollution ) { - saveGlobal(); - } - if ( config.notrycatch ) { - this.testEnvironment.setup.call(this.testEnvironment); - return; - } - try { - this.testEnvironment.setup.call(this.testEnvironment); - } catch(e) { - QUnit.pushFailure( "Setup failed on " + this.testName + ": " + e.message, extractStacktrace( e, 1 ) ); - } - }, - run: function() { - config.current = this; - - var running = id("qunit-testresult"); - - if ( running ) { - running.innerHTML = "Running:
" + this.name; - } - - if ( this.async ) { - QUnit.stop(); - } - - if ( config.notrycatch ) { - this.callback.call(this.testEnvironment); - return; - } - try { - this.callback.call(this.testEnvironment); - } catch(e) { - QUnit.pushFailure( "Died on test #" + (this.assertions.length + 1) + ": " + e.message, extractStacktrace( e, 1 ) ); - // else next test will carry the responsibility - saveGlobal(); - - // Restart the tests if they're blocking - if ( config.blocking ) { - QUnit.start(); - } - } - }, - teardown: function() { - config.current = this; - if ( config.notrycatch ) { - this.testEnvironment.teardown.call(this.testEnvironment); - return; - } else { - try { - this.testEnvironment.teardown.call(this.testEnvironment); - } catch(e) { - QUnit.pushFailure( "Teardown failed on " + this.testName + ": " + e.message, extractStacktrace( e, 1 ) ); - } - } - checkPollution(); - }, - finish: function() { - config.current = this; - if ( this.expected != null && this.expected != this.assertions.length ) { - QUnit.pushFailure( "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run" ); - } else if ( this.expected == null && !this.assertions.length ) { - QUnit.pushFailure( "Expected at least one assertion, but none were run - call expect(0) to accept zero assertions." ); - } - - var good = 0, bad = 0, - li, i, - tests = id("qunit-tests"); - - config.stats.all += this.assertions.length; - config.moduleStats.all += this.assertions.length; - - if ( tests ) { - var ol = document.createElement("ol"); - - for ( i = 0; i < this.assertions.length; i++ ) { - var assertion = this.assertions[i]; - - li = document.createElement("li"); - li.className = assertion.result ? "pass" : "fail"; - li.innerHTML = assertion.message || (assertion.result ? "okay" : "failed"); - ol.appendChild( li ); - - if ( assertion.result ) { - good++; - } else { - bad++; - config.stats.bad++; - config.moduleStats.bad++; - } - } - - // store result when possible - if ( QUnit.config.reorder && defined.sessionStorage ) { - if (bad) { - sessionStorage.setItem("qunit-test-" + this.module + "-" + this.testName, bad); - } else { - sessionStorage.removeItem("qunit-test-" + this.module + "-" + this.testName); - } - } - - if (bad === 0) { - ol.style.display = "none"; - } - - var b = document.createElement("strong"); - b.innerHTML = this.name + " (" + bad + ", " + good + ", " + this.assertions.length + ")"; - - var a = document.createElement("a"); - a.innerHTML = "Rerun"; - a.href = QUnit.url({ filter: getText([b]).replace(/\([^)]+\)$/, "").replace(/(^\s*|\s*$)/g, "") }); - - addEvent(b, "click", function() { - var next = b.nextSibling.nextSibling, - display = next.style.display; - next.style.display = display === "none" ? "block" : "none"; - }); - - addEvent(b, "dblclick", function(e) { - var target = e && e.target ? e.target : window.event.srcElement; - if ( target.nodeName.toLowerCase() == "span" || target.nodeName.toLowerCase() == "b" ) { - target = target.parentNode; - } - if ( window.location && target.nodeName.toLowerCase() === "strong" ) { - window.location = QUnit.url({ filter: getText([target]).replace(/\([^)]+\)$/, "").replace(/(^\s*|\s*$)/g, "") }); - } - }); - - li = id(this.id); - li.className = bad ? "fail" : "pass"; - li.removeChild( li.firstChild ); - li.appendChild( b ); - li.appendChild( a ); - li.appendChild( ol ); - - } else { - for ( i = 0; i < this.assertions.length; i++ ) { - if ( !this.assertions[i].result ) { - bad++; - config.stats.bad++; - config.moduleStats.bad++; - } - } - } - - QUnit.reset(); - - runLoggingCallbacks( 'testDone', QUnit, { - name: this.testName, - module: this.module, - failed: bad, - passed: this.assertions.length - bad, - total: this.assertions.length - } ); - }, - - queue: function() { - var test = this; - synchronize(function() { - test.init(); - }); - function run() { - // each of these can by async - synchronize(function() { - test.setup(); - }); - synchronize(function() { - test.run(); - }); - synchronize(function() { - test.teardown(); - }); - synchronize(function() { - test.finish(); - }); - } - // defer when previous test run passed, if storage is available - var bad = QUnit.config.reorder && defined.sessionStorage && +sessionStorage.getItem("qunit-test-" + this.module + "-" + this.testName); - if (bad) { - run(); - } else { - synchronize(run, true); - } - } - -}; - -var QUnit = { - - // call on start of module test to prepend name to all tests - module: function(name, testEnvironment) { - config.currentModule = name; - config.currentModuleTestEnviroment = testEnvironment; - }, - - asyncTest: function(testName, expected, callback) { - if ( arguments.length === 2 ) { - callback = expected; - expected = null; - } - - QUnit.test(testName, expected, callback, true); - }, - - test: function(testName, expected, callback, async) { - var name = '' + escapeInnerText(testName) + ''; - - if ( arguments.length === 2 ) { - callback = expected; - expected = null; - } - - if ( config.currentModule ) { - name = '' + config.currentModule + ": " + name; - } - - if ( !validTest(config.currentModule + ": " + testName) ) { - return; - } - - var test = new Test(name, testName, expected, async, callback); - test.module = config.currentModule; - test.moduleTestEnvironment = config.currentModuleTestEnviroment; - test.queue(); - }, - - // Specify the number of expected assertions to gurantee that failed test (no assertions are run at all) don't slip through. - expect: function(asserts) { - config.current.expected = asserts; - }, - - // Asserts true. - // @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" ); - ok: function(result, msg) { - if (!config.current) { - throw new Error("ok() assertion outside test context, was " + sourceFromStacktrace(2)); - } - result = !!result; - var details = { - result: result, - message: msg - }; - msg = escapeInnerText(msg || (result ? "okay" : "failed")); - if ( !result ) { - var source = sourceFromStacktrace(2); - if (source) { - details.source = source; - msg += '
Source:
' + escapeInnerText(source) + '
'; - } - } - runLoggingCallbacks( 'log', QUnit, details ); - config.current.assertions.push({ - result: result, - message: msg - }); - }, - - // Checks that the first two arguments are equal, with an optional message. Prints out both actual and expected values. - // @example equal( format("Received {0} bytes.", 2), "Received 2 bytes." ); - equal: function(actual, expected, message) { - QUnit.push(expected == actual, actual, expected, message); - }, - - notEqual: function(actual, expected, message) { - QUnit.push(expected != actual, actual, expected, message); - }, - - deepEqual: function(actual, expected, message) { - QUnit.push(QUnit.equiv(actual, expected), actual, expected, message); - }, - - notDeepEqual: function(actual, expected, message) { - QUnit.push(!QUnit.equiv(actual, expected), actual, expected, message); - }, - - strictEqual: function(actual, expected, message) { - QUnit.push(expected === actual, actual, expected, message); - }, - - notStrictEqual: function(actual, expected, message) { - QUnit.push(expected !== actual, actual, expected, message); - }, - - raises: function(block, expected, message) { - var actual, ok = false; - - if (typeof expected === 'string') { - message = expected; - expected = null; - } - - try { - block.call(config.current.testEnvironment); - } catch (e) { - actual = e; - } - - if (actual) { - // we don't want to validate thrown error - if (!expected) { - ok = true; - // expected is a regexp - } else if (QUnit.objectType(expected) === "regexp") { - ok = expected.test(actual); - // expected is a constructor - } else if (actual instanceof expected) { - ok = true; - // expected is a validation function which returns true is validation passed - } else if (expected.call({}, actual) === true) { - ok = true; - } - } - - QUnit.ok(ok, message); - }, - - start: function(count) { - config.semaphore -= count || 1; - if (config.semaphore > 0) { - // don't start until equal number of stop-calls - return; - } - if (config.semaphore < 0) { - // ignore if start is called more often then stop - config.semaphore = 0; - } - // A slight delay, to avoid any current callbacks - if ( defined.setTimeout ) { - window.setTimeout(function() { - if (config.semaphore > 0) { - return; - } - if ( config.timeout ) { - clearTimeout(config.timeout); - } - - config.blocking = false; - process(true); - }, 13); - } else { - config.blocking = false; - process(true); - } - }, - - stop: function(count) { - config.semaphore += count || 1; - config.blocking = true; - - if ( config.testTimeout && defined.setTimeout ) { - clearTimeout(config.timeout); - config.timeout = window.setTimeout(function() { - QUnit.ok( false, "Test timed out" ); - config.semaphore = 1; - QUnit.start(); - }, config.testTimeout); - } - } -}; - -//We want access to the constructor's prototype -(function() { - function F(){} - F.prototype = QUnit; - QUnit = new F(); - //Make F QUnit's constructor so that we can add to the prototype later - QUnit.constructor = F; -}()); - -// deprecated; still export them to window to provide clear error messages -// next step: remove entirely -QUnit.equals = function() { - QUnit.push(false, false, false, "QUnit.equals has been deprecated since 2009 (e88049a0), use QUnit.equal instead"); -}; -QUnit.same = function() { - QUnit.push(false, false, false, "QUnit.same has been deprecated since 2009 (e88049a0), use QUnit.deepEqual instead"); -}; - -// Maintain internal state -var config = { - // The queue of tests to run - queue: [], - - // block until document ready - blocking: true, - - // when enabled, show only failing tests - // gets persisted through sessionStorage and can be changed in UI via checkbox - hidepassed: false, - - // by default, run previously failed tests first - // very useful in combination with "Hide passed tests" checked - reorder: true, - - // by default, modify document.title when suite is done - altertitle: true, - - urlConfig: ['noglobals', 'notrycatch'], - - //logging callback queues - begin: [], - done: [], - log: [], - testStart: [], - testDone: [], - moduleStart: [], - moduleDone: [] -}; - -// Load paramaters -(function() { - var location = window.location || { search: "", protocol: "file:" }, - params = location.search.slice( 1 ).split( "&" ), - length = params.length, - urlParams = {}, - current; - - if ( params[ 0 ] ) { - for ( var i = 0; i < length; i++ ) { - current = params[ i ].split( "=" ); - current[ 0 ] = decodeURIComponent( current[ 0 ] ); - // allow just a key to turn on a flag, e.g., test.html?noglobals - current[ 1 ] = current[ 1 ] ? decodeURIComponent( current[ 1 ] ) : true; - urlParams[ current[ 0 ] ] = current[ 1 ]; - } - } - - QUnit.urlParams = urlParams; - config.filter = urlParams.filter; - - // Figure out if we're running the tests from a server or not - QUnit.isLocal = location.protocol === 'file:'; -}()); - -// Expose the API as global variables, unless an 'exports' -// object exists, in that case we assume we're in CommonJS - export everything at the end -if ( typeof exports === "undefined" || typeof require === "undefined" ) { - extend(window, QUnit); - window.QUnit = QUnit; -} - -// define these after exposing globals to keep them in these QUnit namespace only -extend(QUnit, { - config: config, - - // Initialize the configuration options - init: function() { - extend(config, { - stats: { all: 0, bad: 0 }, - moduleStats: { all: 0, bad: 0 }, - started: +new Date(), - updateRate: 1000, - blocking: false, - autostart: true, - autorun: false, - filter: "", - queue: [], - semaphore: 0 - }); - - var qunit = id( "qunit" ); - if ( qunit ) { - qunit.innerHTML = - '

' + escapeInnerText( document.title ) + '

' + - '

' + - '
' + - '

' + - '
    '; - } - - var tests = id( "qunit-tests" ), - banner = id( "qunit-banner" ), - result = id( "qunit-testresult" ); - - if ( tests ) { - tests.innerHTML = ""; - } - - if ( banner ) { - banner.className = ""; - } - - if ( result ) { - result.parentNode.removeChild( result ); - } - - if ( tests ) { - result = document.createElement( "p" ); - result.id = "qunit-testresult"; - result.className = "result"; - tests.parentNode.insertBefore( result, tests ); - result.innerHTML = 'Running...
     '; - } - }, - - // Resets the test setup. Useful for tests that modify the DOM. - // If jQuery is available, uses jQuery's html(), otherwise just innerHTML. - reset: function() { - if ( window.jQuery ) { - jQuery( "#qunit-fixture" ).html( config.fixture ); - } else { - var main = id( 'qunit-fixture' ); - if ( main ) { - main.innerHTML = config.fixture; - } - } - }, - - // Trigger an event on an element. - // @example triggerEvent( document.body, "click" ); - triggerEvent: function( elem, type, event ) { - if ( document.createEvent ) { - event = document.createEvent("MouseEvents"); - event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView, - 0, 0, 0, 0, 0, false, false, false, false, 0, null); - elem.dispatchEvent( event ); - - } else if ( elem.fireEvent ) { - elem.fireEvent("on"+type); - } - }, - - // Safe object type checking - is: function( type, obj ) { - return QUnit.objectType( obj ) == type; - }, - - objectType: function( obj ) { - if (typeof obj === "undefined") { - return "undefined"; - - // consider: typeof null === object - } - if (obj === null) { - return "null"; - } - - var type = toString.call( obj ).match(/^\[object\s(.*)\]$/)[1] || ''; - - switch (type) { - case 'Number': - if (isNaN(obj)) { - return "nan"; - } - return "number"; - case 'String': - case 'Boolean': - case 'Array': - case 'Date': - case 'RegExp': - case 'Function': - return type.toLowerCase(); - } - if (typeof obj === "object") { - return "object"; - } - return undefined; - }, - - push: function(result, actual, expected, message) { - if (!config.current) { - throw new Error("assertion outside test context, was " + sourceFromStacktrace()); - } - var details = { - result: result, - message: message, - actual: actual, - expected: expected - }; - - message = escapeInnerText(message) || (result ? "okay" : "failed"); - message = '' + message + ""; - var output = message; - if (!result) { - expected = escapeInnerText(QUnit.jsDump.parse(expected)); - actual = escapeInnerText(QUnit.jsDump.parse(actual)); - output += ''; - if (actual != expected) { - output += ''; - output += ''; - } - var source = sourceFromStacktrace(); - if (source) { - details.source = source; - output += ''; - } - output += "
    Expected:
    ' + expected + '
    Result:
    ' + actual + '
    Diff:
    ' + QUnit.diff(expected, actual) +'
    Source:
    ' + escapeInnerText(source) + '
    "; - } - - runLoggingCallbacks( 'log', QUnit, details ); - - config.current.assertions.push({ - result: !!result, - message: output - }); - }, - - pushFailure: function(message, source) { - var details = { - result: false, - message: message - }; - var output = escapeInnerText(message); - if (source) { - details.source = source; - output += '
    Source:
    ' + escapeInnerText(source) + '
    '; - } - runLoggingCallbacks( 'log', QUnit, details ); - config.current.assertions.push({ - result: false, - message: output - }); - }, - - url: function( params ) { - params = extend( extend( {}, QUnit.urlParams ), params ); - var querystring = "?", - key; - for ( key in params ) { - if ( !hasOwn.call( params, key ) ) { - continue; - } - querystring += encodeURIComponent( key ) + "=" + - encodeURIComponent( params[ key ] ) + "&"; - } - return window.location.pathname + querystring.slice( 0, -1 ); - }, - - extend: extend, - id: id, - addEvent: addEvent -}); - -//QUnit.constructor is set to the empty F() above so that we can add to it's prototype later -//Doing this allows us to tell if the following methods have been overwritten on the actual -//QUnit object, which is a deprecated way of using the callbacks. -extend(QUnit.constructor.prototype, { - // Logging callbacks; all receive a single argument with the listed properties - // run test/logs.html for any related changes - begin: registerLoggingCallback('begin'), - // done: { failed, passed, total, runtime } - done: registerLoggingCallback('done'), - // log: { result, actual, expected, message } - log: registerLoggingCallback('log'), - // testStart: { name } - testStart: registerLoggingCallback('testStart'), - // testDone: { name, failed, passed, total } - testDone: registerLoggingCallback('testDone'), - // moduleStart: { name } - moduleStart: registerLoggingCallback('moduleStart'), - // moduleDone: { name, failed, passed, total } - moduleDone: registerLoggingCallback('moduleDone') -}); - -if ( typeof document === "undefined" || document.readyState === "complete" ) { - config.autorun = true; -} - -QUnit.load = function() { - runLoggingCallbacks( 'begin', QUnit, {} ); - - // Initialize the config, saving the execution queue - var oldconfig = extend({}, config); - QUnit.init(); - extend(config, oldconfig); - - config.blocking = false; - - var urlConfigHtml = '', len = config.urlConfig.length; - for ( var i = 0, val; i < len; i++ ) { - val = config.urlConfig[i]; - config[val] = QUnit.urlParams[val]; - urlConfigHtml += ''; - } - - var userAgent = id("qunit-userAgent"); - if ( userAgent ) { - userAgent.innerHTML = navigator.userAgent; - } - var banner = id("qunit-header"); - if ( banner ) { - banner.innerHTML = ' ' + banner.innerHTML + ' ' + urlConfigHtml; - addEvent( banner, "change", function( event ) { - var params = {}; - params[ event.target.name ] = event.target.checked ? true : undefined; - window.location = QUnit.url( params ); - }); - } - - var toolbar = id("qunit-testrunner-toolbar"); - if ( toolbar ) { - var filter = document.createElement("input"); - filter.type = "checkbox"; - filter.id = "qunit-filter-pass"; - addEvent( filter, "click", function() { - var ol = document.getElementById("qunit-tests"); - if ( filter.checked ) { - ol.className = ol.className + " hidepass"; - } else { - var tmp = " " + ol.className.replace( /[\n\t\r]/g, " " ) + " "; - ol.className = tmp.replace(/ hidepass /, " "); - } - if ( defined.sessionStorage ) { - if (filter.checked) { - sessionStorage.setItem("qunit-filter-passed-tests", "true"); - } else { - sessionStorage.removeItem("qunit-filter-passed-tests"); - } - } - }); - if ( config.hidepassed || defined.sessionStorage && sessionStorage.getItem("qunit-filter-passed-tests") ) { - filter.checked = true; - var ol = document.getElementById("qunit-tests"); - ol.className = ol.className + " hidepass"; - } - toolbar.appendChild( filter ); - - var label = document.createElement("label"); - label.setAttribute("for", "qunit-filter-pass"); - label.innerHTML = "Hide passed tests"; - toolbar.appendChild( label ); - } - - var main = id('qunit-fixture'); - if ( main ) { - config.fixture = main.innerHTML; - } - - if (config.autostart) { - QUnit.start(); - } -}; - -addEvent(window, "load", QUnit.load); - -// addEvent(window, "error") gives us a useless event object -window.onerror = function( message, file, line ) { - if ( QUnit.config.current ) { - QUnit.pushFailure( message, file + ":" + line ); - } else { - QUnit.test( "global failure", function() { - QUnit.pushFailure( message, file + ":" + line ); - }); - } -}; - -function done() { - config.autorun = true; - - // Log the last module results - if ( config.currentModule ) { - runLoggingCallbacks( 'moduleDone', QUnit, { - name: config.currentModule, - failed: config.moduleStats.bad, - passed: config.moduleStats.all - config.moduleStats.bad, - total: config.moduleStats.all - } ); - } - - var banner = id("qunit-banner"), - tests = id("qunit-tests"), - runtime = +new Date() - config.started, - passed = config.stats.all - config.stats.bad, - html = [ - 'Tests completed in ', - runtime, - ' milliseconds.
    ', - '', - passed, - ' tests of ', - config.stats.all, - ' passed, ', - config.stats.bad, - ' failed.' - ].join(''); - - if ( banner ) { - banner.className = (config.stats.bad ? "qunit-fail" : "qunit-pass"); - } - - if ( tests ) { - id( "qunit-testresult" ).innerHTML = html; - } - - if ( config.altertitle && typeof document !== "undefined" && document.title ) { - // show ✖ for good, ✔ for bad suite result in title - // use escape sequences in case file gets loaded with non-utf-8-charset - document.title = [ - (config.stats.bad ? "\u2716" : "\u2714"), - document.title.replace(/^[\u2714\u2716] /i, "") - ].join(" "); - } - - // clear own sessionStorage items if all tests passed - if ( config.reorder && defined.sessionStorage && config.stats.bad === 0 ) { - var key; - for ( var i = 0; i < sessionStorage.length; i++ ) { - key = sessionStorage.key( i++ ); - if ( key.indexOf("qunit-test-") === 0 ) { - sessionStorage.removeItem( key ); - } - } - } - - runLoggingCallbacks( 'done', QUnit, { - failed: config.stats.bad, - passed: passed, - total: config.stats.all, - runtime: runtime - } ); -} - -function validTest( name ) { - var filter = config.filter, - run = false; - - if ( !filter ) { - return true; - } - - var not = filter.charAt( 0 ) === "!"; - if ( not ) { - filter = filter.slice( 1 ); - } - - if ( name.indexOf( filter ) !== -1 ) { - return !not; - } - - if ( not ) { - run = true; - } - - return run; -} - -// so far supports only Firefox, Chrome and Opera (buggy), Safari (for real exceptions) -// Later Safari and IE10 are supposed to support error.stack as well -// See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack -function extractStacktrace( e, offset ) { - offset = offset || 3; - if (e.stacktrace) { - // Opera - return e.stacktrace.split("\n")[offset + 3]; - } else if (e.stack) { - // Firefox, Chrome - var stack = e.stack.split("\n"); - if (/^error$/i.test(stack[0])) { - stack.shift(); - } - return stack[offset]; - } else if (e.sourceURL) { - // Safari, PhantomJS - // hopefully one day Safari provides actual stacktraces - // exclude useless self-reference for generated Error objects - if ( /qunit.js$/.test( e.sourceURL ) ) { - return; - } - // for actual exceptions, this is useful - return e.sourceURL + ":" + e.line; - } -} -function sourceFromStacktrace(offset) { - try { - throw new Error(); - } catch ( e ) { - return extractStacktrace( e, offset ); - } -} - -function escapeInnerText(s) { - if (!s) { - return ""; - } - s = s + ""; - return s.replace(/[\&<>]/g, function(s) { - switch(s) { - case "&": return "&"; - case "<": return "<"; - case ">": return ">"; - default: return s; - } - }); -} - -function synchronize( callback, last ) { - config.queue.push( callback ); - - if ( config.autorun && !config.blocking ) { - process(last); - } -} - -function process( last ) { - function next() { - process( last ); - } - var start = new Date().getTime(); - config.depth = config.depth ? config.depth + 1 : 1; - - while ( config.queue.length && !config.blocking ) { - if ( !defined.setTimeout || config.updateRate <= 0 || ( ( new Date().getTime() - start ) < config.updateRate ) ) { - config.queue.shift()(); - } else { - window.setTimeout( next, 13 ); - break; - } - } - config.depth--; - if ( last && !config.blocking && !config.queue.length && config.depth === 0 ) { - done(); - } -} - -function saveGlobal() { - config.pollution = []; - - if ( config.noglobals ) { - for ( var key in window ) { - if ( !hasOwn.call( window, key ) ) { - continue; - } - config.pollution.push( key ); - } - } -} - -function checkPollution( name ) { - var old = config.pollution; - saveGlobal(); - - var newGlobals = diff( config.pollution, old ); - if ( newGlobals.length > 0 ) { - QUnit.pushFailure( "Introduced global variable(s): " + newGlobals.join(", ") ); - } - - var deletedGlobals = diff( old, config.pollution ); - if ( deletedGlobals.length > 0 ) { - QUnit.pushFailure( "Deleted global variable(s): " + deletedGlobals.join(", ") ); - } -} - -// returns a new Array with the elements that are in a but not in b -function diff( a, b ) { - var result = a.slice(); - for ( var i = 0; i < result.length; i++ ) { - for ( var j = 0; j < b.length; j++ ) { - if ( result[i] === b[j] ) { - result.splice(i, 1); - i--; - break; - } - } - } - return result; -} - -function extend(a, b) { - for ( var prop in b ) { - if ( b[prop] === undefined ) { - delete a[prop]; - - // Avoid "Member not found" error in IE8 caused by setting window.constructor - } else if ( prop !== "constructor" || a !== window ) { - a[prop] = b[prop]; - } - } - - return a; -} - -function addEvent(elem, type, fn) { - if ( elem.addEventListener ) { - elem.addEventListener( type, fn, false ); - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, fn ); - } else { - fn(); - } -} - -function id(name) { - return !!(typeof document !== "undefined" && document && document.getElementById) && - document.getElementById( name ); -} - -function registerLoggingCallback(key){ - return function(callback){ - config[key].push( callback ); - }; -} - -// Supports deprecated method of completely overwriting logging callbacks -function runLoggingCallbacks(key, scope, args) { - //debugger; - var callbacks; - if ( QUnit.hasOwnProperty(key) ) { - QUnit[key].call(scope, args); - } else { - callbacks = config[key]; - for( var i = 0; i < callbacks.length; i++ ) { - callbacks[i].call( scope, args ); - } - } -} - -// Test for equality any JavaScript type. -// Author: Philippe Rathé -QUnit.equiv = (function() { - - var innerEquiv; // the real equiv function - var callers = []; // stack to decide between skip/abort functions - var parents = []; // stack to avoiding loops from circular referencing - - // Call the o related callback with the given arguments. - function bindCallbacks(o, callbacks, args) { - var prop = QUnit.objectType(o); - if (prop) { - if (QUnit.objectType(callbacks[prop]) === "function") { - return callbacks[prop].apply(callbacks, args); - } else { - return callbacks[prop]; // or undefined - } - } - } - - var getProto = Object.getPrototypeOf || function (obj) { - return obj.__proto__; - }; - - var callbacks = (function () { - - // for string, boolean, number and null - function useStrictEquality(b, a) { - if (b instanceof a.constructor || a instanceof b.constructor) { - // to catch short annotaion VS 'new' annotation of a - // declaration - // e.g. var i = 1; - // var j = new Number(1); - return a == b; - } else { - return a === b; - } - } - - return { - "string" : useStrictEquality, - "boolean" : useStrictEquality, - "number" : useStrictEquality, - "null" : useStrictEquality, - "undefined" : useStrictEquality, - - "nan" : function(b) { - return isNaN(b); - }, - - "date" : function(b, a) { - return QUnit.objectType(b) === "date" && a.valueOf() === b.valueOf(); - }, - - "regexp" : function(b, a) { - return QUnit.objectType(b) === "regexp" && - // the regex itself - a.source === b.source && - // and its modifers - a.global === b.global && - // (gmi) ... - a.ignoreCase === b.ignoreCase && - a.multiline === b.multiline; - }, - - // - skip when the property is a method of an instance (OOP) - // - abort otherwise, - // initial === would have catch identical references anyway - "function" : function() { - var caller = callers[callers.length - 1]; - return caller !== Object && typeof caller !== "undefined"; - }, - - "array" : function(b, a) { - var i, j, loop; - var len; - - // b could be an object literal here - if (QUnit.objectType(b) !== "array") { - return false; - } - - len = a.length; - if (len !== b.length) { // safe and faster - return false; - } - - // track reference to avoid circular references - parents.push(a); - for (i = 0; i < len; i++) { - loop = false; - for (j = 0; j < parents.length; j++) { - if (parents[j] === a[i]) { - loop = true;// dont rewalk array - } - } - if (!loop && !innerEquiv(a[i], b[i])) { - parents.pop(); - return false; - } - } - parents.pop(); - return true; - }, - - "object" : function(b, a) { - var i, j, loop; - var eq = true; // unless we can proove it - var aProperties = [], bProperties = []; // collection of - // strings - - // comparing constructors is more strict than using - // instanceof - if (a.constructor !== b.constructor) { - // Allow objects with no prototype to be equivalent to - // objects with Object as their constructor. - if (!((getProto(a) === null && getProto(b) === Object.prototype) || - (getProto(b) === null && getProto(a) === Object.prototype))) - { - return false; - } - } - - // stack constructor before traversing properties - callers.push(a.constructor); - // track reference to avoid circular references - parents.push(a); - - for (i in a) { // be strict: don't ensures hasOwnProperty - // and go deep - loop = false; - for (j = 0; j < parents.length; j++) { - if (parents[j] === a[i]) { - // don't go down the same path twice - loop = true; - } - } - aProperties.push(i); // collect a's properties - - if (!loop && !innerEquiv(a[i], b[i])) { - eq = false; - break; - } - } - - callers.pop(); // unstack, we are done - parents.pop(); - - for (i in b) { - bProperties.push(i); // collect b's properties - } - - // Ensures identical properties name - return eq && innerEquiv(aProperties.sort(), bProperties.sort()); - } - }; - }()); - - innerEquiv = function() { // can take multiple arguments - var args = Array.prototype.slice.apply(arguments); - if (args.length < 2) { - return true; // end transition - } - - return (function(a, b) { - if (a === b) { - return true; // catch the most you can - } else if (a === null || b === null || typeof a === "undefined" || - typeof b === "undefined" || - QUnit.objectType(a) !== QUnit.objectType(b)) { - return false; // don't lose time with error prone cases - } else { - return bindCallbacks(a, callbacks, [ b, a ]); - } - - // apply transition with (1..n) arguments - }(args[0], args[1]) && arguments.callee.apply(this, args.splice(1, args.length - 1))); - }; - - return innerEquiv; - -}()); - -/** - * jsDump Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com | - * http://flesler.blogspot.com Licensed under BSD - * (http://www.opensource.org/licenses/bsd-license.php) Date: 5/15/2008 - * - * @projectDescription Advanced and extensible data dumping for Javascript. - * @version 1.0.0 - * @author Ariel Flesler - * @link {http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html} - */ -QUnit.jsDump = (function() { - function quote( str ) { - return '"' + str.toString().replace(/"/g, '\\"') + '"'; - } - function literal( o ) { - return o + ''; - } - function join( pre, arr, post ) { - var s = jsDump.separator(), - base = jsDump.indent(), - inner = jsDump.indent(1); - if ( arr.join ) { - arr = arr.join( ',' + s + inner ); - } - if ( !arr ) { - return pre + post; - } - return [ pre, inner + arr, base + post ].join(s); - } - function array( arr, stack ) { - var i = arr.length, ret = new Array(i); - this.up(); - while ( i-- ) { - ret[i] = this.parse( arr[i] , undefined , stack); - } - this.down(); - return join( '[', ret, ']' ); - } - - var reName = /^function (\w+)/; - - var jsDump = { - parse: function( obj, type, stack ) { //type is used mostly internally, you can fix a (custom)type in advance - stack = stack || [ ]; - var parser = this.parsers[ type || this.typeOf(obj) ]; - type = typeof parser; - var inStack = inArray(obj, stack); - if (inStack != -1) { - return 'recursion('+(inStack - stack.length)+')'; - } - //else - if (type == 'function') { - stack.push(obj); - var res = parser.call( this, obj, stack ); - stack.pop(); - return res; - } - // else - return (type == 'string') ? parser : this.parsers.error; - }, - typeOf: function( obj ) { - var type; - if ( obj === null ) { - type = "null"; - } else if (typeof obj === "undefined") { - type = "undefined"; - } else if (QUnit.is("RegExp", obj)) { - type = "regexp"; - } else if (QUnit.is("Date", obj)) { - type = "date"; - } else if (QUnit.is("Function", obj)) { - type = "function"; - } else if (typeof obj.setInterval !== undefined && typeof obj.document !== "undefined" && typeof obj.nodeType === "undefined") { - type = "window"; - } else if (obj.nodeType === 9) { - type = "document"; - } else if (obj.nodeType) { - type = "node"; - } else if ( - // native arrays - toString.call( obj ) === "[object Array]" || - // NodeList objects - ( typeof obj.length === "number" && typeof obj.item !== "undefined" && ( obj.length ? obj.item(0) === obj[0] : ( obj.item( 0 ) === null && typeof obj[0] === "undefined" ) ) ) - ) { - type = "array"; - } else { - type = typeof obj; - } - return type; - }, - separator: function() { - return this.multiline ? this.HTML ? '
    ' : '\n' : this.HTML ? ' ' : ' '; - }, - indent: function( extra ) {// extra can be a number, shortcut for increasing-calling-decreasing - if ( !this.multiline ) { - return ''; - } - var chr = this.indentChar; - if ( this.HTML ) { - chr = chr.replace(/\t/g,' ').replace(/ /g,' '); - } - return new Array( this._depth_ + (extra||0) ).join(chr); - }, - up: function( a ) { - this._depth_ += a || 1; - }, - down: function( a ) { - this._depth_ -= a || 1; - }, - setParser: function( name, parser ) { - this.parsers[name] = parser; - }, - // The next 3 are exposed so you can use them - quote: quote, - literal: literal, - join: join, - // - _depth_: 1, - // This is the list of parsers, to modify them, use jsDump.setParser - parsers: { - window: '[Window]', - document: '[Document]', - error: '[ERROR]', //when no parser is found, shouldn't happen - unknown: '[Unknown]', - 'null': 'null', - 'undefined': 'undefined', - 'function': function( fn ) { - var ret = 'function', - name = 'name' in fn ? fn.name : (reName.exec(fn)||[])[1];//functions never have name in IE - if ( name ) { - ret += ' ' + name; - } - ret += '('; - - ret = [ ret, QUnit.jsDump.parse( fn, 'functionArgs' ), '){'].join(''); - return join( ret, QUnit.jsDump.parse(fn,'functionCode'), '}' ); - }, - array: array, - nodelist: array, - 'arguments': array, - object: function( map, stack ) { - var ret = [ ], keys, key, val, i; - QUnit.jsDump.up(); - if (Object.keys) { - keys = Object.keys( map ); - } else { - keys = []; - for (key in map) { keys.push( key ); } - } - keys.sort(); - for (i = 0; i < keys.length; i++) { - key = keys[ i ]; - val = map[ key ]; - ret.push( QUnit.jsDump.parse( key, 'key' ) + ': ' + QUnit.jsDump.parse( val, undefined, stack ) ); - } - QUnit.jsDump.down(); - return join( '{', ret, '}' ); - }, - node: function( node ) { - var open = QUnit.jsDump.HTML ? '<' : '<', - close = QUnit.jsDump.HTML ? '>' : '>'; - - var tag = node.nodeName.toLowerCase(), - ret = open + tag; - - for ( var a in QUnit.jsDump.DOMAttrs ) { - var val = node[QUnit.jsDump.DOMAttrs[a]]; - if ( val ) { - ret += ' ' + a + '=' + QUnit.jsDump.parse( val, 'attribute' ); - } - } - return ret + close + open + '/' + tag + close; - }, - functionArgs: function( fn ) {//function calls it internally, it's the arguments part of the function - var l = fn.length; - if ( !l ) { - return ''; - } - - var args = new Array(l); - while ( l-- ) { - args[l] = String.fromCharCode(97+l);//97 is 'a' - } - return ' ' + args.join(', ') + ' '; - }, - key: quote, //object calls it internally, the key part of an item in a map - functionCode: '[code]', //function calls it internally, it's the content of the function - attribute: quote, //node calls it internally, it's an html attribute value - string: quote, - date: quote, - regexp: literal, //regex - number: literal, - 'boolean': literal - }, - DOMAttrs:{//attributes to dump from nodes, name=>realName - id:'id', - name:'name', - 'class':'className' - }, - HTML:false,//if true, entities are escaped ( <, >, \t, space and \n ) - indentChar:' ',//indentation unit - multiline:true //if true, items in a collection, are separated by a \n, else just a space. - }; - - return jsDump; -}()); - -// from Sizzle.js -function getText( elems ) { - var ret = "", elem; - - for ( var i = 0; elems[i]; i++ ) { - elem = elems[i]; - - // Get the text from text nodes and CDATA nodes - if ( elem.nodeType === 3 || elem.nodeType === 4 ) { - ret += elem.nodeValue; - - // Traverse everything else, except comment nodes - } else if ( elem.nodeType !== 8 ) { - ret += getText( elem.childNodes ); - } - } - - return ret; -} - -//from jquery.js -function inArray( elem, array ) { - if ( array.indexOf ) { - return array.indexOf( elem ); - } - - for ( var i = 0, length = array.length; i < length; i++ ) { - if ( array[ i ] === elem ) { - return i; - } - } - - return -1; -} - -/* - * Javascript Diff Algorithm - * By John Resig (http://ejohn.org/) - * Modified by Chu Alan "sprite" - * - * Released under the MIT license. - * - * More Info: - * http://ejohn.org/projects/javascript-diff-algorithm/ - * - * Usage: QUnit.diff(expected, actual) - * - * QUnit.diff("the quick brown fox jumped over", "the quick fox jumps over") == "the quick brown fox jumped jumps over" - */ -QUnit.diff = (function() { - function diff(o, n) { - var ns = {}; - var os = {}; - var i; - - for (i = 0; i < n.length; i++) { - if (ns[n[i]] == null) { - ns[n[i]] = { - rows: [], - o: null - }; - } - ns[n[i]].rows.push(i); - } - - for (i = 0; i < o.length; i++) { - if (os[o[i]] == null) { - os[o[i]] = { - rows: [], - n: null - }; - } - os[o[i]].rows.push(i); - } - - for (i in ns) { - if ( !hasOwn.call( ns, i ) ) { - continue; - } - if (ns[i].rows.length == 1 && typeof(os[i]) != "undefined" && os[i].rows.length == 1) { - n[ns[i].rows[0]] = { - text: n[ns[i].rows[0]], - row: os[i].rows[0] - }; - o[os[i].rows[0]] = { - text: o[os[i].rows[0]], - row: ns[i].rows[0] - }; - } - } - - for (i = 0; i < n.length - 1; i++) { - if (n[i].text != null && n[i + 1].text == null && n[i].row + 1 < o.length && o[n[i].row + 1].text == null && - n[i + 1] == o[n[i].row + 1]) { - n[i + 1] = { - text: n[i + 1], - row: n[i].row + 1 - }; - o[n[i].row + 1] = { - text: o[n[i].row + 1], - row: i + 1 - }; - } - } - - for (i = n.length - 1; i > 0; i--) { - if (n[i].text != null && n[i - 1].text == null && n[i].row > 0 && o[n[i].row - 1].text == null && - n[i - 1] == o[n[i].row - 1]) { - n[i - 1] = { - text: n[i - 1], - row: n[i].row - 1 - }; - o[n[i].row - 1] = { - text: o[n[i].row - 1], - row: i - 1 - }; - } - } - - return { - o: o, - n: n - }; - } - - return function(o, n) { - o = o.replace(/\s+$/, ''); - n = n.replace(/\s+$/, ''); - var out = diff(o === "" ? [] : o.split(/\s+/), n === "" ? [] : n.split(/\s+/)); - - var str = ""; - var i; - - var oSpace = o.match(/\s+/g); - if (oSpace == null) { - oSpace = [" "]; - } - else { - oSpace.push(" "); - } - var nSpace = n.match(/\s+/g); - if (nSpace == null) { - nSpace = [" "]; - } - else { - nSpace.push(" "); - } - - if (out.n.length === 0) { - for (i = 0; i < out.o.length; i++) { - str += '' + out.o[i] + oSpace[i] + ""; - } - } - else { - if (out.n[0].text == null) { - for (n = 0; n < out.o.length && out.o[n].text == null; n++) { - str += '' + out.o[n] + oSpace[n] + ""; - } - } - - for (i = 0; i < out.n.length; i++) { - if (out.n[i].text == null) { - str += '' + out.n[i] + nSpace[i] + ""; - } - else { - var pre = ""; - - for (n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++) { - pre += '' + out.o[n] + oSpace[n] + ""; - } - str += " " + out.n[i].text + nSpace[i] + pre; - } - } - } - - return str; - }; -}()); - -// for CommonJS enviroments, export everything -if ( typeof exports !== "undefined" || typeof require !== "undefined" ) { - extend(exports, QUnit); -} - -// get at whatever the global object is, like window in browsers -}( (function() {return this;}.call()) )); diff --git a/public/vendor/bootstrap-datepicker/tests/assets/utils.js b/public/vendor/bootstrap-datepicker/tests/assets/utils.js deleted file mode 100644 index 6f9cac58f..000000000 --- a/public/vendor/bootstrap-datepicker/tests/assets/utils.js +++ /dev/null @@ -1,21 +0,0 @@ -function UTCDate(){ - return new Date(Date.UTC.apply(Date, arguments)); -} - - -function format_date(date){ - var y = date.getUTCFullYear(), - m = date.getUTCMonth() + 1, - d = date.getUTCDate(), - h = date.getUTCHours(), - i = date.getUTCMinutes(), - s = date.getUTCSeconds(), - l = date.getUTCMilliseconds(); - function z(i){return (i <= 9 ? '0'+i : i);} - return y+'-'+z(m)+'-'+z(d)+' '+z(h)+':'+z(i)+':'+z(s)+'.'+z(l); -} - - -function datesEqual(actual, expected, message){ - QUnit.push(QUnit.equiv(actual, expected), format_date(actual), format_date(expected), message); -} diff --git a/public/vendor/bootstrap-datepicker/tests/suites/calendar-weeks.js b/public/vendor/bootstrap-datepicker/tests/suites/calendar-weeks.js deleted file mode 100644 index 6c466f1d1..000000000 --- a/public/vendor/bootstrap-datepicker/tests/suites/calendar-weeks.js +++ /dev/null @@ -1,48 +0,0 @@ -module('Calendar Weeks', { - setup: function(){ - this.input = $('') - .appendTo('#qunit-fixture') - .val('2013-01-14') - .datepicker({ - format: 'yyyy-mm-dd', - calendarWeeks: true - }) - .focus(); // Activate for visibility checks - this.dp = this.input.data('datepicker') - this.picker = this.dp.picker; - }, - teardown: function(){ - this.picker.remove(); - } -}); - -test('adds cw header column', function(){ - var target = this.picker.find('.datepicker-days thead th:first-child'); - ok(target.hasClass('cw'), 'First column heading is from cw column'); -}); - -test('adds calendar week cells to each day row', function(){ - var target = this.picker.find('.datepicker-days tbody tr'); - - expect(target.length); - target.each(function(i){ - var t = $(this).children().first(); - ok(t.hasClass('cw'), "First column is cw column"); - }); -}); - -test('displays correct calendar week', function(){ - var target = this.picker.find('.datepicker-days tbody tr'); - - expect(target.length); - target.each(function(i){ - var t = $(this).children().first(); - equal(t.text(), i+1, "Displays correct calendar weeks"); - }); -}); - -test('it prepends column to switcher thead row', function(){ - var target = this.picker.find('.datepicker-days thead tr:first-child'); - equal(target.children().length, 4, 'first row has 4 columns'); - ok(target.children().first().hasClass('cw'), 'cw column is prepended'); -}); diff --git a/public/vendor/bootstrap-datepicker/tests/suites/component.js b/public/vendor/bootstrap-datepicker/tests/suites/component.js deleted file mode 100644 index 399abd444..000000000 --- a/public/vendor/bootstrap-datepicker/tests/suites/component.js +++ /dev/null @@ -1,202 +0,0 @@ -module('Component', { - setup: function(){ - this.component = $('
    '+ - ''+ - ''+ - '
    ') - .appendTo('#qunit-fixture') - .datepicker({format: "dd-mm-yyyy"}); - this.input = this.component.find('input'); - this.addon = this.component.find('.add-on'); - this.dp = this.component.data('datepicker') - this.picker = this.dp.picker; - }, - teardown: function(){ - this.picker.remove(); - } -}); - - -test('Component gets date/viewDate from input value', function(){ - datesEqual(this.dp.getUTCDate(), UTCDate(2012, 1, 12)); - datesEqual(this.dp.viewDate, UTCDate(2012, 1, 12)); -}); - -test('Activation by component', function(){ - ok(!this.picker.is(':visible')); - this.addon.click(); - ok(this.picker.is(':visible')); -}); - -test('simple keyboard nav test', function(){ - var target; - - // Keyboard nav only works with non-readonly inputs - this.input.removeAttr('readonly'); - - equal(this.dp.viewMode, 0); - target = this.picker.find('.datepicker-days thead th.datepicker-switch'); - equal(target.text(), 'February 2012', 'Title is "February 2012"'); - datesEqual(this.dp.getUTCDate(), UTCDate(2012, 1, 12)); - datesEqual(this.dp.viewDate, UTCDate(2012, 1, 12)); - - // Focus/open - this.addon.click(); - - // Navigation: -1 day, left arrow key - this.input.trigger({ - type: 'keydown', - keyCode: 37 - }); - datesEqual(this.dp.viewDate, UTCDate(2012, 1, 11)); - datesEqual(this.dp.getUTCDate(), UTCDate(2012, 1, 12)); - datesEqual(this.dp.focusDate, UTCDate(2012, 1, 11)); - // Month not changed - target = this.picker.find('.datepicker-days thead th.datepicker-switch'); - equal(target.text(), 'February 2012', 'Title is "February 2012"'); - - // Navigation: +1 month, shift + right arrow key - this.input.trigger({ - type: 'keydown', - keyCode: 39, - shiftKey: true - }); - datesEqual(this.dp.viewDate, UTCDate(2012, 2, 11)); - datesEqual(this.dp.getUTCDate(), UTCDate(2012, 1, 12)); - datesEqual(this.dp.focusDate, UTCDate(2012, 2, 11)); - target = this.picker.find('.datepicker-days thead th.datepicker-switch'); - equal(target.text(), 'March 2012', 'Title is "March 2012"'); - - // Navigation: -1 year, ctrl + left arrow key - this.input.trigger({ - type: 'keydown', - keyCode: 37, - ctrlKey: true - }); - datesEqual(this.dp.viewDate, UTCDate(2011, 2, 11)); - datesEqual(this.dp.getUTCDate(), UTCDate(2012, 1, 12)); - datesEqual(this.dp.focusDate, UTCDate(2011, 2, 11)); - target = this.picker.find('.datepicker-days thead th.datepicker-switch'); - equal(target.text(), 'March 2011', 'Title is "March 2011"'); -}); - -test('setValue', function(){ - this.dp.dates.replace(UTCDate(2012, 2, 13)); - this.dp.setValue(); - datesEqual(this.dp.dates[0], UTCDate(2012, 2, 13)); - equal(this.input.val(), '13-03-2012'); -}); - -test('update', function(){ - this.input.val('13-03-2012'); - this.dp.update(); - equal(this.dp.dates.length, 1); - datesEqual(this.dp.dates[0], UTCDate(2012, 2, 13)); -}); - -test('Navigating to/from decade view', function(){ - var target; - - this.addon.click(); - this.input.val('31-03-2012'); - this.dp.update(); - - equal(this.dp.viewMode, 0); - target = this.picker.find('.datepicker-days thead th.datepicker-switch'); - ok(target.is(':visible'), 'View switcher is visible'); - - target.click(); - ok(this.picker.find('.datepicker-months').is(':visible'), 'Month picker is visible'); - equal(this.dp.viewMode, 1); - // Not modified when switching modes - datesEqual(this.dp.viewDate, UTCDate(2012, 2, 31)); - datesEqual(this.dp.dates[0], UTCDate(2012, 2, 31)); - - target = this.picker.find('.datepicker-months thead th.datepicker-switch'); - ok(target.is(':visible'), 'View switcher is visible'); - - target.click(); - ok(this.picker.find('.datepicker-years').is(':visible'), 'Year picker is visible'); - equal(this.dp.viewMode, 2); - // Not modified when switching modes - datesEqual(this.dp.viewDate, UTCDate(2012, 2, 31)); - datesEqual(this.dp.dates[0], UTCDate(2012, 2, 31)); - - // Change years to test internal state changes - target = this.picker.find('.datepicker-years tbody span:contains(2011)'); - target.click(); - equal(this.dp.viewMode, 1); - // Only viewDate modified - datesEqual(this.dp.viewDate, UTCDate(2011, 2, 1)); - datesEqual(this.dp.dates[0], UTCDate(2012, 2, 31)); - - target = this.picker.find('.datepicker-months tbody span:contains(Apr)'); - target.click(); - equal(this.dp.viewMode, 0); - // Only viewDate modified - datesEqual(this.dp.viewDate, UTCDate(2011, 3, 1)); - datesEqual(this.dp.dates[0], UTCDate(2012, 2, 31)); -}); - -test('Selecting date resets viewDate and date', function(){ - var target; - - this.addon.click(); - this.input.val('31-03-2012'); - this.dp.update(); - - // Rendered correctly - equal(this.dp.viewMode, 0); - target = this.picker.find('.datepicker-days tbody td:first'); - equal(target.text(), '26'); // Should be Feb 26 - - // Updated internally on click - target.click(); - datesEqual(this.dp.viewDate, UTCDate(2012, 1, 26)) - datesEqual(this.dp.dates[0], UTCDate(2012, 1, 26)) - - // Re-rendered on click - target = this.picker.find('.datepicker-days tbody td:first'); - equal(target.text(), '29'); // Should be Jan 29 -}); - -test('"remove" removes associated HTML', function(){ - var datepickerDivSelector = '.datepicker'; - - $('#datepicker').datepicker('show'); - - //there should be one datepicker initiated so that means one hidden .datepicker div - equal($(datepickerDivSelector).length, 1); - this.component.datepicker('remove'); - equal($(datepickerDivSelector).length, 0);//hidden HTML should be gone -}); - -test('Does not block events', function(){ - var clicks = 0; - function handler(){ - clicks++; - } - $('#qunit-fixture').on('click', '.add-on', handler); - this.addon.click(); - equal(clicks, 1); - $('#qunit-fixture').off('click', '.add-on', handler); -}); - - -test('date and viewDate must be between startDate and endDate when setStartDate called', function() { - this.dp.setDate(new Date(2013, 1, 1)); - datesEqual(this.dp.dates[0], UTCDate(2013, 1, 1)); - datesEqual(this.dp.viewDate, UTCDate(2013, 1, 1)); - this.dp.setStartDate(new Date(2013, 5, 6)); - datesEqual(this.dp.viewDate, UTCDate(2013, 5, 6)); - equal(this.dp.dates.length, 0); -}); - -test('date and viewDate must be between startDate and endDate when setEndDate called', function() { - this.dp.setDate(new Date(2013, 11, 1)); - datesEqual(this.dp.dates[0], UTCDate(2013, 11, 1)); - datesEqual(this.dp.viewDate, UTCDate(2013, 11, 1)); - this.dp.setEndDate(new Date(2013, 5, 6)); - datesEqual(this.dp.viewDate, UTCDate(2013, 5, 6)); - equal(this.dp.dates.length, 0); -}); diff --git a/public/vendor/bootstrap-datepicker/tests/suites/data-api.js b/public/vendor/bootstrap-datepicker/tests/suites/data-api.js deleted file mode 100644 index a751f5711..000000000 --- a/public/vendor/bootstrap-datepicker/tests/suites/data-api.js +++ /dev/null @@ -1,114 +0,0 @@ -module('DATA-API'); - -test('DATA-API: data-provide="datepicker" on input; focus', function(){ - var input = $('') - .appendTo('#qunit-fixture'); - input.focus(); - ok(input.data('datepicker'), 'datepicker is initialized by "focus" event'); -}); - -test('DATA-API: data-provide="datepicker" on input; click', function(){ - var input = $('') - .appendTo('#qunit-fixture'); - input.click(); - ok(input.data('datepicker'), 'datepicker is initialized by "focus" event'); -}); - -test('DATA-API: data-provide="datepicker" on component', function(){ - var html, comp; - - html = '
    '+ - ''+ - '
    '; - - comp = $(html).appendTo('#qunit-fixture'); - comp.find('input').focus(); - ok(comp.data('datepicker'), 'append component initialized by "focus" event on input'); - comp.remove(); - - comp = $(html).appendTo('#qunit-fixture'); - comp.find('input').click(); - ok(comp.data('datepicker'), 'append component initialized by "click" event on input'); - comp.remove(); - - comp = $(html).appendTo('#qunit-fixture'); - comp.find('.add-on').focus(); - ok(comp.data('datepicker'), 'append component initialized by "focus" event on add-on'); - comp.remove(); - - comp = $(html).appendTo('#qunit-fixture'); - comp.find('.add-on').click(); - ok(comp.data('datepicker'), 'append component initialized by "click" event on add-on'); - comp.remove(); - - - html = '
    '+ - ''+ - '
    '; - - comp = $(html).prependTo('#qunit-fixture'); - comp.find('input').focus(); - ok(comp.data('datepicker'), 'prepend component initialized by "focus" event on input'); - comp.remove(); - - comp = $(html).prependTo('#qunit-fixture'); - comp.find('input').click(); - ok(comp.data('datepicker'), 'prepend component initialized by "click" event on input'); - comp.remove(); - - comp = $(html).prependTo('#qunit-fixture'); - comp.find('.add-on').focus(); - ok(comp.data('datepicker'), 'prepend component initialized by "focus" event on add-on'); - comp.remove(); - - comp = $(html).prependTo('#qunit-fixture'); - comp.find('.add-on').click(); - ok(comp.data('datepicker'), 'prepend component initialized by "click" event on add-on'); - comp.remove(); -}); - -test('DATA-API: data-provide="datepicker" on button', function(){ - var html, comp; - - html = '