diff --git a/bin/www b/bin/www index f686d37e0..bfe8a4166 100755 --- a/bin/www +++ b/bin/www @@ -2,6 +2,9 @@ var debug = require('debug')('rallly'); var app = require('../app'); +// Server is restricted to listen to localhost (127.0.0.1) +// to disable direct requests to the application +// Requests should come from Apache via mod_proxy on port 80 var server = app.listen(app.get('port'), '127.0.0.1', function() { debug('Express server listening on port ' + server.address().port); }); diff --git a/public/build/app.js b/public/build/app.js index 21938861d..fe6d9feee 100644 --- a/public/build/app.js +++ b/public/build/app.js @@ -1,2 +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.html",controller:"NewEventCtrl"}).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
\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
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/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 {{date | date: \'EEE\'}}\n
\n
\n {{date | date: \'d\'}}\n
\n
\n {{date | 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
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n'),e.put("templates/directives/eventForm/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/directives/eventForm/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/directives/eventForm/participantsForm.html",'
\n
Invite Participants
\n
\n
\n
\n
\n \n \n
\n
\n
\n\n'),e.put("templates/directives/eventForm/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/directives/eventForm/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')}]),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,l,s){var r=n.params.id;e.event=a.get({id:r},function(){s.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 l({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 l({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 l=n.params.id;e.event=a.get({id:l},function(){i.set(e.event.title),e.eventUrl=n.href("event",{id:e.event._id},{absolute:!0});var t=["John Example","Jane Specimen","Mark Instance","Mary Case"];e.event.examples=[];for(var a=0;at.getTime()?!0:!1}),i.$setViewValue(t,e)});var a=function(e,n){if(e&&n&&e.length!=n.length){for(var i=[],a=0;a0;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/directives/eventForm/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/directives/eventForm/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/directives/eventForm/dateForm.html"}}).directive("participantsForm",["FormHelper",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/directives/eventForm/participantsForm.html",link:function(t){t.emailRegex=e.emailRegexString}}}]).directive("settingsForm",["Event","ConfirmModal",function(e,t){return{scope:{event:"=",form:"="},templateUrl:"templates/directives/eventForm/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)})}}}),angular.module("rallly").directive("poll",["Participant","ConfirmModal",function(e,t){return{restrict:"A",templateUrl:"templates/directives/poll.html",scope:{event:"="},link:function(n){n.defaults=[],n.participant={};var i=[];n.delete=function(i){new t({title:"Delete "+i.name+"?",message:"Are you sure you want to remove "+i.name+" from the poll?",confirmText:"Yes - delete",cancelText:"No - nevermind",isDestructive:!0,confirm:function(){e.remove({id:n.event._id,pid:i._id},function(e){n.event=e})}})},n.isTopDate=function(e){for(var t=i[e],n=0;nt)return!1;return!0},n.selectedDate=function(e){i[e]=0;for(var t=0;t30?"on "+e("date")(t,"MMMM d"):r>1?r+" days ago":1==r?"1 day ago":s>1?s+" hours ago":1==s?"an hour ago":l>1?l+" minutes ago":1==l?"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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uanMiLCJ0ZW1wbGF0ZXMuanMiLCJjb250cm9sbGVycy9hYm91dC5jb250cm9sbGVyLmpzIiwiY29udHJvbGxlcnMvYWNjb3VudC5jb250cm9sbGVyLmpzIiwiY29udHJvbGxlcnMvZGVsZXRpb24uY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL2VkaXRldmVudC5jb250cm9sbGVyLmpzIiwiY29udHJvbGxlcnMvZXZlbnQuY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL2hvbWUuY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL25hdmlnYXRpb24uY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL25ld2V2ZW50LmNvbnRyb2xsZXIuanMiLCJjb250cm9sbGVycy92ZXJpZmljYXRpb24uY29udHJvbGxlci5qcyIsImRpcmVjdGl2ZXMvYmFja0ltZy5kaXJlY3RpdmUuanMiLCJkaXJlY3RpdmVzL2RhdGVwaWNrZXIuZGlyZWN0aXZlLmpzIiwiZGlyZWN0aXZlcy9kaXNjdXNzaW9uLmRpcmVjdGl2ZS5qcyIsImRpcmVjdGl2ZXMvZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwiZGlyZWN0aXZlcy9mb3JtLmRpcmVjdGl2ZS5qcyIsImRpcmVjdGl2ZXMvcG9sbC5kaXJlY3RpdmUuanMiLCJmaWx0ZXJzL2VsYXBzZWQuZmlsdGVyLmpzIiwic2VydmljZXMvbW9kYWwuc2VydmljZS5qcyIsInNlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFFBQUEsT0FBQSxVQUFBLFlBQUEsYUFBQSxlQUFBLGNBQUEsY0FDQSxRQUFBLGlCQUFBLHFCQUFBLG9CQUFBLFNBQUEsRUFBQSxFQUFBLEdBQ0EsRUFBQSxXQUFBLEdBQ0EsRUFBQSxVQUFBLGFBQ0EsRUFDQSxNQUFBLFNBQ0EsSUFBQSxJQUNBLFlBQUEsc0JBQ0EsV0FBQSxhQUVBLE1BQUEsWUFDQSxJQUFBLE9BQ0EsWUFBQSwwQkFDQSxXQUFBLGlCQUVBLE1BQUEsU0FDQSxJQUFBLFNBQ0EsWUFBQSx1QkFDQSxXQUFBLGNBRUEsTUFBQSxZQUNBLElBQUEsWUFDQSxZQUFBLDRCQUVBLE1BQUEsU0FDQSxJQUFBLE9BQ0EsWUFBQSx1QkFDQSxXQUFBLGNBRUEsTUFBQSxhQUNBLElBQUEsWUFDQSxZQUFBLDJCQUNBLFdBQUEsa0JBRUEsTUFBQSxlQUNBLElBQUEseUJBQ0EsV0FBQSxxQkFFQSxNQUFBLGVBQ0EsSUFBQSx5QkFDQSxXQUFBLG9CQUdBLFFBQUEsU0FBQSxZQUFBLFNBQUEsR0FDQSxNQUFBLEdBQUEsa0JBQUEsR0FBQSxTQUNBLFFBQUEsT0FBQSxPQUNBLFFBQUEsT0FBQSxNQUFBLElBQUEsNkJBQ0EsU0FBQSxPQUFBLFNBQUEsSUFBQSxrQ0FHQSxRQUFBLGVBQUEsWUFBQSxTQUFBLEdBQ0EsTUFBQSxHQUFBLG1DQUFBLEdBQUEsU0FDQSxRQUFBLE9BQUEsWUFHQSxRQUFBLFdBQUEsWUFBQSxTQUFBLEdBQ0EsTUFBQSxHQUFBLCtCQUFBLEdBQUEsU0FDQSxRQUFBLE9BQUEsWUFHQSxRQUFBLFFBQUEsV0FDQSxPQUNBLElBQUEsU0FBQSxHQUNBLFNBQUEsTUFBQSxNQy9EQSxRQUFBLE9BQUEsVUFBQSxLQUFBLGlCQUFBLFNBQUEsR0FBQSxFQUFBLElBQUEsdUJBQUEsOGdCQUNBLEVBQUEsSUFBQSw4QkFBQSxtaUJBQ0EsRUFBQSxJQUFBLDJCQUFBLGl2Q0FDQSxFQUFBLElBQUEsdUJBQUEsdXZEQUNBLEVBQUEsSUFBQSxzQkFBQSwyWkFDQSxFQUFBLElBQUEsMEJBQUEsaXNEQUNBLEVBQUEsSUFBQSwwQkFBQSw0Q0FDQSxFQUFBLElBQUEsOEJBQUEsNE9BQ0EsRUFBQSxJQUFBLHVDQUFBLGtrREFDQSxFQUFBLElBQUEsaUNBQUEsczdJQUNBLEVBQUEsSUFBQSwrQ0FBQSxzcUNBQ0EsRUFBQSxJQUFBLGdEQUFBLGtrREFDQSxFQUFBLElBQUEsdURBQUEsdWZBQ0EsRUFBQSxJQUFBLG1EQUFBLG96REFDQSxFQUFBLElBQUEsK0NBQUEsMHZDQ2RBLFFBQUEsT0FBQSxVQUNBLFdBQUEsYUFBQSxRQUFBLFNBQUEsR0FDQSxFQUFBLElBQUEsbUJDRkEsUUFBQSxPQUFBLFVBQ0EsV0FBQSxlQUFBLFNBQUEsZUFBQSxTQUFBLEdBQ0EsRUFBQSxXQUFBLGdCQ0ZBLFFBQUEsT0FBQSxVQUNBLFdBQUEsZ0JBQUEsU0FBQSxlQUFBLFFBQUEsU0FBQSxFQUFBLEVBQUEsR0FDQSxFQUFBLFNBQUEsR0FBQSxFQUFBLE9BQUEsR0FBQSxLQUFBLEVBQUEsT0FBQSxNQUFBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsZ0JBQ0EsUUFBQSw4QkFDQSxLQUFBLFVBQ0EsUUFBQSxPQUVBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsa0JBQ0EsUUFBQSx1RkFDQSxLQUFBLFlBR0EsRUFBQSxHQUFBLFNBQUEsR0FBQSxFQUFBLE9BQUEsUUNoQkEsUUFBQSxPQUFBLFVBQ0EsV0FBQSxpQkFBQSxTQUFBLFFBQUEsU0FBQSxXQUFBLFFBQUEsZUFBQSxlQUFBLFFBQUEsU0FBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEdBQ0EsR0FBQSxHQUFBLEVBQUEsT0FBQSxFQUNBLEdBQUEsTUFBQSxFQUFBLEtBQUEsR0FBQSxHQUFBLFdBQ0EsRUFBQSxJQUFBLFNBQUEsRUFBQSxNQUFBLE9BQ0EsRUFBQSxPQUFBLFFBQUEsS0FBQSxFQUFBLFFBQ0EsV0FDQSxFQUFBLEdBQUEsY0FFQSxFQUFBLFlBQUEsV0FDQSxFQUFBLE1BQUEsUUFBQSxLQUFBLEVBQUEsU0FFQSxFQUFBLFVBQUEsV0FDQSxNQUFBLE1BQUEsVUFBQSxFQUFBLFNBQUEsS0FBQSxVQUFBLEVBQUEsUUFFQSxFQUFBLGVBQUEsV0FDQSxNQUFBLE1BQUEsVUFBQSxFQUFBLE9BQUEsUUFBQSxLQUFBLFVBQUEsRUFBQSxNQUFBLFFBRUEsRUFBQSxPQUFBLFdBQ0EsR0FBQSxFQUFBLEtBQUEsT0FDQSxHQUFBLEVBQUEsaUJBQ0EsQ0FBQSxHQUFBLElBQ0EsTUFBQSxXQUNBLFFBQUEsbUdBQ0EsWUFBQSxnQkFDQSxlQUFBLEVBQ0EsUUFBQSxXQUNBLEVBQUEsTUFBQSxnQkFDQSxXQUtBLFNBR0EsQ0FBQSxHQUFBLElBQ0EsTUFBQSxjQUNBLFFBQUEsK0RBQ0EsS0FBQSxXQUlBLElBQUEsR0FBQSxXQUNBLEVBQUEsUUFDQSxHQUFBLEdBQ0EsRUFBQSxNQUNBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsZ0JBQ0EsUUFBQSw2Q0FDQSxLQUFBLFdBRUEsR0FBQSxPQUFBLFFBQUEsS0FBQSxFQUFBLGFDckRBLFFBQUEsT0FBQSxVQUNBLFdBQUEsYUFBQSxTQUFBLFFBQUEsU0FBQSxRQUFBLFFBQUEsZUFBQSxTQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxHQUNBLEdBQUEsR0FBQSxFQUFBLE9BQUEsRUFFQSxHQUFBLE1BQUEsRUFBQSxLQUFBLEdBQUEsR0FBQSxXQUVBLEVBQUEsSUFBQSxFQUFBLE1BQUEsT0FFQSxFQUFBLFNBQUEsRUFBQSxLQUFBLFNBQ0EsR0FBQSxFQUFBLE1BQUEsTUFFQSxVQUFBLEdBRUEsSUFBQSxJQUFBLGVBQUEsZ0JBQUEsZ0JBQUEsWUFDQSxHQUFBLE1BQUEsV0FDQSxLQUFBLEdBQUEsR0FBQSxFQUFBLEVBQUEsRUFBQSxPQUFBLElBQUEsQ0FDQSxHQUFBLElBQUEsS0FBQSxFQUFBLEdBQ0EsR0FBQSxRQUNBLEtBQUEsR0FBQSxHQUFBLEVBQUEsRUFBQSxFQUFBLE1BQUEsTUFBQSxPQUFBLElBQUEsQ0FDQSxHQUFBLEdBQUEsS0FBQSxTQUFBLEVBQ0EsR0FBQSxNQUFBLEdBQUEsRUFFQSxFQUFBLE1BQUEsU0FBQSxLQUFBLEtBRUEsV0FDQSxFQUFBLEdBQUEsY0FHQSxFQUFBLFVBQUEsV0FDQSxFQUFBLE1BQUEsVUFBQSxFQUNBLEVBQUEsUUFDQSxHQUFBLEdBQ0EsRUFBQSxNQUNBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsYUFDQSxRQUFBLDZDQUNBLFdBQUEsVUFLQSxFQUFBLFdBQUEsV0FDQSxFQUFBLE1BQUEsVUFBQSxFQUNBLEVBQUEsUUFDQSxHQUFBLEdBQ0EsRUFBQSxNQUNBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsZUFDQSxRQUFBLHNEQUNBLFdBQUEsVUFLQSxFQUFBLFVBQUEsV0FDQSxFQUFBLEdBQUEsYUFBQSxHQUFBLEVBQUEsTUFBQSxVQ3pEQSxRQUFBLE9BQUEsVUFDQSxXQUFBLFlBQUEsU0FBQSxTQUFBLFFBQUEsU0FBQSxFQUFBLEVBQUEsR0FDQSxFQUFBLElBQUEscUNBRUEsRUFBQSxTQUFBLFdBQ0EsRUFBQSxHQUFBLGdCQ0xBLFFBQUEsT0FBQSxVQUNBLFdBQUEsa0JBQUEsU0FBQSxZQUFBLFNBQUEsRUFBQSxHQUNBLEVBQUEsU0FBQSxTQUFBLEdBQ0EsTUFBQSxHQUFBLFFBQUEsR0FDQSxHQUVBLE1DTkEsUUFBQSxPQUFBLFVBQ0EsV0FBQSxnQkFBQSxTQUFBLFFBQUEsU0FBQSxRQUFBLGVBQUEsZUFBQSxTQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxHQUVBLEVBQUEsTUFBQSx1QkFDQSxFQUFBLFlBQUEsNkZBRUEsRUFBQSxPQUFBLFdBQ0EsR0FBQSxFQUFBLEtBQUEsT0FDQSxFQUFBLEtBQUEsYUFBQSxFQUFBLE9BQ0EsUUFBQSxTQUFBLEdBQ0EsRUFBQSxNQUFBLEVBQ0EsRUFBQSxTQUFBLEVBQUEsS0FBQSxTQUNBLEdBQUEsRUFBQSxNQUFBLE1BRUEsVUFBQSxNQUdBLE1BQUEsV0FDQSxHQUFBLElBQ0EsTUFBQSxTQUNBLFFBQUEsa0VBQ0EsV0FBQSxhQUlBLENBQUEsR0FBQSxJQUNBLE1BQUEsY0FDQSxRQUFBLCtEQUNBLEtBQUEsWUFLQSxFQUFBLFdBQUEsUUNqQ0EsUUFBQSxPQUFBLFVBQ0EsV0FBQSxvQkFBQSxRQUFBLGVBQUEsU0FBQSxTQUFBLEVBQUEsRUFBQSxHQUNBLEVBQUEsUUFBQSxHQUFBLEVBQUEsT0FBQSxHQUFBLEtBQUEsRUFBQSxPQUFBLE1BQUEsV0FDQSxHQUFBLElBQ0EsTUFBQSxpQkFDQSxRQUFBLG1HQUNBLEtBQUEsVUFDQSxRQUFBLE9BRUEsV0FDQSxHQUFBLElBQ0EsTUFBQSxzQkFDQSxRQUFBLHNDQUNBLEtBQUEsWUFHQSxFQUFBLEdBQUEsU0FBQSxHQUFBLEVBQUEsT0FBQSxRQ2hCQSxRQUFBLE9BQUEsVUFDQSxVQUFBLFVBQUEsV0FDQSxNQUFBLFVBQUEsRUFBQSxFQUFBLEdBQ0EsR0FBQSxHQUFBLEVBQUEsT0FDQSxHQUFBLEtBQ0EsbUJBQUEsZUFBQSxFQUFBLGFDTEEsUUFBQSxPQUFBLFVBQ0EsVUFBQSxhQUFBLFdBQ0EsT0FDQSxTQUFBLElBQ0EsUUFBQSxVQUNBLE9BQ0EsTUFBQSxXQUNBLFFBQUEsS0FFQSxLQUFBLFNBQUEsRUFBQSxFQUFBLEVBQUEsR0FDQSxFQUFBLE1BQUEsRUFBQSxVQUNBLFFBQUEsUUFBQSxHQUFBLFlBQ0EsV0FBQSxFQUNBLGdCQUFBLElBRUEsR0FBQSxhQUFBLFNBQUEsR0FDQSxHQUFBLEdBQUEsRUFBQSxLQUNBLEdBQUEsS0FBQSxTQUFBLEVBQUEsR0FDQSxNQUFBLEdBQUEsVUFBQSxFQUFBLFdBQUEsR0FDQSxJQUVBLEVBQUEsY0FBQSxFQUFBLElBR0EsSUFBQSxHQUFBLFNBQUEsRUFBQSxHQUNBLEdBQUEsR0FBQSxHQUFBLEVBQUEsUUFBQSxFQUFBLE9BQUEsQ0FFQSxJQUFBLEdBREEsTUFDQSxFQUFBLEVBQUEsRUFBQSxFQUFBLE9BQUEsSUFDQSxFQUFBLEtBQUEsR0FBQSxNQUFBLEVBQUEsSUFFQSxTQUFBLFFBQUEsR0FBQSxXQUFBLFdBQUEsSUFFQSxHQUFBLGlCQUFBLFFBQUEsR0FFQSxFQUFBLFFBQUEsRUFBQSxZQUNBLEVBQUEsUUFBQSxVQUFBLFNBQUEsR0FDQSxHQUFBLEdBQUEsRUFBQSxNQUFBLFFBQUEsRUFDQSxHQUFBLE1BQUEsT0FBQSxFQUFBLElBR0EsRUFBQSxZQUFBLFNBQUEsU0FBQSxHQUNBLE1BQUEsSUFBQSxHQUFBLEVBQUEsUUFHQSxHQUZBLE9DMUNBLFFBQUEsT0FBQSxVQUNBLFVBQUEsY0FBQSxXQUFBLFVBQUEsZUFBQSxTQUFBLEVBQUEsRUFBQSxHQUNBLE9BQ0EsU0FBQSxJQUNBLFlBQUEsdUNBQ0EsT0FDQSxNQUFBLEtBRUEsS0FBQSxTQUFBLEdBQ0EsRUFBQSxVQUNBLElBQUEsR0FBQSxRQUFBLFFBQUEsa0JBQ0EsR0FBQSxXQUNBLEVBQUEsVUFBQSxFQUFBLEtBQUEsbUJBRUEsRUFBQSxjQUFBLFNBQUEsR0FDQSxHQUFBLElBQ0EsTUFBQSxnQkFDQSxRQUFBLGdEQUNBLFlBQUEsZUFDQSxXQUFBLGlCQUNBLGVBQUEsRUFDQSxRQUFBLFdBQ0EsRUFBQSxRQUFBLEdBQUEsRUFBQSxNQUFBLElBQUEsSUFBQSxFQUFBLEtBQUEsU0FBQSxHQUNBLEVBQUEsTUFBQSxRQUtBLEVBQUEsWUFBQSxXQUNBLEdBQUEsRUFBQSxZQUFBLE9BQUEsQ0FDQSxHQUFBLEdBQUEsR0FBQSxHQUFBLEVBQUEsUUFDQSxHQUFBLE9BQUEsR0FBQSxFQUFBLE1BQUEsS0FBQSxTQUFBLEdBQ0EsRUFBQSxNQUFBLEVBQ0EsRUFBQSxhQUVBLEVBQUEsWUFBQSxzQkNuQ0EsUUFBQSxPQUFBLFVBQ0EsVUFBQSxZQUFBLFlBQUEsU0FBQSxHQUNBLE9BQ0EsU0FBQSxJQUNBLEtBQUEsU0FBQSxFQUFBLEdBQ0EsRUFBQSxTQUFBLFlBQ0EsRUFBQSxNQUFBLENBRUEsSUFBQSxHQUFBLFNBQUEsR0FDQSxHQUFBLEdBQUEsRUFBQSxLQUFBLEVBQUEsUUFBQSxPQUFBLENBQ0EsSUFDQSxFQUFBLFNBR0EsR0FBQSxPQUFBLFdBQ0EsRUFBQSxNQUFBLEVBQUEsS0FDQSxFQUFBLE1BQ0EsRUFBQSxTQUFBLFFBQ0EsRUFBQSxLQUFBLFFBQUEsS0FFQSxFQUFBLFlBQUEsUUFDQSxFQUFBLE9BQUEsUUFBQSxVQ3JCQSxRQUFBLE9BQUEsVUFDQSxRQUFBLGFBQUEsV0FDQSxLQUFBLGlCQUFBLDJDQUNBLEtBQUEsV0FBQSxHQUFBLFFBQUEsS0FBQSxrQkFDQSxLQUFBLFlBQUEsU0FBQSxFQUFBLEdBQ0EsTUFBQSxHQUFBLFNBQUEsRUFBQSxlQUNBLEVBQUEsUUFBQSxFQUFBLGNBQ0EsRUFBQSxVQUFBLEVBQUEsZ0JBQ0EsS0FHQSxVQUFBLFlBQUEsYUFBQSxTQUFBLEdBQ0EsT0FDQSxPQUNBLE1BQUEsSUFDQSxLQUFBLEtBRUEsWUFBQSwrQ0FDQSxLQUFBLFNBQUEsR0FDQSxFQUFBLFVBRUEsRUFBQSxXQUFBLEVBQUEsV0FFQSxFQUFBLGlCQUFBLG1CQUFBLFNBQUEsR0FDQSxFQUFBLE9BQUEsS0FBQSxFQUFBLFlBQUEsRUFBQSxVQUdBLEVBQUEsaUJBQUEsb0JBQUEsU0FBQSxHQUNBLEVBQUEsT0FBQSxNQUFBLEVBQUEsWUFBQSxFQUFBLGdCQUtBLFVBQUEsYUFBQSxhQUFBLFNBQUEsR0FDQSxPQUNBLE9BQ0EsTUFBQSxJQUNBLEtBQUEsS0FFQSxZQUFBLGdEQUNBLEtBQUEsU0FBQSxHQUNBLEVBQUEsVUFFQSxFQUFBLGlCQUFBLG9CQUFBLFNBQUEsR0FDQSxFQUFBLE9BQUEsTUFBQSxFQUFBLFlBQUEsRUFBQSxXQUdBLEVBQUEsaUJBQUEsdUJBQUEsU0FBQSxHQUNBLEVBQUEsT0FBQSxTQUFBLEVBQUEsWUFBQSxFQUFBLG1CQU1BLFVBQUEsV0FBQSxXQUNBLE9BQ0EsT0FDQSxNQUFBLElBQ0EsS0FBQSxLQUVBLFlBQUEsa0RBR0EsVUFBQSxvQkFBQSxhQUFBLFNBQUEsR0FDQSxPQUNBLE9BQ0EsTUFBQSxJQUNBLEtBQUEsS0FFQSxZQUFBLHVEQUNBLEtBQUEsU0FBQSxHQUNBLEVBQUEsV0FBQSxFQUFBLHNCQUlBLFVBQUEsZ0JBQUEsUUFBQSxlQUFBLFNBQUEsRUFBQSxHQUNBLE9BQ0EsT0FDQSxNQUFBLElBQ0EsS0FBQSxLQUVBLFlBQUEsbURBQ0EsS0FBQSxTQUFBLEdBQ0EsRUFBQSxZQUFBLFdBQ0EsRUFBQSxtQkFDQSxFQUFBLFFBQUEsR0FBQSxFQUFBLE1BQUEsS0FBQSxXQUNBLEVBQUEsbUJBQUEsQ0FDQSxJQUFBLElBQ0EsTUFBQSxzQkFDQSxRQUFBLHNGQUNBLFdBQUEsZUFPQSxVQUFBLGVBQUEsV0FDQSxPQUNBLE9BQ0EsTUFBQSxZQUVBLFFBQUEsVUFDQSxLQUFBLFNBQUEsRUFBQSxFQUFBLEVBQUEsR0FDQSxFQUFBLFNBQUEsZ0JBQ0EsSUFBQSxHQUFBLFdBQ0EsRUFBQSxNQUFBLG1CQUFBLEdBQUEsT0FDQSxFQUFBLFNBQUEsVUFFQSxFQUFBLFlBQUEsVUFHQSxHQUFBLE9BQUEsUUFBQSxHQUNBLEVBQUEsS0FBQSxRQUFBLFNBQUEsR0FDQSxFQUFBLE9BQUEsRUFBQSxNQUNBLEVBQUEsY0FBQSxFQUFBLE1BQUEsU0NuSEEsUUFBQSxPQUFBLFVBQ0EsVUFBQSxRQUFBLGNBQUEsZUFBQSxTQUFBLEVBQUEsR0FDQSxPQUNBLFNBQUEsSUFDQSxZQUFBLGlDQUNBLE9BQ0EsTUFBQSxLQUVBLEtBQUEsU0FBQSxHQUNBLEVBQUEsWUFDQSxFQUFBLGNBQ0EsSUFBQSxLQUNBLEdBQUEsT0FBQSxTQUFBLEdBQ0EsR0FBQSxJQUNBLE1BQUEsVUFBQSxFQUFBLEtBQUEsSUFDQSxRQUFBLG1DQUFBLEVBQUEsS0FBQSxrQkFDQSxZQUFBLGVBQ0EsV0FBQSxpQkFDQSxlQUFBLEVBQ0EsUUFBQSxXQUNBLEVBQUEsUUFBQSxHQUFBLEVBQUEsTUFBQSxJQUFBLElBQUEsRUFBQSxLQUFBLFNBQUEsR0FDQSxFQUFBLE1BQUEsUUFLQSxFQUFBLFVBQUEsU0FBQSxHQUVBLElBQUEsR0FEQSxHQUFBLEVBQUEsR0FDQSxFQUFBLEVBQUEsRUFBQSxFQUFBLE9BQUEsSUFDQSxHQUFBLEVBQUEsR0FBQSxFQUFBLE9BQUEsQ0FFQSxRQUFBLEdBRUEsRUFBQSxhQUFBLFNBQUEsR0FDQSxFQUFBLEdBQUEsQ0FDQSxLQUFBLEdBQUEsR0FBQSxFQUFBLEVBQUEsRUFBQSxNQUFBLGFBQUEsT0FBQSxJQUNBLEVBQUEsTUFBQSxhQUFBLEdBQUEsTUFBQSxJQUFBLEVBQUEsSUFFQSxPQUFBLEdBQUEsSUFFQSxFQUFBLE9BQUEsU0FBQSxHQUNBLEVBQUEsUUFDQSxHQUFBLEVBQUEsTUFBQSxJQUNBLElBQUEsRUFBQSxLQUNBLElBRUEsRUFBQSxLQUFBLFNBQUEsR0FDQSxFQUFBLFNBQUEsRUFBQSxNQUFBLGFBQUEsUUFBQSxJQUFBLFFBQUEsS0FBQSxJQUVBLEVBQUEsT0FBQSxTQUFBLEdBQ0EsRUFBQSxNQUFBLGFBQUEsR0FBQSxFQUFBLFNBQUEsSUFFQSxFQUFBLEtBQUEsV0FDQSxHQUFBLEVBQUEsUUFBQSxPQUFBLENBQ0EsR0FBQSxHQUFBLEdBQUEsR0FBQSxFQUFBLFlBQ0EsR0FBQSxPQUFBLEdBQUEsRUFBQSxNQUFBLEtBQUEsU0FBQSxHQUNBLEVBQUEsTUFBQSxFQUNBLEVBQUEsaUJBRUEsRUFBQSxRQUFBLHNCQzNEQSxRQUFBLE9BQUEsVUFDQSxPQUFBLFdBQUEsVUFBQSxTQUFBLEdBQ0EsTUFBQSxVQUFBLEdBQ0EsR0FBQSxFQUFBLENBQ0EsR0FBQSxHQUFBLEtBQUEsTUFBQSxHQUNBLEdBQUEsR0FBQSxPQUFBLFVBQ0EsRUFBQSxFQUFBLEVBQ0EsRUFBQSxLQUFBLE1BQUEsRUFBQSxLQUNBLEVBQUEsS0FBQSxNQUFBLEVBQUEsSUFDQSxFQUFBLEtBQUEsTUFBQSxFQUFBLElBQ0EsRUFBQSxLQUFBLE1BQUEsRUFBQSxHQUNBLE9BQUEsR0FBQSxHQUNBLE1BQUEsRUFBQSxRQUFBLEVBQUEsVUFDQSxFQUFBLEVBQ0EsRUFBQSxZQUNBLEdBQUEsRUFDQSxZQUNBLEVBQUEsRUFDQSxFQUFBLGFBQ0EsR0FBQSxFQUNBLGNBQ0EsRUFBQSxFQUNBLEVBQUEsZUFDQSxHQUFBLEVBQ0EsZUFFQSx5QkMxQkEsUUFBQSxPQUFBLFVBQ0EsUUFBQSxnQkFBQSxXQUFBLFNBQUEsR0FFQSxNQUFBLFVBQUEsR0FDQSxHQUFBLEVBQ0EsR0FBQSxHQUNBLFlBQUEsOEJBQ0EsYUFBQSxRQUNBLFdBQUEsV0FDQSxLQUFBLE1BQUEsRUFBQSxNQUNBLEtBQUEsUUFBQSxFQUFBLFFBQ0EsS0FBQSxRQUFBLEVBQUEsUUFBQSxXQUFBLEVBQUEsVUFBQSxFQUFBLGVBQUEsRUFDQSxLQUFBLE9BQUEsRUFBQSxXQUNBLEtBQUEsWUFBQSxFQUFBLGFBQUEsVUFDQSxLQUFBLFdBQUEsRUFBQSxZQUFBLFNBQ0EsS0FBQSxjQUFBLEVBQUEsaUJBR0EsRUFBQSxXQUVBLEtBQUEsUUFBQSxXQUNBLEVBQUEsa0JDckJBLFFBQUEsT0FBQSxVQUNBLFFBQUEsZ0JBQUEsV0FBQSxXQUFBLFNBQUEsRUFBQSxHQUNBLE1BQUEsVUFBQSxHQUNBLEdBQUEsRUFDQSxHQUFBLEdBQ0EsWUFBQSw4QkFDQSxhQUFBLGVBQ0EsV0FBQSxXQUNBLEtBQUEsTUFBQSxFQUFBLE1BQ0EsS0FBQSxRQUFBLEVBQUEsUUFDQSxLQUFBLE1BQUEsRUFBQSxXQUNBLEtBQUEsS0FBQSxFQUFBLElBQ0EsSUFBQSxHQUFBLEVBQUEsU0FBQSxHQUNBLEdBQUEsRUFBQSxXQUFBLE1BR0EsRUFBQSxXQUVBLEtBQUEsUUFBQSxXQUNBLEVBQUEiLCJmaWxlIjoicHVibGljL2J1aWxkL2FwcC5qcyIsInNvdXJjZXNDb250ZW50IjpbImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknLCBbJ3VpLnJvdXRlcicsJ25nUmVzb3VyY2UnLCdidGZvcmQubW9kYWwnLCduZ1RhZ3NJbnB1dCcsJ25nQW5pbWF0ZSddKVxuICAgIC5jb25maWcoZnVuY3Rpb24oJHN0YXRlUHJvdmlkZXIsICR1cmxSb3V0ZXJQcm92aWRlciwgJGxvY2F0aW9uUHJvdmlkZXIpe1xuICAgICAgICAkbG9jYXRpb25Qcm92aWRlci5odG1sNU1vZGUodHJ1ZSk7XG4gICAgICAgICR1cmxSb3V0ZXJQcm92aWRlci5vdGhlcndpc2UoXCIvbm90Zm91bmRcIilcbiAgICAgICAgJHN0YXRlUHJvdmlkZXJcbiAgICAgICAgLnN0YXRlKCdpbmRleCcse1xuICAgICAgICAgICAgdXJsIDogJy8nLFxuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2hvbWUuaHRtbCcsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ0hvbWVDdHJsJ1xuICAgICAgICB9KVxuICAgICAgICAuc3RhdGUoJ25ld2V2ZW50Jyx7XG4gICAgICAgICAgICB1cmwgOiAnL25ldycsXG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvbmV3ZXZlbnQuaHRtbCcsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ05ld0V2ZW50Q3RybCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCdhYm91dCcsIHtcbiAgICAgICAgICAgIHVybCA6ICcvYWJvdXQnLFxuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2Fib3V0Lmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlciA6ICdBYm91dEN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnbm90Zm91bmQnLCB7XG4gICAgICAgICAgICB1cmwgOiAnL25vdGZvdW5kJyxcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9ub3Rmb3VuZC5odG1sJ1xuICAgICAgICB9KVxuICAgICAgICAuc3RhdGUoJ2V2ZW50Jyx7XG4gICAgICAgICAgICB1cmwgOiAnLzppZCcsXG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZXZlbnQuaHRtbCcsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ0V2ZW50Q3RybCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCdlZGl0ZXZlbnQnLCB7XG4gICAgICAgICAgICB1cmw6ICcvOmlkL2VkaXQnLFxuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2VkaXRldmVudC5odG1sJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiAnRWRpdEV2ZW50Q3RybCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCd2ZXJpZnlldmVudCcsIHtcbiAgICAgICAgICAgIHVybCA6ICcvdmVyaWZ5LzppZC9jb2RlLzpjb2RlJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiAnVmVyaWZpY2F0aW9uQ3RybCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCdkZWxldGVldmVudCcsIHtcbiAgICAgICAgICAgIHVybCA6ICcvZGVsZXRlLzppZC9jb2RlLzpjb2RlJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiAnRGVsZXRpb25DdHJsJ1xuICAgICAgICB9KVxuICAgIH0pXG4gICAgLmZhY3RvcnkoJ0V2ZW50JywgZnVuY3Rpb24oJHJlc291cmNlKXtcbiAgICAgICAgcmV0dXJuICRyZXNvdXJjZSgnL2FwaS9ldmVudC86aWQnLCB7IGlkIDogJ0BfaWQnIH0sIHtcbiAgICAgICAgICAgICd1cGRhdGUnIDogeyBtZXRob2QgOiAnUFVUJyB9LFxuICAgICAgICAgICAgJ3ZlcmlmeScgOiB7IG1ldGhvZCA6ICdHRVQnLCB1cmwgOiAnL2FwaS9ldmVudC86aWQvY29kZS86Y29kZScgfSxcbiAgICAgICAgICAgICdkZXN0cm95JzogeyBtZXRob2QgOiAnREVMRVRFJywgdXJsOiAnL2FwaS9ldmVudC86aWQvY29kZS86Y29kZScgfVxuICAgICAgICB9KTtcbiAgICB9KVxuICAgIC5mYWN0b3J5KCdQYXJ0aWNpcGFudCcsIGZ1bmN0aW9uKCRyZXNvdXJjZSl7XG4gICAgICAgIHJldHVybiAkcmVzb3VyY2UoJy9hcGkvZXZlbnQvOmlkL3BhcnRpY2lwYW50LzpwaWQnLCB7IGlkOiAnQF9pZCd9LCB7XG4gICAgICAgICAgICAndXBkYXRlJyA6IHsgbWV0aG9kIDogJ1BVVCcgfVxuICAgICAgICB9KTtcbiAgICB9KVxuICAgIC5mYWN0b3J5KCdDb21tZW50JywgZnVuY3Rpb24oJHJlc291cmNlKXtcbiAgICAgICAgcmV0dXJuICRyZXNvdXJjZSgnL2FwaS9ldmVudC86aWQvY29tbWVudC86Y2lkJywgeyBpZCA6ICdAX2lkJyB9LCB7XG4gICAgICAgICAgICAndXBkYXRlJyA6IHsgbWV0aG9kIDogJ1BVVCcgfVxuICAgICAgICB9KVxuICAgIH0pXG4gICAgLmZhY3RvcnkoJ1RpdGxlJywgZnVuY3Rpb24oKXtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNldCA6IGZ1bmN0aW9uKHRpdGxlKXtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC50aXRsZSA9IHRpdGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4iLCJhbmd1bGFyLm1vZHVsZShcInJhbGxseVwiKS5ydW4oW1wiJHRlbXBsYXRlQ2FjaGVcIiwgZnVuY3Rpb24oJHRlbXBsYXRlQ2FjaGUpIHskdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvYWJvdXQuaHRtbFwiLFwiPGRpdiBzdHlsZT1cXFwibWF4LXdpZHRoOjYwMHB4XFxcIj5cXG4gICAgPGgxPldoYXQgaXMgUmFsbGx5PzwvaDE+XFxuICAgIDxkaXYgY2xhc3M9XFxcInJsLXBhZ2UtZGVzY1xcXCI+UmFsbGx5IGlzIGEgY29sbGFib3JhdGl2ZSBzY2hlZHVsaW5nIHNlcnZpY2UgdGhhdCBtYWtlcyBkZWNpZGluZyBvbiBhIGRhdGUgZmFzdCBhbmQgZWFzeS48L2Rpdj5cXG4gICAgPGgyPkhpLCBJXFwnbSBMdWtlITwvaDI+XFxuICAgIDxwPlxcbiAgICAgICAgSSBjcmVhdGVkIFJhbGxseSBhcyBzaWRlIHByb2plY3QgdG8gaGVscCBtZSBsZWFybiBzb21lIG5ldyB0ZWNobm9sb2dpZXMuIEkgZGVjaWRlZCB0byBwdWJsaXNoIGl0IGJlY2F1c2UgSSB0aG91Z2h0IG90aGVyIHBlb3BsZSBtaWdodCBmaW5kIGl0IHVzZWZ1bC4gUmFsbGx5IGlzIGEgY29tcGxldGVseSBmcmVlIHNlcnZpY2UuIEluIGZhY3QgaXQgaXMgZXZlbiBvcGVuIHNvdXJjZS4gWW91IGNhbiBsb29rIGF0IHRoZSBsYXRlc3Qgc291cmNlIGNvZGUgb24gR2l0aHViLlxcbiAgICA8L3A+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2NvbmZpcm1tb2RhbC5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJybC1tb2RhbC1vdmVybGF5XFxcIiBuZy1jbGljaz1cXFwibW9kYWwuY2FuY2VsKClcXFwiPjwvZGl2PlxcblxcbjxkaXYgY2xhc3M9XFxcInJsLW1vZGFsXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwicmwtbW9kYWwtdGl0bGVcXFwiPnt7bW9kYWwudGl0bGV9fTwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJybC1tb2RhbC1tZXNzYWdlXFxcIj5cXG4gICAgICAgIHt7bW9kYWwubWVzc2FnZX19XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJybC1tb2RhbC1hY3Rpb25zXFxcIj5cXG4gICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1jbGljaz1cXFwibW9kYWwuY29uZmlybSgpXFxcIiBuZy1zaG93PVxcXCJtb2RhbC5jb25maXJtXFxcIiBjbGFzcz1cXFwiYnRuXFxcIiBuZy1jbGFzcz1cXFwie2RhbmdlciA6IG1vZGFsLmlzRGVzdHJ1Y3RpdmV9XFxcIj57e21vZGFsLmNvbmZpcm1UZXh0fX08L2J1dHRvbj5cXG4gICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1jbGljaz1cXFwibW9kYWwuY2FuY2VsKClcXFwiICBjbGFzcz1cXFwiYnRuXFxcIj57e21vZGFsLmNhbmNlbFRleHR9fTwvYnV0dG9uPlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZWRpdGV2ZW50Lmh0bWxcIixcIjxkaXYgbmctc2hvdz1cXFwiZXZlbnQuX2lkXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYm94XFxcIj5cXG5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC10aXRsZVxcXCI+RWRpdCBFdmVudDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiYm94LWRlc2NyaXB0aW9uXFxcIj5cXG4gICAgICAgICAgICBZb3UgY2FuIG1ha2VzIGNoYW5nZXMgdG8geW91ciBleGlzdGluZyBldmVudCBieSBjaGFuZ2luZyB0aGUgZmllbGRzIGluIHRoZSBmb3JtIGJlbG93LlxcbiAgICAgICAgPC9kaXY+XFxuXFxuICAgICAgICA8Zm9ybSBub3ZhbGlkYXRlIG5hbWU9XFxcImZvcm1cXFwiIG5nLXN1Ym1pdD1cXFwic3VibWl0KClcXFwiPlxcblxcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVxcXCJib3gtc2VjdGlvblxcXCIgdXNlci1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuICAgICAgICAgICAgPC9zZWN0aW9uPlxcblxcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVxcXCJib3gtc2VjdGlvblxcXCIgZXZlbnQtZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIGRhdGUtZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cXG5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIHNldHRpbmdzLWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICA8L3NlY3Rpb24+XFxuXFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiYm94LWNvbnRyb2xzIGJveC1ib3R0b20tc3RpY2t5XFxcIj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJzdWJtaXRcXFwiIG5nLXNob3c9XFxcImRpZENoYW5nZSgpXFxcIiBjbGFzcz1cXFwiYnRuIGJ0bi1wcmltYXJ5XFxcIiBuZy1jbGFzcz1cXFwie2Rpc2FibGVkIDogIWRpZENoYW5nZSgpfVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICBTYXZlIENoYW5nZXNcXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1jbGljaz1cXFwidW5kb0NoYW5nZXMoKVxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmctc2hvdz1cXFwiZGlkQ2hhbmdlKClcXFwiPlVuZG8gQ2hhbmdlczwvYnV0dG9uPlxcbiAgICAgICAgICAgICAgICA8YSBocmVmPVxcXCIve3tldmVudC5faWR9fVxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmctaGlkZT1cXFwiZGlkQ2hhbmdlKClcXFwiPkRvbmU8L2E+XFxuICAgICAgICAgICAgPC9kaXY+XFxuXFxuICAgICAgICA8L2Zvcm0+XFxuXFxuICAgIDwvZGl2PlxcblxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9ldmVudC5odG1sXCIsXCI8ZGl2IG5nLXNob3c9XFxcImV2ZW50Ll9pZCAmJiAhZXZlbnQuaXNEZWxldGVkXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYm94IFxcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJldmVudC1oZWFkZXJcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImF2YXRhclxcXCI+XFxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2V2ZW50aWNvbi5wbmdcXFwiIHdpZHRoPVxcXCIzMlxcXCIgLz5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkZXRhaWxzXFxcIj5cXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAge3tldmVudC50aXRsZX19XFxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwidGl0bGUtbGFiZWwgZGFuZ2VyXFxcIiBuZy1zaG93PVxcXCJldmVudC5pc0Nsb3NlZFxcXCI+UG9sbCBDbG9zZWQ8L3NwYW4+XFxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwidGl0bGUtbGFiZWwgc3VjY2Vzc1xcXCIgbmctaGlkZT1cXFwiZXZlbnQuaXNDbG9zZWRcXFwiPlBvbGwgT3Blbjwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInN1YnRpdGxlXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIENyZWF0ZWQgYnkgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZXZlbnQuY3JlYXRvci5lbWFpbH19XFxcIj57e2V2ZW50LmNyZWF0b3IubmFtZX19PC9hPiAmYnVsbDsge3tldmVudC5jcmVhdGVkIHwgZWxhcHNlZH19XFxuICAgICAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImFjdGlvbnNcXFwiPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVxcXCJidG5cXFwiIG5nLWNsaWNrPVxcXCJlZGl0RXZlbnQoKVxcXCI+RWRpdCBFdmVudDwvYnV0dG9uPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJib3gtc2lkZS1zdGlja3kgZXZlbnQtZGVzY3JpcHRpb25cXFwiIG5nLXNob3c9XFxcImV2ZW50LmRlc2NyaXB0aW9uXFxcIj57e2V2ZW50LmRlc2NyaXB0aW9ufX08L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1ib3R0b20tc3RpY2t5IGV2ZW50LWxvY2F0aW9uXFxcIiBuZy1zaG93PVxcXCJldmVudC5sb2NhdGlvblxcXCI+XFxuICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvbG9jYXRpb24ucG5nXFxcIiB3aWR0aD1cXFwiMThcXFwiIC8+PGEgaHJlZj1cXFwiaHR0cDovL2dvb2dsZS5jb20vbWFwcz9xPXt7ZXZlbnQubG9jYXRpb259fVxcXCIgdGFyZ2V0PVxcXCJfYmxhbmtcXFwiPnt7ZXZlbnQubG9jYXRpb259fTwvYT5cXG4gICAgICAgIDwvZGl2PlxcblxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYm94IGJveC14LXNjcm9sbFxcXCI+XFxuICAgICAgICA8ZGl2IHBvbGwgZXZlbnQ9XFxcImV2ZW50XFxcIiBjbGFzcz1cXFwicG9sbFxcXCI+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuXFxuICAgIDxkaXYgY2xhc3M9XFxcImJveFxcXCIgbmctaGlkZT1cXFwiZXZlbnQuY29tbWVudHMubGVuZ3RoID09IDAgJiYgZXZlbnQuaXNDbG9zZWRcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiYm94LXRpdGxlXFxcIj5cXG4gICAgICAgICAgICBEaXNjdXNzaW9uXFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1kZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICAgICAgWW91IGNhbiBkaXNjdXNzIHRoZSBldmVudCB3aXRoIHlvdXIgZnJpZW5kcyBieSBsZWF2aW5nIGEgY29tbWVudCBiZWxvdy5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBkaXNjdXNzaW9uIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2hvbWUuaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwicGFnZS1wbGFjZWhvbGRlclxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImltYWdlXFxcIj5cXG4gICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL21hcmtfbGFyZ2UucG5nXFxcIiB3aWR0aD1cXFwiNjdcXFwiIC8+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJ0aXRsZVxcXCI+XFxuICAgICAgICBTY2hlZHVsZSBhbiBFdmVudFxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiY29udGVudFxcXCI+XFxuICAgICAgICBXYW50IHRvIGhvc3QgYW4gZXZlbnQgYnV0IGNhbuKAmXQgZGVjaWRlIG9uIGEgZGF0ZT8gQ2xpY2sgb24gdGhlIGJ1dHRvbiBiZWxvdyB0byBzdGFydCFcXG4gICAgPC9kaXY+XFxuICAgIDxidXR0b24gbmctY2xpY2s9XFxcIm5ld0V2ZW50KClcXFwiIGNsYXNzPVxcXCJidG5cXFwiPlNjaGVkdWxlIE5ldyBFdmVudDwvYnV0dG9uPlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9uZXdldmVudC5odG1sXCIsXCI8ZGl2IG5nLWhpZGU9XFxcImV2ZW50VXJsXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYm94XFxcIiBuZy1jbGFzcz1cXFwie1xcJ2FuaW1hdGVkIHNoYWtlXFwnOiBmb3JtLiRzdWJtaXR0ZWQgJiYgZm9ybS4kaW52YWxpZCB9XFxcIj5cXG5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC10aXRsZVxcXCI+U2NoZWR1bGUgYSBOZXcgRXZlbnQ8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1kZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICAgICAgRmlsbCBpbiB0aGUgZm9ybSBiZWxvdyB0byBjcmVhdGUgeW91ciBldmVudCBhbmQgc2hhcmUgaXQgd2l0aCB5b3VyIGZyaWVuZHMgYW5kIGNvbGxlYWd1ZXMuXFxuICAgICAgICA8L2Rpdj5cXG5cXG4gICAgICAgIDxmb3JtIG5vdmFsaWRhdGUgYXV0b2NvbXBsZXRlPVxcXCJvZmZcXFwiIG5hbWU9XFxcImZvcm1cXFwiIG5nLXN1Ym1pdD1cXFwic3VibWl0KClcXFwiPlxcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVxcXCJib3gtc2VjdGlvblxcXCIgdXNlci1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuICAgICAgICAgICAgPC9zZWN0aW9uPlxcblxcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVxcXCJib3gtc2VjdGlvblxcXCIgZXZlbnQtZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cXG5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIGRhdGUtZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cXG5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIHBhcnRpY2lwYW50cy1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuICAgICAgICAgICAgPC9zZWN0aW9uPlxcblxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1jb250cm9scyBib3gtYm90dG9tLXN0aWNreVxcXCI+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwic3VibWl0XFxcIiBjbGFzcz1cXFwiYnRuIGJ0bi1wcmltYXJ5XFxcIj5DcmVhdGUgRXZlbnQ8L2J1dHRvbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG5cXG4gICAgICAgIDwvZm9ybT5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBuZy1zaG93PVxcXCJldmVudFVybFxcXCIgY2xhc3M9XFxcImJveFxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImJveC1tZXNzYWdlXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJtYWluLWltYWdlXFxcIj5cXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvc3VjY2Vzc19sYXJnZS5wbmdcXFwiIHdpZHRoPVxcXCIxMDBcXFwiIC8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcInRpdGxlXFxcIj5FdmVudCBDcmVhdGVkPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImNvbnRlbnRcXFwiPlxcbiAgICAgICAgWW91ciBldmVudCBoYXMgYmVlbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseSEgWW91IHNob3VsZCByZWNlaXZlIGFuIGVtYWlsIHNob3J0bHkgd2l0aCBpbnN0cnVjdGlvbnMgdG8gdmVyaWZ5IHlvdXIgZW1haWwgYWRkcmVzcy5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcIm1pbmktZGl2aWRlclxcXCI+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwXFxcIj5cXG4gICAgICAgIDxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sXFxcIiBkaXNhYmxlZD1cXFwidHJ1ZVxcXCIgdmFsdWU9XFxcInt7ZXZlbnRVcmx9fVxcXCIgLz5cXG4gICAgICAgIDxhIGhyZWY9XFxcInt7ZXZlbnRVcmx9fVxcXCIgY2xhc3M9XFxcImJ0biBmb3JtLWJ0blxcXCI+R088L2E+XFxuICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvbm90Zm91bmQuaHRtbFwiLFwiPGgxPkVycm9yIDQwNDwvaDE+XFxuPGgyPk5vdCBGb3VuZDwvaDI+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL25vdGlmaWNhdGlvbi5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJub3RpZmljYXRpb24ge3tub3RpZmljYXRpb24udHlwZX19XFxcIiBuZy1jbGljaz1cXFwibm90aWZpY2F0aW9uLmNsb3NlKClcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJ0aXRsZVxcXCI+XFxuICAgICAgICB7e25vdGlmaWNhdGlvbi50aXRsZX19XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJtZXNzYWdlXFxcIj5cXG4gICAgICAgIHt7bm90aWZpY2F0aW9uLm1lc3NhZ2V9fVxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9kaXNjdXNzaW9uLmh0bWxcIixcIjx1bCBjbGFzcz1cXFwiY29tbWVudC10aHJlYWRcXFwiIG5nLXNob3c9XFxcImV2ZW50LmNvbW1lbnRzLmxlbmd0aFxcXCI+XFxuICAgIDxsaSBuZy1yZXBlYXQ9XFxcImNvbW1lbnQgaW4gZXZlbnQuY29tbWVudHNcXFwiIGNsYXNzPVxcXCJjb21tZW50XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImF2YXRhci1zZWN0aW9uXFxcIj5cXG4gICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9hdmF0YXIucG5nXFxcIiAvPlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjb21tZW50LXNlY3Rpb25cXFwiPlxcbiAgICAgICAgICAgIDxhIGhyZWY9XFxcIiNcXFwiIGNsYXNzPVxcXCJjb21tZW50LWRlbGV0ZVxcXCIgbmctY2xpY2s9XFxcImRlbGV0ZUNvbW1lbnQoY29tbWVudClcXFwiPiZ0aW1lczs8L2E+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwibWV0YVxcXCI+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJuYW1lXFxcIj57e2NvbW1lbnQuYXV0aG9yLm5hbWV9fTwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcInRpbWVcXFwiPnt7Y29tbWVudC5jcmVhdGVkIHwgZWxhcHNlZH19PC9zcGFuPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNvbnRlbnRcXFwiPnt7Y29tbWVudC5jb250ZW50fX08L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2xpPlxcbjwvdWw+XFxuPGZvcm0gbm92YWxpZGF0ZSBuZy1zdWJtaXQ9XFxcInBvc3RDb21tZW50KClcXFwiIG5hbWU9XFxcImNvbW1lbnRGb3JtXFxcIiBjbGFzcz1cXFwiY29tbWVudC1mb3JtXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiYXZhdGFyLXNlY3Rpb25cXFwiPlxcbiAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvYXZhdGFyLnBuZ1xcXCIgLz5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImlucHV0LXNlY3Rpb24gZm9ybS1ncm91cFxcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjb250ZW50LXNlY3Rpb25cXFwiPlxcbiAgICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cXFwiZm9ybS1jb250cm9sXFxcIiByZXF1aXJlZCBuZy1tb2RlbD1cXFwiY29tbWVudC5jb250ZW50XFxcIiBwbGFjZWhvbGRlcj1cXFwiV3JpdGUgYSBjb21tZW50Li4uXFxcIj48L3RleHRhcmVhPlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJuYW1lLXNlY3Rpb25cXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm5hbWUtY29udGFpbmVyXFxcIj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XFxcInRleHRcXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2xcXFwiIHJlcXVpcmVkIHBsYWNlaG9sZGVyPVxcXCJZb3VyIE5hbWVcXFwiIG5nLW1vZGVsPVxcXCJjb21tZW50LmF1dGhvci5uYW1lXFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcInN1Ym1pdFxcXCIgY2xhc3M9XFxcImJ0blxcXCI+UG9zdCBDb21tZW50PC9idXR0b24+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJmb3JtLWVycm9yXFxcIiBuZy1zaG93PVxcXCJjb21tZW50Rm9ybS4kc3VibWl0dGVkICYmIGNvbW1lbnRGb3JtLiRlcnJvclxcXCI+XFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9lcnJvci5wbmdcXFwiIHdpZHRoPVxcXCIxNFxcXCIgLz4gTWFrZSBzdXJlIHlvdSBmaWxsIGluIGFsbCB0aGUgZmllbGRzLlxcbiAgICAgICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9mb3JtPlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9kaXJlY3RpdmVzL3BvbGwuaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwicG9sbC1oZWFkZXJcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJoZWFkZXIgcGFydGljaXBhbnRzLWhlYWRlclxcXCI+XFxuICAgICAgICB7e2V2ZW50LnBhcnRpY2lwYW50cy5sZW5ndGh9fSBwYXJ0aWNpcGFudHNcXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImhlYWRlciBkYXRlLWhlYWRlclxcXCIgbmctcmVwZWF0PVxcXCJkYXRlIGluIGV2ZW50LmRhdGVzXFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImRhdGljb25cXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRvd1xcXCI+XFxuICAgICAgICAgICAgICAgIHt7ZGF0ZSB8IGRhdGU6IFxcJ0VFRVxcJ319XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGF5XFxcIj5cXG4gICAgICAgICAgICAgICAge3tkYXRlIHwgZGF0ZTogXFwnZFxcJ319XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwibW9udGhcXFwiPlxcbiAgICAgICAgICAgICAgICB7e2RhdGUgfCBkYXRlIDogXFwnTU1NXFwnfX1cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiY291bnRcXFwiIG5nLXNob3c9XFxcInNlbGVjdGVkRGF0ZSgkaW5kZXgpXFxcIiBuZy1jbGFzcz17dG9wOmlzVG9wRGF0ZSgkaW5kZXgpfT57e3NlbGVjdGVkRGF0ZSgkaW5kZXgpfX08L3NwYW4+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImhlYWRlciBhY3Rpb25zLWhlYWRlclxcXCI+XFxuXFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcInBvbGwtYm9keVxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInBvbGwtZW50cnlcXFwiIG5nLXJlcGVhdD1cXFwicGFydGljaXBhbnQgaW4gZXZlbnQucGFydGljaXBhbnRzXFxcIj5cXG4gICAgICAgIDxmb3JtIG5vdmFsaWRhdGUgbmctc3VibWl0PVxcXCJ1cGRhdGUocGFydGljaXBhbnQpOyBlZGl0TW9kZSA9IGZhbHNlXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIG5hbWUtY2VsbFxcXCI+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJhdmF0YXIgc3R5bGUte3skaW5kZXggKyAxfX1cXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvdXNlci5wbmdcXFwiIHdpZHRoPVxcXCIxMVxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgcmVxdWlyZWQgYXV0b2NvbXBsZXRlPVxcXCJvZmZcXFwiIHR5cGU9XFxcInRleHRcXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2xcXFwiIG5nLW1vZGVsPVxcXCJwYXJ0aWNpcGFudC5uYW1lXFxcIiBuZy1zaG93PVxcXCJlZGl0TW9kZVxcXCIgdmFsdWU9XFxcInBhcnRpY2lwYW50Lm5hbWVcXFwiLz5cXG4gICAgICAgICAgICAgICAgPHNwYW4gbmctaGlkZT1cXFwiZWRpdE1vZGVcXFwiIGNsYXNzPVxcXCJuYW1lIGVkaXRhYmxlXFxcIiBuZy1jbGljaz1cXFwiZWRpdE1vZGUgPSB0cnVlICYmICFldmVudC5pc0Nsb3NlZDsgZWRpdChwYXJ0aWNpcGFudClcXFwiPnt7cGFydGljaXBhbnQubmFtZX19PC9zcGFuPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNlbGwgdm90ZS1jZWxsXFxcIiBuZy1yZXBlYXQ9XFxcImRhdGUgaW4gZXZlbnQuZGF0ZXNcXFwiPlxcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy90aWNrQDJ4LnBuZ1xcXCIgIHdpZHRoPVxcXCIxNlxcXCIgbmctaGlkZT1cXFwiZWRpdE1vZGVcXFwiIG5nLWlmPVxcXCJwYXJ0aWNpcGFudC5kYXRlc1skaW5kZXhdXFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9ub3BlQDJ4LnBuZ1xcXCIgd2lkdGg9XFxcIjhcXFwiIG5nLWhpZGU9XFxcImVkaXRNb2RlXFxcIiBuZy1pZj1cXFwiIXBhcnRpY2lwYW50LmRhdGVzWyRpbmRleF1cXFwiIC8+XFxuICAgICAgICAgICAgICAgIDxpbnB1dCBuZy1tb2RlbD1cXFwicGFydGljaXBhbnQuZGF0ZXNbJGluZGV4XVxcXCIgbmctc2hvdz1cXFwiZWRpdE1vZGVcXFwiIG5nLWZhbHNlLXZhbHVlPVxcXCJmYWxzZVxcXCIgdHlwZT1cXFwiY2hlY2tib3hcXFwiIC8+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm92ZXJsYXlcXFwiIG5nLXNob3c9XFxcImVkaXRNb2RlXFxcIiBuZy1jbGljaz1cXFwicGFydGljaXBhbnQuZGF0ZXNbJGluZGV4XSA9ICFwYXJ0aWNpcGFudC5kYXRlc1skaW5kZXhdXFxcIj48L2Rpdj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIGFjdGlvbi1jZWxsXFxcIiBuZy1oaWRlPVxcXCJldmVudC5pc0Nsb3NlZFxcXCI+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1oaWRlPVxcXCJlZGl0TW9kZVxcXCIgbmctY2xpY2s9XFxcImVkaXRNb2RlID0gdHJ1ZTsgZWRpdChwYXJ0aWNpcGFudClcXFwiIGNsYXNzPVxcXCJidG4gaG92ZXJcXFwiPkVkaXQ8L2J1dHRvbj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJidXR0b25cXFwiIG5nLWhpZGU9XFxcImVkaXRNb2RlXFxcIiBuZy1jbGljaz1cXFwiZGVsZXRlKHBhcnRpY2lwYW50KVxcXCIgY2xhc3M9XFxcImJ0biBkYW5nZXIgaG92ZXJcXFwiPkRlbGV0ZTwvYnV0dG9uPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcInN1Ym1pdFxcXCIgbmctc2hvdz1cXFwiZWRpdE1vZGVcXFwiIGNsYXNzPVxcXCJidG5cXFwiPlNhdmU8L2J1dHRvbj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJidXR0b25cXFwiIG5nLXNob3c9XFxcImVkaXRNb2RlXFxcIiBuZy1jbGljaz1cXFwiZWRpdE1vZGUgPSBmYWxzZTsgY2FuY2VsKCRpbmRleClcXFwiIGNsYXNzPVxcXCJidG5cXFwiPkNhbmNlbDwvYnV0dG9uPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9mb3JtPlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwicG9sbC1leGFtcGxlXFxcIiBuZy1zaG93PVxcXCJldmVudC5wYXJ0aWNpcGFudHMubGVuZ3RoID09IDBcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwicG9sbC1lbnRyeVxcXCIgbmctcmVwZWF0PVxcXCJleGFtcGxlIGluIGV2ZW50LmV4YW1wbGVzXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIG5hbWUtY2VsbFxcXCI+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJhdmF0YXIgc3R5bGUte3skaW5kZXggKyAxfX1cXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvdXNlci5wbmdcXFwiIHdpZHRoPVxcXCIxMVxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwibmFtZVxcXCI+e3tleGFtcGxlLm5hbWV9fTwvc3Bhbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIHZvdGUtY2VsbFxcXCIgbmctcmVwZWF0PVxcXCJkYXRlIGluIGV2ZW50LmRhdGVzXFxcIj5cXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvdGlja0AyeC5wbmdcXFwiICB3aWR0aD1cXFwiMTZcXFwiIG5nLWlmPVxcXCJleGFtcGxlLmRhdGVzWyRpbmRleF1cXFwiIC8+XFxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL25vcGVAMngucG5nXFxcIiB3aWR0aD1cXFwiOFxcXCIgbmctaWY9XFxcIiFleGFtcGxlLmRhdGVzWyRpbmRleF1cXFwiIC8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCBhY3Rpb24tY2VsbFxcXCI+XFxuXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcIm92ZXJsYXlcXFwiPlxcblxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IG5nLWhpZGU9XFxcImV2ZW50LmlzQ2xvc2VkXFxcIiBjbGFzcz1cXFwicG9sbC1lbnRyeSBoaWdobGlnaHRcXFwiPlxcbiAgICAgICAgPGZvcm0gbm92YWxpZGF0ZSBuYW1lPVxcXCJmb3JtbmV3XFxcIiBuZy1zdWJtaXQ9XFxcInNhdmUoKVxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCBuYW1lLWNlbGxcXFwiPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiYXZhdGFyIHN0eWxlLXt7cGFydGljaXBhbnQuc3R5bGV9fVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy91c2VyLnBuZ1xcXCIgd2lkdGg9XFxcIjExXFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgICAgIDxpbnB1dCBhdXRvY29tcGxldGU9XFxcIm9mZlxcXCIgbmFtZT1cXFwidXNlcm5hbWVcXFwiIHR5cGU9XFxcInRleHRcXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2xcXFwiIHBsYWNlaG9sZGVyPVxcXCJZb3VyIG5hbWUuLi5cXFwiIG5nLW1vZGVsPVxcXCJwYXJ0aWNpcGFudC5uYW1lXFxcIiByZXF1aXJlZCB2YWx1ZT1cXFwicGFydGljaXBhbnQubmFtZVxcXCIvPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNlbGwgdm90ZS1jZWxsXFxcIiBuZy1yZXBlYXQ9XFxcImRhdGUgaW4gZXZlbnQuZGF0ZXNcXFwiPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgbmctbW9kZWw9XFxcInBhcnRpY2lwYW50LmRhdGVzWyRpbmRleF1cXFwiIG5nLWZhbHNlLXZhbHVlPVxcXCJmYWxzZVxcXCIgdHlwZT1cXFwiY2hlY2tib3hcXFwiIC8+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm92ZXJsYXlcXFwiIG5nLWNsaWNrPVxcXCJwYXJ0aWNpcGFudC5kYXRlc1skaW5kZXhdID0gIXBhcnRpY2lwYW50LmRhdGVzWyRpbmRleF1cXFwiPjwvZGl2PlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNlbGwgYWN0aW9uLWNlbGxcXFwiPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcInN1Ym1pdFxcXCIgbmctY2xhc3M9XFxcInsgXFwnYW5pbWF0ZWQgc2hha2VcXCcgOiBmb3JtbmV3LiRzdWJtaXR0ZWQgJiYgZm9ybW5ldy4kaW52YWxpZCAgfVxcXCIgY2xhc3M9XFxcImJ0blxcXCI+U2F2ZTwvYnV0dG9uPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9mb3JtPlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9ldmVudEZvcm0vZGF0ZUZvcm0uaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1kZXRhaWxzXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic2VjdGlvbi10aXRsZVxcXCI+Q2hvb3NlIERhdGVzPC9kaXY+XFxuICAgIDx1bCBjbGFzcz1cXFwiZGF0aWNvbi1saXN0XFxcIj5cXG4gICAgICAgIDxsaSBuZy1yZXBlYXQ9XFxcImRhdGUgaW4gZXZlbnQuZGF0ZXNcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRhdGljb25cXFwiPlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkb3dcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAge3tkYXRlIHwgZGF0ZTogXFwnRUVFXFwnfX1cXG4gICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRheVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICB7e2RhdGUgfCBkYXRlOiBcXCdkXFwnfX1cXG4gICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm1vbnRoXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIHt7ZGF0ZSB8IGRhdGUgOiBcXCdNTU1cXCd9fVxcbiAgICAgICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImRlbGV0ZVxcXCIgbmctY2xpY2s9XFxcImRhdGVwaWNrZXIudW5zZXREYXRlKGRhdGUpXFxcIj48L3NwYW4+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2xpPlxcbiAgICA8L3VsPlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tbWFpblxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tcm93XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXBcXFwiPlxcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XFxcImVtYWlsXFxcIj5DYWxlbmRhcjwvbGFiZWw+XFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImZvcm0tZXJyb3JcXFwiIG5nLXNob3c9XFxcIihmb3JtLmRhdGVwaWNrZXIuJGRpcnR5IHx8IGZvcm0uJHN1Ym1pdHRlZCkgJiYgZm9ybS5kYXRlcGlja2VyLiRlcnJvci5yZXF1aXJlZFxcXCI+XFxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2Vycm9yLnBuZ1xcXCIgd2lkdGg9XFxcIjE0XFxcIiAvPiBZb3UgbmVlZCB0byBzZWxlY3QgYSBmZXcgZGF0ZXNcXG4gICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgPGRpdiBkYXRlcGlja2VyIHJlcXVpcmVkIG5hbWU9XFxcImRhdGVwaWNrZXJcXFwiIGNvbnRyb2w9XFxcImRhdGVwaWNrZXJcXFwiIG5nLW1vZGVsPVxcXCJldmVudC5kYXRlc1xcXCI+XFxuXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2RpcmVjdGl2ZXMvZXZlbnRGb3JtL2V2ZW50Rm9ybS5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLWRldGFpbHNcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLXRpdGxlXFxcIj5FdmVudCBEZXRhaWxzPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1tYWluXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1yb3dcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1jb2xcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXBcXFwiPlxcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVxcXCJ0aXRsZVxcXCI+VGl0bGU8L2xhYmVsPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZm9ybS1lcnJvclxcXCIgbmctc2hvdz1cXFwiKGZvcm0udGl0bGUuJHRvdWNoZWQgfHwgZm9ybS4kc3VibWl0dGVkKSAmJiBlcnJvcnMudGl0bGVcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvZXJyb3IucG5nXFxcIiB3aWR0aD1cXFwiMTRcXFwiIC8+IHt7ZXJyb3JzLnRpdGxlfX1cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XFxcInRpdGxlXFxcIiBuYW1lPVxcXCJ0aXRsZVxcXCIgbmctbWF4bGVuZ3RoPVxcXCIzMFxcXCIgcmVxdWlyZWQgbmctbW9kZWw9XFxcImV2ZW50LnRpdGxlXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBwbGFjZWhvbGRlcj1cXFwiTW9udGhseSBNZWV0dXAuLi5cXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2wgZXh0ZW5kXFxcIi8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tY29sXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwIG9wdGlvbmFsXFxcIj5cXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cXFwibG9jYXRpb25cXFwiPkxvY2F0aW9uPC9sYWJlbD5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImZvcm0tZXJyb3JcXFwiIG5nLXNob3c9XFxcIihmb3JtLmxvY2F0aW9uLiR0b3VjaGVkIHx8IGZvcm0uJHN1Ym1pdHRlZCkgJiYgZXJyb3JzLmxvY2F0aW9uXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2Vycm9yLnBuZ1xcXCIgd2lkdGg9XFxcIjE0XFxcIiAvPiB7e2Vycm9ycy5sb2NhdGlvbn19XFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IGlkPVxcXCJsb2NhdGlvblxcXCIgbmFtZT1cXFwibG9jYXRpb25cXFwiIG5nLW1vZGVsPVxcXCJldmVudC5sb2NhdGlvblxcXCIgbmctbWF4bGVuZ3RoPVxcXCI1MFxcXCIgdHlwZT1cXFwidGV4dFxcXCIgcGxhY2Vob2xkZXI9XFxcIlJpY2tcXCdzIENhZmUuLi5cXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2wgZXh0ZW5kXFxcIi8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tcm93XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXAgb3B0aW9uYWxcXFwiPlxcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XFxcImRlc2NyaXB0aW9uXFxcIiA+RGVzY3JpcHRpb248L2xhYmVsPlxcbiAgICAgICAgICAgIDx0ZXh0YXJlYSBpZD1cXFwiZGVzY3JpcHRpb25cXFwiIG5hbWU9XFxcImRlc2NyaXB0aW9uXFxcIiBuZy1tb2RlbD1cXFwiZXZlbnQuZGVzY3JpcHRpb25cXFwiIHBsYWNlaG9sZGVyPVxcXCJFbnRlciBEZXNjcmlwdGlvbi4uLlxcXCIgY2xhc3M9XFxcImZvcm0tY29udHJvbCBleHRlbmRcXFwiPjwvdGV4dGFyZWE+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2RpcmVjdGl2ZXMvZXZlbnRGb3JtL3BhcnRpY2lwYW50c0Zvcm0uaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1kZXRhaWxzXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic2VjdGlvbi10aXRsZVxcXCI+SW52aXRlIFBhcnRpY2lwYW50czwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tbWFpblxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tcm93XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXAgb3B0aW9uYWxcXFwiPlxcbiAgICAgICAgICAgIDxsYWJlbD5QYXJ0aWNpcGFudFxcJ3MgRW1haWxzPC9sYWJlbD5cXG4gICAgICAgICAgICAgICAgPHRhZ3MtaW5wdXQgbWF4LWxlbmd0aD1cXFwiNTBcXFwiIGFsbG93ZWQtdGFncy1wYXR0ZXJuPVxcXCJ7e2VtYWlsUmVnZXh9fVxcXCIgZGlzcGxheS1wcm9wZXJ0eT1cXFwiZW1haWxcXFwiIG5nLW1vZGVsPVxcXCJldmVudC5lbWFpbHNcXFwiIHBsYWNlaG9sZGVyPVxcXCJBZGQgYW4gRW1haWxcXFwiIHR5cGU9XFxcImVtYWlsXFxcIiBhdXRvY29tcGxldGU9XFxcIm9mZlxcXCI+PC90YWdzLWlucHV0PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2Plxcbjwvc2VjdGlvbj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9ldmVudEZvcm0vc2V0dGluZ3NGb3JtLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tZGV0YWlsc1xcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInNlY3Rpb24tdGl0bGVcXFwiPlNldHRpbmdzPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1tYWluXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtZGV0YWlsc1xcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAgICAgICAgICBQb2xsIFN0YXR1c1xcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRlc2NyaXB0aW9uXFxcIj5cXG4gICAgICAgICAgICAgICAgTGV0IHBlb3BsZSB2b3RlIG9uIHRoZSBwb2xsLlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2hcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaC12YWx1ZVxcXCI+XFxuICAgICAgICAgICAgICAgIHt7ZXZlbnQuaXNDbG9zZWQgPyBcXCdDbG9zZWRcXCcgOiBcXCdPcGVuXFwnIH19XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBzd2l0Y2gtdG9nZ2xlIG5nLW1vZGVsPVxcXCJldmVudC5pc0Nsb3NlZFxcXCIgaW52ZXJ0PlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtcm93XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaC1kZXRhaWxzXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJ0aXRsZVxcXCI+XFxuICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvbnNcXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICAgICAgICAgIFNlbmQgZW1haWwgbm90aWZpY2F0aW9ucyB0byB0aGUgY3JlYXRvciBvZiB0aGlzIGV2ZW50LlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2hcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaC12YWx1ZVxcXCI+XFxuICAgICAgICAgICAgICAgIHt7ZXZlbnQuY3JlYXRvci5hbGxvd05vdGlmaWNhdGlvbnMgPyBcXCdFbmFibGVkXFwnIDogXFwnRGlzYWJsZWRcXCcgfX1cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IHN3aXRjaC10b2dnbGUgbmctbW9kZWw9XFxcImV2ZW50LmNyZWF0b3IuYWxsb3dOb3RpZmljYXRpb25zXFxcIj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtZGV0YWlsc1xcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAgICAgICAgICBEZWxldGUgRXZlbnRcXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICAgICAgICAgIE9uY2UgeW91IGRlbGV0ZSBhbiBldmVudCBpdCB3aWxsIG5vIGxvbmdlciBiZSBhY2Nlc3NpYmxlLlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2hcXFwiPlxcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1jbGljaz1cXFwiZGVsZXRlRXZlbnQoKVxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmctY2xhc3M9XFxcIntkYW5nZXIgOiAhZGVsZXRlUmVxdWVzdFNlbnQsIGRpc2FibGVkIDogZGVsZXRlUmVxdWVzdFNlbnR9XFxcIj57e2RlbGV0ZVJlcXVlc3RTZW50ID8gXFwnUmVxdWVzdCBTZW50XFwnIDogXFwnRGVsZXRlIEV2ZW50XFwnIH19PC9idXR0b24+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuPC9zZWN0aW9uPlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9kaXJlY3RpdmVzL2V2ZW50Rm9ybS91c2VyRm9ybS5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLWRldGFpbHNcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLXRpdGxlXFxcIj5Zb3VyIERldGFpbHM8L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLW1haW5cXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWNvbFxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1ncm91cFxcXCI+XFxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XFxcIm5hbWVcXFwiPk5hbWU8L2xhYmVsPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZm9ybS1lcnJvclxcXCIgbmctc2hvdz1cXFwiKGZvcm0ubmFtZS4kdG91Y2hlZCB8fCBmb3JtLiRzdWJtaXR0ZWQpICYmIGVycm9ycy5uYW1lXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2Vycm9yLnBuZ1xcXCIgd2lkdGg9XFxcIjE0XFxcIiAvPiB7e2Vycm9ycy5uYW1lfX1cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XFxcIm5hbWVcXFwiIG5hbWU9XFxcIm5hbWVcXFwiIG5nLW1heGxlbmd0aD1cXFwiMzBcXFwiIHJlcXVpcmVkIG5nLW1vZGVsPVxcXCJldmVudC5jcmVhdG9yLm5hbWVcXFwiIHR5cGU9XFxcInRleHRcXFwiIHBsYWNlaG9sZGVyPVxcXCJKb2huIERvZS4uLlxcXCIgY2xhc3M9XFxcImZvcm0tY29udHJvbCBleHRlbmRcXFwiLz5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1jb2xcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXBcXFwiPlxcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVxcXCJlbWFpbFxcXCI+RW1haWw8L2xhYmVsPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZm9ybS1lcnJvclxcXCIgbmctc2hvdz1cXFwiKGZvcm0uZW1haWwuJHRvdWNoZWQgfHwgZm9ybS4kc3VibWl0dGVkKSAmJiBlcnJvcnMuZW1haWxcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvZXJyb3IucG5nXFxcIiB3aWR0aD1cXFwiMTRcXFwiIC8+IHt7ZXJyb3JzLmVtYWlsfX1cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cXFwiZW1haWxcXFwiIGlkPVxcXCJlbWFpbFxcXCIgbmFtZT1cXFwiZW1haWxcXFwiIG5nLXBhdHRlcm49XFxcImVtYWlsUmVnZXhcXFwiIHJlcXVpcmVkIG5nLW1vZGVsPVxcXCJldmVudC5jcmVhdG9yLmVtYWlsXFxcIiBwbGFjZWhvbGRlcj1cXFwiam9obi5kb2VAZW1haWwuY29tLi4uXFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sIGV4dGVuZFxcXCIvPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTt9XSk7IiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignQWJvdXRDdHJsJywgZnVuY3Rpb24oVGl0bGUpe1xuICAgIFRpdGxlLnNldCgnQWJvdXQgUmFsbGx5Jylcbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignQWNjb3VudEN0cmwnLCBmdW5jdGlvbigkc2NvcGUsIENvbmZpcm1Nb2RhbCl7XG4gICAgJHNjb3BlLnNob3dOb3RpY2UgPSBmdW5jdGlvbigpe1xuICAgICAgICBcbiAgICB9XG59KVxuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignRGVsZXRpb25DdHJsJywgZnVuY3Rpb24oJHN0YXRlLCBOb3RpZmljYXRpb24sIEV2ZW50KXtcbiAgICBFdmVudC5kZXN0cm95KHtpZCA6ICRzdGF0ZS5wYXJhbXMuaWQsIGNvZGUgOiRzdGF0ZS5wYXJhbXMuY29kZX0sIGZ1bmN0aW9uKCl7XG4gICAgICAgIHZhciBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgIHRpdGxlIDogJ0V2ZW50IGRlbGV0ZWQnLFxuICAgICAgICAgICAgbWVzc2FnZSA6ICdUaGlzIGV2ZW50IGhhcyBiZWVuIGRlbGV0ZWQnLFxuICAgICAgICAgICAgdHlwZSA6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIHRpbWVvdXQgOiA1MDAwXG4gICAgICAgIH0pO1xuICAgIH0sIGZ1bmN0aW9uKGUpe1xuICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICB0aXRsZSA6ICdEZWxldGlvbiBGYWlsZWQnLFxuICAgICAgICAgICAgbWVzc2FnZSA6ICdUaGUgZXZlbnQgY291bGQgbm90IGJlIGRlbGV0ZWQuIE1ha2Ugc3VyZSB0aGF0IGl0IGV4aXN0cyBhbmQgdGhhdCB0aGUgdXJsIGlzIGNvcnJlY3QnLFxuICAgICAgICAgICAgdHlwZSA6ICdlcnJvcidcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgJHN0YXRlLmdvKCdldmVudCcsIHsgaWQgOiAkc3RhdGUucGFyYW1zLmlkIH0pO1xufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdFZGl0RXZlbnRDdHJsJywgZnVuY3Rpb24oJHNjb3BlLCAkaHR0cCwgJHN0YXRlLCAkdGltZW91dCwgRXZlbnQsIENvbmZpcm1Nb2RhbCwgTm90aWZpY2F0aW9uLCBUaXRsZSl7XG4gICAgdmFyIGlkID0gJHN0YXRlLnBhcmFtcy5pZFxuICAgICRzY29wZS5ldmVudCA9IEV2ZW50LmdldCh7aWQ6aWR9LCBmdW5jdGlvbihkYXRhKXtcbiAgICAgICAgVGl0bGUuc2V0KFwiRWRpdDogXCIgKyAkc2NvcGUuZXZlbnQudGl0bGUpO1xuICAgICAgICAkc2NvcGUubWFzdGVyID0gYW5ndWxhci5jb3B5KCRzY29wZS5ldmVudCk7XG4gICAgfSwgZnVuY3Rpb24oZSl7XG4gICAgICAgICRzdGF0ZS5nbygnbm90Zm91bmQnKTtcbiAgICB9KTtcbiAgICAkc2NvcGUudW5kb0NoYW5nZXMgPSBmdW5jdGlvbigpe1xuICAgICAgICAkc2NvcGUuZXZlbnQgPSBhbmd1bGFyLmNvcHkoJHNjb3BlLm1hc3Rlcik7XG4gICAgfVxuICAgICRzY29wZS5kaWRDaGFuZ2UgPSBmdW5jdGlvbigpe1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoJHNjb3BlLm1hc3RlcikgIT0gSlNPTi5zdHJpbmdpZnkoJHNjb3BlLmV2ZW50KTtcbiAgICB9XG4gICAgJHNjb3BlLmRpZENoYW5nZURhdGVzID0gZnVuY3Rpb24oKXtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KCRzY29wZS5tYXN0ZXIuZGF0ZXMpICE9IEpTT04uc3RyaW5naWZ5KCRzY29wZS5ldmVudC5kYXRlcyk7XG4gICAgfVxuICAgICRzY29wZS5zdWJtaXQgPSBmdW5jdGlvbigpe1xuICAgICAgICBpZiAoJHNjb3BlLmZvcm0uJHZhbGlkKXtcbiAgICAgICAgICAgIGlmICgkc2NvcGUuZGlkQ2hhbmdlRGF0ZXMoKSApe1xuICAgICAgICAgICAgICAgIHZhciBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSA6ICdIb2xkIHVwIScsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnQ2hhbmdpbmcgdGhlIGRhdGVzIHdpbGwgcmVzZXQgYWxsIGVudHJpZXMgYnkgdGhlIHBhcnRpY2lwYW50cy4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRvIHRoYXQ/JyxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlybVRleHQgOiAnWWVzLCBJXFwnbSBzdXJlJyxcbiAgICAgICAgICAgICAgICAgICAgaXNEZXN0cnVjdGl2ZSA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm0gOiBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmV2ZW50LnBhcnRpY2lwYW50cyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB1cGRhdGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgICAgICB0aXRsZSA6ICdOb3Qgc28gZmFzdCcsXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdNYWtlIHN1cmUgeW91IGZpbGwgaW4gYWxsIHRoZSByZXF1aXJlZCBmaWVsZHMgYW5kIHRyeSBhZ2Fpbi4nLFxuICAgICAgICAgICAgICAgIHR5cGUgOiAnZXJyb3InXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB2YXIgdXBkYXRlID0gZnVuY3Rpb24oKXtcbiAgICAgICAgRXZlbnQudXBkYXRlKHtcbiAgICAgICAgICAgIGlkIDogaWRcbiAgICAgICAgfSwgJHNjb3BlLmV2ZW50LFxuICAgICAgICBmdW5jdGlvbigpe1xuICAgICAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgICAgIHRpdGxlIDogJ0NoYW5nZXMgU2F2ZWQnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnWW91ciBjaGFuZ2VzIGhhdmUgYmVlbiBzYXZlZCBzdWNjZXNzZnVsbHkuJyxcbiAgICAgICAgICAgICAgICB0eXBlIDogJ3N1Y2Nlc3MnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICRzY29wZS5tYXN0ZXIgPSBhbmd1bGFyLmNvcHkoJHNjb3BlLmV2ZW50KTtcbiAgICAgICAgfSk7XG4gICAgfVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdFdmVudEN0cmwnLCBmdW5jdGlvbigkc2NvcGUsICRodHRwLCAkc3RhdGUsIFRpdGxlLCBFdmVudCwgQ29uZmlybU1vZGFsKXtcbiAgICB2YXIgaWQgPSAkc3RhdGUucGFyYW1zLmlkO1xuICAgIC8vIEdldCBFdmVudFxuICAgICRzY29wZS5ldmVudCA9IEV2ZW50LmdldCh7aWQ6aWR9LCBmdW5jdGlvbihkYXRhKXtcbiAgICAgICAgLy8gU2V0IHRoZSBwYWdlIHRpdGxlIHRvIHRoZSBldmVudCB0aXRsZVxuICAgICAgICBUaXRsZS5zZXQoJHNjb3BlLmV2ZW50LnRpdGxlKTtcbiAgICAgICAgLy8gR2VuZXJhdGUgZXZlbnQgdXJsIC0gaS5lLiBodHRwOi8vcmFsbGx5LmNvL2pGOUZfRmRcbiAgICAgICAgJHNjb3BlLmV2ZW50VXJsID0gJHN0YXRlLmhyZWYoJ2V2ZW50Jywge1xuICAgICAgICAgICAgaWQ6ICRzY29wZS5ldmVudC5faWRcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgYWJzb2x1dGUgOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgZXhhbXBsZXNOYW1lcyA9IFsnSm9obiBFeGFtcGxlJywgJ0phbmUgU3BlY2ltZW4nLCdNYXJrIEluc3RhbmNlJywgJ01hcnkgQ2FzZSddO1xuICAgICAgICAkc2NvcGUuZXZlbnQuZXhhbXBsZXMgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleGFtcGxlc05hbWVzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgIHZhciBleGFtcGxlID0geyBuYW1lIDogZXhhbXBsZXNOYW1lc1tpXSB9O1xuICAgICAgICAgICAgZXhhbXBsZS5kYXRlcyA9IFtdO1xuICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCAkc2NvcGUuZXZlbnQuZGF0ZXMubGVuZ3RoOyBqKyspe1xuICAgICAgICAgICAgICAgIHZhciBhbnN3ZXIgPSBNYXRoLnJhbmRvbSgpPC41O1xuICAgICAgICAgICAgICAgIGV4YW1wbGUuZGF0ZXNbal0gPSBhbnN3ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkc2NvcGUuZXZlbnQuZXhhbXBsZXMucHVzaChleGFtcGxlKTtcbiAgICAgICAgfVxuICAgIH0sIGZ1bmN0aW9uKGUpe1xuICAgICAgICAkc3RhdGUuZ28oJ25vdGZvdW5kJyk7XG4gICAgfSk7XG5cbiAgICAkc2NvcGUub3BlbkV2ZW50ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgJHNjb3BlLmV2ZW50LmlzQ2xvc2VkID0gZmFsc2U7XG4gICAgICAgIEV2ZW50LnVwZGF0ZSh7XG4gICAgICAgICAgICBpZCA6IGlkXG4gICAgICAgIH0sICRzY29wZS5ldmVudCxcbiAgICAgICAgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHZhciBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgIHRpdGxlIDogJ0V2ZW50IE9wZW4nLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnUGVvcGxlIGNhbiB2b3RlIGFuZCBjb21tZW50IG9uIHRoaXMgZXZlbnQuJyxcbiAgICAgICAgICAgICAgICBjYW5jZWxUZXh0IDogJ09LJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAkc2NvcGUuY2xvc2VFdmVudCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICRzY29wZS5ldmVudC5pc0Nsb3NlZCA9IHRydWU7XG4gICAgICAgIEV2ZW50LnVwZGF0ZSh7XG4gICAgICAgICAgICBpZCA6IGlkXG4gICAgICAgIH0sICRzY29wZS5ldmVudCxcbiAgICAgICAgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHZhciBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgIHRpdGxlIDogJ0V2ZW50IENsb3NlZCcsXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdQZW9wbGUgY2FuIG5vIGxvbmdlciB2b3RlIG9yIGNvbW1lbnQgb24gdGhpcyBldmVudC4nLFxuICAgICAgICAgICAgICAgIGNhbmNlbFRleHQgOiAnT0snLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgICRzY29wZS5lZGl0RXZlbnQgPSBmdW5jdGlvbigpe1xuICAgICAgICAkc3RhdGUuZ28oJ2VkaXRldmVudCcsIHsgaWQgOiAkc2NvcGUuZXZlbnQuX2lkIH0pO1xuICAgIH1cblxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdIb21lQ3RybCcsIGZ1bmN0aW9uKCRzY29wZSwgJHN0YXRlLCBUaXRsZSl7XG4gICAgVGl0bGUuc2V0KCdSYWxsbHkgLSBDb2xsYWJvcmF0aXZlIFNjaGVkdWxpbmcnKVxuXG4gICAgJHNjb3BlLm5ld0V2ZW50ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgJHN0YXRlLmdvKCduZXdldmVudCcpO1xuICAgIH1cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignTmF2aWdhdGlvbkN0cmwnLCBmdW5jdGlvbigkc2NvcGUsICRsb2NhdGlvbil7XG4gICAgJHNjb3BlLmlzQWN0aXZlID0gZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICBpZiAoJGxvY2F0aW9uLnBhdGgoKSA9PSBwYXRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgfVxufSlcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ05ld0V2ZW50Q3RybCcsIGZ1bmN0aW9uKCRzY29wZSwgJGh0dHAsICRzdGF0ZSwgRXZlbnQsIENvbmZpcm1Nb2RhbCwgTm90aWZpY2F0aW9uKXtcblxuICAgICRzY29wZS50aXRsZSA9IFwiU2NoZWR1bGUgYSBOZXcgRXZlbnRcIjtcbiAgICAkc2NvcGUuZGVzY3JpcHRpb24gPSBcIkZpbGwgaW4gdGhlIGZvcm0gYmVsb3cgdG8gY3JlYXRlIHlvdXIgZXZlbnQgYW5kIHNoYXJlIGl0IHdpdGggeW91ciBmcmllbmRzIGFuZCBjb2xsZWFndWVzLlwiO1xuXG4gICAgJHNjb3BlLnN1Ym1pdCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgIGlmICgkc2NvcGUuZm9ybS4kdmFsaWQpe1xuICAgICAgICAgICAgJGh0dHAucG9zdCgnL2FwaS9ldmVudCcsICRzY29wZS5ldmVudClcbiAgICAgICAgICAgIC5zdWNjZXNzKGZ1bmN0aW9uKGV2ZW50LCBzdGF0dXMsIGhlYWRlcnMsIGNvbmZpZyl7XG4gICAgICAgICAgICAgICAgJHNjb3BlLmV2ZW50ID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgJHNjb3BlLmV2ZW50VXJsID0gJHN0YXRlLmhyZWYoJ2V2ZW50Jywge1xuICAgICAgICAgICAgICAgICAgICBpZDogJHNjb3BlLmV2ZW50Ll9pZFxuICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgYWJzb2x1dGUgOiB0cnVlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmVycm9yKGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgdmFyIG1vZGFsID0gbmV3IENvbmZpcm1Nb2RhbCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlIDogJ1VoIG9oIScsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnVGhlcmUgd2FzIGFuIGVycm9yIGNyZWF0aW5nIHlvdXIgZXZlbnQuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJyxcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dCA6ICdPSydcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgICAgIHRpdGxlIDogJ05vdCBzbyBmYXN0JyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ01ha2Ugc3VyZSB5b3UgZmlsbCBpbiBhbGwgdGhlIHJlcXVpcmVkIGZpZWxkcyBhbmQgdHJ5IGFnYWluLicsXG4gICAgICAgICAgICAgICAgdHlwZSA6ICdlcnJvcidcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJHNjb3BlLmNsZWFyRGF0ZXMgPSBudWxsXG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ1ZlcmlmaWNhdGlvbkN0cmwnLCBmdW5jdGlvbihFdmVudCwgTm90aWZpY2F0aW9uLCAkc3RhdGUpe1xuICAgIEV2ZW50LnZlcmlmeSh7aWQgOiAkc3RhdGUucGFyYW1zLmlkLCBjb2RlIDokc3RhdGUucGFyYW1zLmNvZGV9LCBmdW5jdGlvbigpe1xuICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICB0aXRsZSA6ICdFbWFpbCBWZXJpZmllZCcsXG4gICAgICAgICAgICBtZXNzYWdlIDogJ1lvdXIgZW1haWwgaGFzIGJlZW4gdmVyaWZpZWQuIFlvdSB3aWxsIG5vdyBiZSBhYmxlIHRvIHJlY2VpdmUgZW1haWwgbm90aWZpY2F0aW9ucyBmb3IgdGhpcyBldmVudCcsXG4gICAgICAgICAgICB0eXBlIDogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgdGltZW91dCA6IDUwMDBcbiAgICAgICAgfSk7XG4gICAgfSwgZnVuY3Rpb24oZSl7XG4gICAgICAgIHZhciBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgIHRpdGxlIDogJ1ZlcmlmaWNhdGlvbiBGYWlsZWQnLFxuICAgICAgICAgICAgbWVzc2FnZSA6ICdZb3VyIHZlcmlmaWNhdGlvbiBjb2RlIGhhcyBleHBpcmVkLicsXG4gICAgICAgICAgICB0eXBlIDogJ2Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICAkc3RhdGUuZ28oJ2V2ZW50JywgeyBpZCA6ICRzdGF0ZS5wYXJhbXMuaWQgfSk7XG5cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZGlyZWN0aXZlKCdiYWNrSW1nJywgZnVuY3Rpb24oKXtcbiAgICByZXR1cm4gZnVuY3Rpb24oc2NvcGUsIGVsZW1lbnQsIGF0dHJzKXtcbiAgICAgICAgdmFyIHVybCA9IGF0dHJzLmJhY2tJbWc7XG4gICAgICAgIGVsZW1lbnQuY3NzKHtcbiAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgvaW1hZ2VzLycgKyB1cmwgKycucG5nKSdcbiAgICAgICAgfSk7XG4gICAgfTtcbn0pXG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5kaXJlY3RpdmUoJ2RhdGVwaWNrZXInLCBmdW5jdGlvbigpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlc3RyaWN0IDogJ0EnLFxuICAgICAgICByZXF1aXJlIDogJ25nTW9kZWwnLFxuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIG1vZGVsIDogJz1uZ01vZGVsJyxcbiAgICAgICAgICAgIGNvbnRyb2wgOiAnPSdcbiAgICAgICAgfSxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMsIG5nTW9kZWwpe1xuICAgICAgICAgICAgc2NvcGUubW9kZWwgPSBzY29wZS5tb2RlbCB8fCBbXTtcbiAgICAgICAgICAgIGFuZ3VsYXIuZWxlbWVudChlbCkuZGF0ZXBpY2tlcih7XG4gICAgICAgICAgICAgICAgbXVsdGlkYXRlIDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0b2RheUhpZ2hsaWdodDogdHJ1ZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5vbignY2hhbmdlRGF0ZScsIGZ1bmN0aW9uKGUpe1xuICAgICAgICAgICAgICAgIHZhciBkYXRlcyA9IGUuZGF0ZXM7XG4gICAgICAgICAgICAgICAgZGF0ZXMuc29ydChmdW5jdGlvbihhLCBiKXtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGEuZ2V0VGltZSgpID4gYi5nZXRUaW1lKCkpIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbmdNb2RlbC4kc2V0Vmlld1ZhbHVlKGRhdGVzLCBlKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB2YXIgdXBkYXRlID0gZnVuY3Rpb24obW9kZWxWYWx1ZSwgb2xkVmFsdWUpe1xuICAgICAgICAgICAgICAgIGlmICghbW9kZWxWYWx1ZSB8fCAhb2xkVmFsdWUgfHwgKG1vZGVsVmFsdWUubGVuZ3RoID09IG9sZFZhbHVlLmxlbmd0aCkpIHJldHVybjtcbiAgICAgICAgICAgICAgICB2YXIgZGF0ZXMgPSBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1vZGVsVmFsdWUubGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgICAgICAgICBkYXRlcy5wdXNoKG5ldyBEYXRlKG1vZGVsVmFsdWVbaV0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5ndWxhci5lbGVtZW50KGVsKS5kYXRlcGlja2VyKCdzZXREYXRlcycsIGRhdGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLiR3YXRjaENvbGxlY3Rpb24oJ21vZGVsJywgdXBkYXRlKTtcblxuICAgICAgICAgICAgc2NvcGUuY29udHJvbCA9IHNjb3BlLmNvbnRyb2wgfHwge307XG4gICAgICAgICAgICBzY29wZS5jb250cm9sLnVuc2V0RGF0ZSA9IGZ1bmN0aW9uKGRhdGUpe1xuICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IHNjb3BlLm1vZGVsLmluZGV4T2YoZGF0ZSk7XG4gICAgICAgICAgICAgICAgc2NvcGUubW9kZWwuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbmdNb2RlbC4kdmFsaWRhdG9ycy5yZXF1aXJlZCA9IGZ1bmN0aW9uKG1vZGVsVmFsdWUsIHZpZXdWYWx1ZSl7XG4gICAgICAgICAgICAgICAgaWYgKCFtb2RlbFZhbHVlIHx8IG1vZGVsVmFsdWUubGVuZ3RoID09IDApe1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmRpcmVjdGl2ZSgnZGlzY3Vzc2lvbicsIGZ1bmN0aW9uKCR0aW1lb3V0LCBDb21tZW50LCBDb25maXJtTW9kYWwpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlc3RyaWN0IDogJ0EnLFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9kaXNjdXNzaW9uLmh0bWwnLFxuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgICdldmVudCcgOiAnPSdcbiAgICAgICAgfSxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMpe1xuICAgICAgICAgICAgc2NvcGUuY29tbWVudCA9IHt9O1xuICAgICAgICAgICAgdmFyIHRocmVhZCA9IGFuZ3VsYXIuZWxlbWVudCgnLmNvbW1lbnQtdGhyZWFkJyk7XG4gICAgICAgICAgICAkdGltZW91dChmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIHRocmVhZC5zY3JvbGxUb3AodGhyZWFkLnByb3AoJ3Njcm9sbEhlaWdodCcpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2NvcGUuZGVsZXRlQ29tbWVudCA9IGZ1bmN0aW9uKGNvbW1lbnQpe1xuICAgICAgICAgICAgICAgIHZhciBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSA6ICdBcmUgeW91IHN1cmU/JyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlIHRoaXMgY29tbWVudD8nLFxuICAgICAgICAgICAgICAgICAgICBjb25maXJtVGV4dCA6ICdZZXMgLSBkZWxldGUnLFxuICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0IDogJ05vIC0gbmV2ZXJtaW5kJyxcbiAgICAgICAgICAgICAgICAgICAgaXNEZXN0cnVjdGl2ZSA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm0gOiBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgICAgICAgICAgQ29tbWVudC5yZW1vdmUoeyBpZCA6IHNjb3BlLmV2ZW50Ll9pZCAsIGNpZCA6IGNvbW1lbnQuX2lkIH0sIGZ1bmN0aW9uKGV2ZW50KXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5ldmVudCA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLnBvc3RDb21tZW50ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICBpZiAoc2NvcGUuY29tbWVudEZvcm0uJHZhbGlkKXtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvbW1lbnQgPSBuZXcgQ29tbWVudChzY29wZS5jb21tZW50KTtcbiAgICAgICAgICAgICAgICAgICAgY29tbWVudC4kc2F2ZSh7aWQ6c2NvcGUuZXZlbnQuX2lkfSwgZnVuY3Rpb24oZXZlbnQpe1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuZXZlbnQgPSBldmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmNvbW1lbnQgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHNjb3BlLmNvbW1lbnRGb3JtLiRzZXRQcmlzdGluZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZGlyZWN0aXZlKCdkcm9wZG93bicsIGZ1bmN0aW9uKCRkb2N1bWVudCl7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVzdHJpY3QgOiAnQScsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKXtcbiAgICAgICAgICAgIGVsLmFkZENsYXNzKCdkcm9wZG93bicpO1xuICAgICAgICAgICAgc2NvcGUub3BlbiA9IGZhbHNlO1xuXG4gICAgICAgICAgICB2YXIgY2xpY2tIYW5kbGVyID0gZnVuY3Rpb24oZXZlbnQpe1xuICAgICAgICAgICAgICAgIHZhciBpc0NsaWNrZWRFbGVtZW50Q2hpbGRPZlBvcHVwID0gZWwuZmluZChldmVudC50YXJnZXQpLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICAgICAgaWYgKGlzQ2xpY2tlZEVsZW1lbnRDaGlsZE9mUG9wdXApIHJldHVybjtcbiAgICAgICAgICAgICAgICBzY29wZS50b2dnbGUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2NvcGUudG9nZ2xlID0gZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICBzY29wZS5vcGVuID0gIXNjb3BlLm9wZW47XG4gICAgICAgICAgICAgICAgaWYgKHNjb3BlLm9wZW4pe1xuICAgICAgICAgICAgICAgICAgICBlbC5hZGRDbGFzcygnb3BlbicpO1xuICAgICAgICAgICAgICAgICAgICAkZG9jdW1lbnQuYmluZCgnY2xpY2snLCBjbGlja0hhbmRsZXIpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVsLnJlbW92ZUNsYXNzKCdvcGVuJyk7XG4gICAgICAgICAgICAgICAgICAgICRkb2N1bWVudC51bmJpbmQoJ2NsaWNrJywgY2xpY2tIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLnNlcnZpY2UoJ0Zvcm1IZWxwZXInLCBmdW5jdGlvbigpe1xuICAgIHRoaXMuZW1haWxSZWdleFN0cmluZyA9ICdeKFtcXFxcdy1cXFxcLl0rQChbXFxcXHctXStcXFxcLikrW1xcXFx3LV17Miw0fSk/JCc7XG4gICAgdGhpcy5lbWFpbFJlZ2V4ID0gbmV3IFJlZ0V4cCh0aGlzLmVtYWlsUmVnZXhTdHJpbmcpO1xuICAgIHRoaXMucHJldHR5RXJyb3IgPSBmdW5jdGlvbihlcnJvcnMsIGZpZWxkKXtcbiAgICAgICAgaWYgKGVycm9ycy5yZXF1aXJlZCkgcmV0dXJuIGZpZWxkICsgXCIgaXMgcmVxdWlyZWRcIjtcbiAgICAgICAgaWYgKGVycm9ycy5wYXR0ZXJuKSByZXR1cm4gZmllbGQgKyBcIiBpcyBpbnZhbGlkXCIgO1xuICAgICAgICBpZiAoZXJyb3JzLm1heGxlbmd0aCkgcmV0dXJuIGZpZWxkICsgXCIgaXMgdG9vIGxvbmdcIjtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn0pXG4uZGlyZWN0aXZlKCd1c2VyRm9ybScsIGZ1bmN0aW9uKEZvcm1IZWxwZXIpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgZXZlbnQgOiAnPScsXG4gICAgICAgICAgICBmb3JtIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9kaXJlY3RpdmVzL2V2ZW50Rm9ybS91c2VyRm9ybS5odG1sJyxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMpIHtcbiAgICAgICAgICAgIHNjb3BlLmVycm9ycyA9IHt9O1xuXG4gICAgICAgICAgICBzY29wZS5lbWFpbFJlZ2V4ID0gRm9ybUhlbHBlci5lbWFpbFJlZ2V4O1xuXG4gICAgICAgICAgICBzY29wZS4kd2F0Y2hDb2xsZWN0aW9uKCdmb3JtLm5hbWUuJGVycm9yJyxmdW5jdGlvbihlcnJvcnMpe1xuICAgICAgICAgICAgICAgIHNjb3BlLmVycm9ycy5uYW1lID0gRm9ybUhlbHBlci5wcmV0dHlFcnJvcihlcnJvcnMsIFwiTmFtZVwiKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBzY29wZS4kd2F0Y2hDb2xsZWN0aW9uKCdmb3JtLmVtYWlsLiRlcnJvcicsZnVuY3Rpb24oZXJyb3JzKXtcbiAgICAgICAgICAgICAgICBzY29wZS5lcnJvcnMuZW1haWwgPSBGb3JtSGVscGVyLnByZXR0eUVycm9yKGVycm9ycywgXCJFbWFpbFwiKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufSlcbi5kaXJlY3RpdmUoJ2V2ZW50Rm9ybScsIGZ1bmN0aW9uKEZvcm1IZWxwZXIpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgZXZlbnQgOiAnPScsXG4gICAgICAgICAgICBmb3JtIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9kaXJlY3RpdmVzL2V2ZW50Rm9ybS9ldmVudEZvcm0uaHRtbCcsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKSB7XG4gICAgICAgICAgICBzY29wZS5lcnJvcnMgPSB7fTtcblxuICAgICAgICAgICAgc2NvcGUuJHdhdGNoQ29sbGVjdGlvbignZm9ybS50aXRsZS4kZXJyb3InLGZ1bmN0aW9uKGVycm9ycyl7XG4gICAgICAgICAgICAgICAgc2NvcGUuZXJyb3JzLnRpdGxlID0gRm9ybUhlbHBlci5wcmV0dHlFcnJvcihlcnJvcnMsIFwiVGl0bGVcIik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgc2NvcGUuJHdhdGNoQ29sbGVjdGlvbignZm9ybS5sb2NhdGlvbi4kZXJyb3InLGZ1bmN0aW9uKGVycm9ycyl7XG4gICAgICAgICAgICAgICAgc2NvcGUuZXJyb3JzLmxvY2F0aW9uID0gRm9ybUhlbHBlci5wcmV0dHlFcnJvcihlcnJvcnMsIFwiTG9jYXRpb25cIik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB9XG4gICAgfVxufSlcbi5kaXJlY3RpdmUoJ2RhdGVGb3JtJywgZnVuY3Rpb24oKXtcbiAgICByZXR1cm4ge1xuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIGV2ZW50IDogJz0nLFxuICAgICAgICAgICAgZm9ybSA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9ldmVudEZvcm0vZGF0ZUZvcm0uaHRtbCdcbiAgICB9XG59KVxuLmRpcmVjdGl2ZSgncGFydGljaXBhbnRzRm9ybScsIGZ1bmN0aW9uKEZvcm1IZWxwZXIpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgZXZlbnQgOiAnPScsXG4gICAgICAgICAgICBmb3JtIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9kaXJlY3RpdmVzL2V2ZW50Rm9ybS9wYXJ0aWNpcGFudHNGb3JtLmh0bWwnLFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycyl7XG4gICAgICAgICAgICBzY29wZS5lbWFpbFJlZ2V4ID0gRm9ybUhlbHBlci5lbWFpbFJlZ2V4U3RyaW5nO1xuICAgICAgICB9XG4gICAgfVxufSlcbi5kaXJlY3RpdmUoJ3NldHRpbmdzRm9ybScsIGZ1bmN0aW9uKEV2ZW50LCBDb25maXJtTW9kYWwpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgZXZlbnQgOiAnPScsXG4gICAgICAgICAgICBmb3JtIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9kaXJlY3RpdmVzL2V2ZW50Rm9ybS9zZXR0aW5nc0Zvcm0uaHRtbCcsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKXtcbiAgICAgICAgICAgIHNjb3BlLmRlbGV0ZUV2ZW50ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICBpZiAoc2NvcGUuZGVsZXRlUmVxdWVzdFNlbnQpIHJldHVybjtcbiAgICAgICAgICAgICAgICBFdmVudC5kZWxldGUoeydpZCcgOiBzY29wZS5ldmVudC5faWR9LCBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgICAgICBzY29wZS5kZWxldGVSZXF1ZXN0U2VudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHZhciBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUgOiAnRGVsZXRlIFJlcXVlc3QgU2VudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ0FuIGVtYWlsIGhhcyBiZWVuIHNlbnQgdG8gdGhlIGNyZWF0b3Igb2YgdGhpcyBldmVudCB3aXRoIGluc3RydWN0aW9ucyB0byBkZWxldGUgaXQuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHQgOiAnT0snXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSlcbi5kaXJlY3RpdmUoJ3N3aXRjaFRvZ2dsZScsIGZ1bmN0aW9uKCl7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICBtb2RlbCA6ICc9bmdNb2RlbCdcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWlyZSA6ICduZ01vZGVsJyxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMsIG5nTW9kZWwpIHtcbiAgICAgICAgICAgIGVsLmFkZENsYXNzKCdzd2l0Y2gtdG9nZ2xlJyk7XG4gICAgICAgICAgICB2YXIgc2V0Q2xhc3MgPSBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIGlmIChzY29wZS5tb2RlbCBeIHR5cGVvZihhdHRycy5pbnZlcnQpICE9PSAndW5kZWZpbmVkJyl7XG4gICAgICAgICAgICAgICAgICAgIGVsLmFkZENsYXNzKCdhY3RpdmUnKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBlbC5yZW1vdmVDbGFzcygnYWN0aXZlJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUuJHdhdGNoKCdtb2RlbCcsIHNldENsYXNzKTtcbiAgICAgICAgICAgIGVsLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24oZSl7XG4gICAgICAgICAgICAgICAgc2NvcGUubW9kZWwgPSAhc2NvcGUubW9kZWw7XG4gICAgICAgICAgICAgICAgbmdNb2RlbC4kc2V0Vmlld1ZhbHVlKHNjb3BlLm1vZGVsLCBlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5kaXJlY3RpdmUoJ3BvbGwnLCBmdW5jdGlvbihQYXJ0aWNpcGFudCwgQ29uZmlybU1vZGFsKXtcbiAgICByZXR1cm4ge1xuICAgICAgICByZXN0cmljdCA6ICdBJyxcbiAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2RpcmVjdGl2ZXMvcG9sbC5odG1sJyxcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICAnZXZlbnQnIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKXtcbiAgICAgICAgICAgIHNjb3BlLmRlZmF1bHRzID0gW107XG4gICAgICAgICAgICBzY29wZS5wYXJ0aWNpcGFudCA9IHt9O1xuICAgICAgICAgICAgdmFyIGRhdGVzQ291bnQgPSBbXTtcbiAgICAgICAgICAgIHNjb3BlLmRlbGV0ZSA9IGZ1bmN0aW9uKHBhcnRpY2lwYW50KXtcbiAgICAgICAgICAgICAgICB2YXIgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgOiAnRGVsZXRlICcgKyBwYXJ0aWNpcGFudC5uYW1lICsgJz8nLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgJytwYXJ0aWNpcGFudC5uYW1lKycgZnJvbSB0aGUgcG9sbD8nLFxuICAgICAgICAgICAgICAgICAgICBjb25maXJtVGV4dCA6ICdZZXMgLSBkZWxldGUnLFxuICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0IDogJ05vIC0gbmV2ZXJtaW5kJyxcbiAgICAgICAgICAgICAgICAgICAgaXNEZXN0cnVjdGl2ZSA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm0gOiBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgICAgICAgICAgUGFydGljaXBhbnQucmVtb3ZlKHsgaWQgOiBzY29wZS5ldmVudC5faWQgLCBwaWQgOiBwYXJ0aWNpcGFudC5faWQgfSwgZnVuY3Rpb24oZXZlbnQpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmV2ZW50ID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUuaXNUb3BEYXRlID0gZnVuY3Rpb24oaW5kZXgpe1xuICAgICAgICAgICAgICAgIHZhciBjb3VudCA9IGRhdGVzQ291bnRbaW5kZXhdO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0ZXNDb3VudC5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRlc0NvdW50W2ldID4gY291bnQpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS5zZWxlY3RlZERhdGUgPSBmdW5jdGlvbihpbmRleCl7XG4gICAgICAgICAgICAgICAgZGF0ZXNDb3VudFtpbmRleF0gPSAwO1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2NvcGUuZXZlbnQucGFydGljaXBhbnRzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNjb3BlLmV2ZW50LnBhcnRpY2lwYW50c1tpXS5kYXRlc1tpbmRleF0pIGRhdGVzQ291bnRbaW5kZXhdKys7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlc0NvdW50W2luZGV4XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLnVwZGF0ZSA9IGZ1bmN0aW9uKHBhcnRpY2lwYW50KXtcbiAgICAgICAgICAgICAgICBQYXJ0aWNpcGFudC51cGRhdGUoe1xuICAgICAgICAgICAgICAgICAgICBpZCA6IHNjb3BlLmV2ZW50Ll9pZCxcbiAgICAgICAgICAgICAgICAgICAgcGlkIDogcGFydGljaXBhbnQuX2lkXG4gICAgICAgICAgICAgICAgfSwgcGFydGljaXBhbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUuZWRpdCA9IGZ1bmN0aW9uKHBhcnRpY2lwYW50KXtcbiAgICAgICAgICAgICAgICBzY29wZS5kZWZhdWx0c1tzY29wZS5ldmVudC5wYXJ0aWNpcGFudHMuaW5kZXhPZihwYXJ0aWNpcGFudCldID0gYW5ndWxhci5jb3B5KHBhcnRpY2lwYW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLmNhbmNlbCA9IGZ1bmN0aW9uKGluZGV4KXtcbiAgICAgICAgICAgICAgICBzY29wZS5ldmVudC5wYXJ0aWNpcGFudHNbaW5kZXhdID0gc2NvcGUuZGVmYXVsdHNbaW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUuc2F2ZSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgaWYgKHNjb3BlLmZvcm1uZXcuJHZhbGlkKXtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHBhcnRpY2lwYW50ID0gbmV3IFBhcnRpY2lwYW50KHNjb3BlLnBhcnRpY2lwYW50KTtcbiAgICAgICAgICAgICAgICAgICAgcGFydGljaXBhbnQuJHNhdmUoe2lkOnNjb3BlLmV2ZW50Ll9pZH0sIGZ1bmN0aW9uKGV2ZW50KXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmV2ZW50ID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5wYXJ0aWNpcGFudCA9IHt9O1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc2NvcGUuZm9ybW5ldy4kc2V0UHJpc3RpbmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmZpbHRlcignZWxhcHNlZCcsIGZ1bmN0aW9uKCRmaWx0ZXIpe1xuICAgIHJldHVybiBmdW5jdGlvbihkYXRlKXtcbiAgICAgICAgaWYgKCFkYXRlKSByZXR1cm47XG4gICAgICAgIHZhciB0aW1lID0gRGF0ZS5wYXJzZShkYXRlKSxcbiAgICAgICAgICAgIHRpbWVOb3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSxcbiAgICAgICAgICAgIGRpZmZlcmVuY2UgPSB0aW1lTm93IC0gdGltZSxcbiAgICAgICAgICAgIHNlY29uZHMgPSBNYXRoLmZsb29yKGRpZmZlcmVuY2UgLyAxMDAwKSxcbiAgICAgICAgICAgIG1pbnV0ZXMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MCksXG4gICAgICAgICAgICBob3VycyA9IE1hdGguZmxvb3IobWludXRlcyAvIDYwKSxcbiAgICAgICAgICAgIGRheXMgPSBNYXRoLmZsb29yKGhvdXJzIC8gMjQpO1xuICAgICAgICBpZiAoZGF5cyA+IDMwKSB7XG4gICAgICAgICAgICByZXR1cm4gJ29uICcgKyAkZmlsdGVyKCdkYXRlJykoZGF0ZSwgJ01NTU0gZCcpO1xuICAgICAgICB9IGVsc2UgaWYgKGRheXMgPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF5cyArIFwiIGRheXMgYWdvXCI7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF5cyA9PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gXCIxIGRheSBhZ29cIlxuICAgICAgICB9IGVsc2UgaWYgKGhvdXJzID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuIGhvdXJzICsgXCIgaG91cnMgYWdvXCI7XG4gICAgICAgIH0gZWxzZSBpZiAoaG91cnMgPT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYW4gaG91ciBhZ29cIjtcbiAgICAgICAgfSBlbHNlIGlmIChtaW51dGVzID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG1pbnV0ZXMgKyBcIiBtaW51dGVzIGFnb1wiO1xuICAgICAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPT0gMSl7XG4gICAgICAgICAgICByZXR1cm4gXCJhIG1pbnV0ZSBhZ29cIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBcImEgZmV3IHNlY29uZHMgYWdvXCI7XG4gICAgICAgIH1cbiAgICB9XG59KVxuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZmFjdG9yeSgnQ29uZmlybU1vZGFsJywgZnVuY3Rpb24oYnRmTW9kYWwpe1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uKGNvbmZpZyl7XG4gICAgICAgIHZhciBtb2RhbDtcbiAgICAgICAgbW9kYWwgPSBidGZNb2RhbCh7XG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvY29uZmlybW1vZGFsLmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlckFzIDogJ21vZGFsJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIHRoaXMudGl0bGUgPSBjb25maWcudGl0bGVcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm0gPSAoY29uZmlnLmNvbmZpcm0pID8gZnVuY3Rpb24oKXtjb25maWcuY29uZmlybSgpOyBtb2RhbC5kZWFjdGl2YXRlKCl9IDogZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jYW5jZWwgPSBtb2RhbC5kZWFjdGl2YXRlO1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlybVRleHQgPSBjb25maWcuY29uZmlybVRleHQgfHwgJ0NvbmZpcm0nO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FuY2VsVGV4dCA9IGNvbmZpZy5jYW5jZWxUZXh0IHx8ICdDYW5jZWwnO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEZXN0cnVjdGl2ZSA9IGNvbmZpZy5pc0Rlc3RydWN0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbW9kYWwuYWN0aXZhdGUoKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuZGVzdHJveSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBtb2RhbC5kZWFjdGl2YXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmZhY3RvcnkoJ05vdGlmaWNhdGlvbicsIGZ1bmN0aW9uKCR0aW1lb3V0LCBidGZNb2RhbCl7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGNvbmZpZyl7XG4gICAgICAgIHZhciBtb2RhbDtcbiAgICAgICAgbW9kYWwgPSBidGZNb2RhbCh7XG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uLmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlckFzIDogJ25vdGlmaWNhdGlvbicsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICB0aGlzLnRpdGxlID0gY29uZmlnLnRpdGxlXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSA9IG1vZGFsLmRlYWN0aXZhdGU7XG4gICAgICAgICAgICAgICAgdGhpcy50eXBlID0gY29uZmlnLnR5cGU7XG4gICAgICAgICAgICAgICAgdmFyIHRpbWVvdXQgPSBjb25maWcudGltZW91dCB8fCA1MDAwO1xuICAgICAgICAgICAgICAgICR0aW1lb3V0KG1vZGFsLmRlYWN0aXZhdGUsIHRpbWVvdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbW9kYWwuYWN0aXZhdGUoKTtcblxuICAgICAgICB0aGlzLmRlc3Ryb3kgPSBmdW5jdGlvbigpe1xuICAgICAgICAgICAgbW9kYWwuZGVhY3RpdmF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxufSk7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= \ No newline at end of file +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.html",controller:"NewEventCtrl"}).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
\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
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/discussion.html",'
    \n
  • \n
    \n \n
    \n
    \n ×\n
    \n {{comment.author.name}}\n {{comment.created | elapsed}}\n
    \n
    {{comment.content}}
    \n
    \n
  • \n
\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 {{date | date: \'EEE\'}}\n
\n
\n {{date | date: \'d\'}}\n
\n
\n {{date | 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/eventForm/dateForm.html",'
\n
Choose Dates
\n
    \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
\n \n \n You need to select a few dates\n \n
\n\n
\n
\n
\n
\n'),e.put("templates/directives/eventForm/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/directives/eventForm/participantsForm.html",'
\n
Invite Participants
\n
\n
\n
\n
\n \n \n
\n
\n
\n\n'),e.put("templates/directives/eventForm/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/directives/eventForm/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')}]),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:"="},link:function(e,t,n,i){e.model=e.model||[],angular.element(t).datepicker({multidate:!0,todayHighlight:!0}).on("changeDate",function(e){var t=e.dates;t.sort(function(e,t){return e.getTime()>t.getTime()?!0:!1}),i.$setViewValue(t,e)});var a=function(e,n){if(e&&n&&e.length!=n.length){for(var i=[],a=0;a0;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/directives/eventForm/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/directives/eventForm/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/directives/eventForm/dateForm.html"}}).directive("participantsForm",["FormHelper",function(e){return{scope:{event:"=",form:"="},templateUrl:"templates/directives/eventForm/participantsForm.html",link:function(t){t.emailRegex=e.emailRegexString}}}]).directive("settingsForm",["Event","ConfirmModal",function(e,t){return{scope:{event:"=",form:"="},templateUrl:"templates/directives/eventForm/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)})}}}),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":s>1?s+" hours ago":1==s?"an hour ago":l>1?l+" minutes ago":1==l?"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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uanMiLCJ0ZW1wbGF0ZXMuanMiLCJkaXJlY3RpdmVzL2JhY2tJbWcuZGlyZWN0aXZlLmpzIiwiZGlyZWN0aXZlcy9kYXRlcGlja2VyLmRpcmVjdGl2ZS5qcyIsImRpcmVjdGl2ZXMvZGlzY3Vzc2lvbi5kaXJlY3RpdmUuanMiLCJkaXJlY3RpdmVzL2Ryb3Bkb3duLmRpcmVjdGl2ZS5qcyIsImRpcmVjdGl2ZXMvZm9ybS5kaXJlY3RpdmUuanMiLCJkaXJlY3RpdmVzL3BvbGwuZGlyZWN0aXZlLmpzIiwiY29udHJvbGxlcnMvYWJvdXQuY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL2FjY291bnQuY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL2RlbGV0aW9uLmNvbnRyb2xsZXIuanMiLCJjb250cm9sbGVycy9lZGl0ZXZlbnQuY29udHJvbGxlci5qcyIsImNvbnRyb2xsZXJzL2V2ZW50LmNvbnRyb2xsZXIuanMiLCJjb250cm9sbGVycy9ob21lLmNvbnRyb2xsZXIuanMiLCJjb250cm9sbGVycy9uYXZpZ2F0aW9uLmNvbnRyb2xsZXIuanMiLCJjb250cm9sbGVycy9uZXdldmVudC5jb250cm9sbGVyLmpzIiwiY29udHJvbGxlcnMvdmVyaWZpY2F0aW9uLmNvbnRyb2xsZXIuanMiLCJmaWx0ZXJzL2VsYXBzZWQuZmlsdGVyLmpzIiwic2VydmljZXMvbW9kYWwuc2VydmljZS5qcyIsInNlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFFBQUEsT0FBQSxVQUFBLFlBQUEsYUFBQSxlQUFBLGNBQUEsY0FDQSxRQUFBLGlCQUFBLHFCQUFBLG9CQUFBLFNBQUEsRUFBQSxFQUFBLEdBQ0EsRUFBQSxXQUFBLEdBQ0EsRUFBQSxVQUFBLGFBQ0EsRUFDQSxNQUFBLFNBQ0EsSUFBQSxJQUNBLFlBQUEsc0JBQ0EsV0FBQSxhQUVBLE1BQUEsWUFDQSxJQUFBLE9BQ0EsWUFBQSwwQkFDQSxXQUFBLGlCQUVBLE1BQUEsU0FDQSxJQUFBLFNBQ0EsWUFBQSx1QkFDQSxXQUFBLGNBRUEsTUFBQSxZQUNBLElBQUEsWUFDQSxZQUFBLDRCQUVBLE1BQUEsU0FDQSxJQUFBLE9BQ0EsWUFBQSx1QkFDQSxXQUFBLGNBRUEsTUFBQSxhQUNBLElBQUEsWUFDQSxZQUFBLDJCQUNBLFdBQUEsa0JBRUEsTUFBQSxlQUNBLElBQUEseUJBQ0EsV0FBQSxxQkFFQSxNQUFBLGVBQ0EsSUFBQSx5QkFDQSxXQUFBLG9CQUdBLFFBQUEsU0FBQSxZQUFBLFNBQUEsR0FDQSxNQUFBLEdBQUEsa0JBQUEsR0FBQSxTQUNBLFFBQUEsT0FBQSxPQUNBLFFBQUEsT0FBQSxNQUFBLElBQUEsNkJBQ0EsU0FBQSxPQUFBLFNBQUEsSUFBQSxrQ0FHQSxRQUFBLGVBQUEsWUFBQSxTQUFBLEdBQ0EsTUFBQSxHQUFBLG1DQUFBLEdBQUEsU0FDQSxRQUFBLE9BQUEsWUFHQSxRQUFBLFdBQUEsWUFBQSxTQUFBLEdBQ0EsTUFBQSxHQUFBLCtCQUFBLEdBQUEsU0FDQSxRQUFBLE9BQUEsWUFHQSxRQUFBLFFBQUEsV0FDQSxPQUNBLElBQUEsU0FBQSxHQUNBLFNBQUEsTUFBQSxNQy9EQSxRQUFBLE9BQUEsVUFBQSxLQUFBLGlCQUFBLFNBQUEsR0FBQSxFQUFBLElBQUEsdUJBQUEsOGdCQUNBLEVBQUEsSUFBQSw4QkFBQSxtaUJBQ0EsRUFBQSxJQUFBLDJCQUFBLGl2Q0FDQSxFQUFBLElBQUEsdUJBQUEsdXZEQUNBLEVBQUEsSUFBQSxzQkFBQSwyWkFDQSxFQUFBLElBQUEsMEJBQUEsaXNEQUNBLEVBQUEsSUFBQSwwQkFBQSw0Q0FDQSxFQUFBLElBQUEsOEJBQUEsNE9BQ0EsRUFBQSxJQUFBLHVDQUFBLGtrREFDQSxFQUFBLElBQUEsaUNBQUEsNGlKQUNBLEVBQUEsSUFBQSwrQ0FBQSxzcUNBQ0EsRUFBQSxJQUFBLGdEQUFBLGtrREFDQSxFQUFBLElBQUEsdURBQUEsdWZBQ0EsRUFBQSxJQUFBLG1EQUFBLG96REFDQSxFQUFBLElBQUEsK0NBQUEsMHZDQ2RBLFFBQUEsT0FBQSxVQUNBLFVBQUEsVUFBQSxXQUNBLE1BQUEsVUFBQSxFQUFBLEVBQUEsR0FDQSxHQUFBLEdBQUEsRUFBQSxPQUNBLEdBQUEsS0FDQSxtQkFBQSxlQUFBLEVBQUEsYUNMQSxRQUFBLE9BQUEsVUFDQSxVQUFBLGFBQUEsV0FDQSxPQUNBLFNBQUEsSUFDQSxRQUFBLFVBQ0EsT0FDQSxNQUFBLFdBQ0EsUUFBQSxLQUVBLEtBQUEsU0FBQSxFQUFBLEVBQUEsRUFBQSxHQUNBLEVBQUEsTUFBQSxFQUFBLFVBQ0EsUUFBQSxRQUFBLEdBQUEsWUFDQSxXQUFBLEVBQ0EsZ0JBQUEsSUFFQSxHQUFBLGFBQUEsU0FBQSxHQUNBLEdBQUEsR0FBQSxFQUFBLEtBQ0EsR0FBQSxLQUFBLFNBQUEsRUFBQSxHQUNBLE1BQUEsR0FBQSxVQUFBLEVBQUEsV0FBQSxHQUNBLElBRUEsRUFBQSxjQUFBLEVBQUEsSUFHQSxJQUFBLEdBQUEsU0FBQSxFQUFBLEdBQ0EsR0FBQSxHQUFBLEdBQUEsRUFBQSxRQUFBLEVBQUEsT0FBQSxDQUVBLElBQUEsR0FEQSxNQUNBLEVBQUEsRUFBQSxFQUFBLEVBQUEsT0FBQSxJQUNBLEVBQUEsS0FBQSxHQUFBLE1BQUEsRUFBQSxJQUVBLFNBQUEsUUFBQSxHQUFBLFdBQUEsV0FBQSxJQUVBLEdBQUEsaUJBQUEsUUFBQSxHQUVBLEVBQUEsUUFBQSxFQUFBLFlBQ0EsRUFBQSxRQUFBLFVBQUEsU0FBQSxHQUNBLEdBQUEsR0FBQSxFQUFBLE1BQUEsUUFBQSxFQUNBLEdBQUEsTUFBQSxPQUFBLEVBQUEsSUFHQSxFQUFBLFlBQUEsU0FBQSxTQUFBLEdBQ0EsTUFBQSxJQUFBLEdBQUEsRUFBQSxRQUdBLEdBRkEsT0MxQ0EsUUFBQSxPQUFBLFVBQ0EsVUFBQSxjQUFBLFdBQUEsVUFBQSxlQUFBLFNBQUEsRUFBQSxFQUFBLEdBQ0EsT0FDQSxTQUFBLElBQ0EsWUFBQSx1Q0FDQSxPQUNBLE1BQUEsS0FFQSxLQUFBLFNBQUEsR0FDQSxFQUFBLFVBQ0EsSUFBQSxHQUFBLFFBQUEsUUFBQSxrQkFDQSxHQUFBLFdBQ0EsRUFBQSxVQUFBLEVBQUEsS0FBQSxtQkFFQSxFQUFBLGNBQUEsU0FBQSxHQUNBLEdBQUEsSUFDQSxNQUFBLGdCQUNBLFFBQUEsZ0RBQ0EsWUFBQSxlQUNBLFdBQUEsaUJBQ0EsZUFBQSxFQUNBLFFBQUEsV0FDQSxFQUFBLFFBQUEsR0FBQSxFQUFBLE1BQUEsSUFBQSxJQUFBLEVBQUEsS0FBQSxTQUFBLEdBQ0EsRUFBQSxNQUFBLFFBS0EsRUFBQSxZQUFBLFdBQ0EsR0FBQSxFQUFBLFlBQUEsT0FBQSxDQUNBLEdBQUEsR0FBQSxHQUFBLEdBQUEsRUFBQSxRQUNBLEdBQUEsT0FBQSxHQUFBLEVBQUEsTUFBQSxLQUFBLFNBQUEsR0FDQSxFQUFBLE1BQUEsRUFDQSxFQUFBLGFBRUEsRUFBQSxZQUFBLHNCQ25DQSxRQUFBLE9BQUEsVUFDQSxVQUFBLFlBQUEsWUFBQSxTQUFBLEdBQ0EsT0FDQSxTQUFBLElBQ0EsS0FBQSxTQUFBLEVBQUEsR0FDQSxFQUFBLFNBQUEsWUFDQSxFQUFBLE1BQUEsQ0FFQSxJQUFBLEdBQUEsU0FBQSxHQUNBLEdBQUEsR0FBQSxFQUFBLEtBQUEsRUFBQSxRQUFBLE9BQUEsQ0FDQSxJQUNBLEVBQUEsU0FHQSxHQUFBLE9BQUEsV0FDQSxFQUFBLE1BQUEsRUFBQSxLQUNBLEVBQUEsTUFDQSxFQUFBLFNBQUEsUUFDQSxFQUFBLEtBQUEsUUFBQSxLQUVBLEVBQUEsWUFBQSxRQUNBLEVBQUEsT0FBQSxRQUFBLFVDckJBLFFBQUEsT0FBQSxVQUNBLFFBQUEsYUFBQSxXQUNBLEtBQUEsaUJBQUEsMkNBQ0EsS0FBQSxXQUFBLEdBQUEsUUFBQSxLQUFBLGtCQUNBLEtBQUEsWUFBQSxTQUFBLEVBQUEsR0FDQSxNQUFBLEdBQUEsU0FBQSxFQUFBLGVBQ0EsRUFBQSxRQUFBLEVBQUEsY0FDQSxFQUFBLFVBQUEsRUFBQSxnQkFDQSxLQUdBLFVBQUEsWUFBQSxhQUFBLFNBQUEsR0FDQSxPQUNBLE9BQ0EsTUFBQSxJQUNBLEtBQUEsS0FFQSxZQUFBLCtDQUNBLEtBQUEsU0FBQSxHQUNBLEVBQUEsVUFFQSxFQUFBLFdBQUEsRUFBQSxXQUVBLEVBQUEsaUJBQUEsbUJBQUEsU0FBQSxHQUNBLEVBQUEsT0FBQSxLQUFBLEVBQUEsWUFBQSxFQUFBLFVBR0EsRUFBQSxpQkFBQSxvQkFBQSxTQUFBLEdBQ0EsRUFBQSxPQUFBLE1BQUEsRUFBQSxZQUFBLEVBQUEsZ0JBS0EsVUFBQSxhQUFBLGFBQUEsU0FBQSxHQUNBLE9BQ0EsT0FDQSxNQUFBLElBQ0EsS0FBQSxLQUVBLFlBQUEsZ0RBQ0EsS0FBQSxTQUFBLEdBQ0EsRUFBQSxVQUVBLEVBQUEsaUJBQUEsb0JBQUEsU0FBQSxHQUNBLEVBQUEsT0FBQSxNQUFBLEVBQUEsWUFBQSxFQUFBLFdBR0EsRUFBQSxpQkFBQSx1QkFBQSxTQUFBLEdBQ0EsRUFBQSxPQUFBLFNBQUEsRUFBQSxZQUFBLEVBQUEsbUJBTUEsVUFBQSxXQUFBLFdBQ0EsT0FDQSxPQUNBLE1BQUEsSUFDQSxLQUFBLEtBRUEsWUFBQSxrREFHQSxVQUFBLG9CQUFBLGFBQUEsU0FBQSxHQUNBLE9BQ0EsT0FDQSxNQUFBLElBQ0EsS0FBQSxLQUVBLFlBQUEsdURBQ0EsS0FBQSxTQUFBLEdBQ0EsRUFBQSxXQUFBLEVBQUEsc0JBSUEsVUFBQSxnQkFBQSxRQUFBLGVBQUEsU0FBQSxFQUFBLEdBQ0EsT0FDQSxPQUNBLE1BQUEsSUFDQSxLQUFBLEtBRUEsWUFBQSxtREFDQSxLQUFBLFNBQUEsR0FDQSxFQUFBLFlBQUEsV0FDQSxFQUFBLG1CQUNBLEVBQUEsUUFBQSxHQUFBLEVBQUEsTUFBQSxLQUFBLFdBQ0EsRUFBQSxtQkFBQSxDQUNBLElBQUEsSUFDQSxNQUFBLHNCQUNBLFFBQUEsc0ZBQ0EsV0FBQSxlQU9BLFVBQUEsZUFBQSxXQUNBLE9BQ0EsT0FDQSxNQUFBLFlBRUEsUUFBQSxVQUNBLEtBQUEsU0FBQSxFQUFBLEVBQUEsRUFBQSxHQUNBLEVBQUEsU0FBQSxnQkFDQSxJQUFBLEdBQUEsV0FDQSxFQUFBLE1BQUEsbUJBQUEsR0FBQSxPQUNBLEVBQUEsU0FBQSxVQUVBLEVBQUEsWUFBQSxVQUdBLEdBQUEsT0FBQSxRQUFBLEdBQ0EsRUFBQSxLQUFBLFFBQUEsU0FBQSxHQUNBLEVBQUEsT0FBQSxFQUFBLE1BQ0EsRUFBQSxjQUFBLEVBQUEsTUFBQSxTQ25IQSxRQUFBLE9BQUEsVUFDQSxVQUFBLFFBQUEsV0FBQSxjQUFBLGVBQUEsU0FBQSxFQUFBLEVBQUEsR0FDQSxPQUNBLFNBQUEsSUFDQSxZQUFBLGlDQUNBLE9BQ0EsTUFBQSxLQUVBLEtBQUEsU0FBQSxHQUNBLEVBQUEsWUFDQSxFQUFBLGNBQ0EsSUFBQSxLQUVBLEdBQUEsTUFBQSxTQUFBLEtBQUEsU0FBQSxHQUdBLElBQUEsR0FGQSxJQUFBLGVBQUEsZ0JBQUEsZ0JBQUEsYUFDQSxLQUNBLEVBQUEsRUFBQSxFQUFBLEVBQUEsT0FBQSxJQUFBLENBQ0EsR0FBQSxJQUFBLEtBQUEsRUFBQSxHQUNBLEdBQUEsUUFDQSxLQUFBLEdBQUEsR0FBQSxFQUFBLEVBQUEsRUFBQSxNQUFBLE9BQUEsSUFBQSxDQUNBLEdBQUEsR0FBQSxLQUFBLFNBQUEsRUFDQSxHQUFBLE1BQUEsR0FBQSxFQUVBLEVBQUEsS0FBQSxHQUVBLEVBQUEsU0FBQSxJQUVBLEVBQUEsT0FBQSxTQUFBLEdBQ0EsR0FBQSxJQUNBLE1BQUEsVUFBQSxFQUFBLEtBQUEsSUFDQSxRQUFBLG1DQUFBLEVBQUEsS0FBQSxrQkFDQSxZQUFBLGVBQ0EsV0FBQSxpQkFDQSxlQUFBLEVBQ0EsUUFBQSxXQUNBLEVBQUEsUUFBQSxHQUFBLEVBQUEsTUFBQSxJQUFBLElBQUEsRUFBQSxLQUFBLFNBQUEsR0FDQSxFQUFBLE1BQUEsUUFLQSxFQUFBLFVBQUEsU0FBQSxHQUVBLElBQUEsR0FEQSxHQUFBLEVBQUEsR0FDQSxFQUFBLEVBQUEsRUFBQSxFQUFBLE9BQUEsSUFDQSxHQUFBLEVBQUEsR0FBQSxFQUFBLE9BQUEsQ0FFQSxRQUFBLEdBRUEsRUFBQSxhQUFBLFNBQUEsR0FDQSxFQUFBLEdBQUEsQ0FDQSxLQUFBLEdBQUEsR0FBQSxFQUFBLEVBQUEsRUFBQSxNQUFBLGFBQUEsT0FBQSxJQUNBLEVBQUEsTUFBQSxhQUFBLEdBQUEsTUFBQSxJQUFBLEVBQUEsSUFFQSxPQUFBLEdBQUEsSUFFQSxFQUFBLE9BQUEsU0FBQSxHQUNBLEVBQUEsUUFDQSxHQUFBLEVBQUEsTUFBQSxJQUNBLElBQUEsRUFBQSxLQUNBLElBRUEsRUFBQSxLQUFBLFNBQUEsR0FDQSxFQUFBLFNBQUEsRUFBQSxNQUFBLGFBQUEsUUFBQSxJQUFBLFFBQUEsS0FBQSxJQUVBLEVBQUEsT0FBQSxTQUFBLEdBQ0EsRUFBQSxNQUFBLGFBQUEsR0FBQSxFQUFBLFNBQUEsSUFFQSxFQUFBLEtBQUEsV0FDQSxHQUFBLEVBQUEsUUFBQSxPQUFBLENBQ0EsR0FBQSxHQUFBLEdBQUEsR0FBQSxFQUFBLFlBQ0EsR0FBQSxPQUFBLEdBQUEsRUFBQSxNQUFBLEtBQUEsU0FBQSxHQUNBLEVBQUEsTUFBQSxFQUNBLEVBQUEsaUJBRUEsRUFBQSxRQUFBLHNCQzFFQSxRQUFBLE9BQUEsVUFDQSxXQUFBLGFBQUEsUUFBQSxTQUFBLEdBQ0EsRUFBQSxJQUFBLG1CQ0ZBLFFBQUEsT0FBQSxVQUNBLFdBQUEsZUFBQSxTQUFBLGVBQUEsU0FBQSxHQUNBLEVBQUEsV0FBQSxnQkNGQSxRQUFBLE9BQUEsVUFDQSxXQUFBLGdCQUFBLFNBQUEsZUFBQSxRQUFBLFNBQUEsRUFBQSxFQUFBLEdBQ0EsRUFBQSxTQUFBLEdBQUEsRUFBQSxPQUFBLEdBQUEsS0FBQSxFQUFBLE9BQUEsTUFBQSxXQUNBLEdBQUEsSUFDQSxNQUFBLGdCQUNBLFFBQUEsOEJBQ0EsS0FBQSxVQUNBLFFBQUEsT0FFQSxXQUNBLEdBQUEsSUFDQSxNQUFBLGtCQUNBLFFBQUEsdUZBQ0EsS0FBQSxZQUdBLEVBQUEsR0FBQSxTQUFBLEdBQUEsRUFBQSxPQUFBLFFDaEJBLFFBQUEsT0FBQSxVQUNBLFdBQUEsaUJBQUEsU0FBQSxRQUFBLFNBQUEsV0FBQSxRQUFBLGVBQUEsZUFBQSxRQUFBLFNBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxHQUNBLEdBQUEsR0FBQSxFQUFBLE9BQUEsRUFDQSxHQUFBLE1BQUEsRUFBQSxLQUFBLEdBQUEsR0FBQSxXQUNBLEVBQUEsSUFBQSxTQUFBLEVBQUEsTUFBQSxPQUNBLEVBQUEsT0FBQSxRQUFBLEtBQUEsRUFBQSxRQUNBLFdBQ0EsRUFBQSxHQUFBLGNBRUEsRUFBQSxZQUFBLFdBQ0EsRUFBQSxNQUFBLFFBQUEsS0FBQSxFQUFBLFNBRUEsRUFBQSxVQUFBLFdBQ0EsTUFBQSxNQUFBLFVBQUEsRUFBQSxTQUFBLEtBQUEsVUFBQSxFQUFBLFFBRUEsRUFBQSxlQUFBLFdBQ0EsTUFBQSxNQUFBLFVBQUEsRUFBQSxPQUFBLFFBQUEsS0FBQSxVQUFBLEVBQUEsTUFBQSxRQUVBLEVBQUEsT0FBQSxXQUNBLEdBQUEsRUFBQSxLQUFBLE9BQ0EsR0FBQSxFQUFBLGlCQUNBLENBQUEsR0FBQSxJQUNBLE1BQUEsV0FDQSxRQUFBLG1HQUNBLFlBQUEsZ0JBQ0EsZUFBQSxFQUNBLFFBQUEsV0FDQSxFQUFBLE1BQUEsZ0JBQ0EsV0FLQSxTQUdBLENBQUEsR0FBQSxJQUNBLE1BQUEsY0FDQSxRQUFBLCtEQUNBLEtBQUEsV0FJQSxJQUFBLEdBQUEsV0FDQSxFQUFBLFFBQ0EsR0FBQSxHQUNBLEVBQUEsTUFDQSxXQUNBLEdBQUEsSUFDQSxNQUFBLGdCQUNBLFFBQUEsNkNBQ0EsS0FBQSxXQUVBLEdBQUEsT0FBQSxRQUFBLEtBQUEsRUFBQSxhQ3JEQSxRQUFBLE9BQUEsVUFDQSxXQUFBLGFBQUEsU0FBQSxRQUFBLFNBQUEsUUFBQSxRQUFBLGVBQUEsU0FBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsR0FDQSxHQUFBLEdBQUEsRUFBQSxPQUFBLEVBRUEsR0FBQSxNQUFBLEVBQUEsS0FBQSxHQUFBLEdBQUEsV0FFQSxFQUFBLElBQUEsRUFBQSxNQUFBLE9BRUEsRUFBQSxTQUFBLEVBQUEsS0FBQSxTQUNBLEdBQUEsRUFBQSxNQUFBLE1BRUEsVUFBQSxLQUVBLFdBQ0EsRUFBQSxHQUFBLGNBR0EsRUFBQSxVQUFBLFdBQ0EsRUFBQSxNQUFBLFVBQUEsRUFDQSxFQUFBLFFBQ0EsR0FBQSxHQUNBLEVBQUEsTUFDQSxXQUNBLEdBQUEsSUFDQSxNQUFBLGFBQ0EsUUFBQSw2Q0FDQSxXQUFBLFVBS0EsRUFBQSxXQUFBLFdBQ0EsRUFBQSxNQUFBLFVBQUEsRUFDQSxFQUFBLFFBQ0EsR0FBQSxHQUNBLEVBQUEsTUFDQSxXQUNBLEdBQUEsSUFDQSxNQUFBLGVBQ0EsUUFBQSxzREFDQSxXQUFBLFVBS0EsRUFBQSxVQUFBLFdBQ0EsRUFBQSxHQUFBLGFBQUEsR0FBQSxFQUFBLE1BQUEsVUM5Q0EsUUFBQSxPQUFBLFVBQ0EsV0FBQSxZQUFBLFNBQUEsU0FBQSxRQUFBLFNBQUEsRUFBQSxFQUFBLEdBQ0EsRUFBQSxJQUFBLHFDQUVBLEVBQUEsU0FBQSxXQUNBLEVBQUEsR0FBQSxnQkNMQSxRQUFBLE9BQUEsVUFDQSxXQUFBLGtCQUFBLFNBQUEsWUFBQSxTQUFBLEVBQUEsR0FDQSxFQUFBLFNBQUEsU0FBQSxHQUNBLE1BQUEsR0FBQSxRQUFBLEdBQ0EsR0FFQSxNQ05BLFFBQUEsT0FBQSxVQUNBLFdBQUEsZ0JBQUEsU0FBQSxRQUFBLFNBQUEsUUFBQSxlQUFBLGVBQUEsU0FBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsR0FFQSxFQUFBLE1BQUEsdUJBQ0EsRUFBQSxZQUFBLDZGQUVBLEVBQUEsT0FBQSxXQUNBLEdBQUEsRUFBQSxLQUFBLE9BQ0EsRUFBQSxLQUFBLGFBQUEsRUFBQSxPQUNBLFFBQUEsU0FBQSxHQUNBLEVBQUEsTUFBQSxFQUNBLEVBQUEsU0FBQSxFQUFBLEtBQUEsU0FDQSxHQUFBLEVBQUEsTUFBQSxNQUVBLFVBQUEsTUFHQSxNQUFBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsU0FDQSxRQUFBLGtFQUNBLFdBQUEsYUFJQSxDQUFBLEdBQUEsSUFDQSxNQUFBLGNBQ0EsUUFBQSwrREFDQSxLQUFBLFlBS0EsRUFBQSxXQUFBLFFDakNBLFFBQUEsT0FBQSxVQUNBLFdBQUEsb0JBQUEsUUFBQSxlQUFBLFNBQUEsU0FBQSxFQUFBLEVBQUEsR0FDQSxFQUFBLFFBQUEsR0FBQSxFQUFBLE9BQUEsR0FBQSxLQUFBLEVBQUEsT0FBQSxNQUFBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsaUJBQ0EsUUFBQSxtR0FDQSxLQUFBLFVBQ0EsUUFBQSxPQUVBLFdBQ0EsR0FBQSxJQUNBLE1BQUEsc0JBQ0EsUUFBQSxzQ0FDQSxLQUFBLFlBR0EsRUFBQSxHQUFBLFNBQUEsR0FBQSxFQUFBLE9BQUEsUUNoQkEsUUFBQSxPQUFBLFVBQ0EsT0FBQSxXQUFBLFVBQUEsU0FBQSxHQUNBLE1BQUEsVUFBQSxHQUNBLEdBQUEsRUFBQSxDQUNBLEdBQUEsR0FBQSxLQUFBLE1BQUEsR0FDQSxHQUFBLEdBQUEsT0FBQSxVQUNBLEVBQUEsRUFBQSxFQUNBLEVBQUEsS0FBQSxNQUFBLEVBQUEsS0FDQSxFQUFBLEtBQUEsTUFBQSxFQUFBLElBQ0EsRUFBQSxLQUFBLE1BQUEsRUFBQSxJQUNBLEVBQUEsS0FBQSxNQUFBLEVBQUEsR0FDQSxPQUFBLEdBQUEsR0FDQSxNQUFBLEVBQUEsUUFBQSxFQUFBLFVBQ0EsRUFBQSxFQUNBLEVBQUEsWUFDQSxHQUFBLEVBQ0EsWUFDQSxFQUFBLEVBQ0EsRUFBQSxhQUNBLEdBQUEsRUFDQSxjQUNBLEVBQUEsRUFDQSxFQUFBLGVBQ0EsR0FBQSxFQUNBLGVBRUEseUJDMUJBLFFBQUEsT0FBQSxVQUNBLFFBQUEsZ0JBQUEsV0FBQSxTQUFBLEdBRUEsTUFBQSxVQUFBLEdBQ0EsR0FBQSxFQUNBLEdBQUEsR0FDQSxZQUFBLDhCQUNBLGFBQUEsUUFDQSxXQUFBLFdBQ0EsS0FBQSxNQUFBLEVBQUEsTUFDQSxLQUFBLFFBQUEsRUFBQSxRQUNBLEtBQUEsUUFBQSxFQUFBLFFBQUEsV0FBQSxFQUFBLFVBQUEsRUFBQSxlQUFBLEVBQ0EsS0FBQSxPQUFBLEVBQUEsV0FDQSxLQUFBLFlBQUEsRUFBQSxhQUFBLFVBQ0EsS0FBQSxXQUFBLEVBQUEsWUFBQSxTQUNBLEtBQUEsY0FBQSxFQUFBLGlCQUdBLEVBQUEsV0FFQSxLQUFBLFFBQUEsV0FDQSxFQUFBLGtCQ3JCQSxRQUFBLE9BQUEsVUFDQSxRQUFBLGdCQUFBLFdBQUEsV0FBQSxTQUFBLEVBQUEsR0FDQSxNQUFBLFVBQUEsR0FDQSxHQUFBLEVBQ0EsR0FBQSxHQUNBLFlBQUEsOEJBQ0EsYUFBQSxlQUNBLFdBQUEsV0FDQSxLQUFBLE1BQUEsRUFBQSxNQUNBLEtBQUEsUUFBQSxFQUFBLFFBQ0EsS0FBQSxNQUFBLEVBQUEsV0FDQSxLQUFBLEtBQUEsRUFBQSxJQUNBLElBQUEsR0FBQSxFQUFBLFNBQUEsR0FDQTtFQUFBLEVBQUEsV0FBQSxNQUdBLEVBQUEsV0FFQSxLQUFBLFFBQUEsV0FDQSxFQUFBIiwiZmlsZSI6InB1YmxpYy9idWlsZC9hcHAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJhbmd1bGFyLm1vZHVsZSgncmFsbGx5JywgWyd1aS5yb3V0ZXInLCduZ1Jlc291cmNlJywnYnRmb3JkLm1vZGFsJywnbmdUYWdzSW5wdXQnLCduZ0FuaW1hdGUnXSlcbiAgICAuY29uZmlnKGZ1bmN0aW9uKCRzdGF0ZVByb3ZpZGVyLCAkdXJsUm91dGVyUHJvdmlkZXIsICRsb2NhdGlvblByb3ZpZGVyKXtcbiAgICAgICAgJGxvY2F0aW9uUHJvdmlkZXIuaHRtbDVNb2RlKHRydWUpO1xuICAgICAgICAkdXJsUm91dGVyUHJvdmlkZXIub3RoZXJ3aXNlKFwiL25vdGZvdW5kXCIpXG4gICAgICAgICRzdGF0ZVByb3ZpZGVyXG4gICAgICAgIC5zdGF0ZSgnaW5kZXgnLHtcbiAgICAgICAgICAgIHVybCA6ICcvJyxcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9ob21lLmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlciA6ICdIb21lQ3RybCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCduZXdldmVudCcse1xuICAgICAgICAgICAgdXJsIDogJy9uZXcnLFxuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL25ld2V2ZW50Lmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlciA6ICdOZXdFdmVudEN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnYWJvdXQnLCB7XG4gICAgICAgICAgICB1cmwgOiAnL2Fib3V0JyxcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9hYm91dC5odG1sJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiAnQWJvdXRDdHJsJ1xuICAgICAgICB9KVxuICAgICAgICAuc3RhdGUoJ25vdGZvdW5kJywge1xuICAgICAgICAgICAgdXJsIDogJy9ub3Rmb3VuZCcsXG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvbm90Zm91bmQuaHRtbCdcbiAgICAgICAgfSlcbiAgICAgICAgLnN0YXRlKCdldmVudCcse1xuICAgICAgICAgICAgdXJsIDogJy86aWQnLFxuICAgICAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2V2ZW50Lmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlciA6ICdFdmVudEN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnZWRpdGV2ZW50Jywge1xuICAgICAgICAgICAgdXJsOiAnLzppZC9lZGl0JyxcbiAgICAgICAgICAgIHRlbXBsYXRlVXJsIDogJ3RlbXBsYXRlcy9lZGl0ZXZlbnQuaHRtbCcsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ0VkaXRFdmVudEN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgndmVyaWZ5ZXZlbnQnLCB7XG4gICAgICAgICAgICB1cmwgOiAnL3ZlcmlmeS86aWQvY29kZS86Y29kZScsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ1ZlcmlmaWNhdGlvbkN0cmwnXG4gICAgICAgIH0pXG4gICAgICAgIC5zdGF0ZSgnZGVsZXRlZXZlbnQnLCB7XG4gICAgICAgICAgICB1cmwgOiAnL2RlbGV0ZS86aWQvY29kZS86Y29kZScsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogJ0RlbGV0aW9uQ3RybCdcbiAgICAgICAgfSlcbiAgICB9KVxuICAgIC5mYWN0b3J5KCdFdmVudCcsIGZ1bmN0aW9uKCRyZXNvdXJjZSl7XG4gICAgICAgIHJldHVybiAkcmVzb3VyY2UoJy9hcGkvZXZlbnQvOmlkJywgeyBpZCA6ICdAX2lkJyB9LCB7XG4gICAgICAgICAgICAndXBkYXRlJyA6IHsgbWV0aG9kIDogJ1BVVCcgfSxcbiAgICAgICAgICAgICd2ZXJpZnknIDogeyBtZXRob2QgOiAnR0VUJywgdXJsIDogJy9hcGkvZXZlbnQvOmlkL2NvZGUvOmNvZGUnIH0sXG4gICAgICAgICAgICAnZGVzdHJveSc6IHsgbWV0aG9kIDogJ0RFTEVURScsIHVybDogJy9hcGkvZXZlbnQvOmlkL2NvZGUvOmNvZGUnIH1cbiAgICAgICAgfSk7XG4gICAgfSlcbiAgICAuZmFjdG9yeSgnUGFydGljaXBhbnQnLCBmdW5jdGlvbigkcmVzb3VyY2Upe1xuICAgICAgICByZXR1cm4gJHJlc291cmNlKCcvYXBpL2V2ZW50LzppZC9wYXJ0aWNpcGFudC86cGlkJywgeyBpZDogJ0BfaWQnfSwge1xuICAgICAgICAgICAgJ3VwZGF0ZScgOiB7IG1ldGhvZCA6ICdQVVQnIH1cbiAgICAgICAgfSk7XG4gICAgfSlcbiAgICAuZmFjdG9yeSgnQ29tbWVudCcsIGZ1bmN0aW9uKCRyZXNvdXJjZSl7XG4gICAgICAgIHJldHVybiAkcmVzb3VyY2UoJy9hcGkvZXZlbnQvOmlkL2NvbW1lbnQvOmNpZCcsIHsgaWQgOiAnQF9pZCcgfSwge1xuICAgICAgICAgICAgJ3VwZGF0ZScgOiB7IG1ldGhvZCA6ICdQVVQnIH1cbiAgICAgICAgfSlcbiAgICB9KVxuICAgIC5mYWN0b3J5KCdUaXRsZScsIGZ1bmN0aW9uKCl7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzZXQgOiBmdW5jdGlvbih0aXRsZSl7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQudGl0bGUgPSB0aXRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuIiwiYW5ndWxhci5tb2R1bGUoXCJyYWxsbHlcIikucnVuKFtcIiR0ZW1wbGF0ZUNhY2hlXCIsIGZ1bmN0aW9uKCR0ZW1wbGF0ZUNhY2hlKSB7JHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2Fib3V0Lmh0bWxcIixcIjxkaXYgc3R5bGU9XFxcIm1heC13aWR0aDo2MDBweFxcXCI+XFxuICAgIDxoMT5XaGF0IGlzIFJhbGxseT88L2gxPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJybC1wYWdlLWRlc2NcXFwiPlJhbGxseSBpcyBhIGNvbGxhYm9yYXRpdmUgc2NoZWR1bGluZyBzZXJ2aWNlIHRoYXQgbWFrZXMgZGVjaWRpbmcgb24gYSBkYXRlIGZhc3QgYW5kIGVhc3kuPC9kaXY+XFxuICAgIDxoMj5IaSwgSVxcJ20gTHVrZSE8L2gyPlxcbiAgICA8cD5cXG4gICAgICAgIEkgY3JlYXRlZCBSYWxsbHkgYXMgc2lkZSBwcm9qZWN0IHRvIGhlbHAgbWUgbGVhcm4gc29tZSBuZXcgdGVjaG5vbG9naWVzLiBJIGRlY2lkZWQgdG8gcHVibGlzaCBpdCBiZWNhdXNlIEkgdGhvdWdodCBvdGhlciBwZW9wbGUgbWlnaHQgZmluZCBpdCB1c2VmdWwuIFJhbGxseSBpcyBhIGNvbXBsZXRlbHkgZnJlZSBzZXJ2aWNlLiBJbiBmYWN0IGl0IGlzIGV2ZW4gb3BlbiBzb3VyY2UuIFlvdSBjYW4gbG9vayBhdCB0aGUgbGF0ZXN0IHNvdXJjZSBjb2RlIG9uIEdpdGh1Yi5cXG4gICAgPC9wPlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9jb25maXJtbW9kYWwuaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwicmwtbW9kYWwtb3ZlcmxheVxcXCIgbmctY2xpY2s9XFxcIm1vZGFsLmNhbmNlbCgpXFxcIj48L2Rpdj5cXG5cXG48ZGl2IGNsYXNzPVxcXCJybC1tb2RhbFxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInJsLW1vZGFsLXRpdGxlXFxcIj57e21vZGFsLnRpdGxlfX08L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwicmwtbW9kYWwtbWVzc2FnZVxcXCI+XFxuICAgICAgICB7e21vZGFsLm1lc3NhZ2V9fVxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwicmwtbW9kYWwtYWN0aW9uc1xcXCI+XFxuICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctY2xpY2s9XFxcIm1vZGFsLmNvbmZpcm0oKVxcXCIgbmctc2hvdz1cXFwibW9kYWwuY29uZmlybVxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmctY2xhc3M9XFxcIntkYW5nZXIgOiBtb2RhbC5pc0Rlc3RydWN0aXZlfVxcXCI+e3ttb2RhbC5jb25maXJtVGV4dH19PC9idXR0b24+XFxuICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctY2xpY2s9XFxcIm1vZGFsLmNhbmNlbCgpXFxcIiAgY2xhc3M9XFxcImJ0blxcXCI+e3ttb2RhbC5jYW5jZWxUZXh0fX08L2J1dHRvbj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2VkaXRldmVudC5odG1sXCIsXCI8ZGl2IG5nLXNob3c9XFxcImV2ZW50Ll9pZFxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImJveFxcXCI+XFxuXFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJib3gtdGl0bGVcXFwiPkVkaXQgRXZlbnQ8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1kZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICAgICAgWW91IGNhbiBtYWtlcyBjaGFuZ2VzIHRvIHlvdXIgZXhpc3RpbmcgZXZlbnQgYnkgY2hhbmdpbmcgdGhlIGZpZWxkcyBpbiB0aGUgZm9ybSBiZWxvdy5cXG4gICAgICAgIDwvZGl2PlxcblxcbiAgICAgICAgPGZvcm0gbm92YWxpZGF0ZSBuYW1lPVxcXCJmb3JtXFxcIiBuZy1zdWJtaXQ9XFxcInN1Ym1pdCgpXFxcIj5cXG5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIHVzZXItZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cXG5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIGV2ZW50LWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICA8L3NlY3Rpb24+XFxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiBkYXRlLWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICA8L3NlY3Rpb24+XFxuXFxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiBzZXR0aW5ncy1mb3JtIGZvcm09XFxcImZvcm1cXFwiIGV2ZW50PVxcXCJldmVudFxcXCI+XFxuXFxuICAgICAgICAgICAgPC9zZWN0aW9uPlxcblxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC1jb250cm9scyBib3gtYm90dG9tLXN0aWNreVxcXCI+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwic3VibWl0XFxcIiBuZy1zaG93PVxcXCJkaWRDaGFuZ2UoKVxcXCIgY2xhc3M9XFxcImJ0biBidG4tcHJpbWFyeVxcXCIgbmctY2xhc3M9XFxcIntkaXNhYmxlZCA6ICFkaWRDaGFuZ2UoKX1cXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgU2F2ZSBDaGFuZ2VzXFxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctY2xpY2s9XFxcInVuZG9DaGFuZ2VzKClcXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5nLXNob3c9XFxcImRpZENoYW5nZSgpXFxcIj5VbmRvIENoYW5nZXM8L2J1dHRvbj5cXG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cXFwiL3t7ZXZlbnQuX2lkfX1cXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5nLWhpZGU9XFxcImRpZENoYW5nZSgpXFxcIj5Eb25lPC9hPlxcbiAgICAgICAgICAgIDwvZGl2PlxcblxcbiAgICAgICAgPC9mb3JtPlxcblxcbiAgICA8L2Rpdj5cXG5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZXZlbnQuaHRtbFwiLFwiPGRpdiBuZy1zaG93PVxcXCJldmVudC5faWQgJiYgIWV2ZW50LmlzRGVsZXRlZFxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImJveCBcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZXZlbnQtaGVhZGVyXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJhdmF0YXJcXFwiPlxcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9ldmVudGljb24ucG5nXFxcIiB3aWR0aD1cXFwiMzJcXFwiIC8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGV0YWlsc1xcXCI+XFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInRpdGxlXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIHt7ZXZlbnQudGl0bGV9fVxcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcInRpdGxlLWxhYmVsIGRhbmdlclxcXCIgbmctc2hvdz1cXFwiZXZlbnQuaXNDbG9zZWRcXFwiPlBvbGwgQ2xvc2VkPC9zcGFuPlxcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcInRpdGxlLWxhYmVsIHN1Y2Nlc3NcXFwiIG5nLWhpZGU9XFxcImV2ZW50LmlzQ2xvc2VkXFxcIj5Qb2xsIE9wZW48L3NwYW4+XFxuICAgICAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzdWJ0aXRsZVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICBDcmVhdGVkIGJ5IDxhIGhyZWY9XFxcIm1haWx0bzp7e2V2ZW50LmNyZWF0b3IuZW1haWx9fVxcXCI+e3tldmVudC5jcmVhdG9yLm5hbWV9fTwvYT4gJmJ1bGw7IHt7ZXZlbnQuY3JlYXRlZCB8IGVsYXBzZWR9fVxcbiAgICAgICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJhY3Rpb25zXFxcIj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cXFwiYnRuXFxcIiBuZy1jbGljaz1cXFwiZWRpdEV2ZW50KClcXFwiPkVkaXQgRXZlbnQ8L2J1dHRvbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiYm94LXNpZGUtc3RpY2t5IGV2ZW50LWRlc2NyaXB0aW9uXFxcIiBuZy1zaG93PVxcXCJldmVudC5kZXNjcmlwdGlvblxcXCI+e3tldmVudC5kZXNjcmlwdGlvbn19PC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJib3gtYm90dG9tLXN0aWNreSBldmVudC1sb2NhdGlvblxcXCIgbmctc2hvdz1cXFwiZXZlbnQubG9jYXRpb25cXFwiPlxcbiAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2xvY2F0aW9uLnBuZ1xcXCIgd2lkdGg9XFxcIjE4XFxcIiAvPjxhIGhyZWY9XFxcImh0dHA6Ly9nb29nbGUuY29tL21hcHM/cT17e2V2ZW50LmxvY2F0aW9ufX1cXFwiIHRhcmdldD1cXFwiX2JsYW5rXFxcIj57e2V2ZW50LmxvY2F0aW9ufX08L2E+XFxuICAgICAgICA8L2Rpdj5cXG5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImJveCBib3gteC1zY3JvbGxcXFwiPlxcbiAgICAgICAgPGRpdiBwb2xsIGV2ZW50PVxcXCJldmVudFxcXCIgY2xhc3M9XFxcInBvbGxcXFwiPlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcblxcbiAgICA8ZGl2IGNsYXNzPVxcXCJib3hcXFwiIG5nLWhpZGU9XFxcImV2ZW50LmNvbW1lbnRzLmxlbmd0aCA9PSAwICYmIGV2ZW50LmlzQ2xvc2VkXFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImJveC10aXRsZVxcXCI+XFxuICAgICAgICAgICAgRGlzY3Vzc2lvblxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJib3gtZGVzY3JpcHRpb25cXFwiPlxcbiAgICAgICAgICAgIFlvdSBjYW4gZGlzY3VzcyB0aGUgZXZlbnQgd2l0aCB5b3VyIGZyaWVuZHMgYnkgbGVhdmluZyBhIGNvbW1lbnQgYmVsb3cuXFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgZGlzY3Vzc2lvbiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9ob21lLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInBhZ2UtcGxhY2Vob2xkZXJcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJpbWFnZVxcXCI+XFxuICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9tYXJrX2xhcmdlLnBuZ1xcXCIgd2lkdGg9XFxcIjY3XFxcIiAvPlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAgU2NoZWR1bGUgYW4gRXZlbnRcXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcImNvbnRlbnRcXFwiPlxcbiAgICAgICAgV2FudCB0byBob3N0IGFuIGV2ZW50IGJ1dCBjYW7igJl0IGRlY2lkZSBvbiBhIGRhdGU/IENsaWNrIG9uIHRoZSBidXR0b24gYmVsb3cgdG8gc3RhcnQhXFxuICAgIDwvZGl2PlxcbiAgICA8YnV0dG9uIG5nLWNsaWNrPVxcXCJuZXdFdmVudCgpXFxcIiBjbGFzcz1cXFwiYnRuXFxcIj5TY2hlZHVsZSBOZXcgRXZlbnQ8L2J1dHRvbj5cXG48L2Rpdj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvbmV3ZXZlbnQuaHRtbFwiLFwiPGRpdiBuZy1oaWRlPVxcXCJldmVudFVybFxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImJveFxcXCIgbmctY2xhc3M9XFxcIntcXCdhbmltYXRlZCBzaGFrZVxcJzogZm9ybS4kc3VibWl0dGVkICYmIGZvcm0uJGludmFsaWQgfVxcXCI+XFxuXFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJib3gtdGl0bGVcXFwiPlNjaGVkdWxlIGEgTmV3IEV2ZW50PC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJib3gtZGVzY3JpcHRpb25cXFwiPlxcbiAgICAgICAgICAgIEZpbGwgaW4gdGhlIGZvcm0gYmVsb3cgdG8gY3JlYXRlIHlvdXIgZXZlbnQgYW5kIHNoYXJlIGl0IHdpdGggeW91ciBmcmllbmRzIGFuZCBjb2xsZWFndWVzLlxcbiAgICAgICAgPC9kaXY+XFxuXFxuICAgICAgICA8Zm9ybSBub3ZhbGlkYXRlIGF1dG9jb21wbGV0ZT1cXFwib2ZmXFxcIiBuYW1lPVxcXCJmb3JtXFxcIiBuZy1zdWJtaXQ9XFxcInN1Ym1pdCgpXFxcIj5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIHVzZXItZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cXG5cXG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cXFwiYm94LXNlY3Rpb25cXFwiIGV2ZW50LWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICA8L3NlY3Rpb24+XFxuXFxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiBkYXRlLWZvcm0gZm9ybT1cXFwiZm9ybVxcXCIgZXZlbnQ9XFxcImV2ZW50XFxcIj5cXG5cXG4gICAgICAgICAgICA8L3NlY3Rpb24+XFxuXFxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XFxcImJveC1zZWN0aW9uXFxcIiBwYXJ0aWNpcGFudHMtZm9ybSBmb3JtPVxcXCJmb3JtXFxcIiBldmVudD1cXFwiZXZlbnRcXFwiPlxcblxcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cXG5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJib3gtY29udHJvbHMgYm94LWJvdHRvbS1zdGlja3lcXFwiPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcInN1Ym1pdFxcXCIgY2xhc3M9XFxcImJ0biBidG4tcHJpbWFyeVxcXCI+Q3JlYXRlIEV2ZW50PC9idXR0b24+XFxuICAgICAgICAgICAgPC9kaXY+XFxuXFxuICAgICAgICA8L2Zvcm0+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgbmctc2hvdz1cXFwiZXZlbnRVcmxcXFwiIGNsYXNzPVxcXCJib3hcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJib3gtbWVzc2FnZVxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwibWFpbi1pbWFnZVxcXCI+XFxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL3N1Y2Nlc3NfbGFyZ2UucG5nXFxcIiB3aWR0aD1cXFwiMTAwXFxcIiAvPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJ0aXRsZVxcXCI+RXZlbnQgQ3JlYXRlZDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJjb250ZW50XFxcIj5cXG4gICAgICAgIFlvdXIgZXZlbnQgaGFzIGJlZW4gY3JlYXRlZCBzdWNjZXNzZnVsbHkhIFlvdSBzaG91bGQgcmVjZWl2ZSBhbiBlbWFpbCBzaG9ydGx5IHdpdGggaW5zdHJ1Y3Rpb25zIHRvIHZlcmlmeSB5b3VyIGVtYWlsIGFkZHJlc3MuXFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJtaW5pLWRpdmlkZXJcXFwiPlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1ncm91cFxcXCI+XFxuICAgICAgICA8aW5wdXQgdHlwZT1cXFwidGV4dFxcXCIgY2xhc3M9XFxcImZvcm0tY29udHJvbFxcXCIgZGlzYWJsZWQ9XFxcInRydWVcXFwiIHZhbHVlPVxcXCJ7e2V2ZW50VXJsfX1cXFwiIC8+XFxuICAgICAgICA8YSBocmVmPVxcXCJ7e2V2ZW50VXJsfX1cXFwiIGNsYXNzPVxcXCJidG4gZm9ybS1idG5cXFwiPkdPPC9hPlxcbiAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL25vdGZvdW5kLmh0bWxcIixcIjxoMT5FcnJvciA0MDQ8L2gxPlxcbjxoMj5Ob3QgRm91bmQ8L2gyPlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9ub3RpZmljYXRpb24uaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwibm90aWZpY2F0aW9uIHt7bm90aWZpY2F0aW9uLnR5cGV9fVxcXCIgbmctY2xpY2s9XFxcIm5vdGlmaWNhdGlvbi5jbG9zZSgpXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAge3tub3RpZmljYXRpb24udGl0bGV9fVxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwibWVzc2FnZVxcXCI+XFxuICAgICAgICB7e25vdGlmaWNhdGlvbi5tZXNzYWdlfX1cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2RpcmVjdGl2ZXMvZGlzY3Vzc2lvbi5odG1sXCIsXCI8dWwgY2xhc3M9XFxcImNvbW1lbnQtdGhyZWFkXFxcIiBuZy1zaG93PVxcXCJldmVudC5jb21tZW50cy5sZW5ndGhcXFwiPlxcbiAgICA8bGkgbmctcmVwZWF0PVxcXCJjb21tZW50IGluIGV2ZW50LmNvbW1lbnRzXFxcIiBjbGFzcz1cXFwiY29tbWVudFxcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJhdmF0YXItc2VjdGlvblxcXCI+XFxuICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvYXZhdGFyLnBuZ1xcXCIgLz5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiY29tbWVudC1zZWN0aW9uXFxcIj5cXG4gICAgICAgICAgICA8YSBocmVmPVxcXCIjXFxcIiBjbGFzcz1cXFwiY29tbWVudC1kZWxldGVcXFwiIG5nLWNsaWNrPVxcXCJkZWxldGVDb21tZW50KGNvbW1lbnQpXFxcIj4mdGltZXM7PC9hPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm1ldGFcXFwiPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwibmFtZVxcXCI+e3tjb21tZW50LmF1dGhvci5uYW1lfX08L3NwYW4+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJ0aW1lXFxcIj57e2NvbW1lbnQuY3JlYXRlZCB8IGVsYXBzZWR9fTwvc3Bhbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjb250ZW50XFxcIj57e2NvbW1lbnQuY29udGVudH19PC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9saT5cXG48L3VsPlxcbjxmb3JtIG5vdmFsaWRhdGUgbmctc3VibWl0PVxcXCJwb3N0Q29tbWVudCgpXFxcIiBuYW1lPVxcXCJjb21tZW50Rm9ybVxcXCIgY2xhc3M9XFxcImNvbW1lbnQtZm9ybVxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImF2YXRhci1zZWN0aW9uXFxcIj5cXG4gICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2F2YXRhci5wbmdcXFwiIC8+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJpbnB1dC1zZWN0aW9uIGZvcm0tZ3JvdXBcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiY29udGVudC1zZWN0aW9uXFxcIj5cXG4gICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XFxcImZvcm0tY29udHJvbFxcXCIgcmVxdWlyZWQgbmctbW9kZWw9XFxcImNvbW1lbnQuY29udGVudFxcXCIgcGxhY2Vob2xkZXI9XFxcIldyaXRlIGEgY29tbWVudC4uLlxcXCI+PC90ZXh0YXJlYT5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwibmFtZS1zZWN0aW9uXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJuYW1lLWNvbnRhaW5lclxcXCI+XFxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sXFxcIiByZXF1aXJlZCBwbGFjZWhvbGRlcj1cXFwiWW91ciBOYW1lXFxcIiBuZy1tb2RlbD1cXFwiY29tbWVudC5hdXRob3IubmFtZVxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJzdWJtaXRcXFwiIGNsYXNzPVxcXCJidG5cXFwiPlBvc3QgQ29tbWVudDwvYnV0dG9uPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiZm9ybS1lcnJvclxcXCIgbmctc2hvdz1cXFwiY29tbWVudEZvcm0uJHN1Ym1pdHRlZCAmJiBjb21tZW50Rm9ybS4kZXJyb3JcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvZXJyb3IucG5nXFxcIiB3aWR0aD1cXFwiMTRcXFwiIC8+IE1ha2Ugc3VyZSB5b3UgZmlsbCBpbiBhbGwgdGhlIGZpZWxkcy5cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZm9ybT5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9wb2xsLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInBvbGwtaGVhZGVyXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiaGVhZGVyIHBhcnRpY2lwYW50cy1oZWFkZXJcXFwiPlxcbiAgICAgICAge3tldmVudC5wYXJ0aWNpcGFudHMubGVuZ3RofX0gcGFydGljaXBhbnRzXFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJoZWFkZXIgZGF0ZS1oZWFkZXJcXFwiIG5nLXJlcGVhdD1cXFwiZGF0ZSBpbiBldmVudC5kYXRlc1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXRpY29uXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkb3dcXFwiPlxcbiAgICAgICAgICAgICAgICB7e2RhdGUgfCBkYXRlOiBcXCdFRUVcXCd9fVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImRheVxcXCI+XFxuICAgICAgICAgICAgICAgIHt7ZGF0ZSB8IGRhdGU6IFxcJ2RcXCd9fVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm1vbnRoXFxcIj5cXG4gICAgICAgICAgICAgICAge3tkYXRlIHwgZGF0ZSA6IFxcJ01NTVxcJ319XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImNvdW50XFxcIiBuZy1zaG93PVxcXCJzZWxlY3RlZERhdGUoJGluZGV4KVxcXCIgbmctY2xhc3M9e3RvcDppc1RvcERhdGUoJGluZGV4KX0+e3tzZWxlY3RlZERhdGUoJGluZGV4KX19PC9zcGFuPlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJoZWFkZXIgYWN0aW9ucy1oZWFkZXJcXFwiPlxcblxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJwb2xsLWJvZHlcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJwb2xsLWVudHJ5XFxcIiBuZy1yZXBlYXQ9XFxcInBhcnRpY2lwYW50IGluIGV2ZW50LnBhcnRpY2lwYW50c1xcXCI+XFxuICAgICAgICA8Zm9ybSBub3ZhbGlkYXRlIG5nLXN1Ym1pdD1cXFwidXBkYXRlKHBhcnRpY2lwYW50KTsgZWRpdE1vZGUgPSBmYWxzZVxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCBuYW1lLWNlbGxcXFwiPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwiYXZhdGFyIHN0eWxlLXt7JGluZGV4ICsgMX19XFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL3VzZXIucG5nXFxcIiB3aWR0aD1cXFwiMTFcXFwiIC8+XFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IHJlcXVpcmVkIGF1dG9jb21wbGV0ZT1cXFwib2ZmXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sXFxcIiBuZy1tb2RlbD1cXFwicGFydGljaXBhbnQubmFtZVxcXCIgbmctc2hvdz1cXFwiZWRpdE1vZGVcXFwiIHZhbHVlPVxcXCJwYXJ0aWNpcGFudC5uYW1lXFxcIi8+XFxuICAgICAgICAgICAgICAgIDxzcGFuIG5nLWhpZGU9XFxcImVkaXRNb2RlXFxcIiBjbGFzcz1cXFwibmFtZSBlZGl0YWJsZVxcXCIgbmctY2xpY2s9XFxcImVkaXRNb2RlID0gdHJ1ZSAmJiAhZXZlbnQuaXNDbG9zZWQ7IGVkaXQocGFydGljaXBhbnQpXFxcIj57e3BhcnRpY2lwYW50Lm5hbWV9fTwvc3Bhbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIHZvdGUtY2VsbFxcXCIgbmctcmVwZWF0PVxcXCJkYXRlIGluIGV2ZW50LmRhdGVzXFxcIj5cXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvdGlja0AyeC5wbmdcXFwiICB3aWR0aD1cXFwiMTZcXFwiIG5nLWhpZGU9XFxcImVkaXRNb2RlXFxcIiBuZy1pZj1cXFwicGFydGljaXBhbnQuZGF0ZXNbJGluZGV4XVxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvbm9wZUAyeC5wbmdcXFwiIHdpZHRoPVxcXCI4XFxcIiBuZy1oaWRlPVxcXCJlZGl0TW9kZVxcXCIgbmctaWY9XFxcIiFwYXJ0aWNpcGFudC5kYXRlc1skaW5kZXhdXFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgbmctbW9kZWw9XFxcInBhcnRpY2lwYW50LmRhdGVzWyRpbmRleF1cXFwiIG5nLXNob3c9XFxcImVkaXRNb2RlXFxcIiBuZy1mYWxzZS12YWx1ZT1cXFwiZmFsc2VcXFwiIHR5cGU9XFxcImNoZWNrYm94XFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJvdmVybGF5XFxcIiBuZy1zaG93PVxcXCJlZGl0TW9kZVxcXCIgbmctY2xpY2s9XFxcInBhcnRpY2lwYW50LmRhdGVzWyRpbmRleF0gPSAhcGFydGljaXBhbnQuZGF0ZXNbJGluZGV4XVxcXCI+PC9kaXY+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCBhY3Rpb24tY2VsbFxcXCIgbmctaGlkZT1cXFwiZXZlbnQuaXNDbG9zZWRcXFwiPlxcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctaGlkZT1cXFwiZWRpdE1vZGVcXFwiIG5nLWNsaWNrPVxcXCJlZGl0TW9kZSA9IHRydWU7IGVkaXQocGFydGljaXBhbnQpXFxcIiBjbGFzcz1cXFwiYnRuIGhvdmVyXFxcIj5FZGl0PC9idXR0b24+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1oaWRlPVxcXCJlZGl0TW9kZVxcXCIgbmctY2xpY2s9XFxcImRlbGV0ZShwYXJ0aWNpcGFudClcXFwiIGNsYXNzPVxcXCJidG4gZGFuZ2VyIGhvdmVyXFxcIj5EZWxldGU8L2J1dHRvbj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJzdWJtaXRcXFwiIG5nLXNob3c9XFxcImVkaXRNb2RlXFxcIiBjbGFzcz1cXFwiYnRuXFxcIj5TYXZlPC9idXR0b24+XFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cXFwiYnV0dG9uXFxcIiBuZy1zaG93PVxcXCJlZGl0TW9kZVxcXCIgbmctY2xpY2s9XFxcImVkaXRNb2RlID0gZmFsc2U7IGNhbmNlbCgkaW5kZXgpXFxcIiBjbGFzcz1cXFwiYnRuXFxcIj5DYW5jZWw8L2J1dHRvbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZm9ybT5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcInBvbGwtZXhhbXBsZVxcXCIgbmctY2xhc3M9XFxcIntoaWRkZW4gOiBldmVudC5wYXJ0aWNpcGFudHMubGVuZ3RoID4gMH1cXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwicG9sbC1lbnRyeVxcXCIgbmctcmVwZWF0PVxcXCJleGFtcGxlIGluIGV4YW1wbGVzXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIG5hbWUtY2VsbFxcXCI+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJhdmF0YXIgc3R5bGUte3skaW5kZXggKyAxfX1cXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvdXNlci5wbmdcXFwiIHdpZHRoPVxcXCIxMVxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cXFwibmFtZVxcXCI+e3tleGFtcGxlLm5hbWV9fTwvc3Bhbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIHZvdGUtY2VsbFxcXCIgbmctcmVwZWF0PVxcXCJkYXRlIGluIGV2ZW50LmRhdGVzXFxcIj5cXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvdGlja0AyeC5wbmdcXFwiICB3aWR0aD1cXFwiMTZcXFwiIG5nLWlmPVxcXCJleGFtcGxlLmRhdGVzWyRpbmRleF1cXFwiIC8+XFxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL25vcGVAMngucG5nXFxcIiB3aWR0aD1cXFwiOFxcXCIgbmctaWY9XFxcIiFleGFtcGxlLmRhdGVzWyRpbmRleF1cXFwiIC8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiY2VsbCBhY3Rpb24tY2VsbFxcXCI+XFxuXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcIm92ZXJsYXlcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcIm92ZXJsYXktdGV4dFxcXCI+XFxuICAgICAgICAgICAgICAgIEZpbGwgaW4gdGhlIGZvcm0gYmVsb3cgdG8gZ2V0IHN0YXJ0ZWRcXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBuZy1oaWRlPVxcXCJldmVudC5pc0Nsb3NlZFxcXCIgY2xhc3M9XFxcInBvbGwtZW50cnkgaGlnaGxpZ2h0XFxcIj5cXG4gICAgICAgIDxmb3JtIG5vdmFsaWRhdGUgbmFtZT1cXFwiZm9ybW5ld1xcXCIgbmctc3VibWl0PVxcXCJzYXZlKClcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImNlbGwgbmFtZS1jZWxsXFxcIj5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImF2YXRhciBzdHlsZS17e3BhcnRpY2lwYW50LnN0eWxlfX1cXFwiPlxcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XFxcIi9pbWFnZXMvdXNlci5wbmdcXFwiIHdpZHRoPVxcXCIxMVxcXCIgLz5cXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgICAgICA8aW5wdXQgYXV0b2NvbXBsZXRlPVxcXCJvZmZcXFwiIG5hbWU9XFxcInVzZXJuYW1lXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sXFxcIiBwbGFjZWhvbGRlcj1cXFwiWW91ciBuYW1lLi4uXFxcIiBuZy1tb2RlbD1cXFwicGFydGljaXBhbnQubmFtZVxcXCIgcmVxdWlyZWQgdmFsdWU9XFxcInBhcnRpY2lwYW50Lm5hbWVcXFwiLz5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIHZvdGUtY2VsbFxcXCIgbmctcmVwZWF0PVxcXCJkYXRlIGluIGV2ZW50LmRhdGVzXFxcIj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IG5nLW1vZGVsPVxcXCJwYXJ0aWNpcGFudC5kYXRlc1skaW5kZXhdXFxcIiBuZy1mYWxzZS12YWx1ZT1cXFwiZmFsc2VcXFwiIHR5cGU9XFxcImNoZWNrYm94XFxcIiAvPlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJvdmVybGF5XFxcIiBuZy1jbGljaz1cXFwicGFydGljaXBhbnQuZGF0ZXNbJGluZGV4XSA9ICFwYXJ0aWNpcGFudC5kYXRlc1skaW5kZXhdXFxcIj48L2Rpdj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJjZWxsIGFjdGlvbi1jZWxsXFxcIj5cXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVxcXCJzdWJtaXRcXFwiIG5nLWNsYXNzPVxcXCJ7IFxcJ2FuaW1hdGVkIHNoYWtlXFwnIDogZm9ybW5ldy4kc3VibWl0dGVkICYmIGZvcm1uZXcuJGludmFsaWQgIH1cXFwiIGNsYXNzPVxcXCJidG5cXFwiPlNhdmU8L2J1dHRvbj5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZm9ybT5cXG4gICAgPC9kaXY+XFxuPC9kaXY+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2RpcmVjdGl2ZXMvZXZlbnRGb3JtL2RhdGVGb3JtLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tZGV0YWlsc1xcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInNlY3Rpb24tdGl0bGVcXFwiPkNob29zZSBEYXRlczwvZGl2PlxcbiAgICA8dWwgY2xhc3M9XFxcImRhdGljb24tbGlzdFxcXCI+XFxuICAgICAgICA8bGkgbmctcmVwZWF0PVxcXCJkYXRlIGluIGV2ZW50LmRhdGVzXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXRpY29uXFxcIj5cXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZG93XFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIHt7ZGF0ZSB8IGRhdGU6IFxcJ0VFRVxcJ319XFxuICAgICAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkYXlcXFwiPlxcbiAgICAgICAgICAgICAgICAgICAge3tkYXRlIHwgZGF0ZTogXFwnZFxcJ319XFxuICAgICAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJtb250aFxcXCI+XFxuICAgICAgICAgICAgICAgICAgICB7e2RhdGUgfCBkYXRlIDogXFwnTU1NXFwnfX1cXG4gICAgICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJkZWxldGVcXFwiIG5nLWNsaWNrPVxcXCJkYXRlcGlja2VyLnVuc2V0RGF0ZShkYXRlKVxcXCI+PC9zcGFuPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9saT5cXG4gICAgPC91bD5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLW1haW5cXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwXFxcIj5cXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVxcXCJlbWFpbFxcXCI+Q2FsZW5kYXI8L2xhYmVsPlxcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJmb3JtLWVycm9yXFxcIiBuZy1zaG93PVxcXCIoZm9ybS5kYXRlcGlja2VyLiRkaXJ0eSB8fCBmb3JtLiRzdWJtaXR0ZWQpICYmIGZvcm0uZGF0ZXBpY2tlci4kZXJyb3IucmVxdWlyZWRcXFwiPlxcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9lcnJvci5wbmdcXFwiIHdpZHRoPVxcXCIxNFxcXCIgLz4gWW91IG5lZWQgdG8gc2VsZWN0IGEgZmV3IGRhdGVzXFxuICAgICAgICAgICAgPC9zcGFuPlxcbiAgICAgICAgICAgIDxkaXYgZGF0ZXBpY2tlciByZXF1aXJlZCBuYW1lPVxcXCJkYXRlcGlja2VyXFxcIiBjb250cm9sPVxcXCJkYXRlcGlja2VyXFxcIiBuZy1tb2RlbD1cXFwiZXZlbnQuZGF0ZXNcXFwiPlxcblxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9kaXJlY3RpdmVzL2V2ZW50Rm9ybS9ldmVudEZvcm0uaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1kZXRhaWxzXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic2VjdGlvbi10aXRsZVxcXCI+RXZlbnQgRGV0YWlsczwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tbWFpblxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tcm93XFxcIj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tY29sXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwXFxcIj5cXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cXFwidGl0bGVcXFwiPlRpdGxlPC9sYWJlbD5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImZvcm0tZXJyb3JcXFwiIG5nLXNob3c9XFxcIihmb3JtLnRpdGxlLiR0b3VjaGVkIHx8IGZvcm0uJHN1Ym1pdHRlZCkgJiYgZXJyb3JzLnRpdGxlXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2Vycm9yLnBuZ1xcXCIgd2lkdGg9XFxcIjE0XFxcIiAvPiB7e2Vycm9ycy50aXRsZX19XFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IGlkPVxcXCJ0aXRsZVxcXCIgbmFtZT1cXFwidGl0bGVcXFwiIG5nLW1heGxlbmd0aD1cXFwiMzBcXFwiIHJlcXVpcmVkIG5nLW1vZGVsPVxcXCJldmVudC50aXRsZVxcXCIgdHlwZT1cXFwidGV4dFxcXCIgcGxhY2Vob2xkZXI9XFxcIk1vbnRobHkgTWVldHVwLi4uXFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sIGV4dGVuZFxcXCIvPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWNvbFxcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1ncm91cCBvcHRpb25hbFxcXCI+XFxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XFxcImxvY2F0aW9uXFxcIj5Mb2NhdGlvbjwvbGFiZWw+XFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVxcXCJmb3JtLWVycm9yXFxcIiBuZy1zaG93PVxcXCIoZm9ybS5sb2NhdGlvbi4kdG91Y2hlZCB8fCBmb3JtLiRzdWJtaXR0ZWQpICYmIGVycm9ycy5sb2NhdGlvblxcXCI+XFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9lcnJvci5wbmdcXFwiIHdpZHRoPVxcXCIxNFxcXCIgLz4ge3tlcnJvcnMubG9jYXRpb259fVxcbiAgICAgICAgICAgICAgICA8L3NwYW4+XFxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cXFwibG9jYXRpb25cXFwiIG5hbWU9XFxcImxvY2F0aW9uXFxcIiBuZy1tb2RlbD1cXFwiZXZlbnQubG9jYXRpb25cXFwiIG5nLW1heGxlbmd0aD1cXFwiNTBcXFwiIHR5cGU9XFxcInRleHRcXFwiIHBsYWNlaG9sZGVyPVxcXCJSaWNrXFwncyBDYWZlLi4uXFxcIiBjbGFzcz1cXFwiZm9ybS1jb250cm9sIGV4dGVuZFxcXCIvPlxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwIG9wdGlvbmFsXFxcIj5cXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVxcXCJkZXNjcmlwdGlvblxcXCIgPkRlc2NyaXB0aW9uPC9sYWJlbD5cXG4gICAgICAgICAgICA8dGV4dGFyZWEgaWQ9XFxcImRlc2NyaXB0aW9uXFxcIiBuYW1lPVxcXCJkZXNjcmlwdGlvblxcXCIgbmctbW9kZWw9XFxcImV2ZW50LmRlc2NyaXB0aW9uXFxcIiBwbGFjZWhvbGRlcj1cXFwiRW50ZXIgRGVzY3JpcHRpb24uLi5cXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2wgZXh0ZW5kXFxcIj48L3RleHRhcmVhPlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2PlxcblwiKTtcbiR0ZW1wbGF0ZUNhY2hlLnB1dChcInRlbXBsYXRlcy9kaXJlY3RpdmVzL2V2ZW50Rm9ybS9wYXJ0aWNpcGFudHNGb3JtLmh0bWxcIixcIjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tZGV0YWlsc1xcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInNlY3Rpb24tdGl0bGVcXFwiPkludml0ZSBQYXJ0aWNpcGFudHM8L2Rpdj5cXG48L2Rpdj5cXG48ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLW1haW5cXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwIG9wdGlvbmFsXFxcIj5cXG4gICAgICAgICAgICA8bGFiZWw+UGFydGljaXBhbnRcXCdzIEVtYWlsczwvbGFiZWw+XFxuICAgICAgICAgICAgICAgIDx0YWdzLWlucHV0IG1heC1sZW5ndGg9XFxcIjUwXFxcIiBhbGxvd2VkLXRhZ3MtcGF0dGVybj1cXFwie3tlbWFpbFJlZ2V4fX1cXFwiIGRpc3BsYXktcHJvcGVydHk9XFxcImVtYWlsXFxcIiBuZy1tb2RlbD1cXFwiZXZlbnQuZW1haWxzXFxcIiBwbGFjZWhvbGRlcj1cXFwiQWRkIGFuIEVtYWlsXFxcIiB0eXBlPVxcXCJlbWFpbFxcXCIgYXV0b2NvbXBsZXRlPVxcXCJvZmZcXFwiPjwvdGFncy1pbnB1dD5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG48L3NlY3Rpb24+XFxuXCIpO1xuJHRlbXBsYXRlQ2FjaGUucHV0KFwidGVtcGxhdGVzL2RpcmVjdGl2ZXMvZXZlbnRGb3JtL3NldHRpbmdzRm9ybS5odG1sXCIsXCI8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLWRldGFpbHNcXFwiPlxcbiAgICA8ZGl2IGNsYXNzPVxcXCJzZWN0aW9uLXRpdGxlXFxcIj5TZXR0aW5nczwvZGl2PlxcbjwvZGl2PlxcbjxkaXYgY2xhc3M9XFxcInNlY3Rpb24tbWFpblxcXCI+XFxuICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaC1yb3dcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoLWRldGFpbHNcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInRpdGxlXFxcIj5cXG4gICAgICAgICAgICAgICAgUG9sbCBTdGF0dXNcXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJkZXNjcmlwdGlvblxcXCI+XFxuICAgICAgICAgICAgICAgIExldCBwZW9wbGUgdm90ZSBvbiB0aGUgcG9sbC5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtdmFsdWVcXFwiPlxcbiAgICAgICAgICAgICAgICB7e2V2ZW50LmlzQ2xvc2VkID8gXFwnQ2xvc2VkXFwnIDogXFwnT3BlblxcJyB9fVxcbiAgICAgICAgICAgIDwvZGl2PlxcbiAgICAgICAgICAgIDxkaXYgc3dpdGNoLXRvZ2dsZSBuZy1tb2RlbD1cXFwiZXZlbnQuaXNDbG9zZWRcXFwiIGludmVydD5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoLXJvd1xcXCI+XFxuICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtZGV0YWlsc1xcXCI+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwidGl0bGVcXFwiPlxcbiAgICAgICAgICAgICAgICBOb3RpZmljYXRpb25zXFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGVzY3JpcHRpb25cXFwiPlxcbiAgICAgICAgICAgICAgICBTZW5kIGVtYWlsIG5vdGlmaWNhdGlvbnMgdG8gdGhlIGNyZWF0b3Igb2YgdGhpcyBldmVudC5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJzd2l0Y2gtdmFsdWVcXFwiPlxcbiAgICAgICAgICAgICAgICB7e2V2ZW50LmNyZWF0b3IuYWxsb3dOb3RpZmljYXRpb25zID8gXFwnRW5hYmxlZFxcJyA6IFxcJ0Rpc2FibGVkXFwnIH19XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBzd2l0Y2gtdG9nZ2xlIG5nLW1vZGVsPVxcXCJldmVudC5jcmVhdG9yLmFsbG93Tm90aWZpY2F0aW9uc1xcXCI+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgPC9kaXY+XFxuICAgIDxkaXYgY2xhc3M9XFxcInN3aXRjaC1yb3dcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoLWRldGFpbHNcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcInRpdGxlXFxcIj5cXG4gICAgICAgICAgICAgICAgRGVsZXRlIEV2ZW50XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cXFwiZGVzY3JpcHRpb25cXFwiPlxcbiAgICAgICAgICAgICAgICBPbmNlIHlvdSBkZWxldGUgYW4gZXZlbnQgaXQgd2lsbCBubyBsb25nZXIgYmUgYWNjZXNzaWJsZS5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwic3dpdGNoXFxcIj5cXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XFxcImJ1dHRvblxcXCIgbmctY2xpY2s9XFxcImRlbGV0ZUV2ZW50KClcXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5nLWNsYXNzPVxcXCJ7ZGFuZ2VyIDogIWRlbGV0ZVJlcXVlc3RTZW50LCBkaXNhYmxlZCA6IGRlbGV0ZVJlcXVlc3RTZW50fVxcXCI+e3tkZWxldGVSZXF1ZXN0U2VudCA/IFxcJ1JlcXVlc3QgU2VudFxcJyA6IFxcJ0RlbGV0ZSBFdmVudFxcJyB9fTwvYnV0dG9uPlxcbiAgICAgICAgPC9kaXY+XFxuICAgIDwvZGl2PlxcbjwvZGl2Plxcbjwvc2VjdGlvbj5cXG5cIik7XG4kdGVtcGxhdGVDYWNoZS5wdXQoXCJ0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9ldmVudEZvcm0vdXNlckZvcm0uaHRtbFwiLFwiPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1kZXRhaWxzXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwic2VjdGlvbi10aXRsZVxcXCI+WW91ciBEZXRhaWxzPC9kaXY+XFxuPC9kaXY+XFxuPGRpdiBjbGFzcz1cXFwic2VjdGlvbi1tYWluXFxcIj5cXG4gICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1yb3dcXFwiPlxcbiAgICAgICAgPGRpdiBjbGFzcz1cXFwiZm9ybS1jb2xcXFwiPlxcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tZ3JvdXBcXFwiPlxcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVxcXCJuYW1lXFxcIj5OYW1lPC9sYWJlbD5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImZvcm0tZXJyb3JcXFwiIG5nLXNob3c9XFxcIihmb3JtLm5hbWUuJHRvdWNoZWQgfHwgZm9ybS4kc3VibWl0dGVkKSAmJiBlcnJvcnMubmFtZVxcXCI+XFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cXFwiL2ltYWdlcy9lcnJvci5wbmdcXFwiIHdpZHRoPVxcXCIxNFxcXCIgLz4ge3tlcnJvcnMubmFtZX19XFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IGlkPVxcXCJuYW1lXFxcIiBuYW1lPVxcXCJuYW1lXFxcIiBuZy1tYXhsZW5ndGg9XFxcIjMwXFxcIiByZXF1aXJlZCBuZy1tb2RlbD1cXFwiZXZlbnQuY3JlYXRvci5uYW1lXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBwbGFjZWhvbGRlcj1cXFwiSm9obiBEb2UuLi5cXFwiIGNsYXNzPVxcXCJmb3JtLWNvbnRyb2wgZXh0ZW5kXFxcIi8+XFxuICAgICAgICAgICAgPC9kaXY+XFxuICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDxkaXYgY2xhc3M9XFxcImZvcm0tY29sXFxcIj5cXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVxcXCJmb3JtLWdyb3VwXFxcIj5cXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cXFwiZW1haWxcXFwiPkVtYWlsPC9sYWJlbD5cXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XFxcImZvcm0tZXJyb3JcXFwiIG5nLXNob3c9XFxcIihmb3JtLmVtYWlsLiR0b3VjaGVkIHx8IGZvcm0uJHN1Ym1pdHRlZCkgJiYgZXJyb3JzLmVtYWlsXFxcIj5cXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVxcXCIvaW1hZ2VzL2Vycm9yLnBuZ1xcXCIgd2lkdGg9XFxcIjE0XFxcIiAvPiB7e2Vycm9ycy5lbWFpbH19XFxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XFxcImVtYWlsXFxcIiBpZD1cXFwiZW1haWxcXFwiIG5hbWU9XFxcImVtYWlsXFxcIiBuZy1wYXR0ZXJuPVxcXCJlbWFpbFJlZ2V4XFxcIiByZXF1aXJlZCBuZy1tb2RlbD1cXFwiZXZlbnQuY3JlYXRvci5lbWFpbFxcXCIgcGxhY2Vob2xkZXI9XFxcImpvaG4uZG9lQGVtYWlsLmNvbS4uLlxcXCIgY2xhc3M9XFxcImZvcm0tY29udHJvbCBleHRlbmRcXFwiLz5cXG4gICAgICAgICAgICA8L2Rpdj5cXG4gICAgICAgIDwvZGl2PlxcbiAgICA8L2Rpdj5cXG48L2Rpdj5cXG5cIik7fV0pOyIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmRpcmVjdGl2ZSgnYmFja0ltZycsIGZ1bmN0aW9uKCl7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKHNjb3BlLCBlbGVtZW50LCBhdHRycyl7XG4gICAgICAgIHZhciB1cmwgPSBhdHRycy5iYWNrSW1nO1xuICAgICAgICBlbGVtZW50LmNzcyh7XG4gICAgICAgICAgICAnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoL2ltYWdlcy8nICsgdXJsICsnLnBuZyknXG4gICAgICAgIH0pO1xuICAgIH07XG59KVxuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZGlyZWN0aXZlKCdkYXRlcGlja2VyJywgZnVuY3Rpb24oKXtcbiAgICByZXR1cm4ge1xuICAgICAgICByZXN0cmljdCA6ICdBJyxcbiAgICAgICAgcmVxdWlyZSA6ICduZ01vZGVsJyxcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICBtb2RlbCA6ICc9bmdNb2RlbCcsXG4gICAgICAgICAgICBjb250cm9sIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzLCBuZ01vZGVsKXtcbiAgICAgICAgICAgIHNjb3BlLm1vZGVsID0gc2NvcGUubW9kZWwgfHwgW107XG4gICAgICAgICAgICBhbmd1bGFyLmVsZW1lbnQoZWwpLmRhdGVwaWNrZXIoe1xuICAgICAgICAgICAgICAgIG11bHRpZGF0ZSA6IHRydWUsXG4gICAgICAgICAgICAgICAgdG9kYXlIaWdobGlnaHQ6IHRydWVcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAub24oJ2NoYW5nZURhdGUnLCBmdW5jdGlvbihlKXtcbiAgICAgICAgICAgICAgICB2YXIgZGF0ZXMgPSBlLmRhdGVzO1xuICAgICAgICAgICAgICAgIGRhdGVzLnNvcnQoZnVuY3Rpb24oYSwgYil7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhLmdldFRpbWUoKSA+IGIuZ2V0VGltZSgpKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG5nTW9kZWwuJHNldFZpZXdWYWx1ZShkYXRlcywgZSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdmFyIHVwZGF0ZSA9IGZ1bmN0aW9uKG1vZGVsVmFsdWUsIG9sZFZhbHVlKXtcbiAgICAgICAgICAgICAgICBpZiAoIW1vZGVsVmFsdWUgfHwgIW9sZFZhbHVlIHx8IChtb2RlbFZhbHVlLmxlbmd0aCA9PSBvbGRWYWx1ZS5sZW5ndGgpKSByZXR1cm47XG4gICAgICAgICAgICAgICAgdmFyIGRhdGVzID0gW107XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtb2RlbFZhbHVlLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgICAgICAgICAgZGF0ZXMucHVzaChuZXcgRGF0ZShtb2RlbFZhbHVlW2ldKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFuZ3VsYXIuZWxlbWVudChlbCkuZGF0ZXBpY2tlcignc2V0RGF0ZXMnLCBkYXRlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS4kd2F0Y2hDb2xsZWN0aW9uKCdtb2RlbCcsIHVwZGF0ZSk7XG5cbiAgICAgICAgICAgIHNjb3BlLmNvbnRyb2wgPSBzY29wZS5jb250cm9sIHx8IHt9O1xuICAgICAgICAgICAgc2NvcGUuY29udHJvbC51bnNldERhdGUgPSBmdW5jdGlvbihkYXRlKXtcbiAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSBzY29wZS5tb2RlbC5pbmRleE9mKGRhdGUpO1xuICAgICAgICAgICAgICAgIHNjb3BlLm1vZGVsLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG5nTW9kZWwuJHZhbGlkYXRvcnMucmVxdWlyZWQgPSBmdW5jdGlvbihtb2RlbFZhbHVlLCB2aWV3VmFsdWUpe1xuICAgICAgICAgICAgICAgIGlmICghbW9kZWxWYWx1ZSB8fCBtb2RlbFZhbHVlLmxlbmd0aCA9PSAwKXtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5kaXJlY3RpdmUoJ2Rpc2N1c3Npb24nLCBmdW5jdGlvbigkdGltZW91dCwgQ29tbWVudCwgQ29uZmlybU1vZGFsKXtcbiAgICByZXR1cm4ge1xuICAgICAgICByZXN0cmljdCA6ICdBJyxcbiAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2RpcmVjdGl2ZXMvZGlzY3Vzc2lvbi5odG1sJyxcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICAnZXZlbnQnIDogJz0nXG4gICAgICAgIH0sXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKXtcbiAgICAgICAgICAgIHNjb3BlLmNvbW1lbnQgPSB7fTtcbiAgICAgICAgICAgIHZhciB0aHJlYWQgPSBhbmd1bGFyLmVsZW1lbnQoJy5jb21tZW50LXRocmVhZCcpO1xuICAgICAgICAgICAgJHRpbWVvdXQoZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICB0aHJlYWQuc2Nyb2xsVG9wKHRocmVhZC5wcm9wKCdzY3JvbGxIZWlnaHQnKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHNjb3BlLmRlbGV0ZUNvbW1lbnQgPSBmdW5jdGlvbihjb21tZW50KXtcbiAgICAgICAgICAgICAgICB2YXIgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgOiAnQXJlIHlvdSBzdXJlPycsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlbW92ZSB0aGlzIGNvbW1lbnQ/JyxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlybVRleHQgOiAnWWVzIC0gZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dCA6ICdObyAtIG5ldmVybWluZCcsXG4gICAgICAgICAgICAgICAgICAgIGlzRGVzdHJ1Y3RpdmUgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBjb25maXJtIDogZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIENvbW1lbnQucmVtb3ZlKHsgaWQgOiBzY29wZS5ldmVudC5faWQgLCBjaWQgOiBjb21tZW50Ll9pZCB9LCBmdW5jdGlvbihldmVudCl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuZXZlbnQgPSBldmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS5wb3N0Q29tbWVudCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgaWYgKHNjb3BlLmNvbW1lbnRGb3JtLiR2YWxpZCl7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb21tZW50ID0gbmV3IENvbW1lbnQoc2NvcGUuY29tbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbW1lbnQuJHNhdmUoe2lkOnNjb3BlLmV2ZW50Ll9pZH0sIGZ1bmN0aW9uKGV2ZW50KXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmV2ZW50ID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5jb21tZW50ID0ge307XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzY29wZS5jb21tZW50Rm9ybS4kc2V0UHJpc3RpbmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmRpcmVjdGl2ZSgnZHJvcGRvd24nLCBmdW5jdGlvbigkZG9jdW1lbnQpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlc3RyaWN0IDogJ0EnLFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycyl7XG4gICAgICAgICAgICBlbC5hZGRDbGFzcygnZHJvcGRvd24nKTtcbiAgICAgICAgICAgIHNjb3BlLm9wZW4gPSBmYWxzZTtcblxuICAgICAgICAgICAgdmFyIGNsaWNrSGFuZGxlciA9IGZ1bmN0aW9uKGV2ZW50KXtcbiAgICAgICAgICAgICAgICB2YXIgaXNDbGlja2VkRWxlbWVudENoaWxkT2ZQb3B1cCA9IGVsLmZpbmQoZXZlbnQudGFyZ2V0KS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgICAgIGlmIChpc0NsaWNrZWRFbGVtZW50Q2hpbGRPZlBvcHVwKSByZXR1cm47XG4gICAgICAgICAgICAgICAgc2NvcGUudG9nZ2xlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNjb3BlLnRvZ2dsZSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgc2NvcGUub3BlbiA9ICFzY29wZS5vcGVuO1xuICAgICAgICAgICAgICAgIGlmIChzY29wZS5vcGVuKXtcbiAgICAgICAgICAgICAgICAgICAgZWwuYWRkQ2xhc3MoJ29wZW4nKTtcbiAgICAgICAgICAgICAgICAgICAgJGRvY3VtZW50LmJpbmQoJ2NsaWNrJywgY2xpY2tIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBlbC5yZW1vdmVDbGFzcygnb3BlbicpO1xuICAgICAgICAgICAgICAgICAgICAkZG9jdW1lbnQudW5iaW5kKCdjbGljaycsIGNsaWNrSGFuZGxlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5zZXJ2aWNlKCdGb3JtSGVscGVyJywgZnVuY3Rpb24oKXtcbiAgICB0aGlzLmVtYWlsUmVnZXhTdHJpbmcgPSAnXihbXFxcXHctXFxcXC5dK0AoW1xcXFx3LV0rXFxcXC4pK1tcXFxcdy1dezIsNH0pPyQnO1xuICAgIHRoaXMuZW1haWxSZWdleCA9IG5ldyBSZWdFeHAodGhpcy5lbWFpbFJlZ2V4U3RyaW5nKTtcbiAgICB0aGlzLnByZXR0eUVycm9yID0gZnVuY3Rpb24oZXJyb3JzLCBmaWVsZCl7XG4gICAgICAgIGlmIChlcnJvcnMucmVxdWlyZWQpIHJldHVybiBmaWVsZCArIFwiIGlzIHJlcXVpcmVkXCI7XG4gICAgICAgIGlmIChlcnJvcnMucGF0dGVybikgcmV0dXJuIGZpZWxkICsgXCIgaXMgaW52YWxpZFwiIDtcbiAgICAgICAgaWYgKGVycm9ycy5tYXhsZW5ndGgpIHJldHVybiBmaWVsZCArIFwiIGlzIHRvbyBsb25nXCI7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59KVxuLmRpcmVjdGl2ZSgndXNlckZvcm0nLCBmdW5jdGlvbihGb3JtSGVscGVyKXtcbiAgICByZXR1cm4ge1xuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIGV2ZW50IDogJz0nLFxuICAgICAgICAgICAgZm9ybSA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9ldmVudEZvcm0vdXNlckZvcm0uaHRtbCcsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzKSB7XG4gICAgICAgICAgICBzY29wZS5lcnJvcnMgPSB7fTtcblxuICAgICAgICAgICAgc2NvcGUuZW1haWxSZWdleCA9IEZvcm1IZWxwZXIuZW1haWxSZWdleDtcblxuICAgICAgICAgICAgc2NvcGUuJHdhdGNoQ29sbGVjdGlvbignZm9ybS5uYW1lLiRlcnJvcicsZnVuY3Rpb24oZXJyb3JzKXtcbiAgICAgICAgICAgICAgICBzY29wZS5lcnJvcnMubmFtZSA9IEZvcm1IZWxwZXIucHJldHR5RXJyb3IoZXJyb3JzLCBcIk5hbWVcIik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgc2NvcGUuJHdhdGNoQ29sbGVjdGlvbignZm9ybS5lbWFpbC4kZXJyb3InLGZ1bmN0aW9uKGVycm9ycyl7XG4gICAgICAgICAgICAgICAgc2NvcGUuZXJyb3JzLmVtYWlsID0gRm9ybUhlbHBlci5wcmV0dHlFcnJvcihlcnJvcnMsIFwiRW1haWxcIik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn0pXG4uZGlyZWN0aXZlKCdldmVudEZvcm0nLCBmdW5jdGlvbihGb3JtSGVscGVyKXtcbiAgICByZXR1cm4ge1xuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIGV2ZW50IDogJz0nLFxuICAgICAgICAgICAgZm9ybSA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9ldmVudEZvcm0vZXZlbnRGb3JtLmh0bWwnLFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycykge1xuICAgICAgICAgICAgc2NvcGUuZXJyb3JzID0ge307XG5cbiAgICAgICAgICAgIHNjb3BlLiR3YXRjaENvbGxlY3Rpb24oJ2Zvcm0udGl0bGUuJGVycm9yJyxmdW5jdGlvbihlcnJvcnMpe1xuICAgICAgICAgICAgICAgIHNjb3BlLmVycm9ycy50aXRsZSA9IEZvcm1IZWxwZXIucHJldHR5RXJyb3IoZXJyb3JzLCBcIlRpdGxlXCIpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHNjb3BlLiR3YXRjaENvbGxlY3Rpb24oJ2Zvcm0ubG9jYXRpb24uJGVycm9yJyxmdW5jdGlvbihlcnJvcnMpe1xuICAgICAgICAgICAgICAgIHNjb3BlLmVycm9ycy5sb2NhdGlvbiA9IEZvcm1IZWxwZXIucHJldHR5RXJyb3IoZXJyb3JzLCBcIkxvY2F0aW9uXCIpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgfVxuICAgIH1cbn0pXG4uZGlyZWN0aXZlKCdkYXRlRm9ybScsIGZ1bmN0aW9uKCl7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2NvcGUgOiB7XG4gICAgICAgICAgICBldmVudCA6ICc9JyxcbiAgICAgICAgICAgIGZvcm0gOiAnPSdcbiAgICAgICAgfSxcbiAgICAgICAgdGVtcGxhdGVVcmwgOiAndGVtcGxhdGVzL2RpcmVjdGl2ZXMvZXZlbnRGb3JtL2RhdGVGb3JtLmh0bWwnXG4gICAgfVxufSlcbi5kaXJlY3RpdmUoJ3BhcnRpY2lwYW50c0Zvcm0nLCBmdW5jdGlvbihGb3JtSGVscGVyKXtcbiAgICByZXR1cm4ge1xuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIGV2ZW50IDogJz0nLFxuICAgICAgICAgICAgZm9ybSA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9ldmVudEZvcm0vcGFydGljaXBhbnRzRm9ybS5odG1sJyxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMpe1xuICAgICAgICAgICAgc2NvcGUuZW1haWxSZWdleCA9IEZvcm1IZWxwZXIuZW1haWxSZWdleFN0cmluZztcbiAgICAgICAgfVxuICAgIH1cbn0pXG4uZGlyZWN0aXZlKCdzZXR0aW5nc0Zvcm0nLCBmdW5jdGlvbihFdmVudCwgQ29uZmlybU1vZGFsKXtcbiAgICByZXR1cm4ge1xuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgIGV2ZW50IDogJz0nLFxuICAgICAgICAgICAgZm9ybSA6ICc9J1xuICAgICAgICB9LFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9ldmVudEZvcm0vc2V0dGluZ3NGb3JtLmh0bWwnLFxuICAgICAgICBsaW5rIDogZnVuY3Rpb24oc2NvcGUsIGVsLCBhdHRycyl7XG4gICAgICAgICAgICBzY29wZS5kZWxldGVFdmVudCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgaWYgKHNjb3BlLmRlbGV0ZVJlcXVlc3RTZW50KSByZXR1cm47XG4gICAgICAgICAgICAgICAgRXZlbnQuZGVsZXRlKHsnaWQnIDogc2NvcGUuZXZlbnQuX2lkfSwgZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgc2NvcGUuZGVsZXRlUmVxdWVzdFNlbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlIDogJ0RlbGV0ZSBSZXF1ZXN0IFNlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdBbiBlbWFpbCBoYXMgYmVlbiBzZW50IHRvIHRoZSBjcmVhdG9yIG9mIHRoaXMgZXZlbnQgd2l0aCBpbnN0cnVjdGlvbnMgdG8gZGVsZXRlIGl0LicsXG4gICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0IDogJ09LJ1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0pXG4uZGlyZWN0aXZlKCdzd2l0Y2hUb2dnbGUnLCBmdW5jdGlvbigpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlIDoge1xuICAgICAgICAgICAgbW9kZWwgOiAnPW5nTW9kZWwnXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmUgOiAnbmdNb2RlbCcsXG4gICAgICAgIGxpbmsgOiBmdW5jdGlvbihzY29wZSwgZWwsIGF0dHJzLCBuZ01vZGVsKSB7XG4gICAgICAgICAgICBlbC5hZGRDbGFzcygnc3dpdGNoLXRvZ2dsZScpO1xuICAgICAgICAgICAgdmFyIHNldENsYXNzID0gZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICBpZiAoc2NvcGUubW9kZWwgXiB0eXBlb2YoYXR0cnMuaW52ZXJ0KSAhPT0gJ3VuZGVmaW5lZCcpe1xuICAgICAgICAgICAgICAgICAgICBlbC5hZGRDbGFzcygnYWN0aXZlJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZWwucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLiR3YXRjaCgnbW9kZWwnLCBzZXRDbGFzcyk7XG4gICAgICAgICAgICBlbC5iaW5kKCdjbGljaycsIGZ1bmN0aW9uKGUpe1xuICAgICAgICAgICAgICAgIHNjb3BlLm1vZGVsID0gIXNjb3BlLm1vZGVsO1xuICAgICAgICAgICAgICAgIG5nTW9kZWwuJHNldFZpZXdWYWx1ZShzY29wZS5tb2RlbCwgZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZGlyZWN0aXZlKCdwb2xsJywgZnVuY3Rpb24oJHRpbWVvdXQsIFBhcnRpY2lwYW50LCBDb25maXJtTW9kYWwpe1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlc3RyaWN0IDogJ0EnLFxuICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvZGlyZWN0aXZlcy9wb2xsLmh0bWwnLFxuICAgICAgICBzY29wZSA6IHtcbiAgICAgICAgICAgICdldmVudCcgOiAnPSdcbiAgICAgICAgfSxcbiAgICAgICAgbGluayA6IGZ1bmN0aW9uKHNjb3BlLCBlbCwgYXR0cnMpe1xuICAgICAgICAgICAgc2NvcGUuZGVmYXVsdHMgPSBbXTtcbiAgICAgICAgICAgIHNjb3BlLnBhcnRpY2lwYW50ID0ge307XG4gICAgICAgICAgICB2YXIgZGF0ZXNDb3VudCA9IFtdO1xuICAgICAgICAgICAgdmFyIHVuYmluZExpc3RlbmVyO1xuICAgICAgICAgICAgc2NvcGUuZXZlbnQuJHByb21pc2UudGhlbihmdW5jdGlvbihldmVudCl7XG4gICAgICAgICAgICAgICAgdmFyIGV4YW1wbGVzTmFtZXMgPSBbJ0pvaG4gRXhhbXBsZScsICdKYW5lIFNwZWNpbWVuJywnTWFyayBJbnN0YW5jZScsICdNYXJ5IENhc2UnXTtcbiAgICAgICAgICAgICAgICB2YXIgZXhhbXBsZXMgPSBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV4YW1wbGVzTmFtZXMubGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgICAgICAgICB2YXIgZXhhbXBsZSA9IHsgbmFtZSA6IGV4YW1wbGVzTmFtZXNbaV0gfTtcbiAgICAgICAgICAgICAgICAgICAgZXhhbXBsZS5kYXRlcyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8ICBldmVudC5kYXRlcy5sZW5ndGg7IGorKyl7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgYW5zd2VyID0gTWF0aC5yYW5kb20oKTwuNTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGUuZGF0ZXNbal0gPSBhbnN3ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZXhhbXBsZXMucHVzaChleGFtcGxlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2NvcGUuZXhhbXBsZXMgPSBleGFtcGxlcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBzY29wZS5kZWxldGUgPSBmdW5jdGlvbihwYXJ0aWNpcGFudCl7XG4gICAgICAgICAgICAgICAgdmFyIG1vZGFsID0gbmV3IENvbmZpcm1Nb2RhbCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlIDogJ0RlbGV0ZSAnICsgcGFydGljaXBhbnQubmFtZSArICc/JyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVtb3ZlICcrcGFydGljaXBhbnQubmFtZSsnIGZyb20gdGhlIHBvbGw/JyxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlybVRleHQgOiAnWWVzIC0gZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dCA6ICdObyAtIG5ldmVybWluZCcsXG4gICAgICAgICAgICAgICAgICAgIGlzRGVzdHJ1Y3RpdmUgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBjb25maXJtIDogZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIFBhcnRpY2lwYW50LnJlbW92ZSh7IGlkIDogc2NvcGUuZXZlbnQuX2lkICwgcGlkIDogcGFydGljaXBhbnQuX2lkIH0sIGZ1bmN0aW9uKGV2ZW50KXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5ldmVudCA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLmlzVG9wRGF0ZSA9IGZ1bmN0aW9uKGluZGV4KXtcbiAgICAgICAgICAgICAgICB2YXIgY291bnQgPSBkYXRlc0NvdW50W2luZGV4XTtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGVzQ291bnQubGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0ZXNDb3VudFtpXSA+IGNvdW50KSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2NvcGUuc2VsZWN0ZWREYXRlID0gZnVuY3Rpb24oaW5kZXgpe1xuICAgICAgICAgICAgICAgIGRhdGVzQ291bnRbaW5kZXhdID0gMDtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNjb3BlLmV2ZW50LnBhcnRpY2lwYW50cy5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzY29wZS5ldmVudC5wYXJ0aWNpcGFudHNbaV0uZGF0ZXNbaW5kZXhdKSBkYXRlc0NvdW50W2luZGV4XSsrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZXNDb3VudFtpbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS51cGRhdGUgPSBmdW5jdGlvbihwYXJ0aWNpcGFudCl7XG4gICAgICAgICAgICAgICAgUGFydGljaXBhbnQudXBkYXRlKHtcbiAgICAgICAgICAgICAgICAgICAgaWQgOiBzY29wZS5ldmVudC5faWQsXG4gICAgICAgICAgICAgICAgICAgIHBpZCA6IHBhcnRpY2lwYW50Ll9pZFxuICAgICAgICAgICAgICAgIH0sIHBhcnRpY2lwYW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLmVkaXQgPSBmdW5jdGlvbihwYXJ0aWNpcGFudCl7XG4gICAgICAgICAgICAgICAgc2NvcGUuZGVmYXVsdHNbc2NvcGUuZXZlbnQucGFydGljaXBhbnRzLmluZGV4T2YocGFydGljaXBhbnQpXSA9IGFuZ3VsYXIuY29weShwYXJ0aWNpcGFudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZS5jYW5jZWwgPSBmdW5jdGlvbihpbmRleCl7XG4gICAgICAgICAgICAgICAgc2NvcGUuZXZlbnQucGFydGljaXBhbnRzW2luZGV4XSA9IHNjb3BlLmRlZmF1bHRzW2luZGV4XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNjb3BlLnNhdmUgPSBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIGlmIChzY29wZS5mb3JtbmV3LiR2YWxpZCl7XG4gICAgICAgICAgICAgICAgICAgIHZhciBwYXJ0aWNpcGFudCA9IG5ldyBQYXJ0aWNpcGFudChzY29wZS5wYXJ0aWNpcGFudCk7XG4gICAgICAgICAgICAgICAgICAgIHBhcnRpY2lwYW50LiRzYXZlKHtpZDpzY29wZS5ldmVudC5faWR9LCBmdW5jdGlvbihldmVudCl7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5ldmVudCA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUucGFydGljaXBhbnQgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHNjb3BlLmZvcm1uZXcuJHNldFByaXN0aW5lKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdBYm91dEN0cmwnLCBmdW5jdGlvbihUaXRsZSl7XG4gICAgVGl0bGUuc2V0KCdBYm91dCBSYWxsbHknKVxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdBY2NvdW50Q3RybCcsIGZ1bmN0aW9uKCRzY29wZSwgQ29uZmlybU1vZGFsKXtcbiAgICAkc2NvcGUuc2hvd05vdGljZSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgIFxuICAgIH1cbn0pXG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdEZWxldGlvbkN0cmwnLCBmdW5jdGlvbigkc3RhdGUsIE5vdGlmaWNhdGlvbiwgRXZlbnQpe1xuICAgIEV2ZW50LmRlc3Ryb3koe2lkIDogJHN0YXRlLnBhcmFtcy5pZCwgY29kZSA6JHN0YXRlLnBhcmFtcy5jb2RlfSwgZnVuY3Rpb24oKXtcbiAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgdGl0bGUgOiAnRXZlbnQgZGVsZXRlZCcsXG4gICAgICAgICAgICBtZXNzYWdlIDogJ1RoaXMgZXZlbnQgaGFzIGJlZW4gZGVsZXRlZCcsXG4gICAgICAgICAgICB0eXBlIDogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgdGltZW91dCA6IDUwMDBcbiAgICAgICAgfSk7XG4gICAgfSwgZnVuY3Rpb24oZSl7XG4gICAgICAgIHZhciBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgIHRpdGxlIDogJ0RlbGV0aW9uIEZhaWxlZCcsXG4gICAgICAgICAgICBtZXNzYWdlIDogJ1RoZSBldmVudCBjb3VsZCBub3QgYmUgZGVsZXRlZC4gTWFrZSBzdXJlIHRoYXQgaXQgZXhpc3RzIGFuZCB0aGF0IHRoZSB1cmwgaXMgY29ycmVjdCcsXG4gICAgICAgICAgICB0eXBlIDogJ2Vycm9yJ1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICAkc3RhdGUuZ28oJ2V2ZW50JywgeyBpZCA6ICRzdGF0ZS5wYXJhbXMuaWQgfSk7XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ0VkaXRFdmVudEN0cmwnLCBmdW5jdGlvbigkc2NvcGUsICRodHRwLCAkc3RhdGUsICR0aW1lb3V0LCBFdmVudCwgQ29uZmlybU1vZGFsLCBOb3RpZmljYXRpb24sIFRpdGxlKXtcbiAgICB2YXIgaWQgPSAkc3RhdGUucGFyYW1zLmlkXG4gICAgJHNjb3BlLmV2ZW50ID0gRXZlbnQuZ2V0KHtpZDppZH0sIGZ1bmN0aW9uKGRhdGEpe1xuICAgICAgICBUaXRsZS5zZXQoXCJFZGl0OiBcIiArICRzY29wZS5ldmVudC50aXRsZSk7XG4gICAgICAgICRzY29wZS5tYXN0ZXIgPSBhbmd1bGFyLmNvcHkoJHNjb3BlLmV2ZW50KTtcbiAgICB9LCBmdW5jdGlvbihlKXtcbiAgICAgICAgJHN0YXRlLmdvKCdub3Rmb3VuZCcpO1xuICAgIH0pO1xuICAgICRzY29wZS51bmRvQ2hhbmdlcyA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICRzY29wZS5ldmVudCA9IGFuZ3VsYXIuY29weSgkc2NvcGUubWFzdGVyKTtcbiAgICB9XG4gICAgJHNjb3BlLmRpZENoYW5nZSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSgkc2NvcGUubWFzdGVyKSAhPSBKU09OLnN0cmluZ2lmeSgkc2NvcGUuZXZlbnQpO1xuICAgIH1cbiAgICAkc2NvcGUuZGlkQ2hhbmdlRGF0ZXMgPSBmdW5jdGlvbigpe1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoJHNjb3BlLm1hc3Rlci5kYXRlcykgIT0gSlNPTi5zdHJpbmdpZnkoJHNjb3BlLmV2ZW50LmRhdGVzKTtcbiAgICB9XG4gICAgJHNjb3BlLnN1Ym1pdCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgIGlmICgkc2NvcGUuZm9ybS4kdmFsaWQpe1xuICAgICAgICAgICAgaWYgKCRzY29wZS5kaWRDaGFuZ2VEYXRlcygpICl7XG4gICAgICAgICAgICAgICAgdmFyIG1vZGFsID0gbmV3IENvbmZpcm1Nb2RhbCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlIDogJ0hvbGQgdXAhJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdDaGFuZ2luZyB0aGUgZGF0ZXMgd2lsbCByZXNldCBhbGwgZW50cmllcyBieSB0aGUgcGFydGljaXBhbnRzLiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZG8gdGhhdD8nLFxuICAgICAgICAgICAgICAgICAgICBjb25maXJtVGV4dCA6ICdZZXMsIElcXCdtIHN1cmUnLFxuICAgICAgICAgICAgICAgICAgICBpc0Rlc3RydWN0aXZlIDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlybSA6IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZXZlbnQucGFydGljaXBhbnRzID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHVwZGF0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgICAgIHRpdGxlIDogJ05vdCBzbyBmYXN0JyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ01ha2Ugc3VyZSB5b3UgZmlsbCBpbiBhbGwgdGhlIHJlcXVpcmVkIGZpZWxkcyBhbmQgdHJ5IGFnYWluLicsXG4gICAgICAgICAgICAgICAgdHlwZSA6ICdlcnJvcidcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHZhciB1cGRhdGUgPSBmdW5jdGlvbigpe1xuICAgICAgICBFdmVudC51cGRhdGUoe1xuICAgICAgICAgICAgaWQgOiBpZFxuICAgICAgICB9LCAkc2NvcGUuZXZlbnQsXG4gICAgICAgIGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICAgICAgdGl0bGUgOiAnQ2hhbmdlcyBTYXZlZCcsXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdZb3VyIGNoYW5nZXMgaGF2ZSBiZWVuIHNhdmVkIHN1Y2Nlc3NmdWxseS4nLFxuICAgICAgICAgICAgICAgIHR5cGUgOiAnc3VjY2VzcydcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgJHNjb3BlLm1hc3RlciA9IGFuZ3VsYXIuY29weSgkc2NvcGUuZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ0V2ZW50Q3RybCcsIGZ1bmN0aW9uKCRzY29wZSwgJGh0dHAsICRzdGF0ZSwgVGl0bGUsIEV2ZW50LCBDb25maXJtTW9kYWwpe1xuICAgIHZhciBpZCA9ICRzdGF0ZS5wYXJhbXMuaWQ7XG4gICAgLy8gR2V0IEV2ZW50XG4gICAgJHNjb3BlLmV2ZW50ID0gRXZlbnQuZ2V0KHtpZDppZH0sIGZ1bmN0aW9uKGRhdGEpe1xuICAgICAgICAvLyBTZXQgdGhlIHBhZ2UgdGl0bGUgdG8gdGhlIGV2ZW50IHRpdGxlICAgICAgICBcbiAgICAgICAgVGl0bGUuc2V0KCRzY29wZS5ldmVudC50aXRsZSk7XG4gICAgICAgIC8vIEdlbmVyYXRlIGV2ZW50IHVybCAtIGkuZS4gaHR0cDovL3JhbGxseS5jby9qRjlGX0ZkXG4gICAgICAgICRzY29wZS5ldmVudFVybCA9ICRzdGF0ZS5ocmVmKCdldmVudCcsIHtcbiAgICAgICAgICAgIGlkOiAkc2NvcGUuZXZlbnQuX2lkXG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIGFic29sdXRlIDogdHJ1ZVxuICAgICAgICB9KTtcbiAgICB9LCBmdW5jdGlvbihlKXtcbiAgICAgICAgJHN0YXRlLmdvKCdub3Rmb3VuZCcpO1xuICAgIH0pO1xuXG4gICAgJHNjb3BlLm9wZW5FdmVudCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICRzY29wZS5ldmVudC5pc0Nsb3NlZCA9IGZhbHNlO1xuICAgICAgICBFdmVudC51cGRhdGUoe1xuICAgICAgICAgICAgaWQgOiBpZFxuICAgICAgICB9LCAkc2NvcGUuZXZlbnQsXG4gICAgICAgIGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB2YXIgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKHtcbiAgICAgICAgICAgICAgICB0aXRsZSA6ICdFdmVudCBPcGVuJyxcbiAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ1Blb3BsZSBjYW4gdm90ZSBhbmQgY29tbWVudCBvbiB0aGlzIGV2ZW50LicsXG4gICAgICAgICAgICAgICAgY2FuY2VsVGV4dCA6ICdPSycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgJHNjb3BlLmNsb3NlRXZlbnQgPSBmdW5jdGlvbigpe1xuICAgICAgICAkc2NvcGUuZXZlbnQuaXNDbG9zZWQgPSB0cnVlO1xuICAgICAgICBFdmVudC51cGRhdGUoe1xuICAgICAgICAgICAgaWQgOiBpZFxuICAgICAgICB9LCAkc2NvcGUuZXZlbnQsXG4gICAgICAgIGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB2YXIgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKHtcbiAgICAgICAgICAgICAgICB0aXRsZSA6ICdFdmVudCBDbG9zZWQnLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgOiAnUGVvcGxlIGNhbiBubyBsb25nZXIgdm90ZSBvciBjb21tZW50IG9uIHRoaXMgZXZlbnQuJyxcbiAgICAgICAgICAgICAgICBjYW5jZWxUZXh0IDogJ09LJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAkc2NvcGUuZWRpdEV2ZW50ID0gZnVuY3Rpb24oKXtcbiAgICAgICAgJHN0YXRlLmdvKCdlZGl0ZXZlbnQnLCB7IGlkIDogJHNjb3BlLmV2ZW50Ll9pZCB9KTtcbiAgICB9XG5cbn0pO1xuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uY29udHJvbGxlcignSG9tZUN0cmwnLCBmdW5jdGlvbigkc2NvcGUsICRzdGF0ZSwgVGl0bGUpe1xuICAgIFRpdGxlLnNldCgnUmFsbGx5IC0gQ29sbGFib3JhdGl2ZSBTY2hlZHVsaW5nJylcblxuICAgICRzY29wZS5uZXdFdmVudCA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICRzdGF0ZS5nbygnbmV3ZXZlbnQnKTtcbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmNvbnRyb2xsZXIoJ05hdmlnYXRpb25DdHJsJywgZnVuY3Rpb24oJHNjb3BlLCAkbG9jYXRpb24pe1xuICAgICRzY29wZS5pc0FjdGl2ZSA9IGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgICAgaWYgKCRsb2NhdGlvbi5wYXRoKCkgPT0gcGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgfVxuICAgIH1cbn0pXG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdOZXdFdmVudEN0cmwnLCBmdW5jdGlvbigkc2NvcGUsICRodHRwLCAkc3RhdGUsIEV2ZW50LCBDb25maXJtTW9kYWwsIE5vdGlmaWNhdGlvbil7XG5cbiAgICAkc2NvcGUudGl0bGUgPSBcIlNjaGVkdWxlIGEgTmV3IEV2ZW50XCI7XG4gICAgJHNjb3BlLmRlc2NyaXB0aW9uID0gXCJGaWxsIGluIHRoZSBmb3JtIGJlbG93IHRvIGNyZWF0ZSB5b3VyIGV2ZW50IGFuZCBzaGFyZSBpdCB3aXRoIHlvdXIgZnJpZW5kcyBhbmQgY29sbGVhZ3Vlcy5cIjtcblxuICAgICRzY29wZS5zdWJtaXQgPSBmdW5jdGlvbigpe1xuICAgICAgICBpZiAoJHNjb3BlLmZvcm0uJHZhbGlkKXtcbiAgICAgICAgICAgICRodHRwLnBvc3QoJy9hcGkvZXZlbnQnLCAkc2NvcGUuZXZlbnQpXG4gICAgICAgICAgICAuc3VjY2VzcyhmdW5jdGlvbihldmVudCwgc3RhdHVzLCBoZWFkZXJzLCBjb25maWcpe1xuICAgICAgICAgICAgICAgICRzY29wZS5ldmVudCA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICRzY29wZS5ldmVudFVybCA9ICRzdGF0ZS5ocmVmKCdldmVudCcsIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICRzY29wZS5ldmVudC5faWRcbiAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgIGFic29sdXRlIDogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5lcnJvcihmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIHZhciBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwoe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSA6ICdVaCBvaCEnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlIDogJ1RoZXJlIHdhcyBhbiBlcnJvciBjcmVhdGluZyB5b3VyIGV2ZW50LiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLicsXG4gICAgICAgICAgICAgICAgICAgIGNhbmNlbFRleHQgOiAnT0snXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKHtcbiAgICAgICAgICAgICAgICB0aXRsZSA6ICdOb3Qgc28gZmFzdCcsXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA6ICdNYWtlIHN1cmUgeW91IGZpbGwgaW4gYWxsIHRoZSByZXF1aXJlZCBmaWVsZHMgYW5kIHRyeSBhZ2Fpbi4nLFxuICAgICAgICAgICAgICAgIHR5cGUgOiAnZXJyb3InXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICRzY29wZS5jbGVhckRhdGVzID0gbnVsbFxufSk7XG4iLCJhbmd1bGFyLm1vZHVsZSgncmFsbGx5Jylcbi5jb250cm9sbGVyKCdWZXJpZmljYXRpb25DdHJsJywgZnVuY3Rpb24oRXZlbnQsIE5vdGlmaWNhdGlvbiwgJHN0YXRlKXtcbiAgICBFdmVudC52ZXJpZnkoe2lkIDogJHN0YXRlLnBhcmFtcy5pZCwgY29kZSA6JHN0YXRlLnBhcmFtcy5jb2RlfSwgZnVuY3Rpb24oKXtcbiAgICAgICAgdmFyIG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oe1xuICAgICAgICAgICAgdGl0bGUgOiAnRW1haWwgVmVyaWZpZWQnLFxuICAgICAgICAgICAgbWVzc2FnZSA6ICdZb3VyIGVtYWlsIGhhcyBiZWVuIHZlcmlmaWVkLiBZb3Ugd2lsbCBub3cgYmUgYWJsZSB0byByZWNlaXZlIGVtYWlsIG5vdGlmaWNhdGlvbnMgZm9yIHRoaXMgZXZlbnQnLFxuICAgICAgICAgICAgdHlwZSA6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgIHRpbWVvdXQgOiA1MDAwXG4gICAgICAgIH0pO1xuICAgIH0sIGZ1bmN0aW9uKGUpe1xuICAgICAgICB2YXIgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbih7XG4gICAgICAgICAgICB0aXRsZSA6ICdWZXJpZmljYXRpb24gRmFpbGVkJyxcbiAgICAgICAgICAgIG1lc3NhZ2UgOiAnWW91ciB2ZXJpZmljYXRpb24gY29kZSBoYXMgZXhwaXJlZC4nLFxuICAgICAgICAgICAgdHlwZSA6ICdlcnJvcidcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgJHN0YXRlLmdvKCdldmVudCcsIHsgaWQgOiAkc3RhdGUucGFyYW1zLmlkIH0pO1xuXG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmZpbHRlcignZWxhcHNlZCcsIGZ1bmN0aW9uKCRmaWx0ZXIpe1xuICAgIHJldHVybiBmdW5jdGlvbihkYXRlKXtcbiAgICAgICAgaWYgKCFkYXRlKSByZXR1cm47XG4gICAgICAgIHZhciB0aW1lID0gRGF0ZS5wYXJzZShkYXRlKSxcbiAgICAgICAgICAgIHRpbWVOb3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSxcbiAgICAgICAgICAgIGRpZmZlcmVuY2UgPSB0aW1lTm93IC0gdGltZSxcbiAgICAgICAgICAgIHNlY29uZHMgPSBNYXRoLmZsb29yKGRpZmZlcmVuY2UgLyAxMDAwKSxcbiAgICAgICAgICAgIG1pbnV0ZXMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MCksXG4gICAgICAgICAgICBob3VycyA9IE1hdGguZmxvb3IobWludXRlcyAvIDYwKSxcbiAgICAgICAgICAgIGRheXMgPSBNYXRoLmZsb29yKGhvdXJzIC8gMjQpO1xuICAgICAgICBpZiAoZGF5cyA+IDMwKSB7XG4gICAgICAgICAgICByZXR1cm4gJ29uICcgKyAkZmlsdGVyKCdkYXRlJykoZGF0ZSwgJ01NTU0gZCcpO1xuICAgICAgICB9IGVsc2UgaWYgKGRheXMgPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF5cyArIFwiIGRheXMgYWdvXCI7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF5cyA9PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gXCIxIGRheSBhZ29cIlxuICAgICAgICB9IGVsc2UgaWYgKGhvdXJzID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuIGhvdXJzICsgXCIgaG91cnMgYWdvXCI7XG4gICAgICAgIH0gZWxzZSBpZiAoaG91cnMgPT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYW4gaG91ciBhZ29cIjtcbiAgICAgICAgfSBlbHNlIGlmIChtaW51dGVzID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG1pbnV0ZXMgKyBcIiBtaW51dGVzIGFnb1wiO1xuICAgICAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPT0gMSl7XG4gICAgICAgICAgICByZXR1cm4gXCJhIG1pbnV0ZSBhZ29cIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBcImEgZmV3IHNlY29uZHMgYWdvXCI7XG4gICAgICAgIH1cbiAgICB9XG59KVxuIiwiYW5ndWxhci5tb2R1bGUoJ3JhbGxseScpXG4uZmFjdG9yeSgnQ29uZmlybU1vZGFsJywgZnVuY3Rpb24oYnRmTW9kYWwpe1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uKGNvbmZpZyl7XG4gICAgICAgIHZhciBtb2RhbDtcbiAgICAgICAgbW9kYWwgPSBidGZNb2RhbCh7XG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvY29uZmlybW1vZGFsLmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlckFzIDogJ21vZGFsJyxcbiAgICAgICAgICAgIGNvbnRyb2xsZXIgOiBmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIHRoaXMudGl0bGUgPSBjb25maWcudGl0bGVcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBjb25maWcubWVzc2FnZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm0gPSAoY29uZmlnLmNvbmZpcm0pID8gZnVuY3Rpb24oKXtjb25maWcuY29uZmlybSgpOyBtb2RhbC5kZWFjdGl2YXRlKCl9IDogZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jYW5jZWwgPSBtb2RhbC5kZWFjdGl2YXRlO1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlybVRleHQgPSBjb25maWcuY29uZmlybVRleHQgfHwgJ0NvbmZpcm0nO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FuY2VsVGV4dCA9IGNvbmZpZy5jYW5jZWxUZXh0IHx8ICdDYW5jZWwnO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEZXN0cnVjdGl2ZSA9IGNvbmZpZy5pc0Rlc3RydWN0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbW9kYWwuYWN0aXZhdGUoKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuZGVzdHJveSA9IGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBtb2RhbC5kZWFjdGl2YXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiIsImFuZ3VsYXIubW9kdWxlKCdyYWxsbHknKVxuLmZhY3RvcnkoJ05vdGlmaWNhdGlvbicsIGZ1bmN0aW9uKCR0aW1lb3V0LCBidGZNb2RhbCl7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGNvbmZpZyl7XG4gICAgICAgIHZhciBtb2RhbDtcbiAgICAgICAgbW9kYWwgPSBidGZNb2RhbCh7XG4gICAgICAgICAgICB0ZW1wbGF0ZVVybCA6ICd0ZW1wbGF0ZXMvbm90aWZpY2F0aW9uLmh0bWwnLFxuICAgICAgICAgICAgY29udHJvbGxlckFzIDogJ25vdGlmaWNhdGlvbicsXG4gICAgICAgICAgICBjb250cm9sbGVyIDogZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICAgICB0aGlzLnRpdGxlID0gY29uZmlnLnRpdGxlXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gY29uZmlnLm1lc3NhZ2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZSA9IG1vZGFsLmRlYWN0aXZhdGU7XG4gICAgICAgICAgICAgICAgdGhpcy50eXBlID0gY29uZmlnLnR5cGU7XG4gICAgICAgICAgICAgICAgdmFyIHRpbWVvdXQgPSBjb25maWcudGltZW91dCB8fCA1MDAwO1xuICAgICAgICAgICAgICAgICR0aW1lb3V0KG1vZGFsLmRlYWN0aXZhdGUsIHRpbWVvdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbW9kYWwuYWN0aXZhdGUoKTtcblxuICAgICAgICB0aGlzLmRlc3Ryb3kgPSBmdW5jdGlvbigpe1xuICAgICAgICAgICAgbW9kYWwuZGVhY3RpdmF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxufSk7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= \ No newline at end of file diff --git a/public/css/style.css b/public/css/style.css index 315a63c2d..6f735fc01 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 0 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:inset 0 0 2px rgba(0,0,0,0.1)}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:3px;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;box-shadow:0 0 3px rgba(90,196,229,0.5);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;padding:20px 25px;box-shadow:0 0 1px #D9DDE3}.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:last-child{margin-bottom:40px}.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: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:450px;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}.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:#6EBC48}.datepicker .day.active:after{opacity:1;background:rgba(110,188,72,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 .placeholder{line-height:1.125em;font-size:0.75em;color:#ccc}.daticon-list li{margin:5px;display:inline-block}.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 .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.5);text-align:center}.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;border-width:2px !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:#6EBC48}.switch-toggle.active:after{left:100%;margin-left:-18px}.notification{position:fixed;top:0;left:0;width:100%;z-index:3000;padding:12px 40px;background:#828B9A;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:#6EBC48}.notification.error{background:#E06488}.notification.ng-enter{top:-100px;opacity:0}.notification.ng-enter-active{top:0;opacity:1}.notification.ng-leave-active{top:-100px;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}.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%;margin-top:-30px}.event-header .avatar{display:inline-block;margin-right:20px;text-align:center;border-radius:1px;box-shadow:0 0 0 5px white,0 0 0 6px #D9DDE3,inset 0 0 0 1px #D9DDE3;padding:20px;background:#F5F6F8;vertical-align:bottom}.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:#6EBC48}.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;margin-top:30px}.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 0 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:inset 0 0 2px rgba(0,0,0,0.1)}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:3px;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;box-shadow:0 0 3px rgba(90,196,229,0.5);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;padding:20px 25px;box-shadow:0 0 1px #D9DDE3}.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:last-child{margin-bottom:40px}.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: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:450px;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}.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:#6EBC48}.datepicker .day.active:after{opacity:1;background:rgba(110,188,72,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 .placeholder{line-height:1.125em;font-size:0.75em;color:#ccc}.daticon-list li{margin:5px;display:inline-block}.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%;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;border-width:2px !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:#6EBC48}.switch-toggle.active:after{left:100%;margin-left:-18px}.notification{position:fixed;top:0;left:0;width:100%;z-index:3000;padding:12px 40px;background:#828B9A;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:#6EBC48}.notification.error{background:#E06488}.notification.ng-enter{top:-100px;opacity:0}.notification.ng-enter-active{top:0;opacity:1}.notification.ng-leave-active{top:-100px;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}.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%;margin-top:-30px}.event-header .avatar{display:inline-block;margin-right:20px;text-align:center;border-radius:1px;box-shadow:0 0 0 5px white,0 0 0 6px #D9DDE3,inset 0 0 0 1px #D9DDE3;padding:20px;background:#F5F6F8;vertical-align:bottom}.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:#6EBC48}.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;margin-top:30px}.event-header:hover .actions{visibility:visible} /*# 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 26e2a5ed7..390b11f9e 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","bourbon/css3/_linear-gradient.scss","partials/_topbar.scss","partials/ui/_animations.scss","partials/ui/_buttons.scss","partials/ui/_form.scss","neat/grid/_row.scss","bourbon/addons/_clearfix.scss","neat/grid/_span-columns.scss","bourbon/css3/_placeholder.scss","partials/ui/_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/pages/_home.scss","partials/pages/_event.scss"],"names":[],"mappings":"qiDAAA,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,MAEX,KACI,WDJa,QCKb,MDFO,QCGP,UATQ,OAWZ,iBACI,MAde,KAef,UAbQ,MAcR,MAAO,OAAX,iBAAiB,SAET,MAlBW,KAmBX,QAAS,QAIjB,cACI,WDnBa,QCoBb,WAAW,MAAf,cAAc,WAEN,SAAS,SACT,QAAS,qBACT,MAAM,KACN,WAAY,OAIpB,SACI,MAAM,KACN,WAAY,0BACZ,OApCa,KAqCb,YArCa,MCCjB,iBACI,SAAS,MACT,MAAM,KACN,QAAS,MAAb,iBAAiB,SAET,UAAU,MACV,WFRQ,QESR,OAAQ,QAChB,iBAAiB,MAET,QAAQ,aACR,eAAe,OACf,WAdI,MAgBZ,iBAAiB,YAET,QAAQ,aACR,eAAe,OACf,YAAa,KACb,WArBI,MAqBZ,iBAAiB,YAAY,OAEjB,QAAQ,EACR,OAAO,EACP,WAAY,KACZ,QAAQ,cAApB,iBAAiB,YAAY,OAAO,GAEpB,QAAQ,aACR,aAAa,QAC7B,iBAAiB,YAAY,OAAO,EAEpB,gBAAiB,KACjB,MAAO,QACP,YAAa,KACb,YAAa,MACb,UAAW,SACX,QAAS,KAAzB,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,eAE7C,iBAAiB,YAAY,OAAO,EAAE,MAElB,eAAe,QACnC,iBAAiB,YAAY,OAAO,EAAE,MAElB,QAAQ,aACR,eAAe,OACf,aAAc,IACd,MAAM,KACN,OAAO,KACP,gBAAiB,WAKrC,iBAAiB,YAET,QAAQ,aACR,MAAM,MACN,QAAS,MAAjB,iBAAiB,YAAY,EAGjB,QAAQ,MHjEZ,mBIJW,kCJSX,gBITW,kCJwBX,WIxBW,kCDuEP,MAAM,QACN,WAAW,OACX,cAAe,IE5CzB,iBAPiB,QAQjB,iBAAkB,0CAClB,iBAAkB,kCF4CR,gBAAgB,KAChB,UAAU,KACV,YAAa,KAEb,QAAS,oBAGrB,iBAAiB,YAAY,CAAC,QAEd,WAA0C,mDAC1D,iBAAiB,YAAY,EAAE,IAEf,eAAe,OACf,aAAc,IACd,WAAY,MG9F5B,SACI,MAAO,KACP,MAAO,KACP,WAAW,uBAAf,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,MLVL,QKWK,UAAW,OACX,OAAQ,sBACR,cAAe,IACf,eAAe,OACf,aLZH,SKYb,SAAS,SAAS,MAAM,WAAW,KAEf,eAAe,QACnC,SAAS,SAAS,MAAM,UAAU,OAEd,aAAc,SAElC,SAAS,SAAS,KAAK,SAAS,MAAM,iBAEtB,0BAA2B,EAC3B,2BAA4B,EAC5B,aLvBH,QKwBG,oBAAqB,MACrB,SAAU,SACV,QAAQ,MACxB,SAAS,SAAS,MAAM,eAER,WAAY,MACZ,MLjCL,QKkCK,UAAW,IACX,YAAa,MACb,OAAQ,kBACR,cAAe,IACf,QAAS,KACT,WAAW,KACX,uBAAuB,EACvB,WAAY,mBAA5B,SAAS,SAAS,MAAM,eAAe,gBAEnB,YAAY,KACZ,UAAW,UAC/B,SAAS,SAAS,MAAM,eAAe,kBAEnB,UAAW,QACX,YAAa,MACb,MLhDP;;;;;EMDb,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,kDH4B5B,iBAPiB,QAQjB,iBAAkB,0CAClB,iBAAkB,kCG5BhB,UAAW,OACX,YAAY,IACZ,MPDS,QOET,gBAAgB,KAChB,QAAe,gBAAnB,IAAI,OHsBF,iBAPiB,QAQjB,iBAAkB,0CAClB,iBAAkB,mCGrBpB,IAAI,UAEI,OAAO,QACP,QAAS,KAAjB,IAAI,SAAS,QAED,WAA0B,+CAEtC,IAAI,QAEI,MPrBE,SOsBV,IAAI,OAEI,QAAQ,GAChB,IAAI,QAEI,WAAY,+BC9BpB,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,cAE5C,cAAe,IACf,OAAQ,kBACR,UAAU,QTpDV,mBIJW,8BJSX,gBITW,8BJwBX,WIxBW,+BKyDnB,YAAY,KAAK,aAAa,OAAQ,YAAY,QAAQ,aAAa,OAE3D,aR5DD,QQ6DC,WAAY,6BACZ,QAAQ,KACR,WAAY,OACxB,YAAY,KAAK,aAAa,QAAS,YAAY,QAAQ,aAAa,QAE5D,MAAM,MInElB,YAAY,KAAK,aAAa,4BAA6B,YAAY,QAAQ,aAAa,4BJsEhF,MAAO,uBItEnB,YAAY,KAAK,aAAa,mBAAoB,YAAY,QAAQ,aAAa,mBJsEvE,MAAO,uBItEnB,YAAY,KAAK,aAAa,kBAAmB,YAAY,QAAQ,aAAa,kBJsEtE,MAAO,uBItEnB,YAAY,KAAK,aAAa,uBAAwB,YAAY,QAAQ,aAAa,uBJsE3E,MAAO,uBAEnB,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,MR/FE,SQgGV,qBAAqB,IAEb,eAAe,OACf,aAAc,UKnGtB,KACI,WAAY,MACZ,OAAQ,kBACR,cAAe,IACf,OAAQ,iBACR,UAAW,MACX,QAAS,UACT,WAAY,iBAAhB,IAAI,cAEI,WAAY,QACpB,IAAI,WAEI,WAAY,YACZ,OAAO,EACP,QAAS,EACT,cAAc,MACtB,IAAI,WAEI,abjBG,QakBH,WAAY,8BACpB,IAAI,YAEI,cAAe,MAIvB,WACI,UAAW,KACX,YAAa,KACb,MbxBO,QayBP,cAAc,MAGlB,iBACI,UAAW,KACX,Mb7BS,Qa8BT,eAAgB,KAChB,cAAe,kBACf,WAAY,MACZ,cAAe,MAAnB,iBAAiB,EAET,MbpCG,QaqCH,gBAAgB,MAAxB,iBAAiB,CAAC,OAEN,OAAQ,mBAIpB,aACI,YAAa,KJJb,QAAS,OCnCb,YAAY,OAER,QAAQ,GACR,QAAQ,MACR,MAAM,MGoCV,aAAa,iBFUT,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,WAAb,aAAa,gBAAgB,YAGrB,aAAsB,GE9B9B,aAAa,iBAAiB,eAElB,UAAW,QACX,MbjDC,QakDD,cAAc,MAE1B,aAAa,cFET,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,WAAb,aAAa,aAAa,YAGlB,aAAsB,GElB9B,aACI,WAAW,OACX,QAAQ,KACR,UAAU,MACV,OAAO,QAAX,aAAa,YAEL,cAAe,MACvB,aAAa,OAEL,YAAa,KACb,UAAW,MACX,MbtEG,QauEH,cAAe,SACvB,aAAa,SAEL,UAAW,QACX,Mb1EK,Qa2EL,cAAe,MACvB,aAAa,aAAa,OAElB,QAAS,GACT,QAAQ,aACR,MAAM,MACN,OAAO,IACP,WbhFK,QaiFL,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,WAzHQ,KA0HR,QAAS,WC1Hb,cAAc,YAAc,YACxB,adCO,ScCX,YACI,MAAM,KACN,OAAO,gCACP,cAAe,IACf,WAAW,MACX,QAAS,QfCL,mBIJW,8BJSX,gBITW,8BJwBX,WIxBW,+BWInB,YAAY,MAEJ,MAAM,KACN,UAAW,KAKnB,YAAY,KAAK,QAEL,QAAS,GACT,QAAQ,MACR,OAAQ,SAEpB,YAAY,MAAO,YAAY,MAEvB,QAAS,IACT,MdjBK,QckBL,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,IfxClB,mBIJW,kCJSX,gBITW,kCJwBX,WIxBW,mCW+CnB,YAAY,mBAEJ,QAAS,KACT,YAAY,IACZ,UAAU,QACV,cAAe,IACf,OAAQ,QfjDR,mBIJW,kCJSX,gBITW,kCJwBX,WIxBW,mCWsDnB,YAAY,kBAAkB,OAElB,WAAY,uBAExB,YAAY,KAEJ,QAAQ,KACR,YAAY,OACZ,eAAgB,UAChB,MdlEG,QcmEH,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,MdtFC,ScuFb,YAAY,IAAI,QAEJ,WAAW,MACX,MdnGA,ScmGZ,YAAY,IAAI,OAAO,OAEP,QAAQ,EACR,WAAY,sBAG5B,YAAY,IAAI,OAAO,OAEP,QAAS,KAEzB,YAAY,IAAI,OAEJ,QAAS,IfvGb,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,qBW6GP,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,Qf5HP,mBIJW,kCJSX,gBITW,kCJwBX,WIxBW,kCWkIX,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,aAEN,YAAa,QACb,UAAW,OACX,MAAO,MACf,cAAc,GAEN,OAAQ,IACR,QAAQ,cAIhB,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,MdnKK,QcoKL,cAAe,OACf,YAAY,OACZ,eAAgB,WACxB,SAAS,KAED,UAAW,OACX,YAAY,OACZ,MdnLG,QcoLH,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,Kf1MP,mBIJW,kCJSX,gBITW,kCJwBX,WIxBW,mCW2NnB,SAAS,MAAM,KAEH,Wd5NI,ScgOhB,QAAQ,OAAO,QAEH,QAAS,GCxOrB,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,kDhBJlB,kBgBK8B,kChBA9B,egBA8B,kChBK9B,cgBL8B,kChBU9B,agBV8B,kChBe9B,UgBf8B,mCAAtC,UAAU,kBAEF,QAAS,iBACT,UAAW,OACX,MfTK,SeUb,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,cAAc,SAEb,SAAS,SACT,IAAI,EACJ,KAAK,EACL,MAAM,KACN,OAAQ,KACR,WAAY,sBACZ,WAAY,QAExB,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,UArEC,MAsED,MAtEC,MAuED,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,WhBtFP,QgBuFO,OAAQ,SAEhC,WAAW,YAAY,KAAK,WAAW,cAEnB,OAAO,kBACP,QAAS,SACT,cAAe,IACf,MhB3FT,SgB2FX,WAAW,YAAY,KAAK,WAAW,aAAa,OAE5B,QAAQ,EACR,ahBlGb,QgBmGa,WAAY,8BJpGpC,WAAW,YAAY,KAAK,WAAW,aAAa,4BIuG5B,MAAO,uBJvG/B,WAAW,YAAY,KAAK,WAAW,aAAa,mBIuG5B,MAAO,uBJvG/B,WAAW,YAAY,KAAK,WAAW,aAAa,kBIuG5B,MAAO,uBJvG/B,WAAW,YAAY,KAAK,WAAW,aAAa,uBIuG5B,MAAO,uBAG/B,WAAW,YAAY,KAAK,aAEZ,UA/GK,OAgHrB,WAAW,YAAY,KAAK,WAEZ,UAjHC,KAkHD,MAlHC,KAmHD,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,oBCpI9B,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,kBlBpBJ,mBIJW,8BJSX,gBITW,8BJwBX,WIxBW,+Bc2BnB,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,WjBpDM,QiBqDN,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,SL3Ef,WAAW,MAAM,MAAM,4BK6Ef,MjBtEK,SYPb,WAAW,MAAM,MAAM,mBK6Ef,MjBtEK,SYPb,WAAW,MAAM,MAAM,kBK6Ef,MjBtEK,SYPb,WAAW,MAAM,MAAM,uBK6Ef,MjBtEK,SiB0Eb,WAAW,MAAM,MAAM,aACnB,MjBlFM,SiBqFV,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,cV0CI,QAAS,MUxCT,cAAe,KACf,WAAW,KACX,QAAS,QTGb,aAAa,OAET,QAAQ,GACR,QAAQ,MACR,MAAM,MSPV,cAAc,gBRqDV,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,UAAb,cAAc,eAAe,YAGrB,aAAsB,GQzE9B,cAAc,gBAAgB,IAElB,cAAe,IACf,UAAW,MAEvB,cAAc,eR8CV,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,UAAb,cAAc,cAAc,YAGpB,aAAsB,GQjE9B,cAAc,iBAEN,cAAc,MACtB,cAAc,cAEN,SAAS,SACT,cAAe,MACvB,cAAc,cAEN,UAAkB,mBAClB,aAAc,gBACtB,cAAc,QAAQ,cAEd,WAAY,EACZ,UAAW,MAInB,sBACI,MnB7BS,QmB8BT,WAAW,QAGf,gBACI,WAAW,KACX,OAAO,EACP,QAAQ,EACR,cAAe,KACf,WAAY,MACZ,WAAY,QAAhB,gBAAgB,SVDZ,QAAS,MUIL,QAAS,MTvCjB,gBAAgB,QAAQ,OAEpB,QAAQ,GACR,QAAQ,MACR,MAAM,MSmCV,gBAAgB,SAAS,gBRWrB,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,UAAb,gBAAgB,SAAS,eAAe,YAGhC,aAAsB,GQ/B9B,gBAAgB,SAAS,gBAAgB,IAEzB,UAAW,KACX,cAAe,KAE/B,gBAAgB,SAAS,iBRIrB,MAAO,KAGL,QAAS,MAeT,aAAsB,SACtB,MAAO,SQpBD,SAAS,URoBrB,gBAAgB,SAAS,gBAAgB,YAGjC,aAAsB,GQvB9B,gBAAgB,SAAS,iBAAiB,gBAE1B,QAAQ,EACR,gBAAgB,KAChB,MAAM,MACN,iBnBxDH,QmByDG,MnB1DH,QmB2DG,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,WnB9EV,QmB+EU,MAAO,OAC3B,gBAAgB,SAAS,iBAAiB,eAAe,QAErC,WAAY,SAEhC,gBAAgB,SAAS,iBAAiB,MAE1B,UAAW,SACX,MnBjFH,QmBkFG,cAAe,KAC/B,gBAAgB,SAAS,iBAAiB,MAE1B,MnBrFH,QmBsFG,YAAa,KAC7B,gBAAgB,SAAS,iBAAiB,KAAK,QAE/B,QAAS,IACT,QAAS,aACT,OAAQ,IACR,MAAO,IACP,WnB5FH,QmB6FG,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,MnB1GP,QmB2GO,UAAW,OACX,gBAAiB,MAArC,gBAAgB,SAAS,iBAAiB,SAAS,CAAC,OAE5B,MnBnHb,SmBuHX,gBAAgB,QAAQ,OAEZ,WnBxHK,QmByHL,OAAO,QACP,cAAe,KAA3B,gBAAgB,QAAQ,OAAO,MAEf,MnB7HL,SmB8HX,gBAAgB,QAAQ,OAAO,gBAEf,QAAS,GCpIzB,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,MpBRC,SoBUb,YAAY,QAEJ,QAAQ,WACR,WAAW,MACX,UAAW,MACX,eAAe,QAAvB,YAAY,QAAQ,cAER,UAAW,OACX,MpBlBC,QoBmBD,QAAQ,aACR,eAAe,QAM3B,eACI,QAAQ,aACR,YAAa,IACb,OAAQ,KACR,MAAO,KACP,cAAe,KACf,eAAe,OACf,SAAS,SACT,OAAO,QACP,WpBzCM,QoB0CN,WAAY,gCrBpCR,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,sBiB0CnB,cAAc,OAEN,QAAS,IrBxCT,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,qBiB8CX,QAAQ,aACR,OALO,KAMP,MANO,KAOP,SAAU,SAGV,WAA0B,8ChBvBhC,iBAPiB,QAQjB,iBAAkB,0CAClB,iBAAkB,kCgBuBZ,IAAK,IACL,WAAa,KACb,KAAM,IACN,cAAe,OACvB,cAAc,OAEN,WAAyC,kEACjD,cAAc,QAEN,WpBnEI,SoBmEZ,cAAc,OAAO,OAET,KAAM,KACN,YAAc,OCvE1B,cACI,SAAU,MACV,IAAK,EACL,KAAM,EACN,MAAO,KACP,QAAS,KACT,QAAS,UACT,WrBES,QqBDT,MAAO,MtBCH,mBIJW,qBJSX,gBITW,qBJwBX,WIxBW,sBkBInB,aAAa,SAEL,WrBVI,SqBWZ,aAAa,OAEL,WrBXE,SqBYV,aAAa,UAEL,IAAK,OACL,QAAQ,GAChB,aAAa,iBAEL,IAAI,EACJ,QAAQ,GAChB,aAAa,iBAEL,IAAI,OACJ,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,MCzCxB,kBACI,OAAO,OACP,WAAW,OACX,MAAM,QACN,SAAS,SACT,IAAI,IACJ,KAAM,IvBGF,kBuBF8B,kCvBO9B,euBP8B,kCvBY9B,cuBZ8B,kCvBiB9B,auBjB8B,kCvBsB9B,UuBtB8B,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,MvBGS,QuBFT,WvBFa,QuBGb,WAAY,kBACZ,WAAY,KACZ,cAAc,OAGlB,gBACI,UAAW,SAAf,gBAAgB,EAER,MvBRG,QuBSH,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,IxBtCV,kBwBuCsC,kCxBlCtC,ewBkCsC,kCxB7BtC,cwB6BsC,kCxBxBtC,awBwBsC,kCxBnBtC,UwBmBsC,mCAE9C,YAAY,SAEJ,MAAM,KACN,QAAQ,cAChB,YAAY,KAEJ,YAAY,KACZ,UAAW,MACnB,YAAY,OAEJ,MvBnDK,SuBuDb,cACI,MAAO,KACP,WAAY,OAAhB,cAAc,QAEN,QAAQ,aACR,aAAc,KACd,WAAY,OACZ,cAAe,IACf,WAAsB,0DACtB,QAAS,KACT,WvBrES,QuBsET,eAAgB,QACxB,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,WvB/EH,QuBgFG,MAAM,MACN,QAAS,SACT,cAAe,MAA/B,cAAc,SAAS,OAAO,YAAY,SAEtB,WvB5FR,SuB6FZ,cAAc,SAAS,OAAO,YAAY,QAEtB,WvB1FJ,SuB6FhB,cAAc,SAAS,UAEX,MvB5FC,QuB6FD,UAAW,SAAvB,cAAc,SAAS,UAAU,EAEjB,MvBpGL,QuBqGK,gBAAiB,MAAjC,cAAc,SAAS,UAAU,CAAC,OAEd,gBAAiB,WAIrC,cAAc,SAEN,WAAW,OACX,MAAO,MACP,WAAY,MAEpB,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\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: #6EBC48;\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: 100%;\n$top-bar-height: 50px;\n$min-width: 820px;\n\n.outer-container {\n width:100%;\n height:100%;\n}\nbody {\n background: $background-clr;\n color: $text-clr;\n min-width: $min-width;\n}\n.main-navigation {\n width: $navigation-width;\n min-width:$min-width;\n color: white;\n .wrapper {\n width: $navigation-width;\n padding: 0 40px;\n }\n}\n\n.main-content {\n background: $background-clr;\n min-height:100%;\n .main-view {\n position:relative;\n padding: 160px 40px 40px 40px;\n width:100%;\n min-height: 600px;\n }\n}\n\n.top-bar {\n width:100%;\n box-shadow: 0 1px 2px rgba(black, 0.1);\n height: $top-bar-height;\n line-height: $top-bar-height;\n}\n","$top-space: 15px;\n\n.main-navigation {\n position:fixed;\n width:100%;\n z-index: 1000;\n .wrapper {\n min-width:600px;\n background: $navigation-bg-clr;\n height: em(60px);\n }\n .logo {\n display:inline-block;\n vertical-align:middle;\n margin-top:$top-space;\n\n }\n .navigation {\n display:inline-block;\n vertical-align:middle;\n margin-left: 60px;\n margin-top:$top-space;\n .links {\n padding:0 ;\n margin:0;\n list-style: none;\n display:inline-block;\n li {\n display:inline-block;\n margin-right:em(20px);\n }\n a {\n text-decoration: none;\n color: #616F8D;\n font-weight: bold;\n line-height: em(24px);\n font-size: em(15px);\n opacity: 0.7;\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 vertical-align:middle;\n }\n .icon {\n display:inline-block;\n vertical-align:middle;\n margin-right: 5px;\n width:16px;\n height:16px;\n background-size: 16px 32px;\n }\n\n }\n }\n }\n .create-new {\n display:inline-block;\n float:right;\n padding: 13px;\n // border-bottom:1px solid lighten($navigation-bg-clr, 5%);\n a {\n display:block;\n @include transition(background-color 0.1s ease-in-out);\n color:tint($green-clr,90%);\n text-align:center;\n border-radius: 2px;\n @include linear-gradient(lighten($green-clr,8%), lighten($green-clr,2%));\n text-decoration:none;\n font-size:12px;\n font-weight: bold;\n // text-shadow: 0 1px 1px darken($green-clr, 10%);\n padding: 8px 15px 10px 12px;\n &:hover {\n\n }\n &:active {\n box-shadow: inset 0 2px 5px rgba(black,0.1), 0 0 0 1px darken($navigation-bg-clr, 8%);\n }\n img {\n vertical-align:middle;\n margin-right: 5px;\n margin-top: -2px;\n }\n span {\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","@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",".top-bar {\n float: left;\n width: 100%;\n background:rgba(white,0.9);\n .primary {\n list-style:none;\n margin:0;\n padding-left:40px;\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:-9px;\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 0 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: inset 0 0 2px rgba(black, 0.1);\n }\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 border-radius: 3px;\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 box-shadow: 0 0 3px rgba($blue-clr, 0.5);\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 .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 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 padding: $box-v-pad $box-h-pad;\n box-shadow: 0 0 1px $border-clr;\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 &:last-child {\n margin-bottom: 40px;\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 @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.box-message {\n text-align:center;\n padding:40px;\n max-width:450px;\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",".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 .placeholder {\n line-height: em(18px);\n font-size: em(12px);\n color: #ccc;\n }\n li {\n margin: 5px;\n display:inline-block;\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 .overlay {\n position:absolute;\n top:0;\n left:0;\n width:100%;\n height: 100%;\n background: rgba(white, 0.5);\n text-align: center;\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 border-width: 2px !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: 0;\n left: 0;\n width: 100%;\n z-index: 3000;\n padding: 12px 40px;\n background: $text-2-clr;\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 top: -100px;\n opacity:0;\n }\n &.ng-enter-active {\n top:0;\n opacity:1;\n }\n &.ng-leave-active {\n top:-100px;\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",".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 margin-top: -30px;\n .avatar {\n display:inline-block;\n margin-right: 20px;\n text-align: center;\n border-radius: 1px;\n box-shadow: 0 0 0 5px white, 0 0 0 6px $border-clr, inset 0 0 0 1px $border-clr;\n padding: 20px;\n background:$background-clr;\n vertical-align: bottom;\n }\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 margin-top: 30px;\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","bourbon/css3/_linear-gradient.scss","partials/_topbar.scss","partials/ui/_animations.scss","partials/ui/_buttons.scss","partials/ui/_form.scss","neat/grid/_row.scss","bourbon/addons/_clearfix.scss","neat/grid/_span-columns.scss","bourbon/css3/_placeholder.scss","partials/ui/_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/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\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: #6EBC48;\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: 100%;\n$top-bar-height: 50px;\n$min-width: 820px;\n\n.outer-container {\n width:100%;\n height:100%;\n}\nbody {\n background: $background-clr;\n color: $text-clr;\n min-width: $min-width;\n}\n.main-navigation {\n width: $navigation-width;\n min-width:$min-width;\n color: white;\n .wrapper {\n width: $navigation-width;\n padding: 0 40px;\n }\n}\n\n.main-content {\n background: $background-clr;\n min-height:100%;\n .main-view {\n position:relative;\n padding: 160px 40px 40px 40px;\n width:100%;\n min-height: 600px;\n }\n}\n\n.top-bar {\n width:100%;\n box-shadow: 0 1px 2px rgba(black, 0.1);\n height: $top-bar-height;\n line-height: $top-bar-height;\n}\n","$top-space: 15px;\n\n.main-navigation {\n position:fixed;\n width:100%;\n z-index: 1000;\n .wrapper {\n min-width:600px;\n background: $navigation-bg-clr;\n height: em(60px);\n }\n .logo {\n display:inline-block;\n vertical-align:middle;\n margin-top:$top-space;\n\n }\n .navigation {\n display:inline-block;\n vertical-align:middle;\n margin-left: 60px;\n margin-top:$top-space;\n .links {\n padding:0 ;\n margin:0;\n list-style: none;\n display:inline-block;\n li {\n display:inline-block;\n margin-right:em(20px);\n }\n a {\n text-decoration: none;\n color: #616F8D;\n font-weight: bold;\n line-height: em(24px);\n font-size: em(15px);\n opacity: 0.7;\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 vertical-align:middle;\n }\n .icon {\n display:inline-block;\n vertical-align:middle;\n margin-right: 5px;\n width:16px;\n height:16px;\n background-size: 16px 32px;\n }\n\n }\n }\n }\n .create-new {\n display:inline-block;\n float:right;\n padding: 13px;\n // border-bottom:1px solid lighten($navigation-bg-clr, 5%);\n a {\n display:block;\n @include transition(background-color 0.1s ease-in-out);\n color:tint($green-clr,90%);\n text-align:center;\n border-radius: 2px;\n @include linear-gradient(lighten($green-clr,8%), lighten($green-clr,2%));\n text-decoration:none;\n font-size:12px;\n font-weight: bold;\n // text-shadow: 0 1px 1px darken($green-clr, 10%);\n padding: 8px 15px 10px 12px;\n &:hover {\n\n }\n &:active {\n box-shadow: inset 0 2px 5px rgba(black,0.1), 0 0 0 1px darken($navigation-bg-clr, 8%);\n }\n img {\n vertical-align:middle;\n margin-right: 5px;\n margin-top: -2px;\n }\n span {\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","@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",".top-bar {\n float: left;\n width: 100%;\n background:rgba(white,0.9);\n .primary {\n list-style:none;\n margin:0;\n padding-left:40px;\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:-9px;\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 0 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: inset 0 0 2px rgba(black, 0.1);\n }\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 border-radius: 3px;\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 box-shadow: 0 0 3px rgba($blue-clr, 0.5);\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 .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 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 padding: $box-v-pad $box-h-pad;\n box-shadow: 0 0 1px $border-clr;\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 &:last-child {\n margin-bottom: 40px;\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 @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.box-message {\n text-align:center;\n padding:40px;\n max-width:450px;\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",".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 .placeholder {\n line-height: em(18px);\n font-size: em(12px);\n color: #ccc;\n }\n li {\n margin: 5px;\n display:inline-block;\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 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 border-width: 2px !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: 0;\n left: 0;\n width: 100%;\n z-index: 3000;\n padding: 12px 40px;\n background: $text-2-clr;\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 top: -100px;\n opacity:0;\n }\n &.ng-enter-active {\n top:0;\n opacity:1;\n }\n &.ng-leave-active {\n top:-100px;\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",".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 margin-top: -30px;\n .avatar {\n display:inline-block;\n margin-right: 20px;\n text-align: center;\n border-radius: 1px;\n box-shadow: 0 0 0 5px white, 0 0 0 6px $border-clr, inset 0 0 0 1px $border-clr;\n padding: 20px;\n background:$background-clr;\n vertical-align: bottom;\n }\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 margin-top: 30px;\n }\n &:hover {\n .actions {\n visibility:visible;\n }\n }\n}\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/public/images/favicon/android-chrome-144x144.png b/public/images/favicon/android-chrome-144x144.png new file mode 100644 index 000000000..2f5b51d84 Binary files /dev/null and b/public/images/favicon/android-chrome-144x144.png differ diff --git a/public/images/favicon/android-chrome-192x192.png b/public/images/favicon/android-chrome-192x192.png new file mode 100644 index 000000000..a1396dbb1 Binary files /dev/null and b/public/images/favicon/android-chrome-192x192.png differ diff --git a/public/images/favicon/android-chrome-36x36.png b/public/images/favicon/android-chrome-36x36.png new file mode 100644 index 000000000..7388e2551 Binary files /dev/null and b/public/images/favicon/android-chrome-36x36.png differ diff --git a/public/images/favicon/android-chrome-48x48.png b/public/images/favicon/android-chrome-48x48.png new file mode 100644 index 000000000..81a6ddbb7 Binary files /dev/null and b/public/images/favicon/android-chrome-48x48.png differ diff --git a/public/images/favicon/android-chrome-72x72.png b/public/images/favicon/android-chrome-72x72.png new file mode 100644 index 000000000..34b1f5896 Binary files /dev/null and b/public/images/favicon/android-chrome-72x72.png differ diff --git a/public/images/favicon/android-chrome-96x96.png b/public/images/favicon/android-chrome-96x96.png new file mode 100644 index 000000000..85e207dd0 Binary files /dev/null and b/public/images/favicon/android-chrome-96x96.png differ diff --git a/public/images/favicon/android-chrome-manifest.json b/public/images/favicon/android-chrome-manifest.json new file mode 100644 index 000000000..b07eb6325 --- /dev/null +++ b/public/images/favicon/android-chrome-manifest.json @@ -0,0 +1,41 @@ +{ + "name": "My app", + "icons": [ + { + "src": "\/android-chrome-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": "\/android-chrome-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": "\/android-chrome-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": "\/android-chrome-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": "\/android-chrome-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": "\/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} diff --git a/public/images/favicon/apple-touch-icon-114x114.png b/public/images/favicon/apple-touch-icon-114x114.png index 70a2559ed..05d278238 100644 Binary files a/public/images/favicon/apple-touch-icon-114x114.png and b/public/images/favicon/apple-touch-icon-114x114.png differ diff --git a/public/images/favicon/apple-touch-icon-120x120.png b/public/images/favicon/apple-touch-icon-120x120.png index df56c8e09..eaf22e4b9 100644 Binary files a/public/images/favicon/apple-touch-icon-120x120.png and b/public/images/favicon/apple-touch-icon-120x120.png differ diff --git a/public/images/favicon/apple-touch-icon-144x144.png b/public/images/favicon/apple-touch-icon-144x144.png index efb8bea3a..2f5b51d84 100644 Binary files a/public/images/favicon/apple-touch-icon-144x144.png and b/public/images/favicon/apple-touch-icon-144x144.png differ diff --git a/public/images/favicon/apple-touch-icon-152x152.png b/public/images/favicon/apple-touch-icon-152x152.png index 4551ceac5..7560d6443 100644 Binary files a/public/images/favicon/apple-touch-icon-152x152.png and b/public/images/favicon/apple-touch-icon-152x152.png differ diff --git a/public/images/favicon/apple-touch-icon-180x180.png b/public/images/favicon/apple-touch-icon-180x180.png index a558782c0..2d86fc97d 100644 Binary files a/public/images/favicon/apple-touch-icon-180x180.png and b/public/images/favicon/apple-touch-icon-180x180.png differ diff --git a/public/images/favicon/apple-touch-icon-57x57.png b/public/images/favicon/apple-touch-icon-57x57.png index 8092d5589..f3b55c2aa 100644 Binary files a/public/images/favicon/apple-touch-icon-57x57.png and b/public/images/favicon/apple-touch-icon-57x57.png differ diff --git a/public/images/favicon/apple-touch-icon-60x60.png b/public/images/favicon/apple-touch-icon-60x60.png index ccafe9421..73977ba36 100644 Binary files a/public/images/favicon/apple-touch-icon-60x60.png and b/public/images/favicon/apple-touch-icon-60x60.png differ diff --git a/public/images/favicon/apple-touch-icon-72x72.png b/public/images/favicon/apple-touch-icon-72x72.png index 9c2a51b8d..34b1f5896 100644 Binary files a/public/images/favicon/apple-touch-icon-72x72.png and b/public/images/favicon/apple-touch-icon-72x72.png differ diff --git a/public/images/favicon/apple-touch-icon-76x76.png b/public/images/favicon/apple-touch-icon-76x76.png index 95e055683..38bb2298d 100644 Binary files a/public/images/favicon/apple-touch-icon-76x76.png and b/public/images/favicon/apple-touch-icon-76x76.png differ diff --git a/public/images/favicon/apple-touch-icon-precomposed.png b/public/images/favicon/apple-touch-icon-precomposed.png index 5c64b67bb..df833b01b 100644 Binary files a/public/images/favicon/apple-touch-icon-precomposed.png and b/public/images/favicon/apple-touch-icon-precomposed.png differ diff --git a/public/images/favicon/apple-touch-icon.png b/public/images/favicon/apple-touch-icon.png index a558782c0..2d86fc97d 100644 Binary files a/public/images/favicon/apple-touch-icon.png and b/public/images/favicon/apple-touch-icon.png differ diff --git a/public/js/controllers/event.controller.js b/public/js/controllers/event.controller.js index fca7c2777..c8592110f 100644 --- a/public/js/controllers/event.controller.js +++ b/public/js/controllers/event.controller.js @@ -3,7 +3,7 @@ angular.module('rallly') var id = $state.params.id; // Get Event $scope.event = Event.get({id:id}, function(data){ - // Set the page title to the event title + // Set the page title to the event title Title.set($scope.event.title); // Generate event url - i.e. http://rallly.co/jF9F_Fd $scope.eventUrl = $state.href('event', { @@ -11,17 +11,6 @@ angular.module('rallly') }, { absolute : true }); - var examplesNames = ['John Example', 'Jane Specimen','Mark Instance', 'Mary Case']; - $scope.event.examples = []; - for (var i = 0; i < examplesNames.length; i++){ - var example = { name : examplesNames[i] }; - example.dates = []; - for (var j = 0; j < $scope.event.dates.length; j++){ - var answer = Math.random()<.5; - example.dates[j] = answer; - } - $scope.event.examples.push(example); - } }, function(e){ $state.go('notfound'); }); diff --git a/public/js/directives/poll.directive.js b/public/js/directives/poll.directive.js index ae10d89d5..b523b2fb2 100644 --- a/public/js/directives/poll.directive.js +++ b/public/js/directives/poll.directive.js @@ -1,5 +1,5 @@ angular.module('rallly') -.directive('poll', function(Participant, ConfirmModal){ +.directive('poll', function($timeout, Participant, ConfirmModal){ return { restrict : 'A', templateUrl : 'templates/directives/poll.html', @@ -10,6 +10,21 @@ angular.module('rallly') scope.defaults = []; scope.participant = {}; var datesCount = []; + var unbindListener; + scope.event.$promise.then(function(event){ + var examplesNames = ['John Example', 'Jane Specimen','Mark Instance', 'Mary Case']; + var examples = []; + for (var i = 0; i < examplesNames.length; i++){ + var example = { name : examplesNames[i] }; + example.dates = []; + for (var j = 0; j < event.dates.length; j++){ + var answer = Math.random()<.5; + example.dates[j] = answer; + } + examples.push(example); + } + scope.examples = examples; + }) scope.delete = function(participant){ var modal = new ConfirmModal({ title : 'Delete ' + participant.name + '?', diff --git a/public/js/templates.js b/public/js/templates.js index be37f2d48..bdea90449 100644 --- a/public/js/templates.js +++ b/public/js/templates.js @@ -7,7 +7,7 @@ $templateCache.put("templates/newevent.html","
\n Error 404\n

Not Found

\n"); $templateCache.put("templates/notification.html","
\n
\n {{notification.title}}\n
\n
\n {{notification.message}}\n
\n
\n"); $templateCache.put("templates/directives/discussion.html","
    \n
  • \n
    \n \n
    \n
    \n ×\n
    \n {{comment.author.name}}\n {{comment.created | elapsed}}\n
    \n
    {{comment.content}}
    \n
    \n
  • \n
\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"); -$templateCache.put("templates/directives/poll.html","
\n
\n {{event.participants.length}} participants\n
\n
\n
\n
\n {{date | date: \'EEE\'}}\n
\n
\n {{date | date: \'d\'}}\n
\n
\n {{date | 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
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n"); +$templateCache.put("templates/directives/poll.html","
\n
\n {{event.participants.length}} participants\n
\n
\n
\n
\n {{date | date: \'EEE\'}}\n
\n
\n {{date | date: \'d\'}}\n
\n
\n {{date | 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
0}\">\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"); $templateCache.put("templates/directives/eventForm/dateForm.html","
\n
Choose Dates
\n
    \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
\n \n \n You need to select a few dates\n \n
\n\n
\n
\n
\n
\n"); $templateCache.put("templates/directives/eventForm/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"); $templateCache.put("templates/directives/eventForm/participantsForm.html","
\n
Invite Participants
\n
\n
\n
\n
\n \n \n
\n
\n
\n\n"); diff --git a/public/scss/partials/ui/_poll.scss b/public/scss/partials/ui/_poll.scss index d42736a3f..d264253fe 100644 --- a/public/scss/partials/ui/_poll.scss +++ b/public/scss/partials/ui/_poll.scss @@ -38,14 +38,28 @@ $name-col-width: 235px; min-width:100%; .poll-example { position:relative; + &.hidden { + display:none; + } .overlay { position:absolute; top:0; left:0; width:100%; height: 100%; - background: rgba(white, 0.5); + background: rgba(white, 0.75); text-align: center; + .overlay-text { + position:absolute; + top:50%; + left:50%; + font-size: em(18px); + font-weight: bold; + color: $text-3-clr; + background: rgba(white, 0.9); + padding: 10px; + @include transform(translateX(-50%) translateY(-50%)); + } } } .poll-entry.highlight { diff --git a/public/templates/directives/poll.html b/public/templates/directives/poll.html index b99130bf9..9fd1c2a84 100644 --- a/public/templates/directives/poll.html +++ b/public/templates/directives/poll.html @@ -44,8 +44,8 @@
-
-
+
+
@@ -61,7 +61,9 @@
- +
+ Fill in the form below to get started +