From bd09a4db7b08c8338c45c681daef9bf9065304da Mon Sep 17 00:00:00 2001 From: Cheton Wu Date: Mon, 4 Jan 2016 22:13:54 +0800 Subject: [PATCH 1/7] Remove react-cookie --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index d584de680..ff3c16623 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,6 @@ "react": "^0.14.3", "react-addons-update": "^0.14.3", "react-bootstrap": "^0.28.1", - "react-cookie": "^0.4.3", "react-datagrid": "^1.2.13", "react-dom": "^0.14.3", "react-dropzone": "^3.3.0", From 82a46608556784b253a9ad07b9c37af561cd49e0 Mon Sep 17 00:00:00 2001 From: Cheton Wu Date: Mon, 4 Jan 2016 22:15:23 +0800 Subject: [PATCH 2/7] Initial commit --- web/store/index.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 web/store/index.js diff --git a/web/store/index.js b/web/store/index.js new file mode 100644 index 000000000..d373ada72 --- /dev/null +++ b/web/store/index.js @@ -0,0 +1,31 @@ +import _ from 'lodash'; + +let state; + +try { + state = _.extend({}, JSON.parse(localStorage.getItem('state') || {})); +} +catch(err) { + state = {}; +} + +const setState = (key, value) => { + let result = _.set(state, key, value); + localStorage.setItem('state', JSON.stringify(state)); + return result; +}; + +const getState = (key, defaultValue) => { + let value = _.get(state, key); + return (typeof value !== 'undefined') ? value : defaultValue; +}; + +const clearState = () => { + localStorage.setItem('state', JSON.stringify({})); +}; + +export default { + setState: setState, + getState: getState, + clearState: clearState +}; From d3e48866bb98a9e70ea042b672048c03c68d072d Mon Sep 17 00:00:00 2001 From: Cheton Wu Date: Mon, 4 Jan 2016 22:17:35 +0800 Subject: [PATCH 3/7] Load/save widgets settings from/to the store --- .../widgets/connection/Connection.jsx | 7 +-- web/components/widgets/probe/Probe.jsx | 53 +++++++++++-------- 2 files changed, 35 insertions(+), 25 deletions(-) diff --git a/web/components/widgets/connection/Connection.jsx b/web/components/widgets/connection/Connection.jsx index a1eef2424..55031487a 100644 --- a/web/components/widgets/connection/Connection.jsx +++ b/web/components/widgets/connection/Connection.jsx @@ -1,5 +1,4 @@ import _ from 'lodash'; -import cookie from 'react-cookie'; import pubsub from 'pubsub-js'; import React from 'react'; import Select from 'react-select'; @@ -7,6 +6,7 @@ import Alert from './Alert'; import i18n from '../../../lib/i18n'; import log from '../../../lib/log'; import socket from '../../../lib/socket'; +import store from '../../../store'; class Connection extends React.Component { state = { @@ -56,7 +56,8 @@ class Connection extends React.Component { this.clearAlert(); - let port = cookie.load('port'); + let port = store.getState('widgets.connection.port') || ''; + if (_.includes(_.pluck(ports, 'port'), port)) { this.setState({ port: port, @@ -81,7 +82,7 @@ class Connection extends React.Component { pubsub.publish('port', port); // save the port - cookie.save('port', port); + store.setState('widgets.connection.port', port); this.setState({ connecting: false, diff --git a/web/components/widgets/probe/Probe.jsx b/web/components/widgets/probe/Probe.jsx index fe3149cc9..7b78c9d77 100644 --- a/web/components/widgets/probe/Probe.jsx +++ b/web/components/widgets/probe/Probe.jsx @@ -6,6 +6,7 @@ import i18n from '../../../lib/i18n'; import socket from '../../../lib/socket'; import serialport from '../../../lib/serialport'; import ToolbarButton from './ToolbarButton'; +import store from '../../../store'; import { IMPERIAL_UNIT, METRIC_UNIT, @@ -17,11 +18,11 @@ class Probe extends React.Component { port: '', unit: METRIC_UNIT, activeState: ACTIVE_STATE_IDLE, - probeCommand: 'G38.2', - probeDepth: 10, - probeFeedrate: 20, - tlo: 10, - retractionDistance: 2 + probeCommand: store.getState('widgets.probe.probeCommand', 'G38.2'), + probeDepth: store.getState('widgets.probe.probeDepth.mm', 10), + probeFeedrate: store.getState('widgets.probe.probeFeedrate.mm', 20), + tlo: store.getState('widgets.probe.tlo.mm', 10), + retractionDistance: store.getState('widgets.probe.retractionDistance.mm', 2) } socketEventListener = { 'grbl:current-status': ::this.socketOnGrblCurrentStatus, @@ -39,6 +40,22 @@ class Probe extends React.Component { shouldComponentUpdate(nextProps, nextState) { return ! _.isEqual(nextState, this.state); } + componentDidUpdate() { + store.setState('widgets.probe.probeCommand', this.state.probeCommand); + + if (this.state.unit === METRIC_UNIT) { + store.setState('widgets.probe.probeDepth.mm', this.state.probeDepth); + store.setState('widgets.probe.probeFeedrate.mm', this.state.probeFeedrate); + store.setState('widgets.probe.tlo.mm', this.state.tlo); + store.setState('widgets.probe.retractionDistance.mm', this.state.retractionDistance); + } + if (this.state.unit === IMPERIAL_UNIT) { + store.setState('widgets.probe.probeDepth.in', this.state.probeDepth); + store.setState('widgets.probe.probeFeedrate.in', this.state.probeFeedrate); + store.setState('widgets.probe.tlo.in', this.state.tlo); + store.setState('widgets.probe.retractionDistance.in', this.state.retractionDistance); + } + } subscribe() { this.pubsubTokens = []; @@ -102,18 +119,18 @@ class Probe extends React.Component { if (unit === METRIC_UNIT) { return { - probeDepth: 10, - probeFeedrate: 20, - tlo: 10, - retractionDistance: 2 + probeDepth: store.getState('widgets.probe.probeDepth.mm', 10), + probeFeedrate: store.getState('widgets.probe.probeFeedrate.mm', 20), + tlo: store.getState('widgets.probe.tlo.mm', 10), + retractionDistance: store.getState('widgets.probe.retractionDistance.mm', 2) }; } if (unit === IMPERIAL_UNIT) { return { - probeDepth: 0.5, - probeFeedrate: 1, - tlo: 0.5, - retractionDistance: 0.1 + probeDepth: store.getState('widgets.probe.probeDepth.in', 0.5), + probeFeedrate: store.getState('widgets.probe.probeFeedrate.in', 1), + tlo: store.getState('widgets.probe.tlo.in', 0.5), + retractionDistance: store.getState('widgets.probe.retractionDistance.in', 0.1) }; } } @@ -374,15 +391,7 @@ class Probe extends React.Component { {i18n._('Run Z-probe')} -
- -
+
From 7e46dc624bec75033ea9b9de120b60c570267f59 Mon Sep 17 00:00:00 2001 From: Cheton Wu Date: Mon, 4 Jan 2016 22:17:47 +0800 Subject: [PATCH 4/7] Update resource strings --- web/i18n/en/resource.json | 1 - 1 file changed, 1 deletion(-) diff --git a/web/i18n/en/resource.json b/web/i18n/en/resource.json index b4e6d384d..a31d1e514 100644 --- a/web/i18n/en/resource.json +++ b/web/i18n/en/resource.json @@ -71,7 +71,6 @@ "88ab0f7ba1277080be5f90a24eb713dcf07c81c0": "Cycle Start", "89b86ab0e66f527166d98df92ddbcf5416ed58f6": "Language", "8cfa322f6132ea1c4fa9a502e5b945d428b97dd4": "View Startup Blocks ($N)", - "8e80e07d804d975411800c262997a8cd6582b5f7": "Restore Defaults", "8f82c5bcb36e47fc4b23303a57b9a67d0caa0edb": "Spindle state:", "90d48549bcd13abbfaf99474aeff3124549a3273": "Choose a port", "9255527b8ff8560d22e16e7542a5d02894cd1006": "Decrease step by 0.1 unit", From b4a6f5a492401db469f78f5e35855ed430541f8f Mon Sep 17 00:00:00 2001 From: Cheton Wu Date: Mon, 4 Jan 2016 22:21:43 +0800 Subject: [PATCH 5/7] Update imperial unit string --- web/components/widgets/axes/ToolbarButton.jsx | 4 ++-- web/components/widgets/axes/constants.js | 4 ++-- web/components/widgets/gcode/constants.js | 2 +- web/components/widgets/probe/constants.js | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/web/components/widgets/axes/ToolbarButton.jsx b/web/components/widgets/axes/ToolbarButton.jsx index 30991d4dc..2dbeca0ba 100644 --- a/web/components/widgets/axes/ToolbarButton.jsx +++ b/web/components/widgets/axes/ToolbarButton.jsx @@ -17,9 +17,9 @@ class ToolbarButton extends React.Component { toggleDisplayUnit() { if (this.props.unit === METRIC_UNIT) { - serialport.writeln('G20'); // G20 specifies Imperial (inch) unit + serialport.writeln('G20'); // G20 specifies Imperial unit } else { - serialport.writeln('G21'); // G21 specifies Metric (mm) unit + serialport.writeln('G21'); // G21 specifies Metric unit } } handleSelect(target, eventKey) { diff --git a/web/components/widgets/axes/constants.js b/web/components/widgets/axes/constants.js index 7fe7251e6..ed7bb61b5 100644 --- a/web/components/widgets/axes/constants.js +++ b/web/components/widgets/axes/constants.js @@ -1,7 +1,7 @@ -export const IMPERIAL_UNIT = 'inch'; +export const IMPERIAL_UNIT = 'in'; export const METRIC_UNIT = 'mm'; -// mm (or inch) +// mm (or in) export const DISTANCE_MIN = 0; export const DISTANCE_MAX = 10000; export const DISTANCE_STEP = 0.1; diff --git a/web/components/widgets/gcode/constants.js b/web/components/widgets/gcode/constants.js index 17e9db6c0..7035acb8d 100644 --- a/web/components/widgets/gcode/constants.js +++ b/web/components/widgets/gcode/constants.js @@ -1,4 +1,4 @@ -export const IMPERIAL_UNIT = 'inch'; +export const IMPERIAL_UNIT = 'in'; export const METRIC_UNIT = 'mm'; export const GCODE_STATUS = { ERROR: -1, diff --git a/web/components/widgets/probe/constants.js b/web/components/widgets/probe/constants.js index 3a2c5969b..b57464081 100644 --- a/web/components/widgets/probe/constants.js +++ b/web/components/widgets/probe/constants.js @@ -1,4 +1,4 @@ -export const IMPERIAL_UNIT = 'inch'; +export const IMPERIAL_UNIT = 'in'; export const METRIC_UNIT = 'mm'; // Grbl Active State From d778858815f62021d89c84c7aa6b4f79862f74ac Mon Sep 17 00:00:00 2001 From: Cheton Wu Date: Mon, 4 Jan 2016 22:21:53 +0800 Subject: [PATCH 6/7] Update app bundle --- dist/assets/app.js | 24 ++++++++++++------------ dist/assets/app.js.map | 20 +++++++++----------- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/dist/assets/app.js b/dist/assets/app.js index dbfbfb90a..1b91d053e 100644 --- a/dist/assets/app.js +++ b/dist/assets/app.js @@ -1,13 +1,13 @@ -!function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;oeq_idx)){var key=pair.substr(0,eq_idx).trim(),val=pair.substr(++eq_idx,pair.length).trim();'"'==val[0]&&(val=val.slice(1,-1)),void 0==obj[key]&&(obj[key]=tryDecode(val,dec))}}),obj}function serialize(name,val,options){var opt=options||{},enc=opt.encode||encode;if(!fieldContentRegExp.test(name))throw new TypeError("argument name is invalid");var value=enc(val);if(value&&!fieldContentRegExp.test(value))throw new TypeError("argument val is invalid");var pairs=[name+"="+value];if(null!=opt.maxAge){var maxAge=opt.maxAge-0;if(isNaN(maxAge))throw new Error("maxAge should be a Number");pairs.push("Max-Age="+maxAge)}if(opt.domain){if(!fieldContentRegExp.test(opt.domain))throw new TypeError("option domain is invalid");pairs.push("Domain="+opt.domain)}if(opt.path){if(!fieldContentRegExp.test(opt.path))throw new TypeError("option path is invalid");pairs.push("Path="+opt.path)}return opt.expires&&pairs.push("Expires="+opt.expires.toUTCString()),opt.httpOnly&&pairs.push("HttpOnly"),opt.secure&&pairs.push("Secure"),pairs.join("; ")}function tryDecode(str,decode){try{return decode(str)}catch(e){return str}}exports.parse=parse,exports.serialize=serialize;var decode=decodeURIComponent,encode=encodeURIComponent,fieldContentRegExp=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/},{}],"/Users/cheton/github/cnc.js/node_modules/superagent/lib/client.js":[function(require,module,exports){function noop(){}function isHost(obj){var str={}.toString.call(obj);switch(str){case"[object File]":case"[object Blob]":case"[object FormData]":return!0;default:return!1}}function isObject(obj){return obj===Object(obj)}function serialize(obj){if(!isObject(obj))return obj;var pairs=[];for(var key in obj)null!=obj[key]&&pushEncodedKeyValuePair(pairs,key,obj[key]);return pairs.join("&")}function pushEncodedKeyValuePair(pairs,key,val){return Array.isArray(val)?val.forEach(function(v){pushEncodedKeyValuePair(pairs,key,v)}):void pairs.push(encodeURIComponent(key)+"="+encodeURIComponent(val))}function parseString(str){for(var parts,pair,obj={},pairs=str.split("&"),i=0,len=pairs.length;len>i;++i)pair=pairs[i],parts=pair.split("="),obj[decodeURIComponent(parts[0])]=decodeURIComponent(parts[1]);return obj}function parseHeader(str){var index,line,field,val,lines=str.split(/\r?\n/),fields={};lines.pop();for(var i=0,len=lines.length;len>i;++i)line=lines[i],index=line.indexOf(":"),field=line.slice(0,index).toLowerCase(),val=trim(line.slice(index+1)),fields[field]=val;return fields}function isJSON(mime){return/[\/+]json\b/.test(mime)}function type(str){return str.split(/ *; */).shift()}function params(str){return reduce(str.split(/ *; */),function(obj,str){var parts=str.split(/ *= */),key=parts.shift(),val=parts.shift();return key&&val&&(obj[key]=val),obj},{})}function Response(req,options){options=options||{},this.req=req,this.xhr=this.req.xhr,this.text="HEAD"!=this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||"undefined"==typeof this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText,this.setStatusProperties(this.xhr.status),this.header=this.headers=parseHeader(this.xhr.getAllResponseHeaders()),this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this.setHeaderProperties(this.header),this.body="HEAD"!=this.req.method?this.parseBody(this.text?this.text:this.xhr.response):null}function Request(method,url){var self=this;Emitter.call(this),this._query=this._query||[],this.method=method,this.url=url,this.header={},this._header={},this.on("end",function(){var err=null,res=null;try{res=new Response(self)}catch(e){return err=new Error("Parser is unable to parse the response"),err.parse=!0,err.original=e,err.rawResponse=self.xhr&&self.xhr.responseText?self.xhr.responseText:null,self.callback(err)}if(self.emit("response",res),err)return self.callback(err,res);if(res.status>=200&&res.status<300)return self.callback(err,res);var new_err=new Error(res.statusText||"Unsuccessful HTTP response");new_err.original=err,new_err.response=res,new_err.status=res.status,self.callback(new_err,res)})}function request(method,url){return"function"==typeof url?new Request("GET",method).end(url):1==arguments.length?new Request("GET",method):new Request(method,url)}function del(url,fn){var req=request("DELETE",url);return fn&&req.end(fn),req}var root,Emitter=require("emitter"),reduce=require("reduce");root="undefined"!=typeof window?window:"undefined"!=typeof self?self:this,request.getXHR=function(){if(!(!root.XMLHttpRequest||root.location&&"file:"==root.location.protocol&&root.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}return!1};var trim="".trim?function(s){return s.trim()}:function(s){return s.replace(/(^\s*|\s*$)/g,"")};request.serializeObject=serialize,request.parseString=parseString,request.types={html:"text/html",json:"application/json",xml:"application/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},request.serialize={"application/x-www-form-urlencoded":serialize,"application/json":JSON.stringify},request.parse={"application/x-www-form-urlencoded":parseString,"application/json":JSON.parse},Response.prototype.get=function(field){return this.header[field.toLowerCase()]},Response.prototype.setHeaderProperties=function(header){ -var ct=this.header["content-type"]||"";this.type=type(ct);var obj=params(ct);for(var key in obj)this[key]=obj[key]},Response.prototype.parseBody=function(str){var parse=request.parse[this.type];return parse&&str&&(str.length||str instanceof Object)?parse(str):null},Response.prototype.setStatusProperties=function(status){1223===status&&(status=204);var type=status/100|0;this.status=this.statusCode=status,this.statusType=type,this.info=1==type,this.ok=2==type,this.clientError=4==type,this.serverError=5==type,this.error=4==type||5==type?this.toError():!1,this.accepted=202==status,this.noContent=204==status,this.badRequest=400==status,this.unauthorized=401==status,this.notAcceptable=406==status,this.notFound=404==status,this.forbidden=403==status},Response.prototype.toError=function(){var req=this.req,method=req.method,url=req.url,msg="cannot "+method+" "+url+" ("+this.status+")",err=new Error(msg);return err.status=this.status,err.method=method,err.url=url,err},request.Response=Response,Emitter(Request.prototype),Request.prototype.use=function(fn){return fn(this),this},Request.prototype.timeout=function(ms){return this._timeout=ms,this},Request.prototype.clearTimeout=function(){return this._timeout=0,clearTimeout(this._timer),this},Request.prototype.abort=function(){return this.aborted?void 0:(this.aborted=!0,this.xhr.abort(),this.clearTimeout(),this.emit("abort"),this)},Request.prototype.set=function(field,val){if(isObject(field)){for(var key in field)this.set(key,field[key]);return this}return this._header[field.toLowerCase()]=val,this.header[field]=val,this},Request.prototype.unset=function(field){return delete this._header[field.toLowerCase()],delete this.header[field],this},Request.prototype.getHeader=function(field){return this._header[field.toLowerCase()]},Request.prototype.type=function(type){return this.set("Content-Type",request.types[type]||type),this},Request.prototype.parse=function(fn){return this._parser=fn,this},Request.prototype.accept=function(type){return this.set("Accept",request.types[type]||type),this},Request.prototype.auth=function(user,pass){var str=btoa(user+":"+pass);return this.set("Authorization","Basic "+str),this},Request.prototype.query=function(val){return"string"!=typeof val&&(val=serialize(val)),val&&this._query.push(val),this},Request.prototype.field=function(name,val){return this._formData||(this._formData=new root.FormData),this._formData.append(name,val),this},Request.prototype.attach=function(field,file,filename){return this._formData||(this._formData=new root.FormData),this._formData.append(field,file,filename),this},Request.prototype.send=function(data){var obj=isObject(data),type=this.getHeader("Content-Type");if(obj&&isObject(this._data))for(var key in data)this._data[key]=data[key];else"string"==typeof data?(type||this.type("form"),type=this.getHeader("Content-Type"),"application/x-www-form-urlencoded"==type?this._data=this._data?this._data+"&"+data:data:this._data=(this._data||"")+data):this._data=data;return!obj||isHost(data)?this:(type||this.type("json"),this)},Request.prototype.callback=function(err,res){var fn=this._callback;this.clearTimeout(),fn(err,res)},Request.prototype.crossDomainError=function(){var err=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");err.crossDomain=!0,err.status=this.status,err.method=this.method,err.url=this.url,this.callback(err)},Request.prototype.timeoutError=function(){var timeout=this._timeout,err=new Error("timeout of "+timeout+"ms exceeded");err.timeout=timeout,this.callback(err)},Request.prototype.withCredentials=function(){return this._withCredentials=!0,this},Request.prototype.end=function(fn){var self=this,xhr=this.xhr=request.getXHR(),query=this._query.join("&"),timeout=this._timeout,data=this._formData||this._data;this._callback=fn||noop,xhr.onreadystatechange=function(){if(4==xhr.readyState){var status;try{status=xhr.status}catch(e){status=0}if(0==status){if(self.timedout)return self.timeoutError();if(self.aborted)return;return self.crossDomainError()}self.emit("end")}};var handleProgress=function(e){e.total>0&&(e.percent=e.loaded/e.total*100),self.emit("progress",e)};this.hasListeners("progress")&&(xhr.onprogress=handleProgress);try{xhr.upload&&this.hasListeners("progress")&&(xhr.upload.onprogress=handleProgress)}catch(e){}if(timeout&&!this._timer&&(this._timer=setTimeout(function(){self.timedout=!0,self.abort()},timeout)),query&&(query=request.serializeObject(query),this.url+=~this.url.indexOf("?")?"&"+query:"?"+query),xhr.open(this.method,this.url,!0),this._withCredentials&&(xhr.withCredentials=!0),"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof data&&!isHost(data)){var contentType=this.getHeader("Content-Type"),serialize=this._parser||request.serialize[contentType?contentType.split(";")[0]:""];!serialize&&isJSON(contentType)&&(serialize=request.serialize["application/json"]),serialize&&(data=serialize(data))}for(var field in this.header)null!=this.header[field]&&xhr.setRequestHeader(field,this.header[field]);return this.emit("request",this),xhr.send("undefined"!=typeof data?data:null),this},Request.prototype.then=function(fulfill,reject){return this.end(function(err,res){err?reject(err):fulfill(res)})},request.Request=Request,request.get=function(url,data,fn){var req=request("GET",url);return"function"==typeof data&&(fn=data,data=null),data&&req.query(data),fn&&req.end(fn),req},request.head=function(url,data,fn){var req=request("HEAD",url);return"function"==typeof data&&(fn=data,data=null),data&&req.send(data),fn&&req.end(fn),req},request.del=del,request["delete"]=del,request.patch=function(url,data,fn){var req=request("PATCH",url);return"function"==typeof data&&(fn=data,data=null),data&&req.send(data),fn&&req.end(fn),req},request.post=function(url,data,fn){var req=request("POST",url);return"function"==typeof data&&(fn=data,data=null),data&&req.send(data),fn&&req.end(fn),req},request.put=function(url,data,fn){var req=request("PUT",url);return"function"==typeof data&&(fn=data,data=null),data&&req.send(data),fn&&req.end(fn),req},module.exports=request},{emitter:"/Users/cheton/github/cnc.js/node_modules/superagent/node_modules/component-emitter/index.js",reduce:"/Users/cheton/github/cnc.js/node_modules/superagent/node_modules/reduce-component/index.js"}],"/Users/cheton/github/cnc.js/node_modules/superagent/node_modules/component-emitter/index.js":[function(require,module,exports){function Emitter(obj){return obj?mixin(obj):void 0}function mixin(obj){for(var key in Emitter.prototype)obj[key]=Emitter.prototype[key];return obj}module.exports=Emitter,Emitter.prototype.on=Emitter.prototype.addEventListener=function(event,fn){return this._callbacks=this._callbacks||{},(this._callbacks[event]=this._callbacks[event]||[]).push(fn),this},Emitter.prototype.once=function(event,fn){function on(){self.off(event,on),fn.apply(this,arguments)}var self=this;return this._callbacks=this._callbacks||{},on.fn=fn,this.on(event,on),this},Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(event,fn){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var callbacks=this._callbacks[event];if(!callbacks)return this;if(1==arguments.length)return delete this._callbacks[event],this;for(var cb,i=0;ii;++i)callbacks[i].apply(this,args)}return this},Emitter.prototype.listeners=function(event){return this._callbacks=this._callbacks||{},this._callbacks[event]||[]},Emitter.prototype.hasListeners=function(event){return!!this.listeners(event).length}},{}],"/Users/cheton/github/cnc.js/node_modules/superagent/node_modules/reduce-component/index.js":[function(require,module,exports){module.exports=function(arr,fn,initial){for(var idx=0,len=arr.length,curr=3==arguments.length?initial:arr[idx++];len>idx;)curr=fn.call(null,curr,arr[idx],++idx,arr);return curr}},{}],"/Users/cheton/github/cnc.js/web/components/common/PressAndHold/index.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _extends=Object.assign||function(target){for(var i=1;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(WidgetHeaderToolbar)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(WidgetHeaderToolbar,_React$Component),_createClass(WidgetHeaderToolbar,[{key:"handleClick",value:function(btn){return"toggle"===btn?(this.props.handleClick(btn,!this.state.isCollapsed),void this.setState({isCollapsed:!this.state.isCollapsed})):void this.props.handleClick(btn)}},{key:"renderDragButton",value:function(){var _this2=this,style={cursor:"move"};return _react2["default"].createElement("a",{href:"javascript:void(0)",key:"drag",title:"",className:"btn btn-link btn-drag",style:style,onClick:function(){return _this2.handleClick("drag")}},_react2["default"].createElement("i",{className:"glyphicon glyphicon-menu-hamburger"}))}},{key:"renderRefreshButton",value:function(){var _this3=this;return _react2["default"].createElement("a",{href:"javascript:void(0)",key:"refresh",title:"",className:"btn btn-link btn-refresh",onClick:function(){return _this3.handleClick("refresh")}},_react2["default"].createElement("i",{className:"glyphicon glyphicon-refresh"}))}},{key:"renderRemoveButton",value:function(){var _this4=this;return _react2["default"].createElement("a",{href:"javascript:void(0)",key:"remove",title:_i18n2["default"]._("Remove"),className:"btn btn-link btn-remove",onClick:function(){return _this4.handleClick("remove")}},_react2["default"].createElement("i",{className:"glyphicon glyphicon-remove"}))}},{key:"renderToggleButton",value:function(){var _this5=this,iconClassNames=(0,_classnames2["default"])("glyphicon",{"glyphicon-chevron-up":!this.state.isCollapsed},{"glyphicon-chevron-down":this.state.isCollapsed});return _react2["default"].createElement("a",{href:"javascript:void(0)",key:"toggle",title:_i18n2["default"]._("Expand/Collapse"),className:"btn btn-link btn-toggle",onClick:function(){return _this5.handleClick("toggle")}},_react2["default"].createElement("i",{className:iconClassNames}))}},{key:"render",value:function(){var that=this,buttons=_lodash2["default"].map(this.props.buttons,function(button){return _lodash2["default"].isObject(button)?button:"refresh"===button?that.renderRefreshButton():"remove"===button?that.renderRemoveButton():"toggle"===button?that.renderToggleButton():void 0}).concat(this.renderDragButton());return _react2["default"].createElement("div",{className:"widget-header-toolbar btn-group"},buttons)}}]),WidgetHeaderToolbar}(_react2["default"].Component);exports["default"]=WidgetHeaderToolbar},{"../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js",classnames:"classnames",lodash:"lodash",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widget/index.css":[function(require,module,exports){var css="[data-component=Widget] .widget{background-color:#fff;border-color:#d0d0d0;border-radius:3px;border-width:1px;border-style:solid;margin-bottom:10px}[data-component=Widget] .widget.widget-borderless{border:none}[data-component=Widget] .widget.widget-no-header .widget-content .widget-title{margin-top:0;font-size:14px;color:#333}[data-component=Widget] .widget.widget-no-content .widget-header{border-bottom:none}[data-component=Widget] .widget .widget-header{padding:0 10px;border-bottom:1px solid #fff;line-height:32px}[data-component=Widget] .widget .widget-header.widget-header-default{background-color:#fff}[data-component=Widget] .widget .widget-header.widget-header-inverse{background-color:#222}[data-component=Widget] .widget .widget-header .widget-header-title{margin-top:0;font-size:14px;font-weight:700;color:#6a6a6a;display:inline-block;vertical-align:middle;margin-bottom:0}[data-component=Widget] .widget .widget-header .widget-header-title .glyphicon{font-size:14px;top:0;vertical-align:middle;margin-right:5px}[data-component=Widget] .widget .widget-header .btn-group .dropdown-toggle .icon,[data-component=Widget] .widget .widget-header .btn-group>a{color:#838383}[data-component=Widget] .widget .widget-header .btn-group .dropdown-toggle .icon:focus,[data-component=Widget] .widget .widget-header .btn-group .dropdown-toggle .icon:hover,[data-component=Widget] .widget .widget-header .btn-group>a:focus,[data-component=Widget] .widget .widget-header .btn-group>a:hover{color:#505050}[data-component=Widget] .widget .widget-header .btn .glyphicon{position:relative;font-size:12px;line-height:1}[data-component=Widget] .widget .widget-header .widget-header-toolbar{float:right;width:auto;margin:6px 0 0 10px}[data-component=Widget] .widget .widget-header .widget-header-toolbar .badge{margin-top:10px}[data-component=Widget] .widget .widget-header .widget-header-toolbar .label{position:relative;top:11px;padding:5px;font-size:85%}[data-component=Widget] .widget .widget-header .widget-header-toolbar .label .glyphicon{font-size:14px}[data-component=Widget] .widget .widget-header .widget-header-toolbar .btn-link{padding:0;margin-left:8px}[data-component=Widget] .widget .widget-header .widget-header-toolbar .btn-link:first-child{padding-left:0}[data-component=Widget] .widget .widget-header .widget-header-toolbar .btn-link .glyphicon{font-size:12px}@media screen and (max-width:480px){[data-component=Widget] .widget .widget-header .widget-header-toolbar{display:block;position:inherit}[data-component=Widget] .widget .widget-header .widget-header-toolbar .badge{margin-top:0}[data-component=Widget] .widget .widget-header .widget-header-toolbar .label{top:0}}[data-component=Widget] .widget .widget-footer.widget-footer-default{background-color:#fff}[data-component=Widget] .widget .widget-footer.widget-footer-inverse{background-color:#222}";require("browserify-css").createStyle(css,{href:"components/widget/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/widget/index.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.WidgetFooter=exports.WidgetContent=exports.WidgetHeader=exports.Widget=void 0;var _Widget=require("./Widget"),_Widget2=_interopRequireDefault(_Widget),_WidgetHeader=require("./WidgetHeader"),_WidgetHeader2=_interopRequireDefault(_WidgetHeader),_WidgetContent=require("./WidgetContent"),_WidgetContent2=_interopRequireDefault(_WidgetContent),_WidgetFooter=require("./WidgetFooter"),_WidgetFooter2=_interopRequireDefault(_WidgetFooter);require("./index.css"),exports.Widget=_Widget2["default"],exports.WidgetHeader=_WidgetHeader2["default"],exports.WidgetContent=_WidgetContent2["default"],exports.WidgetFooter=_WidgetFooter2["default"]},{"./Widget":"/Users/cheton/github/cnc.js/web/components/widget/Widget.jsx","./WidgetContent":"/Users/cheton/github/cnc.js/web/components/widget/WidgetContent.jsx","./WidgetFooter":"/Users/cheton/github/cnc.js/web/components/widget/WidgetFooter.jsx","./WidgetHeader":"/Users/cheton/github/cnc.js/web/components/widget/WidgetHeader.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widget/index.css"}],"/Users/cheton/github/cnc.js/web/components/widgets/axes/Axes.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Axes)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",unit:_constants.METRIC_UNIT,activeState:_constants.ACTIVE_STATE_IDLE,machinePos:{x:"0.000",y:"0.000",z:"0.000"},workingPos:{x:"0.000",y:"0.000",z:"0.000"}},_this.socketEventListener={"grbl:current-status":(_context=_this).socketOnGrblCurrentStatus.bind(_context),"grbl:gcode-modes":(_context=_this).socketOnGrblGCodeModes.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Axes,_React$Component),_createClass(Axes,[{key:"componentDidMount",value:function(){this.subscribe(),this.addSocketEventListener()}},{key:"componentWillUnmount",value:function(){this.unsubscribe(),this.removeSocketEventListener()}},{key:"shouldComponentUpdate",value:function(nextProps,nextState){return JSON.stringify(nextState)!==JSON.stringify(this.state)}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",_this2.setState({port:port}),port||_this2.resetCurrentStatus()});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnGrblCurrentStatus",value:function(data){this.setState({activeState:data.activeState,machinePos:data.machinePos,workingPos:data.workingPos})}},{key:"socketOnGrblGCodeModes",value:function(modes){var unit=this.state.unit;_lodash2["default"].includes(modes,"G20")&&(unit=_constants.IMPERIAL_UNIT),_lodash2["default"].includes(modes,"G21")&&(unit=_constants.METRIC_UNIT),this.state.unit!==unit&&this.setState({unit:unit})}},{key:"resetCurrentStatus",value:function(){this.setState({activeState:_constants.ACTIVE_STATE_IDLE,machinePos:{x:"0.000",y:"0.000",z:"0.000"},workingPos:{x:"0.000",y:"0.000",z:"0.000"}})}},{key:"toUnitString",value:function(val){return val=Number(val)||0,val=this.state.unit===_constants.METRIC_UNIT?(val/1).toFixed(3):(val/25.4).toFixed(4),""+val}},{key:"render",value:function(){var _this3=this,_state=this.state,port=_state.port,unit=_state.unit,activeState=_state.activeState,machinePos=_state.machinePos,workingPos=_state.workingPos;!!port&&activeState===_constants.ACTIVE_STATE_IDLE;return machinePos=_lodash2["default"].mapValues(machinePos,function(pos,axis){return _this3.toUnitString(pos)}),workingPos=_lodash2["default"].mapValues(workingPos,function(pos,axis){return _this3.toUnitString(pos)}),_react2["default"].createElement("div",null,_react2["default"].createElement(_ToolbarButton2["default"],{port:port,unit:unit,activeState:activeState}),_react2["default"].createElement(_DisplayPanel2["default"],{port:port,unit:unit,activeState:activeState,machinePos:machinePos,workingPos:workingPos}),_react2["default"].createElement(_ControlPanel2["default"],{port:port,unit:unit,activeState:activeState,machinePos:machinePos,workingPos:workingPos}))}}]),Axes}(_react2["default"].Component);exports["default"]=Axes},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","./ControlPanel":"/Users/cheton/github/cnc.js/web/components/widgets/axes/ControlPanel.jsx","./DisplayPanel":"/Users/cheton/github/cnc.js/web/components/widgets/axes/DisplayPanel.jsx","./ToolbarButton":"/Users/cheton/github/cnc.js/web/components/widgets/axes/ToolbarButton.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/axes/constants.js",lodash:"lodash","pubsub-js":"pubsub-js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/axes/ControlPanel.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(ControlPanel)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={distance:_constants.DISTANCE_DEFAULT},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(ControlPanel,_React$Component),_createClass(ControlPanel,[{key:"changeDistance",value:function(distance){this.setState({distance:Number(distance)||_constants.DISTANCE_DEFAULT})}},{key:"render",value:function(){var _props=this.props,port=_props.port,unit=_props.unit,activeState=_props.activeState,machinePos=_props.machinePos,workingPos=_props.workingPos,distance=this.state.distance;!!port&&activeState===_constants.ACTIVE_STATE_IDLE;return _react2["default"].createElement("div",{className:"container-fluid control-panel"},_react2["default"].createElement("div",{className:"row no-gutter"},_react2["default"].createElement("div",{className:"col-sm-6"},_react2["default"].createElement(_JogJoystickControl2["default"],{port:port,unit:unit,activeState:activeState,distance:distance})),_react2["default"].createElement("div",{className:"col-sm-6"},_react2["default"].createElement(_MotionControls2["default"],{port:port,unit:unit,activeState:activeState,machinePos:machinePos,workingPos:workingPos}))),_react2["default"].createElement("div",{className:"row no-gutter"},_react2["default"].createElement("div",{className:"col-sm-12"},_react2["default"].createElement(_JogDistanceControl2["default"],{unit:unit,onChange:this.changeDistance.bind(this)}))))}}]),ControlPanel}(_react2["default"].Component);ControlPanel.propTypes={port:_react2["default"].PropTypes.string,unit:_react2["default"].PropTypes.string,activeState:_react2["default"].PropTypes.string,machinePos:_react2["default"].PropTypes.object,workingPos:_react2["default"].PropTypes.object},exports["default"]=ControlPanel},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js","./JogDistanceControl":"/Users/cheton/github/cnc.js/web/components/widgets/axes/JogDistanceControl.jsx","./JogJoystickControl":"/Users/cheton/github/cnc.js/web/components/widgets/axes/JogJoystickControl.jsx","./MotionControls":"/Users/cheton/github/cnc.js/web/components/widgets/axes/MotionControls.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/axes/constants.js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/axes/DisplayPanel.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(JogDistanceControl)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={distance:_constants.DISTANCE_DEFAULT},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(JogDistanceControl,_React$Component),_createClass(JogDistanceControl,[{key:"normalizeToRange",value:function(n,min,max){return min>n?min:n>max?max:n}},{key:"handleChange",value:function(event){var distance=event.target.value;this.setState({distance:distance}),this.props.onChange(distance)}},{key:"increaseDistance",value:function(){var distance=Math.min(Number(this.state.distance)+_constants.DISTANCE_STEP,_constants.DISTANCE_MAX),digits=this.props.unit===_constants.METRIC_UNIT?3:4;this.setState({distance:1*distance.toFixed(digits)}),this.props.onChange(distance)}},{key:"decreaseDistance",value:function(){var distance=Math.max(Number(this.state.distance)-_constants.DISTANCE_STEP,_constants.DISTANCE_MIN),digits=this.props.unit===_constants.METRIC_UNIT?3:4;this.setState({distance:1*distance.toFixed(digits)}),this.props.onChange(distance)}},{key:"resetDistance",value:function(){var distance=_constants.DISTANCE_DEFAULT;this.setState({distance:distance}),this.props.onChange(distance)}},{key:"render",value:function(){var distance=this.normalizeToRange(this.state.distance,_constants.DISTANCE_MIN,_constants.DISTANCE_MAX);return _react2["default"].createElement("div",{className:"jog-distance-control"},_react2["default"].createElement("div",{className:"form-inline"},_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("div",{className:"input-group input-group-xs"},_react2["default"].createElement("div",{className:"input-group-addon"},_i18n2["default"]._("Step")),_react2["default"].createElement("div",{className:"input-group-btn"},_react2["default"].createElement("input",{type:"number",className:"form-control",style:{borderRadius:0},min:_constants.DISTANCE_MIN,max:_constants.DISTANCE_MAX,step:_constants.DISTANCE_STEP,value:distance,onChange:this.handleChange.bind(this),title:_i18n2["default"]._("Step for every move operation")}),_react2["default"].createElement(_PressAndHold2["default"],{className:"btn btn-default",onClick:this.increaseDistance.bind(this),title:_i18n2["default"]._("Increase step by 0.1 unit")},_react2["default"].createElement("span",{className:"glyphicon glyphicon-plus"})),_react2["default"].createElement(_PressAndHold2["default"],{className:"btn btn-default",onClick:this.decreaseDistance.bind(this),title:_i18n2["default"]._("Decrease step by 0.1 unit")},_react2["default"].createElement("span",{className:"glyphicon glyphicon-minus"})),_react2["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:this.resetDistance.bind(this),title:_i18n2["default"]._("Reset")},_react2["default"].createElement("span",{className:"glyphicon glyphicon-reset"})))))))}}]),JogDistanceControl}(_react2["default"].Component);JogDistanceControl.propTypes={unit:_react2["default"].PropTypes.string,onChange:_react2["default"].PropTypes.func},exports["default"]=JogDistanceControl},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../common/PressAndHold":"/Users/cheton/github/cnc.js/web/components/common/PressAndHold/index.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/axes/constants.js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/axes/JogJoystickControl.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(AxesWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(AxesWidget,_React$Component),_createClass(AxesWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("Axes"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/AxesWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_Axes2["default"],null))))}}]),AxesWidget}(_react2["default"].Component);exports["default"]=AxesWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./Axes":"/Users/cheton/github/cnc.js/web/components/widgets/axes/Axes.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/axes/index.css",classnames:"classnames",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/connection/Alert.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Connection)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={loading:!1,ports:[],baudrates:[9600,19200,38400,57600,115200],port:"",baudrate:115200,alertMessage:""},_this.socketEventListener={"serialport:list":(_context=_this).socketOnSerialPortList.bind(_context),"serialport:open":(_context=_this).socketOnSerialPortOpen.bind(_context),"serialport:close":(_context=_this).socketOnSerialPortClose.bind(_context),"serialport:error":(_context=_this).socketOnSerialPortError.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Connection,_React$Component),_createClass(Connection,[{key:"componentWillMount",value:function(){this.handleRefresh()}},{key:"componentDidMount",value:function(){this.addSocketEventListener()}},{key:"componentWillUnmount",value:function(){this.removeSocketEventListener()}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnSerialPortList",value:function(ports){_log2["default"].debug("serialport:list",ports),this.stopLoading(),this.clearAlert();var port=_reactCookie2["default"].load("port");_lodash2["default"].includes(_lodash2["default"].pluck(ports,"port"),port)?this.setState({port:port,ports:ports}):this.setState({ports:ports})}},{key:"socketOnSerialPortOpen",value:function(options){var port=options.port,baudrate=options.baudrate,inuse=options.inuse,ports=_lodash2["default"].map(this.state.ports,function(o){return o.port!==port?o:_lodash2["default"].extend(o,{inuse:inuse})});this.clearAlert(),_pubsubJs2["default"].publish("port",port),_reactCookie2["default"].save("port",port),this.setState({connecting:!1,connected:!0,port:port,baudrate:baudrate,ports:ports}),_log2["default"].debug("Connected to '"+port+"' at "+baudrate+".")}},{key:"socketOnSerialPortClose",value:function(options){var port=options.port;options.inuse;this.clearAlert(),_pubsubJs2["default"].publish("port",""),this.setState({connecting:!1,connected:!1}),_log2["default"].debug("Disconnected from '"+port+"'.")}},{key:"socketOnSerialPortError",value:function(options){var port=options.port;this.showAlert("Error opening serial port: "+port),_pubsubJs2["default"].publish("port",""),this.setState({connecting:!1,connected:!1}),_log2["default"].error("Error opening serial port:",port)}},{key:"showAlert",value:function(msg){this.setState({alertMessage:msg})}},{key:"clearAlert",value:function(){this.setState({alertMessage:""})}},{key:"startLoading",value:function(){var _this2=this,delay=5e3;this.setState({loading:!0}),this._loadingTimer=setTimeout(function(){_this2.setState({loading:!1})},delay)}},{key:"stopLoading",value:function(){this._loadingTimer&&(clearTimeout(this._loadingTimer),this._loadingTimer=null),this.setState({loading:!1})}},{key:"isPortInUse",value:function(port){port=port||this.state.port;var o=_lodash2["default"].findWhere(this.state.ports,{port:port})||{};return!!o.inuse}},{key:"handleRefresh",value:function(){_socket2["default"].emit("list"),this.startLoading()}},{key:"openPort",value:function(){var port=this.state.port,baudrate=this.state.baudrate;this.setState({connecting:!0}),_socket2["default"].emit("open",{port:port,baudrate:baudrate})}},{key:"closePort",value:function(){var port=this.state.port;_pubsubJs2["default"].publish("port",""),this.setState({connecting:!1,connected:!1}),_socket2["default"].emit("close",{port:port}),_socket2["default"].emit("list")}},{key:"changePort",value:function(value){this.setState({alertMessage:"",port:value})}},{key:"changeBaudrate",value:function(value){this.setState({alertMessage:"",baudrate:value})}},{key:"renderPortOption",value:function(option){var optionStyle={whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},noteStyle={fontSize:"12px"};return _react2["default"].createElement("div",{style:optionStyle,title:option.label},_react2["default"].createElement("div",null,option.inuse&&_react2["default"].createElement("span",null,_react2["default"].createElement("i",{className:"glyphicon glyphicon-lock"})," "),option.label),option.manufacturer&&_react2["default"].createElement("note",{style:noteStyle},_i18n2["default"]._("Manufacturer:")," ",option.manufacturer))}},{key:"renderPortValue",value:function(option){var notLoading=!this.state.loading,canChangePort=notLoading,style={color:canChangePort?"#333":"#ccc",textOverflow:"ellipsis",overflow:"hidden"};return _react2["default"].createElement("div",{style:style,title:option.label},option.inuse&&_react2["default"].createElement("span",null,_react2["default"].createElement("i",{className:"glyphicon glyphicon-lock"})," "),option.label)}},{key:"renderBaudrateValue",value:function(option){var notLoading=!this.state.loading,notInUse=!this.isPortInUse(this.state.port),canChangeBaudrate=notLoading&¬InUse,style={color:canChangeBaudrate?"#333":"#ccc",textOverflow:"ellipsis",overflow:"hidden"};return _react2["default"].createElement("div",{style:style,title:option.label},option.label)}},{key:"render",value:function(){var notLoading=!this.state.loading,notConnecting=!this.state.connecting,notConnected=!this.state.connected,isConnected=this.state.connected,canRefresh=notLoading&¬Connected,canChangePort=notLoading&¬Connected,canChangeBaudrate=notLoading&¬Connected&&!this.isPortInUse(this.state.port),canOpenPort=this.state.port&&this.state.baudrate&¬Connecting&¬Connected,canClosePort=isConnected;return _react2["default"].createElement("div",null,_react2["default"].createElement(_Alert2["default"],{msg:this.state.alertMessage,dismiss:this.clearAlert.bind(this)}),_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Port:")),_react2["default"].createElement("div",{className:"input-group input-group-sm"},_react2["default"].createElement(_reactSelect2["default"],{className:"sm",name:"port",value:this.state.port,options:_lodash2["default"].map(this.state.ports,function(port){return{value:port.port,label:port.port,manufacturer:port.manufacturer,inuse:port.inuse}}),disabled:!canChangePort,backspaceRemoves:!1,clearable:!1,searchable:!1,placeholder:_i18n2["default"]._("Choose a port"),noResultsText:_i18n2["default"]._("No ports available"),optionRenderer:this.renderPortOption.bind(this),valueRenderer:this.renderPortValue.bind(this),onChange:this.changePort.bind(this)}),_react2["default"].createElement("div",{className:"input-group-btn"},_react2["default"].createElement("button",{type:"button",className:"btn btn-default",name:"btn-refresh",title:_i18n2["default"]._("Refresh"),onClick:this.handleRefresh.bind(this),disabled:!canRefresh},notLoading?_react2["default"].createElement("i",{className:"glyphicon glyphicon-refresh"}):_react2["default"].createElement("i",{className:"glyphicon glyphicon-refresh rotating"}))))),_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Baud rate:")),_react2["default"].createElement(_reactSelect2["default"],{className:"sm",name:"baudrate",value:this.state.baudrate,options:_lodash2["default"].map(this.state.baudrates,function(baudrate){return{value:baudrate,label:Number(baudrate).toString()}}),disabled:!canChangeBaudrate,backspaceRemoves:!1,clearable:!1,searchable:!1,placeholder:_i18n2["default"]._("Choose a baud rate"),valueRenderer:this.renderBaudrateValue.bind(this),onChange:this.changeBaudrate.bind(this)})),_react2["default"].createElement("div",{className:"btn-group btn-group-sm"},notConnected&&_react2["default"].createElement("button",{type:"button",className:"btn btn-primary",disabled:!canOpenPort,onClick:this.openPort.bind(this)},_react2["default"].createElement("i",{className:"glyphicon glyphicon-off"})," ",_i18n2["default"]._("Open")),isConnected&&_react2["default"].createElement("button",{type:"button",className:"btn btn-danger",disabled:!canClosePort,onClick:this.closePort.bind(this)},_react2["default"].createElement("i",{className:"glyphicon glyphicon-off"})," ",_i18n2["default"]._("Close"))))}}]),Connection}(_react2["default"].Component);exports["default"]=Connection},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","./Alert":"/Users/cheton/github/cnc.js/web/components/widgets/connection/Alert.jsx",lodash:"lodash","pubsub-js":"pubsub-js",react:"react","react-cookie":"/Users/cheton/github/cnc.js/node_modules/react-cookie/index.js","react-select":"react-select"}],"/Users/cheton/github/cnc.js/web/components/widgets/connection/index.css":[function(require,module,exports){var css='[data-component="Widgets/ConnectionWidget"] .widget-content{position:relative;padding:10px}[data-component="Widgets/ConnectionWidget"] .widget-content .Select.sm .Select-control{height:30px;border-radius:3px}[data-component="Widgets/ConnectionWidget"] .widget-content .Select.sm .Select-placeholder{line-height:28px}[data-component="Widgets/ConnectionWidget"] .widget-content .Select.sm .Select-value{padding:6px 52px 6px 10px}[data-component="Widgets/ConnectionWidget"] .widget-content .Select.sm .Select-input{height:28px}[data-component="Widgets/ConnectionWidget"] .widget-content .input-group>.Select:not(:last-child) .Select-control{border-top-right-radius:0;border-bottom-right-radius:0}[data-component="Widgets/ConnectionWidget"] .widget-content .input-group>.Select:not(:first-child) .Select-control{border-top-left-radius:0;border-bottom-left-radius:0}';require("browserify-css").createStyle(css,{href:"components/widgets/connection/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/widgets/connection/index.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _extends=Object.assign||function(target){for(var i=1;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(ConnectionWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(ConnectionWidget,_React$Component),_createClass(ConnectionWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("Connection"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/ConnectionWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_Connection2["default"],null))))}}]),ConnectionWidget}(_react2["default"].Component);exports["default"]=ConnectionWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./Connection":"/Users/cheton/github/cnc.js/web/components/widgets/connection/Connection.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/connection/index.css",classnames:"classnames",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/console/Console.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Console)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",buffers:[]},_this.buffers=[],_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Console,_React$Component),_createClass(Console,[{key:"componentDidMount",value:function(){this.subscribe(),this.addSerialPortEvents()}},{key:"componentWillUnmount",value:function(){this.unsubscribe(),this.removeSerialPortEvents()}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",_this2.setState({port:port}),port||_this2.clear()});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"addSerialPortEvents",value:function(){_serialport2["default"].on("write",this.onSerialPortWrite.bind(this)),_serialport2["default"].on("data",this.onSerialPortRead.bind(this))}},{key:"removeSocketEvents",value:function(){_serialport2["default"].off("write",this.onSerialPortWrite.bind(this)),_serialport2["default"].off("data",this.onSerialPortRead.bind(this))}},{key:"onSerialPortRead",value:function(data){this.append(data)}},{key:"onSerialPortWrite",value:function(data){var lines=data.split("\n"),values=(0,_lodash2["default"])(lines).compact().map(function(line){return"> "+line}).value();this.append(values)}},{key:"append",value:function(buffer){this.buffers=(0,_lodash2["default"])(this.buffers).concat(buffer).slice(0,_constants.SCROLL_BUFFER_SIZE).value(),this.setState({buffers:this.buffers})}},{key:"clear",value:function(){this.buffers=[],this.setState({buffers:this.buffers})}},{key:"render",value:function(){return _react2["default"].createElement("div",null,_react2["default"].createElement(_ConsoleInput2["default"],{port:this.state.port,onClear:this.clear.bind(this)}),_react2["default"].createElement(_ConsoleWindow2["default"],{buffers:this.state.buffers}))}}]),Console}(_react2["default"].Component);exports["default"]=Console},{"../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js","./ConsoleInput":"/Users/cheton/github/cnc.js/web/components/widgets/console/ConsoleInput.jsx","./ConsoleWindow":"/Users/cheton/github/cnc.js/web/components/widgets/console/ConsoleWindow.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/console/constants.js",classnames:"classnames",lodash:"lodash","pubsub-js":"pubsub-js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/console/ConsoleInput.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i=node.scrollHeight}},{key:"componentDidUpdate",value:function(){var node=_reactDom2["default"].findDOMNode(this.refs.infinite);this.shouldScrollBottom&&(node.scrollTop=node.scrollHeight)}},{key:"buildElements",value:function(buffers){return _lodash2["default"].map(buffers,function(msg,index){return _react2["default"].createElement("div",{key:index,className:"infinite-list-item"},msg)})}},{key:"render",value:function(){var buffers=this.props.buffers,elements=this.buildElements(buffers);return _react2["default"].createElement("div",{className:"console-window code"},_react2["default"].createElement(_reactInfinite2["default"],{containerHeight:260,elementHeight:20,ref:"infinite"},elements))}}]),ConsoleWindow}(_react2["default"].Component);ConsoleWindow.propTypes={buffers:_react2["default"].PropTypes.array},exports["default"]=ConsoleWindow},{lodash:"lodash",react:"react","react-dom":"react-dom","react-infinite":"react-infinite"}],"/Users/cheton/github/cnc.js/web/components/widgets/console/constants.js":[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SCROLL_BUFFER_SIZE=5e3,exports.GRBL_REALTIME_COMMANDS=["~","!","?",""]},{}],"/Users/cheton/github/cnc.js/web/components/widgets/console/index.css":[function(require,module,exports){var css='[data-component="Widgets/ConsoleWidget"] .widget-content{position:relative;padding:10px}[data-component="Widgets/ConsoleWidget"] .widget-content .console-input{margin-bottom:10px}[data-component="Widgets/ConsoleWidget"] .widget-content .console-input button.dropdown-toggle{height:30px}[data-component="Widgets/ConsoleWidget"] .widget-content .console-window{background-color:#000;color:#fff}[data-component="Widgets/ConsoleWidget"] .widget-content .console-window.code{font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif}[data-component="Widgets/ConsoleWidget"] .widget-content .console-window .infinite-list-item{white-space:nowrap;height:20px}';require("browserify-css").createStyle(css,{href:"components/widgets/console/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/widgets/console/index.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _extends=Object.assign||function(target){for(var i=1;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(ConsoleWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(ConsoleWidget,_React$Component),_createClass(ConsoleWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("Console"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/ConsoleWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_Console2["default"],null))))}}]),ConsoleWidget}(_react2["default"].Component);exports["default"]=ConsoleWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./Console":"/Users/cheton/github/cnc.js/web/components/widgets/console/Console.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/console/index.css",classnames:"classnames",lodash:"lodash",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/gcode/GCode.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(GCode)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",unit:_constants.METRIC_UNIT,commands:[],alertMessage:"",queueStatus:{executed:0,total:0}},_this.socketEventListener={"gcode:queue-status":(_context=_this).socketOnGCodeQueueStatus.bind(_context),"grbl:gcode-modes":(_context=_this).socketOnGrblGCodeModes.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(GCode,_React$Component),_createClass(GCode,[{key:"componentDidMount",value:function(){this.subscribe(),this.addSocketEventListener()}},{key:"componentWillUnmount",value:function(){this.removeSocketEventListener(),this.unsubscribe()}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",_this2.setState({port:port})});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("gcode:load",function(msg,gcode){gcode=gcode||"",(0,_gcodeParser.parseText)(gcode,function(err,data){if(err)return void _log2["default"].error(err);var commands=(0,_lodash2["default"])(data).map(function(o){return{status:_constants.GCODE_STATUS.NOT_STARTED,cmd:o.line}}).value();_this2.setState({commands:commands})})});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnGCodeQueueStatus",value:function(data){for(var list={},from=this.state.queueStatus.executed,to=data.executed,i=to;from>i;++i)list[i]={status:{$set:_constants.GCODE_STATUS.NOT_STARTED}};for(var i=from;to>i;++i)list[i]={status:{$set:_constants.GCODE_STATUS.COMPLETED}};var updatedCommands=(0,_reactAddonsUpdate2["default"])(this.state.commands,list);this.setState({commands:updatedCommands,queueStatus:{executed:Number(data.executed),total:Number(data.total)}})}},{key:"socketOnGrblGCodeModes",value:function(modes){var unit=this.state.unit;_lodash2["default"].includes(modes,"G20")&&(unit=_constants.IMPERIAL_UNIT),_lodash2["default"].includes(modes,"G21")&&(unit=_constants.METRIC_UNIT),this.state.unit!==unit&&this.setState({unit:unit})}},{key:"render",value:function(){var _state=this.state,unit=(_state.port,_state.unit),queueStatus=_state.queueStatus,tableWidth=this.props.width-2-20,tableHeight=180,rowHeight=30,visibleRows=Math.floor(tableHeight/rowHeight),isLoaded=_lodash2["default"].size(this.state.commands)>0,scrollToRow=Math.min(queueStatus.executed+(Math.floor(visibleRows/2)-1),queueStatus.total);return _react2["default"].createElement("div",null,_react2["default"].createElement(_GCodeStats2["default"],{unit:unit,executed:queueStatus.executed,total:queueStatus.total}),isLoaded&&_react2["default"].createElement(_GCodeTable2["default"],{width:tableWidth,height:tableHeight,rowHeight:rowHeight,data:this.state.commands,scrollToRow:scrollToRow}))}}]),GCode}(_react2["default"].Component);exports["default"]=GCode},{"../../../lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","./GCodeStats":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/GCodeStats.jsx","./GCodeTable":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/GCodeTable.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/constants.js","gcode-parser":"gcode-parser",lodash:"lodash","pubsub-js":"pubsub-js",react:"react","react-addons-update":"react-addons-update"}],"/Users/cheton/github/cnc.js/web/components/widgets/gcode/GCodeStats.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(GCodeStats)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={startTime:0,duration:0,box:{min:{x:0,y:0,z:0},max:{x:0,y:0,z:0},delta:{x:0,y:0,z:0}}},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(GCodeStats,_React$Component),_createClass(GCodeStats,[{key:"componentDidMount",value:function(){this.subscribe(),this.setTimer()}},{key:"componentWillUnmount",value:function(){this.clearTimer(),this.unsubscribe()}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("gcode:boundingBox",function(msg,box){var dX=box.max.x-box.min.x,dY=box.max.y-box.min.y,dZ=box.max.z-box.min.z;_this2.setState({box:{min:{x:box.min.x,y:box.min.y,z:box.min.z},max:{x:box.max.x,y:box.max.y,z:box.max.z},delta:{x:dX,y:dY,z:dZ}}})});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("gcode:run",function(msg){var now=(0,_moment2["default"])().unix(),startTime=_this2.state.startTime||now,duration=startTime!==now?_this2.state.duration:0;_this2.setState({startTime:startTime,duration:duration})});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("gcode:stop",function(msg){_this2.setState({startTime:0,duration:0})});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("gcode:unload",function(msg){_this2.setState({startTime:0,duration:0})});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"setTimer",value:function(){var _this3=this;this.timer=setInterval(function(){if(0!==_this3.state.startTime){var from=_moment2["default"].unix(_this3.state.startTime),to=(0,_moment2["default"])(),duration=to.diff(from,"seconds");_this3.setState({duration:duration})}},1e3)}},{key:"clearTimer",value:function(){this.timer&&(clearInterval(this.timer),this.timer=null)}},{key:"toUnitString",value:function(val){return val=Number(val)||0,val=this.props.unit===_constants.METRIC_UNIT?(val/1).toFixed(3):(val/25.4).toFixed(4),""+val}},{key:"render",value:function(){var _this4=this,_props=this.props,unit=_props.unit,total=_props.total,executed=_props.executed,box=_lodash2["default"].mapValues(this.state.box,function(position){return _lodash2["default"].mapValues(position,function(val,axis){return _this4.toUnitString(val)})}),displayUnit=unit===_constants.METRIC_UNIT?_i18n2["default"]._("mm"):_i18n2["default"]._("in"),startTime="–",duration="–";if(this.state.startTime>0&&(startTime=_moment2["default"].unix(this.state.startTime).format("YYYY-MM-DD HH:mm:ss")),this.state.duration>0){var d=_moment2["default"].duration(this.state.duration,"seconds"),hours=_lodash2["default"].padLeft(d.hours(),2,"0"),minutes=_lodash2["default"].padLeft(d.minutes(),2,"0"),seconds=_lodash2["default"].padLeft(d.seconds(),2,"0");duration=hours+":"+minutes+":"+seconds}return _react2["default"].createElement("div",{className:"container-fluid gcode-stats"},_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col-xs-12"},_react2["default"].createElement("div",null,_i18n2["default"]._("Dimension:")))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col-xs-12"},_react2["default"].createElement("table",{className:"table-bordered","data-table":"dimension"},_react2["default"].createElement("thead",null,_react2["default"].createElement("tr",null,_react2["default"].createElement("th",{className:"axis"},_i18n2["default"]._("Axis")),_react2["default"].createElement("th",null,_i18n2["default"]._("Min")),_react2["default"].createElement("th",null,_i18n2["default"]._("Max")),_react2["default"].createElement("th",null,_i18n2["default"]._("Delta")))),_react2["default"].createElement("tbody",null,_react2["default"].createElement("tr",null,_react2["default"].createElement("td",{className:"axis"},"X"),_react2["default"].createElement("td",null,box.min.x," ",displayUnit),_react2["default"].createElement("td",null,box.max.x," ",displayUnit),_react2["default"].createElement("td",null,box.delta.x," ",displayUnit)),_react2["default"].createElement("tr",null,_react2["default"].createElement("td",{className:"axis"},"Y"),_react2["default"].createElement("td",null,box.min.y," ",displayUnit),_react2["default"].createElement("td",null,box.max.y," ",displayUnit),_react2["default"].createElement("td",null,box.delta.y," ",displayUnit)),_react2["default"].createElement("tr",null,_react2["default"].createElement("td",{className:"axis"},"Z"),_react2["default"].createElement("td",null,box.min.z," ",displayUnit),_react2["default"].createElement("td",null,box.max.z," ",displayUnit),_react2["default"].createElement("td",null,box.delta.z," ",displayUnit)))))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col-xs-6"},_i18n2["default"]._("Executed")),_react2["default"].createElement("div",{className:"col-xs-6"},_i18n2["default"]._("Total"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col-xs-6"},executed),_react2["default"].createElement("div",{className:"col-xs-6"},total)),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col-xs-6"},_i18n2["default"]._("Start Time")),_react2["default"].createElement("div",{className:"col-xs-6"},_i18n2["default"]._("Duration"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col-xs-6"},startTime),_react2["default"].createElement("div",{className:"col-xs-6"},duration)))}}]),GCodeStats}(_react2["default"].Component);GCodeStats.propTypes={unit:_react2["default"].PropTypes.string,executed:_react2["default"].PropTypes.number,total:_react2["default"].PropTypes.number},exports["default"]=GCodeStats},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/constants.js",classnames:"classnames",lodash:"lodash",moment:"moment","pubsub-js":"pubsub-js",react:"react","react-addons-update":"react-addons-update"}],"/Users/cheton/github/cnc.js/web/components/widgets/gcode/GCodeTable.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(GCodeTable)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={table:{width:_this.props.width,height:_this.props.height,columns:[{dataKey:"status",isResizable:!1,width:28,align:"center",cellRenderer:function(cellData,cellDataKey,rowData,rowIndex,columnData,width){var classes={icon:(0,_classnames2["default"])("glyphicon",{"glyphicon-ok":cellData!==_constants.GCODE_STATUS.ERROR},{"glyphicon-remove":cellData===_constants.GCODE_STATUS.ERROR})},styles={icon:{color:function(){var cdata={};return cdata[_constants.GCODE_STATUS.ERROR]="#a71d5d",cdata[_constants.GCODE_STATUS.NOT_STARTED]="#ddd",cdata[_constants.GCODE_STATUS.IN_PROGRESS]="#ddd",cdata[_constants.GCODE_STATUS.COMPLETED]="#333",cdata[cellData]||"#ddd"}()}};return _react2["default"].createElement("i",{className:classes.icon,style:styles.icon})}},{dataKey:"cmd",isResizable:!0,flexGrow:1,width:100,cellRenderer:function(cellData,cellDataKey,rowData,rowIndex,columnData,width){return _react2["default"].createElement("span",{className:"text-overflow-ellipsis",style:{width:width}},_react2["default"].createElement("span",{className:"label label-default"},rowIndex+1)," ",cellData)}}]}},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(GCodeTable,_React$Component),_createClass(GCodeTable,[{key:"rowGetter",value:function(index){return this.props.data[index]}},{key:"onContentHeightChange",value:function(contentHeight){this.props.onContentDimensionsChange&&this.props.onContentDimensionsChange(contentHeight,Math.max(600,this.props.tableWidth))}},{key:"onColumnResizeEndCallback",value:function(newColumnWidth,dataKey){isColumnResizing=!1,this.setTableColumnWidth(dataKey,newColumnWidth)}},{key:"setTableColumnWidth",value:function(dataKey,newColumnWidth){var columns=this.state.table.columns,newState=(0,_reactAddonsUpdate2["default"])(this.state,{table:{columns:{$apply:function(){var key=_lodash2["default"].findKey(columns,{dataKey:dataKey});return columns[key].width=newColumnWidth,columns}}}});this.setState(newState)}},{key:"render",value:function(){return _lodash2["default"].size(this.props.data)>0?this.renderTable():this.renderEmptyMessage()}},{key:"renderTable",value:function(){var controlledScrolling=void 0!==this.props.left||void 0!==this.props.top;return _react2["default"].createElement("div",{className:"gcode-table"},_react2["default"].createElement(_fixedDataTable.Table,{className:"noHeader",headerHeight:0,rowHeight:this.props.rowHeight||30,rowGetter:this.rowGetter.bind(this),rowsCount:_lodash2["default"].size(this.props.data),width:this.state.table.width,height:this.state.table.height,onContentHeightChange:this.onContentHeightChange.bind(this),scrollToRow:this.props.scrollToRow,scrollTop:this.props.top,scrollLeft:this.props.left,overflowX:controlledScrolling?"hidden":"auto",overflowY:controlledScrolling?"hidden":"auto",isColumnResizing:isColumnResizing,onColumnResizeEndCallback:this.onColumnResizeEndCallback.bind(this)},this.renderTableColumns()))}},{key:"renderTableColumns",value:function(){var columns=this.state.table.columns;return columns.map(function(column,key){return _react2["default"].createElement(_fixedDataTable.Column,{label:column.name,dataKey:column.dataKey,width:column.width,flexGrow:column.flexGrow,isResizable:!!column.isResizable,key:key,align:column.align,headerClassName:column.headerClassName,headerRenderer:column.headerRenderer,cellClassName:column.cellClassName,cellRenderer:column.cellRenderer})}.bind(this))}},{key:"renderEmptyMessage",value:function(){return _react2["default"].createElement("p",{className:""},_i18n2["default"]._("No data to display"))}}]),GCodeTable}(_react2["default"].Component);exports["default"]=GCodeTable},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/constants.js",classnames:"classnames","fixed-data-table":"fixed-data-table",lodash:"lodash",react:"react","react-addons-update":"react-addons-update"}],"/Users/cheton/github/cnc.js/web/components/widgets/gcode/constants.js":[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.IMPERIAL_UNIT="inch",exports.METRIC_UNIT="mm",exports.GCODE_STATUS={ERROR:-1,NOT_STARTED:0,IN_PROGRESS:1,COMPLETED:2}},{}],"/Users/cheton/github/cnc.js/web/components/widgets/gcode/index.css":[function(require,module,exports){var css='[data-component="Widgets/GCodeWidget"] .widget-content{position:relative;padding:10px}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-table .public_fixedDataTable_bottomShadow,[data-component="Widgets/GCodeWidget"] .widget-content .gcode-table .public_fixedDataTable_topShadow{background:0 0}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-table .public_fixedDataTable_header{border:none}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-table+.gcode-stats{border-top:none}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats{padding:0 5px}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats table[data-table=dimension]{width:100%}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats table[data-table=dimension] tbody>tr>td.axis,[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats table[data-table=dimension] thead>tr>th.axis{width:1%}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats table[data-table=dimension] tbody>tr>td{text-align:right}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats table[data-table=dimension] tbody>tr>td.axis{text-align:center}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats .row>[class^=col-]{padding-right:10px;padding-left:10px}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats .row:nth-child(even){margin-bottom:10px}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats .row:last-child{margin-bottom:0}';require("browserify-css").createStyle(css,{href:"components/widgets/gcode/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/widgets/gcode/index.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0, -configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _extends=Object.assign||function(target){for(var i=1;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(GCodeWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(GCodeWidget,_React$Component),_createClass(GCodeWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("G-code"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/GCodeWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_GCode2["default"],{width:width}))))}}]),GCodeWidget}(_react2["default"].Component);exports["default"]=GCodeWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./GCode":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/GCode.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/index.css",classnames:"classnames",lodash:"lodash",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/grbl/Grbl.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Grbl)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",modes:{}},_this.sokcetEventListener={"grbl:gcode-modes":(_context=_this).socketOnGrblGCodeModes.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Grbl,_React$Component),_createClass(Grbl,[{key:"componentDidMount",value:function(){this.subscribe(),this.addSocketEventListener()}},{key:"componentWillUnmount",value:function(){this.unsubscribe(),this.removeSocketEventListener()}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){if(port=port||"",_this2.setState({port:port}),!port){var modes={};_this2.setState({modes:modes})}});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnGrblGCodeModes",value:function(modes){var state={};_lodash2["default"].each(modes,function(mode){if(0===mode.indexOf("G")||0===mode.indexOf("M")){var r=_lodash2["default"].find(_modalGroups.MODAL_GROUPS,function(group){return _lodash2["default"].includes(group.modes,mode)});r&&_lodash2["default"].set(state,"modal."+r.group,mode)}0===mode.indexOf("T")&&_lodash2["default"].set(state,"tool",mode.substring(1)),0===mode.indexOf("F")&&_lodash2["default"].set(state,"feedrate",mode.substring(1)),0===mode.indexOf("S")&&_lodash2["default"].set(state,"spindle",mode.substring(1))}),this.setState({modes:state}),_log2["default"].trace(state)}},{key:"shouldComponentUpdate",value:function(nextProps,nextState){return JSON.stringify(nextState)!==JSON.stringify(this.state)}},{key:"render",value:function(){var _state=this.state,port=_state.port,modes=_state.modes,canClick=!!port;return _react2["default"].createElement("div",null,_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("div",{className:"btn-group btn-group-justified",role:"group","aria-label":"..."},_react2["default"].createElement(_reactBootstrap.DropdownButton,{bsSize:"sm",bsStyle:"default",title:_i18n2["default"]._("Real-Time Commands"),id:"realtime-commands"},_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].write("~")},disabled:!canClick},_i18n2["default"]._("Cycle Start (~)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].write("!")},disabled:!canClick},_i18n2["default"]._("Feed Hold (!)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].write("?")},disabled:!canClick},_i18n2["default"]._("Current Status (?)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].write("")},disabled:!canClick},_i18n2["default"]._("Reset Grbl (Ctrl-X)"))),_react2["default"].createElement(_reactBootstrap.DropdownButton,{bsSize:"sm",bsStyle:"default",title:_i18n2["default"]._("System Commands"),id:"system-commands"},_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$")},disabled:!canClick},_i18n2["default"]._("Grbl Help ($)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$$")},disabled:!canClick},_i18n2["default"]._("Grbl Settings ($$)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$#")},disabled:!canClick},_i18n2["default"]._("View G-code Parameters ($#)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$G")},disabled:!canClick},_i18n2["default"]._("View G-code Parser State ($G)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$I")},disabled:!canClick},_i18n2["default"]._("View Build Info ($I)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$N")},disabled:!canClick},_i18n2["default"]._("View Startup Blocks ($N)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{divider:!0}),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$C")},disabled:!canClick},_i18n2["default"]._("Check G-code Mode ($C)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$X")},disabled:!canClick},_i18n2["default"]._("Kill Alarm Lock ($X)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$H")},disabled:!canClick},_i18n2["default"]._("Run Homing Cycle ($H)"))))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Feed rate:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"feedrate"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Spindle speed:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"spindle"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Tool number:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"tool"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Motion mode:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.motion"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Coordinate system select:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.coordinate"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Plane select:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.plane"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Distance mode:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.distance"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Feed rate mode:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.feedrate"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Units mode:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.units"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Program mode:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.program"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Spindle state:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.spindle"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Coolant state:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.coolant"))))}}]),Grbl}(_react2["default"].Component);exports["default"]=Grbl},{"../../../constants/modal-groups":"/Users/cheton/github/cnc.js/web/constants/modal-groups.js","../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js","../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js",lodash:"lodash","pubsub-js":"pubsub-js",react:"react","react-bootstrap":"react-bootstrap"}],"/Users/cheton/github/cnc.js/web/components/widgets/grbl/index.css":[function(require,module,exports){var css='[data-component="Widgets/GrblWidget"] .widget-content{position:relative;padding:10px}';require("browserify-css").createStyle(css,{href:"components/widgets/grbl/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/widgets/grbl/index.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _extends=Object.assign||function(target){for(var i=1;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(GrblWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(GrblWidget,_React$Component),_createClass(GrblWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("Grbl"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/GrblWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_Grbl2["default"],null))))}}]),GrblWidget}(_react2["default"].Component);exports["default"]=GrblWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./Grbl":"/Users/cheton/github/cnc.js/web/components/widgets/grbl/Grbl.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/grbl/index.css",classnames:"classnames",lodash:"lodash",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/index.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.VisualizerWidget=exports.SpindleWidget=exports.ProbeWidget=exports.GrblWidget=exports.GCodeWidget=exports.ConsoleWidget=exports.ConnectionWidget=exports.AxesWidget=void 0;var _axes=require("./axes"),_axes2=_interopRequireDefault(_axes),_connection=require("./connection"),_connection2=_interopRequireDefault(_connection),_console=require("./console"),_console2=_interopRequireDefault(_console),_gcode=require("./gcode"),_gcode2=_interopRequireDefault(_gcode),_grbl=require("./grbl"),_grbl2=_interopRequireDefault(_grbl),_probe=require("./probe"),_probe2=_interopRequireDefault(_probe),_spindle=require("./spindle"),_spindle2=_interopRequireDefault(_spindle),_visualizer=require("./visualizer"),_visualizer2=_interopRequireDefault(_visualizer);exports.AxesWidget=_axes2["default"],exports.ConnectionWidget=_connection2["default"],exports.ConsoleWidget=_console2["default"],exports.GCodeWidget=_gcode2["default"],exports.GrblWidget=_grbl2["default"],exports.ProbeWidget=_probe2["default"],exports.SpindleWidget=_spindle2["default"],exports.VisualizerWidget=_visualizer2["default"]},{"./axes":"/Users/cheton/github/cnc.js/web/components/widgets/axes/index.jsx","./connection":"/Users/cheton/github/cnc.js/web/components/widgets/connection/index.jsx","./console":"/Users/cheton/github/cnc.js/web/components/widgets/console/index.jsx","./gcode":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/index.jsx","./grbl":"/Users/cheton/github/cnc.js/web/components/widgets/grbl/index.jsx","./probe":"/Users/cheton/github/cnc.js/web/components/widgets/probe/index.jsx","./spindle":"/Users/cheton/github/cnc.js/web/components/widgets/spindle/index.jsx","./visualizer":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/index.jsx"}],"/Users/cheton/github/cnc.js/web/components/widgets/probe/Probe.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Probe)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",unit:_constants.METRIC_UNIT,activeState:_constants.ACTIVE_STATE_IDLE,probeCommand:"G38.2",probeDepth:10,probeFeedrate:20,tlo:10,retractionDistance:2},_this.socketEventListener={"grbl:current-status":(_context=_this).socketOnGrblCurrentStatus.bind(_context),"grbl:gcode-modes":(_context=_this).socketOnGrblGCodeModes.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Probe,_React$Component),_createClass(Probe,[{key:"componentDidMount",value:function(){this.subscribe(),this.addSocketEventListener()}},{key:"componentWillUnmount",value:function(){this.unsubscribe(),this.removeSocketEventListener()}},{key:"shouldComponentUpdate",value:function(nextProps,nextState){return!_lodash2["default"].isEqual(nextState,this.state)}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",_this2.setState({port:port})});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnGrblCurrentStatus",value:function(data){data.activeState!==this.state.activeState&&this.setState({activeState:data.activeState})}},{key:"socketOnGrblGCodeModes",value:function(modes){var unit=this.state.unit;if(_lodash2["default"].includes(modes,"G20")&&(unit=_constants.IMPERIAL_UNIT),_lodash2["default"].includes(modes,"G21")&&(unit=_constants.METRIC_UNIT),unit!==this.state.unit){var defaults=this.getUnitDefaults(unit),state=_lodash2["default"].extend({},this.state,defaults,{unit:unit});this.setState(state)}}},{key:"getUnitDefaults",value:function(unit){return unit=unit||this.state.unit,unit===_constants.METRIC_UNIT?{probeDepth:10,probeFeedrate:20,tlo:10,retractionDistance:2}:unit===_constants.IMPERIAL_UNIT?{probeDepth:.5,probeFeedrate:1,tlo:.5,retractionDistance:.1}:void 0}},{key:"changeProbeCommand",value:function(value){this.setState({probeCommand:value})}},{key:"handleProbeDepthChange",value:function(event){var probeDepth=event.target.value;this.setState({probeDepth:probeDepth})}},{key:"handleProbeFeedrateChange",value:function(event){var probeFeedrate=event.target.value;this.setState({probeFeedrate:probeFeedrate})}},{key:"handleTLOChange",value:function(event){var tlo=event.target.value;this.setState({tlo:tlo})}},{key:"handleRetractionDistanceChange",value:function(event){var retractionDistance=event.target.value;this.setState({retractionDistance:retractionDistance})}},{key:"sendGCode",value:function(gcode,params){var s=_lodash2["default"].map(params,function(value,letter){return""+letter+value}).join(" "),msg=s.length>0?gcode+" "+s:gcode;_serialport2["default"].writeln(msg)}},{key:"runZProbe",value:function(){var _state=this.state,probeCommand=_state.probeCommand,probeDepth=_state.probeDepth,probeFeedrate=_state.probeFeedrate,tlo=_state.tlo,retractionDistance=_state.retractionDistance;_lodash2["default"].includes(["G38.2","G38.3"],probeCommand)&&(probeDepth=-probeDepth),this.sendGCode("G49"),this.sendGCode("G91"),this.sendGCode(probeCommand,{Z:probeDepth,F:probeFeedrate}),this.sendGCode("G90"),this.sendGCode("G10",{L:20,P:1,Z:0}),this.sendGCode("G43.1",{Z:-tlo}),this.sendGCode("G91"),this.sendGCode("G0",{Z:retractionDistance}),this.sendGCode("G90")}},{key:"restoreDefaults",value:function(){var defaults=this.getUnitDefaults();this.setState(defaults)}},{key:"render",value:function(){var _this3=this,_state2=this.state,port=_state2.port,unit=_state2.unit,activeState=_state2.activeState,_state3=this.state,probeCommand=_state3.probeCommand,probeDepth=_state3.probeDepth,probeFeedrate=_state3.probeFeedrate,tlo=_state3.tlo,retractionDistance=_state3.retractionDistance,displayUnit=unit===_constants.METRIC_UNIT?_i18n2["default"]._("mm"):_i18n2["default"]._("in"),feedrateUnit=unit===_constants.METRIC_UNIT?_i18n2["default"]._("mm/min"):_i18n2["default"]._("in/mm"),step=unit===_constants.METRIC_UNIT?1:.1,canClick=!!port&&activeState===_constants.ACTIVE_STATE_IDLE,classes=(_lodash2["default"].map(["G38.2","G38.3","G38.4","G38.5"],function(cmd){return{value:cmd,label:cmd}}),{"G38.2":(0,_classnames2["default"])("btn",{"btn-inverse":"G38.2"===probeCommand},{"btn-default":"G38.2"!==probeCommand}),"G38.3":(0,_classnames2["default"])("btn",{"btn-inverse":"G38.3"===probeCommand},{"btn-default":"G38.3"!==probeCommand}),"G38.4":(0,_classnames2["default"])("btn",{"btn-inverse":"G38.4"===probeCommand},{"btn-default":"G38.4"!==probeCommand}),"G38.5":(0,_classnames2["default"])("btn",{"btn-inverse":"G38.5"===probeCommand},{"btn-default":"G38.5"!==probeCommand})});return _react2["default"].createElement("div",null,_react2["default"].createElement(_ToolbarButton2["default"],{port:port,activeState:activeState}),_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Probe Command:")),_react2["default"].createElement("div",{className:"btn-toolbar",role:"toolbar"},_react2["default"].createElement("div",{className:"btn-group btn-group-xs"},_react2["default"].createElement("button",{type:"button",className:classes["G38.2"],title:_i18n2["default"]._("G38.2 probe toward workpiece, stop on contact, signal error if failure"),onClick:function(){return _this3.changeProbeCommand("G38.2")}},"G38.2"),_react2["default"].createElement("button",{type:"button",className:classes["G38.3"],title:_i18n2["default"]._("G38.3 probe toward workpiece, stop on contact"),onClick:function(){return _this3.changeProbeCommand("G38.3")}},"G38.3"),_react2["default"].createElement("button",{type:"button",className:classes["G38.4"],title:_i18n2["default"]._("G38.4 probe away from workpiece, stop on loss of contact, signal error if failure"),onClick:function(){return _this3.changeProbeCommand("G38.4")}},"G38.4"),_react2["default"].createElement("button",{type:"button",className:classes["G38.5"],title:_i18n2["default"]._("G38.5 probe away from workpiece, stop on loss of contact"),onClick:function(){return _this3.changeProbeCommand("G38.5")}},"G38.5"))),_react2["default"].createElement("p",{className:"probe-command-description"},"G38.2"===probeCommand&&_react2["default"].createElement("i",null,_i18n2["default"]._("G38.2 probe toward workpiece, stop on contact, signal error if failure")),"G38.3"===probeCommand&&_react2["default"].createElement("i",null,_i18n2["default"]._("G38.3 probe toward workpiece, stop on contact")),"G38.4"===probeCommand&&_react2["default"].createElement("i",null,_i18n2["default"]._("G38.4 probe away from workpiece, stop on loss of contact, signal error if failure")),"G38.5"===probeCommand&&_react2["default"].createElement("i",null,_i18n2["default"]._("G38.5 probe away from workpiece, stop on loss of contact")))),_react2["default"].createElement("div",{className:"container-fluid"},_react2["default"].createElement("div",{className:"row no-gutter probe-options"},_react2["default"].createElement("div",{className:"col-sm-6"},_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Probe Depth:")),_react2["default"].createElement("div",{className:"input-group input-group-xs"},_react2["default"].createElement("input",{type:"number",className:"form-control",value:probeDepth,placeholder:"0.00",min:0,step:step,onKeyDown:function(e){return e.stopPropagation()},onChange:this.handleProbeDepthChange.bind(this)}),_react2["default"].createElement("div",{className:"input-group-addon"},displayUnit)))),_react2["default"].createElement("div",{className:"col-sm-6"},_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Probe Feedrate:")),_react2["default"].createElement("div",{className:"input-group input-group-xs"},_react2["default"].createElement("input",{type:"number",className:"form-control",value:probeFeedrate,placeholder:"0.00",min:0,step:step,onChange:this.handleProbeFeedrateChange.bind(this)}),_react2["default"].createElement("span",{ -className:"input-group-addon"},feedrateUnit)))),_react2["default"].createElement("div",{className:"col-sm-6"},_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Touch Plate Thickness:")),_react2["default"].createElement("div",{className:"input-group input-group-xs"},_react2["default"].createElement("input",{type:"number",className:"form-control",value:tlo,placeholder:"0.00",min:0,step:step,onChange:this.handleTLOChange.bind(this)}),_react2["default"].createElement("span",{className:"input-group-addon"},displayUnit)))),_react2["default"].createElement("div",{className:"col-sm-6"},_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Retraction Distance:")),_react2["default"].createElement("div",{className:"input-group input-group-xs"},_react2["default"].createElement("input",{type:"number",className:"form-control",value:retractionDistance,placeholder:"0.00",min:0,step:step,onChange:this.handleRetractionDistanceChange.bind(this)}),_react2["default"].createElement("span",{className:"input-group-addon"},displayUnit))))),_react2["default"].createElement("div",{className:"row no-gutter"},_react2["default"].createElement("div",{className:"col-sm-12"},_react2["default"].createElement("div",{className:"btn-toolbar"},_react2["default"].createElement("div",{className:"btn-group",role:"group"},_react2["default"].createElement("button",{type:"button",className:"btn btn-sm btn-default",onClick:this.runZProbe.bind(this),disabled:!canClick},_i18n2["default"]._("Run Z-probe"))),_react2["default"].createElement("div",{className:"btn-group",role:"group"},_react2["default"].createElement("button",{type:"button",className:"btn btn-sm btn-default",onClick:this.restoreDefaults.bind(this)},_i18n2["default"]._("Restore Defaults"))))))))}}]),Probe}(_react2["default"].Component);exports["default"]=Probe},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","./ToolbarButton":"/Users/cheton/github/cnc.js/web/components/widgets/probe/ToolbarButton.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/probe/constants.js",classnames:"classnames",lodash:"lodash","pubsub-js":"pubsub-js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/probe/ToolbarButton.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(ProbeWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(ProbeWidget,_React$Component),_createClass(ProbeWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("Probe"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/ProbeWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_Probe2["default"],null))))}}]),ProbeWidget}(_react2["default"].Component);exports["default"]=ProbeWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./Probe":"/Users/cheton/github/cnc.js/web/components/widgets/probe/Probe.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/probe/index.css",classnames:"classnames",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/spindle/Spindle.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Spindle)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",isCCWChecked:!1,spindleSpeed:0},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Spindle,_React$Component),_createClass(Spindle,[{key:"componentDidMount",value:function(){this.subscribe()}},{key:"componentWillUnmount",value:function(){this.unsubscribe()}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",_this2.setState({port:port})});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"handleCCWChange",value:function(){this.setState({isCCWChecked:!this.state.isCCWChecked})}},{key:"render",value:function(){var canClick=!!this.state.port,cmd=this.state.isCCWChecked?"M4":"M3",spindleSpeed=this.state.spindleSpeed;return _react2["default"].createElement("div",null,_react2["default"].createElement("div",{className:"btn-toolbar",role:"toolbar"},_react2["default"].createElement("div",{className:"btn-group btn-group-sm",role:"group"},_react2["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:function(){spindleSpeed>0?_serialport2["default"].writeln(cmd+" S"+spindleSpeed):_serialport2["default"].writeln(cmd)},title:_i18n2["default"]._("Start the spindle turning CW/CCW (M3/M4)"),disabled:!canClick},_react2["default"].createElement("i",{className:"glyphicon glyphicon-play"})),_react2["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:function(){return _serialport2["default"].writeln("M5")},title:_i18n2["default"]._("Stop the spindle from turning (M5)"),disabled:!canClick},_react2["default"].createElement("i",{className:"glyphicon glyphicon-stop"})))),_react2["default"].createElement("div",{className:"checkbox"},_react2["default"].createElement("label",null,_react2["default"].createElement("input",{type:"checkbox",checked:this.state.isCCWChecked,onChange:this.handleCCWChange.bind(this),disabled:!canClick})," ",_i18n2["default"]._("Turn counterclockwise"))))}}]),Spindle}(_react2["default"].Component);exports["default"]=Spindle},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js",lodash:"lodash","pubsub-js":"pubsub-js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/spindle/index.css":[function(require,module,exports){var css='[data-component="Widgets/SpindleWidget"] .widget-content{position:relative;padding:10px}[data-component="Widgets/SpindleWidget"] .widget-content .horizontal-mirror{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}';require("browserify-css").createStyle(css,{href:"components/widgets/spindle/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/widgets/spindle/index.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _extends=Object.assign||function(target){for(var i=1;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(SpindleWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(SpindleWidget,_React$Component),_createClass(SpindleWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("Spindle"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/SpindleWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_Spindle2["default"],null))))}}]),SpindleWidget}(_react2["default"].Component);exports["default"]=SpindleWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./Spindle":"/Users/cheton/github/cnc.js/web/components/widgets/spindle/Spindle.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/spindle/index.css",classnames:"classnames",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/FileUploader.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(FileUploader)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isUploading:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(FileUploader,_React$Component),_createClass(FileUploader,[{key:"componentDidMount",value:function(){}},{key:"componentWillUnmount",value:function(){}},{key:"startWaiting",value:function(){var root=document.documentElement;root.classList.add("wait")}},{key:"stopWaiting",value:function(){var root=document.documentElement;root.classList.remove("wait")}},{key:"onChangeFile",value:function(event){var _this2=this,files=event.target.files,port=this.props.port;if(port){var file=files[0],reader=new FileReader;reader.onloadend=function(event){var contents=event.target.result,error=event.target.error;return error?void _log2["default"].error(error):(_log2["default"].debug("FileReader:",_lodash2["default"].pick(file,["lastModified","lastModifiedDate","meta","name","size","type"])),_this2.startWaiting(),_this2.setState({isUploading:!0}),void _superagent2["default"].post("/api/file/upload").send({meta:{name:file.name,size:file.size,port:port},contents:contents}).end(function(err,res){return _this2.stopWaiting(),err||!res.ok?(_this2.setState({isUploading:!1}),void _log2["default"].error("Failed to upload file",err,res)):void _pubsubJs2["default"].publish("gcode:load",contents)}))},reader.readAsText(file)}}},{key:"onClickToUpload",value:function(){this.fileInputEl.value=null,this.fileInputEl.click()}},{key:"render",value:function(){var _this3=this,port=this.props.port,isUploading=this.state.isUploading,notUploading=!isUploading,canClick=!!port&¬Uploading,inputAttributes={type:"file",style:{display:"none"},multiple:!1,ref:function(el){return _this3.fileInputEl=el},onChange:this.onChangeFile.bind(this)};return _react2["default"].createElement("div",{className:"file-uploader-block"},_react2["default"].createElement("div",{className:"file-uploader-box"},_react2["default"].createElement("div",{className:"file-uploader-content",disabled:!canClick},_react2["default"].createElement("i",{style:{fontSize:48},className:"glyphicon glyphicon-upload"}),_react2["default"].createElement("h4",null,_i18n2["default"]._("Drop G-code file here or click below to upload.")),_react2["default"].createElement("br",null),_react2["default"].createElement("button",{type:"button",className:"btn btn-primary",onClick:this.onClickToUpload.bind(this),disabled:!canClick},_i18n2["default"]._("Upload G-code")),_react2["default"].createElement("input",inputAttributes))))}}]),FileUploader}(_react2["default"].Component);FileUploader.propTypes={port:_react2["default"].PropTypes.string},exports["default"]=FileUploader},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js",classnames:"classnames",lodash:"lodash","pubsub-js":"pubsub-js",react:"react",superagent:"/Users/cheton/github/cnc.js/node_modules/superagent/lib/client.js"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/Joystick.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Toolbar)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={workflowState:_constants.WORKFLOW_STATE_IDLE,queueFinished:!1},_this.socketEventListener={"gcode:queue-status":(_context=_this).socketOnGCodeQueueStatus.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Toolbar,_React$Component),_createClass(Toolbar,[{key:"componentDidMount",value:function(){this.addSocketEventListener()}},{key:"componentWillUnmount",value:function(){this.removeSocketEventListener()}},{key:"componentDidUpdate",value:function(){this.props.setWorkflowState(this.state.workflowState)}},{key:"componentWillReceiveProps",value:function(nextProps){var port=nextProps.port,activeState=nextProps.activeState;return port?void(this.state.queueFinished&&activeState===_constants.ACTIVE_STATE_IDLE&&(_socket2["default"].emit("gcode:stop",port),_pubsubJs2["default"].publish("gcode:stop"),this.setState({workflowState:_constants.WORKFLOW_STATE_IDLE,queueFinished:!1}))):void this.setState({workflowState:_constants.WORKFLOW_STATE_IDLE})}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnGCodeQueueStatus",value:function(data){data.executed>=data.total&&this.setState({queueFinished:!0})}},{key:"handleRun",value:function(){var workflowState=this.state.workflowState;console.assert(_lodash2["default"].includes([_constants.WORKFLOW_STATE_IDLE,_constants.WORKFLOW_STATE_PAUSED],workflowState)),workflowState===_constants.WORKFLOW_STATE_PAUSED&&_serialport2["default"].write("~"),_socket2["default"].emit("gcode:run",this.props.port),_pubsubJs2["default"].publish("gcode:run"),this.setState({workflowState:_constants.WORKFLOW_STATE_RUNNING})}},{key:"handlePause",value:function(){var workflowState=this.state.workflowState;console.assert(_lodash2["default"].includes([_constants.WORKFLOW_STATE_RUNNING],workflowState)),_serialport2["default"].write("!"),_socket2["default"].emit("gcode:pause",this.props.port),_pubsubJs2["default"].publish("gcode:pause"),this.setState({workflowState:_constants.WORKFLOW_STATE_PAUSED})}},{key:"handleStop",value:function(){var workflowState=this.state.workflowState;console.assert(_lodash2["default"].includes([_constants.WORKFLOW_STATE_PAUSED],workflowState)),_serialport2["default"].write(""),_socket2["default"].emit("gcode:stop",this.props.port),_pubsubJs2["default"].publish("gcode:stop"),this.setState({workflowState:_constants.WORKFLOW_STATE_IDLE})}},{key:"handleClose",value:function(){var workflowState=this.state.workflowState;console.assert(_lodash2["default"].includes([_constants.WORKFLOW_STATE_IDLE],workflowState)),_socket2["default"].emit("gcode:unload",this.props.port),_pubsubJs2["default"].publish("gcode:unload"),this.setState({workflowState:_constants.WORKFLOW_STATE_IDLE})}},{key:"render",value:function(){var _props=this.props,port=_props.port,ready=_props.ready,workflowState=this.state.workflowState,canClick=!!port&&ready,canRun=canClick&&_lodash2["default"].includes([_constants.WORKFLOW_STATE_IDLE,_constants.WORKFLOW_STATE_PAUSED],workflowState),canPause=canClick&&_lodash2["default"].includes([_constants.WORKFLOW_STATE_RUNNING],workflowState),canStop=canClick&&_lodash2["default"].includes([_constants.WORKFLOW_STATE_PAUSED],workflowState),canClose=canClick&&_lodash2["default"].includes([_constants.WORKFLOW_STATE_IDLE],workflowState);return _react2["default"].createElement("div",{className:"btn-toolbar",role:"toolbar"},_react2["default"].createElement("div",{className:"btn-group btn-group-sm",role:"group"},_react2["default"].createElement("button",{type:"button",className:"btn btn-default",title:_i18n2["default"]._("Run"),onClick:this.handleRun.bind(this),disabled:!canRun},_react2["default"].createElement("i",{className:"glyphicon glyphicon-play"})),_react2["default"].createElement("button",{type:"button",className:"btn btn-default",title:_i18n2["default"]._("Pause"),onClick:this.handlePause.bind(this),disabled:!canPause},_react2["default"].createElement("i",{className:"glyphicon glyphicon-pause"})),_react2["default"].createElement("button",{type:"button",className:"btn btn-default",title:_i18n2["default"]._("Stop"),onClick:this.handleStop.bind(this),disabled:!canStop},_react2["default"].createElement("i",{className:"glyphicon glyphicon-stop"})),_react2["default"].createElement("button",{type:"button",className:"btn btn-default",title:_i18n2["default"]._("Close"),onClick:this.handleClose.bind(this),disabled:!canClose},_react2["default"].createElement("i",{className:"glyphicon glyphicon-trash"}))))}}]),Toolbar}(_react2["default"].Component);Toolbar.propTypes={port:_react2["default"].PropTypes.string,ready:_react2["default"].PropTypes.bool,activeState:_react2["default"].PropTypes.string},exports["default"]=Toolbar},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/constants.js",lodash:"lodash","pubsub-js":"pubsub-js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/Visualizer.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Visualizer)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",ready:!1,activeState:_constants.ACTIVE_STATE_IDLE,workflowState:_constants.WORKFLOW_STATE_IDLE,boundingBox:{min:{x:0,y:0,z:0},max:{x:0,y:0,z:0}}},_this.socketEventListener={"grbl:gcode-modes":(_context=_this).socketOnGrblGCodeModes.bind(_context),"grbl:current-status":(_context=_this).socketOnGrblCurrentStatus.bind(_context),"gcode:queue-status":(_context=_this).socketOnGCodeQueueStatus.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Visualizer,_React$Component),_createClass(Visualizer,[{key:"componentWillMount",value:function(){this.modalState={},this.gcodePath=null,this.renderer=null,this.scene=null,this.camera=null,this.controls=null,this.group=new _three2["default"].Group}},{key:"componentDidMount",value:function(){var _this2=this;this.subscribe(),this.addSocketEventListener(),this.addResizeEventListener();var el=_reactDom2["default"].findDOMNode(this.refs.visualizer);this.createScene(el),this.resizeRenderer(),this.pivotPoint=new _helpers.PivotPoint3({x:0,y:0,z:0},function(x,y,z){_lodash2["default"].each(_this2.group.children,function(o){o.translateX(x),o.translateY(y),o.translateZ(z)}),_this2.updateScene()})}},{key:"componentWillUnmount",value:function(){this.removeResizeEventListener(),this.removeSocketEventListener(),this.unsubscribe(),this.clearScene()}},{key:"shouldComponentUpdate",value:function(nextProps,nextState){var shouldUpdate=nextState.port!==this.state.port||nextState.ready!==this.state.ready||nextState.activeState!==this.state.activeState||nextState.workflowState!==this.state.workflowState||!_lodash2["default"].isEqual(nextState.boundingBox,this.state.boundingBox);return shouldUpdate}},{key:"componentDidUpdate",value:function(prevProps,prevState){requestAnimationFrame(this.renderAnimationLoop.bind(this))}},{key:"subscribe",value:function(){var _this3=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",port?_this3.setState({port:port}):(_pubsubJs2["default"].publish("gcode:unload"),_this3.setState({port:""}))});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("gcode:load",function(msg,gcode){gcode=gcode||"",_this3.setState({ready:!0}),setTimeout(function(){_this3.startWaiting(),_this3.loadGCode(gcode,function(options){_pubsubJs2["default"].publish("gcode:boundingBox",options.boundingBox),_this3.setState({boundingBox:options.boundingBox}),_this3.stopWaiting()})},0)});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("gcode:unload",function(msg){_this3.unloadGCode(),_this3.setState({ready:!1})});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("resize",function(msg){_this3.resizeRenderer()});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnGrblGCodeModes",value:function(modes){var modalState={};_lodash2["default"].each(modes,function(mode){if(0===mode.indexOf("G")||0===mode.indexOf("M")){var r=_lodash2["default"].find(_modalGroups.MODAL_GROUPS,function(group){return _lodash2["default"].includes(group.modes,mode)});r&&_lodash2["default"].set(modalState,r.group,mode)}}),this.modalState=modalState}},{key:"socketOnGrblCurrentStatus",value:function(data){var activeState=data.activeState,workingPos=data.workingPos;this.state.activeState!==activeState&&this.setState({activeState:activeState}),this.setEngravingCutterPosition(workingPos.x,workingPos.y,workingPos.z),this.updateScene()}},{key:"socketOnGCodeQueueStatus",value:function(data){if(this.gcodePath){_log2["default"].trace("socketOnGCodeQueueStatus:",data);var frameIndex=data.executed;this.gcodePath.setFrameIndex(frameIndex)}}},{key:"startWaiting",value:function(){var root=document.documentElement;root.classList.add("wait")}},{key:"stopWaiting",value:function(){var root=document.documentElement;root.classList.remove("wait")}},{key:"addResizeEventListener",value:function(){var _this4=this;this.onResize||(this.onResize=function(){_this4.resizeRenderer()}),this.onResize(),this.onResizeThrottled=_lodash2["default"].throttle(this.onResize,10),window.addEventListener("resize",this.onResizeThrottled)}},{key:"removeResizeEventListener",value:function(){window.removeEventListener("resize",this.onResizeThrottled)}},{key:"resizeRenderer",value:function(){if(this.camera&&this.renderer){var el=_reactDom2["default"].findDOMNode(this.refs.visualizer),width=el.offsetWidth,height=window.innerHeight-50-1;this.camera.aspect=width/height,this.camera.updateProjectionMatrix(),this.renderer.setSize(width,height),this.updateScene()}}},{key:"createScene",value:function(el){var _this5=this,width=el.clientWidth,height=el.clientHeight;this.scene=new _three2["default"].Scene,this.renderer=this.createRenderer(width,height),el.appendChild(this.renderer.domElement),this.camera=this.createPerspectiveCamera(width,height);var directionalLight=this.createDirectionalLight();directionalLight.name="DirectionalLight",this.group.add(directionalLight);var colorCenterLine=null,colorGrid=(0,_colornames2["default"])("gray 89"),gridLine=new _helpers.GridLine(_constants.GRID_LINE_LENGTH,_constants.GRID_SPACING,colorCenterLine,colorGrid);gridLine.name="GridLine",this.group.add(gridLine);var coordinateAxes=new _helpers.CoordinateAxes(_constants.AXIS_LINE_LENGTH);return coordinateAxes.name="CoordinateAxes",this.group.add(coordinateAxes),!function(){var color=(0,_colornames2["default"])("silver"),url="textures/brushed-steel-texture.jpg";(0,_helpers.loadTexture)(url,function(err,texture){var engravingCutter=new _helpers.EngravingCutter(color,texture);engravingCutter.name="EngravingCutter",_this5.group.add(engravingCutter),_this5.updateScene()})}(),this.scene.add(this.group),this.controls=this.createOrbitControls(this.camera,this.renderer.domElement),this.controls.addEventListener("change",function(){_this5.updateScene()}),this.scene}},{key:"updateScene",value:function(){this.renderer.render(this.scene,this.camera)}},{key:"clearScene",value:function(){var _this6=this,objsToRemove=_lodash2["default"].rest(this.scene.children);_lodash2["default"].each(objsToRemove,function(obj){_this6.scene.remove(obj)}),this.updateScene()}},{key:"renderAnimationLoop",value:function(){var isAgitated=this.state.activeState===_constants.ACTIVE_STATE_RUN&&this.state.workflowState===_constants.WORKFLOW_STATE_RUNNING;isAgitated?(requestAnimationFrame(this.renderAnimationLoop.bind(this)),this.rotateEngravingCutter(360)):this.rotateEngravingCutter(0),this.updateScene()}},{key:"createRenderer",value:function(width,height){var renderer=new _three2["default"].WebGLRenderer({autoClearColor:!0});return renderer.setClearColor(new _three2["default"].Color((0,_colornames2["default"])("gray 94"),1)),renderer.setSize(width,height),renderer.clear(),renderer}},{key:"createPerspectiveCamera",value:function(width,height){var fov=_constants.CAMERA_FOV,aspect=Number(width)/Number(height),near=_constants.CAMERA_NEAR,far=_constants.CAMERA_FAR,camera=new _three2["default"].PerspectiveCamera(fov,aspect,near,far);return camera.position.x=_constants.CAMERA_POSITION_X,camera.position.y=_constants.CAMERA_POSITION_Y,camera.position.z=_constants.CAMERA_POSITION_Z,camera}},{key:"createOrbitControls",value:function(object,domElement){var controls=new _three2["default"].OrbitControls(object,domElement);return _lodash2["default"].extend(controls,{enableKeys:!1,rotateSpeed:.3,zoomSpeed:.5,panSpeed:1,enableDamping:!0,dampingFactor:.25}),controls}},{key:"createDirectionalLight",value:function(){var directionalLight=new _three2["default"].DirectionalLight((0,_colornames2["default"])("whitesmoke"),.5);return directionalLight.position.set(-40,60,-10),directionalLight.castShadow=!0,directionalLight.shadowCameraNear=2,directionalLight.shadowCameraFar=200,directionalLight.shadowCameraLeft=-50,directionalLight.shadowCameraRight=50,directionalLight.shadowCameraTop=50,directionalLight.shadowCameraBottom=-50,directionalLight.distance=0,directionalLight.intensity=.5,directionalLight.shadowMapHeight=1024,directionalLight.shadowMapWidth=1024,directionalLight}},{key:"setEngravingCutterPosition",value:function(x,y,z){var engravingCutter=this.group.getObjectByName("EngravingCutter");if(engravingCutter){var pivotPoint=this.pivotPoint.get();x=(Number(x)||0)-pivotPoint.x,y=(Number(y)||0)-pivotPoint.y,z=(Number(z)||0)-pivotPoint.z,engravingCutter.position.set(x,y,z)}}},{key:"rotateEngravingCutter",value:function(){var rpm=arguments.length<=0||void 0===arguments[0]?0:arguments[0],fps=arguments.length<=1||void 0===arguments[1]?60:arguments[1],engravingCutter=this.group.getObjectByName("EngravingCutter");if(engravingCutter){var delta=1/fps,degrees=360*(delta*Math.PI/180);engravingCutter.rotateZ(-(rpm/60*degrees))}}},{key:"loadGCode",value:function(gcode,callback){var _this7=this;this.unloadGCode();var el=_reactDom2["default"].findDOMNode(this.refs.visualizer);this.gcodePath=new _GCodePath2["default"]({modalState:this.modalState}),this.gcodePath.render({gcode:gcode,width:el.clientWidth,height:el.clientHeight},function(pathObject){pathObject.name="GCodePath",_this7.group.add(pathObject);var bbox=(0,_helpers.getBoundingBox)(pathObject),dX=bbox.max.x-bbox.min.x,dY=bbox.max.y-bbox.min.y,dZ=bbox.max.z-bbox.min.z,center=new _three2["default"].Vector3(bbox.min.x+dX/2,bbox.min.y+dY/2,bbox.min.z+dZ/2);_this7.pivotPoint.set(center.x,center.y,center.z);var objectWidth=dX,objectHeight=dY,lookTarget=new _three2["default"].Vector3(0,0,bbox.max.z);(0,_helpers.fitCameraToObject)(_this7.camera,objectWidth,objectHeight,lookTarget),_this7.updateScene(),"function"==typeof callback&&callback({boundingBox:bbox})})}},{key:"unloadGCode",value:function(){var pathObject=this.group.getObjectByName("GCodePath");pathObject&&this.group.remove(pathObject),this.pivotPoint.set(0,0,0),this.controls.reset(),this.updateScene()}},{key:"setWorkflowState",value:function(workflowState){this.setState({workflowState:workflowState})}},{key:"pan",value:function(deltaX,deltaY){var domElement=this.renderer.domElement,element=domElement===document?domElement.body:domElement;this.controls.constraint.pan(deltaX,deltaY,element.clientWidth,element.clientHeight),this.controls.update()}},{key:"joystickUp",value:function(){if(this.state.ready&&this.controls.enablePan){var keyPanSpeed=this.controls.keyPanSpeed;this.pan(0,keyPanSpeed)}}},{key:"joystickDown",value:function(){if(this.state.ready&&this.controls.enablePan){var keyPanSpeed=this.controls.keyPanSpeed;this.pan(0,-keyPanSpeed)}}},{key:"joystickLeft",value:function(){if(this.state.ready&&this.controls.enablePan){var keyPanSpeed=this.controls.keyPanSpeed;this.pan(keyPanSpeed,0)}}},{key:"joystickRight",value:function(){if(this.state.ready&&this.controls.enablePan){var keyPanSpeed=this.controls.keyPanSpeed;this.pan(-keyPanSpeed,0)}}},{key:"joystickCenter",value:function(){this.state.ready&&this.controls.reset()}},{key:"render",value:function(){var _state=this.state,port=_state.port,ready=_state.ready,activeState=_state.activeState,hasLoaded=!!port&&ready,notLoaded=!hasLoaded;return _react2["default"].createElement("div",null,_react2["default"].createElement(_Toolbar2["default"],{port:port,ready:ready,setWorkflowState:this.setWorkflowState.bind(this),activeState:activeState}),_react2["default"].createElement(_Joystick2["default"],{ready:ready,up:this.joystickUp.bind(this),down:this.joystickDown.bind(this),left:this.joystickLeft.bind(this),right:this.joystickRight.bind(this),center:this.joystickCenter.bind(this)}),notLoaded&&_react2["default"].createElement(_FileUploader2["default"],{port:port}),_react2["default"].createElement("div",{ref:"visualizer",className:"visualizer"}))}}]),Visualizer}(_react2["default"].Component);exports["default"]=Visualizer},{"../../../constants/modal-groups":"/Users/cheton/github/cnc.js/web/constants/modal-groups.js","../../../lib/GCodePath":"/Users/cheton/github/cnc.js/web/lib/GCodePath.js","../../../lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","../../../lib/three/OrbitControls":"/Users/cheton/github/cnc.js/web/lib/three/OrbitControls.js","./FileUploader":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/FileUploader.jsx","./Joystick":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/Joystick.jsx","./Toolbar":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/Toolbar.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/constants.js","./helpers":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/helpers/index.jsx",colornames:"/Users/cheton/github/cnc.js/node_modules/colornames/index.js",lodash:"lodash","pubsub-js":"pubsub-js",react:"react","react-dom":"react-dom",three:"three"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/constants.js":[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.COORDINATE_PLANE_XY="XY",exports.COORDINATE_PLANE_XZ="XZ",exports.COORDINATE_PLANE_YZ="YZ",exports.AXIS_LINE_LENGTH=1200,exports.GRID_LINE_LENGTH=1200,exports.GRID_SPACING=10,exports.CAMERA_FOV=50,exports.CAMERA_ASPECT=1,exports.CAMERA_NEAR=.1,exports.CAMERA_FAR=1e4,exports.CAMERA_POSITION_X=0,exports.CAMERA_POSITION_Y=0,exports.CAMERA_POSITION_Z=200,exports.WORKFLOW_STATE_RUNNING="running",exports.WORKFLOW_STATE_PAUSED="paused",exports.WORKFLOW_STATE_IDLE="idle",exports.ACTIVE_STATE_IDLE="Idle",exports.ACTIVE_STATE_RUN="Run",exports.ACTIVE_STATE_HOLD="Hold",exports.ACTIVE_STATE_DOOR="Door",exports.ACTIVE_STATE_HOME="Home",exports.ACTIVE_STATE_ALARM="Alarm",exports.ACTIVE_STATE_CHECK="Check"},{}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/helpers/CoordinateAxes.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _colornames=require("colornames"),_colornames2=_interopRequireDefault(_colornames),_three=require("three"),_three2=_interopRequireDefault(_three),buildAxis=function(src,dst,color,dashed){var geometry=new _three2["default"].Geometry,material=void 0;return material=dashed?new _three2["default"].LineDashedMaterial({linewidth:1,color:color,dashSize:1,gapSize:1,opacity:.5,transparent:!0}):new _three2["default"].LineBasicMaterial({linewidth:1,color:color,opacity:.5,transparent:!0}),geometry.vertices.push(src.clone()),geometry.vertices.push(dst.clone()),geometry.computeLineDistances(),new _three2["default"].Line(geometry,material)},CoordinateAxes=function CoordinateAxes(size){_classCallCheck(this,CoordinateAxes),this.group=new _three2["default"].Object3D;var red=(0,_colornames2["default"])("red"),green=(0,_colornames2["default"])("green"),blue=(0,_colornames2["default"])("blue");return this.group.add(buildAxis(new _three2["default"].Vector3(0,0,0),new _three2["default"].Vector3(size,0,0),red,!1),buildAxis(new _three2["default"].Vector3(0,0,0),new _three2["default"].Vector3(-size,0,0),red,!0),buildAxis(new _three2["default"].Vector3(0,0,0),new _three2["default"].Vector3(0,size,0),green,!1),buildAxis(new _three2["default"].Vector3(0,0,0),new _three2["default"].Vector3(0,-size,0),green,!0),buildAxis(new _three2["default"].Vector3(0,0,0),new _three2["default"].Vector3(0,0,size),blue,!1),buildAxis(new _three2["default"].Vector3(0,0,0),new _three2["default"].Vector3(0,0,-size),blue,!0)),this.group};exports["default"]=CoordinateAxes},{colornames:"/Users/cheton/github/cnc.js/node_modules/colornames/index.js",three:"three"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/helpers/EngravingCutter.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _three=require("three"),_three2=_interopRequireDefault(_three),buildEngravingCutter=function(color,texture){var object=new _three2["default"].Object3D,geometry=void 0,materialFront=void 0,materialBack=void 0,radiusTop=2,radiusBottom=.1,height=20,radiusSegments=32,heightSegments=1,openEnded=!1,thetaStart=0,thetaLength=2*Math.PI;geometry=new _three2["default"].CylinderGeometry(radiusTop,radiusBottom,height,radiusSegments,heightSegments,openEnded,thetaStart,thetaLength),geometry.rotateX(Math.PI/2),geometry.translate(0,0,height/2),materialFront=new _three2["default"].MeshBasicMaterial({color:color,map:texture,opacity:.5,shading:_three2["default"].SmoothShading,side:_three2["default"].FrontSide,transparent:!0}),materialBack=new _three2["default"].MeshBasicMaterial({color:color,map:texture,opacity:.5,shading:_three2["default"].SmoothShading,side:_three2["default"].BackSide,transparent:!0});var meshFront=new _three2["default"].Mesh(geometry,materialFront);meshFront.renderOrder=2,object.add(meshFront);var meshBack=new _three2["default"].Mesh(geometry,materialBack);return object.add(meshBack),object},EngravingCutter=function EngravingCutter(color,texture){return _classCallCheck(this,EngravingCutter),buildEngravingCutter(color,texture)};exports["default"]=EngravingCutter},{three:"three"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/helpers/GridLine.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _lodash=require("lodash"),_lodash2=_interopRequireDefault(_lodash),_three=require("three"),_three2=_interopRequireDefault(_three),buildLine=function(src,dst,color){var geometry=new _three2["default"].Geometry,material=new _three2["default"].LineBasicMaterial({color:color,opacity:.5,transparent:!0});return geometry.vertices.push(src.clone()),geometry.vertices.push(dst.clone()),new _three2["default"].Line(geometry,material)},GridLine=function GridLine(size,step,colorCenterLine,colorGrid){var _this=this;_classCallCheck(this,GridLine),this.group=new _three2["default"].Object3D;var list=_lodash2["default"].range(-size,size,step);return"undefined"==typeof colorCenterLine&&(colorCenterLine=4473924),"undefined"==typeof colorGrid&&(colorGrid=8947848),_lodash2["default"].each(list,function(i){var color=0===i?colorCenterLine:colorGrid;if(null!==color){var lineX=buildLine(new _three2["default"].Vector3(-size,i,0),new _three2["default"].Vector3(size,i,0),color),lineY=buildLine(new _three2["default"].Vector3(i,-size,0),new _three2["default"].Vector3(i,size,0),color);_this.group.add(lineX),_this.group.add(lineY)}}),this.group};exports["default"]=GridLine},{lodash:"lodash",three:"three"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/helpers/PivotPoint3.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Workspace)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",isDragging:!1,isUploading:!1,showPrimaryContainer:!0,showSecondaryContainer:!0,defaultContainer:[],primaryContainer:[],secondaryContainer:[]},_this.sortableGroup={primary:null,secondary:null},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Workspace,_React$Component),_createClass(Workspace,[{key:"componentDidMount",value:function(){var _this2=this;this.subscribe(),this.createSortableGroups(),this.loadSettings(function(err,settings){err&&(settings={});var widgetList=_lodash2["default"].pluck(widgets,"id"),defaultList=["visualizer"],primaryDefault=["connection","grbl","console"],secondaryDefault=["axes","gcode","probe","spindle"],primaryList=_lodash2["default"].get(settings,"workspace.container.primary")||primaryDefault,secondaryList=_lodash2["default"].get(settings,"workspace.container.secondary")||secondaryDefault;primaryList=(0,_lodash2["default"])(primaryList).uniq().intersection(widgetList).difference(defaultList).value(),secondaryList=(0,_lodash2["default"])(secondaryList.concat(widgetList)).uniq().difference(primaryList).difference(defaultList).value(),_this2.setState({defaultContainer:_lodash2["default"].map(defaultList,function(id){return getWidgetElementById(id)}),primaryContainer:_lodash2["default"].map(primaryList,function(id){return getWidgetElementById(id)}),secondaryContainer:_lodash2["default"].map(secondaryList,function(id){return getWidgetElementById(id)})})})}},{key:"componentDidUpdate",value:function(){this.resizeVisualContainer()}},{key:"componentWillUnmount",value:function(){this.destroySortableGroups(),this.unsubscribe()}},{key:"subscribe",value:function(){var _this3=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",_this3.setState({port:port})});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"startWaiting",value:function(){var root=document.documentElement;root.classList.add("wait")}},{key:"stopWaiting",value:function(){var root=document.documentElement;root.classList.remove("wait")}},{key:"loadSettings",value:function(callback){_superagent2["default"].get("/api/config").end(function(err,res){callback(err,res.body||{})})}},{key:"saveSettings",value:function(settings,callback){settings=settings||{},_superagent2["default"].put("/api/config").set("Content-Type","application/json").send(settings).end(callback)}},{key:"createSortableGroups",value:function(){var _this4=this,onEndCallback=function(evt){var settings={workspace:{container:{primary:_this4.sortableGroup.primary.toArray(),secondary:_this4.sortableGroup.secondary.toArray()}}};_this4.saveSettings(settings,function(err,res){return _pubsubJs2["default"].publish("resize"),err?void _log2["default"].error(res.text):void 0})},el=_reactDom2["default"].findDOMNode(this.refs.primaryContainer);this.sortableGroup.primary=_Sortable2["default"].create(el,{group:{name:"primary",pull:!0,put:["secondary"]},handle:".btn-drag",dataIdAttr:"data-id",onEnd:onEndCallback});var el=_reactDom2["default"].findDOMNode(this.refs.secondaryContainer);this.sortableGroup.secondary=_Sortable2["default"].create(el,{group:{name:"secondary",pull:!0,put:["primary"]},handle:".btn-drag",dataIdAttr:"data-id",onEnd:onEndCallback})}},{key:"destroySortableGroups",value:function(){this.sortableGroup.primary.destroy(),this.sortableGroup.secondary.destroy()}},{key:"togglePrimaryContainer",value:function(){this.setState({showPrimaryContainer:!this.state.showPrimaryContainer}),_pubsubJs2["default"].publish("resize")}},{key:"toggleSecondaryContainer",value:function(){this.setState({showSecondaryContainer:!this.state.showSecondaryContainer}),_pubsubJs2["default"].publish("resize")}},{key:"resizeVisualContainer",value:function(){var primaryContainer=_reactDom2["default"].findDOMNode(this.refs.primaryContainer),primaryTogglerPane=_reactDom2["default"].findDOMNode(this.refs.primaryTogglerPane),secondaryContainer=_reactDom2["default"].findDOMNode(this.refs.secondaryContainer),secondaryTogglerPane=_reactDom2["default"].findDOMNode(this.refs.secondaryTogglerPane),defaultContainer=_reactDom2["default"].findDOMNode(this.refs.defaultContainer);defaultContainer.style.left=primaryContainer.offsetWidth+primaryTogglerPane.offsetWidth+"px",defaultContainer.style.right=secondaryContainer.offsetWidth+secondaryTogglerPane.offsetWidth+"px",_pubsubJs2["default"].publish("resize")}},{key:"onDrop",value:function(files){var _this5=this,port=this.state.port;if(port){var file=files[0],reader=new FileReader;reader.onloadend=function(event){var contents=event.target.result,error=event.target.error;return error?void _log2["default"].error(error):(_log2["default"].debug("FileReader:",_lodash2["default"].pick(file,["lastModified","lastModifiedDate","meta","name","size","type"])),_this5.startWaiting(),_this5.setState({isUploading:!0}),void _superagent2["default"].post("/api/file/upload").send({meta:{name:file.name,size:file.size,port:port},contents:contents}).end(function(err,res){return _this5.stopWaiting(),_this5.setState({isUploading:!1}),err||!res.ok?void _log2["default"].error("Failed to upload file",err,res):void _pubsubJs2["default"].publish("gcode:load",contents)}))},reader.readAsText(file)}}},{key:"render",value:function(){var _this6=this,_state=this.state,isDragging=_state.isDragging,notDragging=(_state.isUploading,!isDragging),classes={primaryContainer:(0,_classnames2["default"])("primary-container",{hidden:!this.state.showPrimaryContainer}),secondaryContainer:(0,_classnames2["default"])("secondary-container",{hidden:!this.state.showSecondaryContainer}),defaultContainer:(0,_classnames2["default"])("main-container","fixed"),dropzoneOverlay:(0,_classnames2["default"])("dropzone-overlay",{hidden:notDragging})};return _react2["default"].createElement("div",{className:"container-fluid","data-component":"Workspace"},_react2["default"].createElement("div",{className:"workspace-container"},_react2["default"].createElement("div",{className:classes.dropzoneOverlay}),_react2["default"].createElement(_reactDropzone2["default"],{ref:"dropzone",className:"dropzone",disableClick:!0,multiple:!1,onDragEnter:function(){_this6.setState({isDragging:!0})},onDragLeave:function(){_this6.setState({isDragging:!1})},onDrop:function(files){_this6.setState({isDragging:!1}),_this6.onDrop(files)}},_react2["default"].createElement("div",{className:"workspace-table"},_react2["default"].createElement("div",{className:"workspace-table-row"},_react2["default"].createElement("div",{className:classes.primaryContainer,ref:"primaryContainer"},this.state.primaryContainer),_react2["default"].createElement("div",{className:"primary-toggler-pane",ref:"primaryTogglerPane",onClick:this.togglePrimaryContainer.bind(this)}),_react2["default"].createElement("div",{className:classes.defaultContainer,ref:"defaultContainer"},this.state.defaultContainer),_react2["default"].createElement("div",{className:"secondary-toggler-pane",ref:"secondaryTogglerPane",onClick:this.toggleSecondaryContainer.bind(this)}),_react2["default"].createElement("div",{className:classes.secondaryContainer,ref:"secondaryContainer"},this.state.secondaryContainer))))))}}]),Workspace}(_react2["default"].Component);exports["default"]=Workspace},{"../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js","../widgets":"/Users/cheton/github/cnc.js/web/components/widgets/index.js",Sortable:"Sortable",classnames:"classnames",lodash:"lodash","pubsub-js":"pubsub-js",react:"react","react-dom":"react-dom","react-dropzone":"react-dropzone",superagent:"/Users/cheton/github/cnc.js/node_modules/superagent/lib/client.js"}],"/Users/cheton/github/cnc.js/web/components/workspace/index.css":[function(require,module,exports){var css="[data-component=Workspace] .dropzone-overlay{position:fixed;top:50px;bottom:0;left:0;right:0;z-index:100;background-color:rgba(255,255,255,.5);font-size:20px;padding:100px;border:4px dashed #286090;text-align:center;pointer-events:none}[data-component=Workspace] .workspace-container{position:absolute;top:50px;bottom:0;right:0;left:0}[data-component=Workspace] .workspace-table{display:table;width:100%;height:100%}[data-component=Workspace] .workspace-table-row{display:table-row}[data-component=Workspace] .main-container,[data-component=Workspace] .primary-container,[data-component=Workspace] .primary-toggler-pane,[data-component=Workspace] .secondary-container,[data-component=Workspace] .secondary-toggler-pane{display:table-cell;position:relative}[data-component=Workspace] .primary-container,[data-component=Workspace] .secondary-container{vertical-align:top;background-color:#f0f0f0;width:1%;padding:10px}[data-component=Workspace] .main-container{min-width:250px}[data-component=Workspace] .main-container.fixed{position:fixed;left:0;right:0;top:50px;bottom:0}[data-component=Workspace] .primary-toggler-pane,[data-component=Workspace] .secondary-toggler-pane{width:10px;padding-top:10px;vertical-align:top;background-color:#f0f0f0;cursor:pointer;border-left:1px solid #ddd;border-right:1px solid #ddd}[data-component=Workspace] .primary-toggler-pane:hover,[data-component=Workspace] .secondary-toggler-pane:hover{background-color:#e0e0e0}";require("browserify-css").createStyle(css,{href:"components/workspace/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/workspace/index.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _Workspace=require("./Workspace"),_Workspace2=_interopRequireDefault(_Workspace);require("./index.css"),exports["default"]=_Workspace2["default"]},{"./Workspace":"/Users/cheton/github/cnc.js/web/components/workspace/Workspace.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/workspace/index.css"}],"/Users/cheton/github/cnc.js/web/config/settings.js":[function(require,module,exports){"use strict";function _typeof(obj){return obj&&"undefined"!=typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj}Object.defineProperty(exports,"__esModule",{value:!0});var root=window.root;console.assert("object"===_typeof(root.app.config),"root.app.config is not an object");var settings={version:root.app.config.version,webroot:root.app.config.webroot,cdn:root.app.config.cdn,name:"CNC.js",log:{level:"debug",logger:"console",prefix:""},supportedLngs:["en","de","es","fr","it","ja","zh-cn","zh-tw"],i18next:{preload:[],lowerCaseLng:!0,detectLngQS:"lang",useCookie:!0,cookieName:"lang",fallbackLng:"en",load:"current",useLocalStorage:!1,localStorageExpirationTime:6048e5,debug:!1,resGetPath:root.app.config.webroot+"i18n/{{lng}}/{{ns}}.json",getAsync:!1,sendMissing:!1,sendMissingTo:"all",resPostPath:"api/i18n/sendMissing/{{lng}}/{{ns}}",sendType:"POST",postAsync:!0,nsseparator:":",keyseparator:".",interpolationPrefix:"{{",interpolationSuffix:"}}",ns:{namespaces:["locale","resource"],defaultNs:"resource"}}};exports["default"]=settings},{}],"/Users/cheton/github/cnc.js/web/constants/modal-groups.js":[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MODAL_GROUPS=[{group:"motion",modes:["G0","G1","G2","G3","G38.2","G38.3","G38.4","G38.5","G80"]},{group:"coordinate",modes:["G54","G55","G56","G57","G58","G59"]},{group:"plane",modes:["G17","G18","G19"]},{group:"units",modes:["G20","G21"]},{group:"distance",modes:["G90","G91"]},{group:"feedrate",modes:["G93","G94"]},{group:"program",modes:["M0","M1","M2","M30"]},{group:"spindle",modes:["M3","M4","M5"]},{group:"coolant",modes:["M7","M8","M9"]}]},{}],"/Users/cheton/github/cnc.js/web/containers/App.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i=0?_settings2["default"].i18next.lng=lng:_settings2["default"].i18next.lng=_settings2["default"].i18next.fallbackLng||_settings2["default"].supportedLngs[0],_i18n2["default"].init(_settings2["default"].i18next,function(t){next()})},logInit=function(next){var log_level=query_params.log_level||_settings2["default"].log.level,log_logger=query_params.log_logger||_settings2["default"].log.logger,log_prefix=query_params.log_prefix||_settings2["default"].log.prefix;_log2["default"].setLevel(log_level),_log2["default"].setLogger(log_logger),_log2["default"].setPrefix(log_prefix);var msg=["version="+_settings2["default"].version,"webroot="+_settings2["default"].webroot,"cdn="+_settings2["default"].cdn];_log2["default"].info(msg.join(",")),next()};_async2["default"].series([i18nextInit,logInit],function(err,results){window.addEventListener("dragover",function(e){e=e||event,e.preventDefault()},!1),window.addEventListener("drop",function(e){e=e||event,e.preventDefault()},!1);var loading=document.getElementById("loading");loading&&(loading.style.display="none"),_reactDom2["default"].render(_react2["default"].createElement(_reactRouter.Router,null,_react2["default"].createElement(_reactRouter.Route,{path:"/",component:_App2["default"]},_react2["default"].createElement(_reactRouter.IndexRoute,{component:_workspace2["default"]}))),document.querySelector("#container"))})},{"./components/workspace":"/Users/cheton/github/cnc.js/web/components/workspace/index.js","./config/settings":"/Users/cheton/github/cnc.js/web/config/settings.js","./containers/App":"/Users/cheton/github/cnc.js/web/containers/App.jsx","./lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","./lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js","./styles/app.css":"/Users/cheton/github/cnc.js/web/styles/app.css","./styles/vendor.css":"/Users/cheton/github/cnc.js/web/styles/vendor.css",async:"async",jsuri:"jsuri",lodash:"lodash",react:"react","react-dom":"react-dom","react-router":"react-router"}],"/Users/cheton/github/cnc.js/web/lib/GCodePath.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function defineProperties(target,props){for(var i=0;i0;){var path=this.group.children[0]; -this.group.remove(path),path.geometry.dispose()}var geometry=this.geometry,material=new _three2["default"].LineBasicMaterial({color:new _three2["default"].Color((0,_colornames2["default"])("darkgray")),linewidth:1,vertexColors:_three2["default"].VertexColors,opacity:.7,transparent:!0});this.group.add(new _three2["default"].Line(geometry,material));var geometry=new _three2["default"].Geometry,material=new _three2["default"].LineBasicMaterial({color:new _three2["default"].Color((0,_colornames2["default"])("crimson")),linewidth:1,opacity:.7,transparent:!0}),currentFrame=this.frames[this.frameIndex]||{};geometry.vertices=this.geometry.vertices.slice(0,currentFrame.vertexIndex),this.group.add(new _three2["default"].Line(geometry,material))}},{key:"setFrameIndex",value:function(frameIndex){frameIndex=Math.min(frameIndex,this.frames.length-1),frameIndex=Math.max(frameIndex,0),this.frameIndex=frameIndex,this.update()}}]),GCodePath}();exports["default"]=GCodePath},{"./GCodeRunner":"/Users/cheton/github/cnc.js/web/lib/GCodeRunner.js","./log":"/Users/cheton/github/cnc.js/web/lib/log.js",colornames:"/Users/cheton/github/cnc.js/node_modules/colornames/index.js",lodash:"lodash",three:"three"}],"/Users/cheton/github/cnc.js/web/lib/GCodeRunner.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function defineProperties(target,props){for(var i=0;iradius&&(height=-height);var offsetX=x/2-y/distance*height,offsetY=y/2+x/distance*height;v0.x=v1.x+offsetX,v0.y=v1.y+offsetY}_this.fn.drawArcCurve(_this.modalState,v1,v2,v0),_this.setPosition(targetPosition.x,targetPosition.y,targetPosition.z)},G3:function(params){_this.setModalState({motion:"G3"});var v1={x:_this.position.x,y:_this.position.y,z:_this.position.z},v2={x:_this.translateX(params.X),y:_this.translateY(params.Y),z:_this.translateZ(params.Z)},v0={x:_this.translateI(params.I),y:_this.translateJ(params.J),z:_this.translateK(params.K)},isClockwise=!1,targetPosition={x:v2.x,y:v2.y,z:v2.z};if(_this.isXYPlane()){var _ref10=[v1.x,v1.y,v1.z];v1.x=_ref10[0],v1.y=_ref10[1],v1.z=_ref10[2];var _ref11=[v2.x,v2.y,v2.z];v2.x=_ref11[0],v2.y=_ref11[1],v2.z=_ref11[2];var _ref12=[v0.x,v0.y,v0.z];v0.x=_ref12[0],v0.y=_ref12[1],v0.z=_ref12[2]}else if(_this.isXZPlane()){var _ref13=[v1.x,v1.z,v1.y];v1.x=_ref13[0],v1.y=_ref13[1],v1.z=_ref13[2];var _ref14=[v2.x,v2.z,v2.y];v2.x=_ref14[0],v2.y=_ref14[1],v2.z=_ref14[2];var _ref15=[v0.x,v0.z,v0.y];v0.x=_ref15[0],v0.y=_ref15[1],v0.z=_ref15[2]}else{if(!_this.isYZPlane())return void console.error("The plane mode is invalid",_this.modalState.plane);var _ref16=[v1.y,v1.z,v1.x];v1.x=_ref16[0],v1.y=_ref16[1],v1.z=_ref16[2];var _ref17=[v2.y,v2.z,v2.x];v2.x=_ref17[0],v2.y=_ref17[1],v2.z=_ref17[2];var _ref18=[v0.y,v0.z,v0.x];v0.x=_ref18[0],v0.y=_ref18[1],v0.z=_ref18[2]}if(params.R){var radius=_this.translateR(Number(params.R)||0),x=v2.x-v1.x,y=v2.y-v1.y,distance=Math.sqrt(x*x+y*y),height=Math.sqrt(4*radius*radius-x*x-y*y)/2;isClockwise&&(height=-height),0>radius&&(height=-height);var offsetX=x/2-y/distance*height,offsetY=y/2+x/distance*height;v0.x=v1.x+offsetX,v0.y=v1.y+offsetY}_this.fn.drawArcCurve(_this.modalState,v1,v2,v0),_this.setPosition(targetPosition.x,targetPosition.y,targetPosition.z)},G4:function(params){var sleep=0;"undefined"!=typeof params.S&&(sleep=1e3*Number(params.S)),"undefined"!=typeof params.P&&(sleep=Number(params.P))},G10:function(params){},G17:function(params){_this.setModalState({plane:"G17"})},G18:function(params){_this.setModalState({plane:"G18"})},G19:function(params){_this.setModalState({plane:"G19"})},G20:function(params){_this.setModalState({units:"G20"})},G21:function(params){_this.setModalState({units:"G21"})},"G38.2":function(params){_this.setModalState({motion:"G38.2"})},G38_3:function(params){_this.setModalState({motion:"G38.3"})},"G38.4":function(params){_this.setModalState({motion:"G38.4"})},"G38.5":function(params){_this.setModalState({motion:"G38.5"})},G54:function(){_this.setModalState({coordinate:"G54"})},G55:function(){_this.setModalState({coordinate:"G55"})},G56:function(){_this.setModalState({coordinate:"G56"})},G57:function(){_this.setModalState({coordinate:"G57"})},G58:function(){_this.setModalState({coordinate:"G58"})},G59:function(){_this.setModalState({coordinate:"G59"})},G80:function(){_this.setModalState({motion:"G80"})},G90:function(){_this.setModalState({distance:"G90"})},G91:function(){_this.setModalState({distance:"G91"})},G92:function(params){var v2={x:_this.translateX(params.X,!1),y:_this.translateY(params.Y,!1),z:_this.translateZ(params.Z,!1)};_lodash2["default"].isUndefined(params.X)&&_lodash2["default"].isUndefined(params.Y)&&_lodash2["default"].isUndefined(params.Z)&&(v2.x=v2.y=v2.z=0),_this.setPosition(v2.x,v2.y,v2.z)},G93:function(){_this.setModalState({feedrate:"G93"})},G94:function(){_this.setModalState({feedrate:"G94"})}},options=options||{},_log2["default"].debug("GCodeRunner:",options),this.modalState=_lodash2["default"].extend({},this.modalState,options.modalState),this.fn={drawLine:options.drawLine||noop,drawArcCurve:options.drawArcCurve||noop},new _gcodeInterpreter.GCodeInterpreter({handlers:this.handlers})}return _createClass(GCodeRunner,[{key:"isMetricUnits",value:function(){return"G21"===this.modalState.units}},{key:"isImperialUnits",value:function(){return"G20"===this.modalState.units}},{key:"isAbsoluteDistance",value:function(){return"G90"===this.modalState.distance}},{key:"isRelativeDistance",value:function(){return"G91"===this.modalState.distance}},{key:"isXYPlane",value:function(){return"G17"===this.modalState.plane}},{key:"isXZPlane",value:function(){return"G18"===this.modalState.plane}},{key:"isYZPlane",value:function(){return"G19"===this.modalState.plane}},{key:"isInverseTimeFeedrateMode",value:function(){return"G93"===this.modalState.feedrate}},{key:"isUnitsPerMinuteFeedrateMode",value:function(){return"G94"===this.modalState.feedrate}},{key:"setPosition",value:function(x,y,z){this.position.x=_lodash2["default"].isNumber(x)?x:this.position.x,this.position.y=_lodash2["default"].isNumber(y)?y:this.position.y,this.position.z=_lodash2["default"].isNumber(z)?z:this.position.z}},{key:"setModalState",value:function(modalState){_lodash2["default"].assign(this.modalState,modalState)}},{key:"translateX",value:function(x,relative){return _lodash2["default"].isUndefined(relative)&&(relative=this.isRelativeDistance()),x=this.isImperialUnits()?in2mm(x):x,translatePosition(this.position.x,x,!!relative)}},{key:"translateY",value:function(y,relative){return _lodash2["default"].isUndefined(relative)&&(relative=this.isRelativeDistance()),y=this.isImperialUnits()?in2mm(y):y,translatePosition(this.position.y,y,!!relative)}},{key:"translateZ",value:function(z,relative){return _lodash2["default"].isUndefined(relative)&&(relative=this.isRelativeDistance()),z=this.isImperialUnits()?in2mm(z):z,translatePosition(this.position.z,z,!!relative)}},{key:"translateI",value:function(i){return this.translateX(i,!0)}},{key:"translateJ",value:function(j){return this.translateY(j,!0)}},{key:"translateK",value:function(k){return this.translateZ(k,!0)}},{key:"translateR",value:function(r){return r=Number(r),_lodash2["default"].isNaN(r)?0:this.isImperialUnits()?in2mm(r):r}}]),GCodeRunner}();exports["default"]=GCodeRunner},{"./log":"/Users/cheton/github/cnc.js/web/lib/log.js","gcode-interpreter":"gcode-interpreter",lodash:"lodash"}],"/Users/cheton/github/cnc.js/web/lib/browser.js":[function(require,module,exports){"use strict";var browser={isSafari:function(){return/Safari/.test(navigator.userAgent)&&/Apple Computer/.test(navigator.vendor)},isOpera:function(){return/OPR/.test(navigator.userAgent)&&/Opera/.test(navigator.vendor)},isFirefox:function(){return/Firefox/.test(navigator.userAgent)},isIEEdge:function(){return"Netscape"===navigator.appName&&/Trident\/\d/.test(navigator.userAgent)},isIE:function(){return browser.getIEVersion()>0},getIEVersion:function(){var ua,re,rv=-1;return"Microsoft Internet Explorer"===navigator.appName?(ua=navigator.userAgent,re=new RegExp(/MSIE ([0-9]{1,}[\.0-9]{0,})/),null!==re.exec(ua)&&(rv=parseFloat(RegExp.$1))):"Netscape"===navigator.appName&&(ua=navigator.userAgent,re=new RegExp(/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/),null!==re.exec(ua)&&(rv=parseFloat(RegExp.$1))),rv}};browser.datauri={over32kb:!(browser.isIE()&&browser.getIEVersion()<9)},module.exports=browser},{}],"/Users/cheton/github/cnc.js/web/lib/i18n.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _i18next=require("i18next"),_i18next2=_interopRequireDefault(_i18next),_sha=require("sha1"),_sha2=_interopRequireDefault(_sha);_i18next2["default"]._=function(){var args=Array.prototype.slice.call(arguments);if(0===args.length||"undefined"==typeof args[0])return void _i18next2["default"].t.apply(_i18next2["default"],args);var value=args[0],options=args[1]||{},key=(0,_sha2["default"])(value);return args[0]=value,options.defaultValue=value,_i18next2["default"].t(key,options)},exports["default"]=_i18next2["default"]},{i18next:"i18next",sha1:"sha1"}],"/Users/cheton/github/cnc.js/web/lib/log.js":[function(require,module,exports){"use strict";var printStackTrace=require("stacktrace"),browser=require("./browser"),TRACE=0,DEBUG=1,INFO=2,WARN=3,ERROR=4,NONE=5,supportSafari=function(){var m=navigator.userAgent.match(/AppleWebKit\/(\d+)\.(\d+)(\.|\+|\s)/);return m?537.38<=parseInt(m[1],10)+parseInt(m[2],10)/100:!1},supportOpera=function(){var m=navigator.userAgent.match(/OPR\/(\d+)\./);return m?15<=parseInt(m[1],10):!1},supportFirefox=function(){return window.console.firebug||window.console.exception},getISODateTime=function(d){function pad(number,length){for(var str=""+number;str.lengthtz_offset?"+":"-")+hour+":"+minute}return"undefined"==typeof d&&(d=new Date),d.getFullYear()+"-"+pad(d.getMonth()+1,2)+"-"+pad(d.getDate(),2)+"T"+pad(d.getHours(),2)+":"+pad(d.getMinutes(),2)+":"+pad(d.getSeconds(),2)+getTimeZoneDesignator(d)},consoleLogger=function(logger){window.console.assert("undefined"!=typeof logger,"logger is undefined"),window.console.assert("string"==typeof logger.datetime,"datetime is not a string"),window.console.assert("string"==typeof logger.level,"level is not a string");var console=window.console;if(console){var args=[];if(browser.isIE()||browser.isFirefox()&&!supportFirefox()||browser.isOpera()&&!supportOpera()||browser.isSafari()&&!supportSafari())args.push(logger.datetime||""),args.push(logger.level||"");else{var styles={datetime:"font-weight: bold; line-height: 20px; padding: 2px 4px; color: #3B5998; background: #EDEFF4",level:{T:"font-weight: bold; line-height: 20px; padding: 2px 4px; border: 1px solid; color: #4F8A10; background: #DFF2BF",D:"font-weight: bold; line-height: 20px; padding: 2px 4px; border: 1px solid; color: #222; background: #F5F5F5",I:"font-weight: bold; line-height: 20px; padding: 2px 4px; border: 1px solid; color: #00529B; background: #BDE5F8",W:"font-weight: bold; line-height: 20px; padding: 2px 4px; border: 1px solid; color: #9F6000; background: #EFEFB3",E:"font-weight: bold; line-height: 20px; padding: 2px 4px; border: 1px solid; color: #D8000C; background: #FFBABA"}};args.push("%c"+logger.datetime+"%c %c"+logger.level+"%c"),args.push(styles.datetime),args.push(""),args.push(styles.level[logger.level]||""),args.push("")}logger.prefix&&args.push(logger.prefix),logger.args&&(args=args.concat(logger.args)),logger.stackTrace&&args.push(logger.stackTrace[6]);try{if(browser.isIE()&&browser.getIEVersion()<=9||browser.isFirefox()&&!supportFirefox()){var message=args.join(" ");return void console.log(message)}"undefined"!=typeof console&&"undefined"!=typeof console.log&&console.log.apply&&console.log.apply(console,args)}catch(e){console.error(e)}}},Log=function(){return this._prefix=!1,this._level=DEBUG,this._logger=consoleLogger,this};Log.prototype._log=function(level,args){var stackTrace=printStackTrace({guess:!1}),d=new Date;this._logger({datetime:getISODateTime(d),level:level,prefix:this.getPrefix(),args:args,stackTrace:stackTrace})},Log.prototype.setPrefix=function(prefix){"undefined"!=typeof prefix?this._prefix=prefix:this._prefix=!1},Log.prototype.getPrefix=function(){return this._prefix!==!1?this._prefix:""},Log.prototype.setLogger=function(logger){if("undefined"!=typeof logger&&"function"==typeof logger)this._logger=logger;else if("undefined"!=typeof logger&&"string"==typeof logger){var log_loggers={console:consoleLogger};this._logger=log_loggers[logger],"undefined"==typeof this._logger&&(this._logger=function(logger){})}},Log.prototype.getLogger=function(){return this._logger},Log.prototype.setLevel=function(level){if("undefined"!=typeof level&&"number"==typeof level)this._level=level;else if("undefined"!=typeof level&&"string"==typeof level){var log_levels={trace:TRACE,debug:DEBUG,info:INFO,warn:WARN,error:ERROR};this._level=log_levels[level],"undefined"==typeof this._level&&(this._level=NONE)}},Log.prototype.getLevel=function(){return this._level},Log.prototype.log=function(){this._log("",Array.prototype.slice.call(arguments))},Log.prototype.trace=function(){var level=this._level;TRACE>=level&&this._log("T",Array.prototype.slice.call(arguments))},Log.prototype.debug=function(){this._level<=DEBUG&&this._log("D",Array.prototype.slice.call(arguments))},Log.prototype.info=function(){this._level<=INFO&&this._log("I",Array.prototype.slice.call(arguments))},Log.prototype.warn=function(){this._level<=WARN&&this._log("W",Array.prototype.slice.call(arguments))},Log.prototype.error=function(){this._level<=ERROR&&this._log("E",Array.prototype.slice.call(arguments))};var _log=new Log;module.exports={setLevel:function(){_log.setLevel.apply(_log,Array.prototype.slice.call(arguments))},getLevel:function(){return _log.getLevel.apply(_log,Array.prototype.slice.call(arguments))},setLogger:function(){_log.setLogger.apply(_log,Array.prototype.slice.call(arguments))},getLogger:function(){return _log.getLogger.apply(_log,Array.prototype.slice.call(arguments))},setPrefix:function(){_log.setPrefix.apply(_log,Array.prototype.slice.call(arguments))},getPrefix:function(){return _log.getPrefix.apply(_log,Array.prototype.slice.call(arguments))},log:function(){return _log.log.apply(_log,Array.prototype.slice.call(arguments))},trace:function(){return _log.trace.apply(_log,Array.prototype.slice.call(arguments))},debug:function(){return _log.debug.apply(_log,Array.prototype.slice.call(arguments))},info:function(){return _log.info.apply(_log,Array.prototype.slice.call(arguments))},warn:function(){return _log.warn.apply(_log,Array.prototype.slice.call(arguments))},error:function(){return _log.error.apply(_log,Array.prototype.slice.call(arguments))}}},{"./browser":"/Users/cheton/github/cnc.js/web/lib/browser.js",stacktrace:"stacktrace"}],"/Users/cheton/github/cnc.js/web/lib/serialport.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _lodash=require("lodash"),_lodash2=_interopRequireDefault(_lodash),_pubsubJs=require("pubsub-js"),_pubsubJs2=_interopRequireDefault(_pubsubJs),_socket=require("./socket"),_socket2=_interopRequireDefault(_socket),port="",listeners={write:[]};_pubsubJs2["default"].subscribe("port",function(msg,_port){port=_port||port});var on=function(msg,callback){if(_lodash2["default"].includes(["data","write"],msg)&&_lodash2["default"].isFunction(callback))if("data"===msg)_socket2["default"].on("serialport:data",callback);else if("write"===msg){var token=_pubsubJs2["default"].subscribe("serialport:write",function(msg,data){callback(data)});listeners.write.push({token:token,callback:callback})}},off=function(msg,callback){_lodash2["default"].includes(["data","write"],msg)&&("data"===msg?_socket2["default"].off("serialport:data",callback):"write"===msg&&(listeners.write=_lodash2["default"].filter(listeners.write,function(o){return o.callback===callback&&_pubsubJs2["default"].unsubscribe("serialport:write",o.token),o.callback!==callback})))},write=function(buffer){port&&(_pubsubJs2["default"].publishSync.apply(_pubsubJs2["default"],["serialport:write",buffer]),_socket2["default"].emit.apply(_socket2["default"],["serialport:write",port,buffer]))},writeln=function(buffer){port&&(buffer=(""+buffer).trim()+"\n",_pubsubJs2["default"].publishSync.apply(_pubsubJs2["default"],["serialport:write",buffer]),_socket2["default"].emit.apply(_socket2["default"],["serialport:write",port,buffer]))};exports["default"]={on:on,off:off,write:write,writeln:writeln}},{"./socket":"/Users/cheton/github/cnc.js/web/lib/socket.js",lodash:"lodash","pubsub-js":"pubsub-js"}],"/Users/cheton/github/cnc.js/web/lib/socket.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _log=require("./log"),_log2=_interopRequireDefault(_log),socket=root.io.connect("");socket.on("connect",function(){_log2["default"].debug("socket.io: connected")}),socket.on("error",function(){_log2["default"].error("socket.io: error"),socket.destroy()}),socket.on("close",function(){_log2["default"].debug("socket.io: closed")}),exports["default"]=socket},{"./log":"/Users/cheton/github/cnc.js/web/lib/log.js"}],"/Users/cheton/github/cnc.js/web/lib/three/OrbitControls.js":[function(require,module,exports){"use strict";var THREE=require("three");!function(){function OrbitConstraint(object){this.object=object,this.target=new THREE.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-(1/0),this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.25;var theta,phi,scope=this,EPS=1e-6,phiDelta=0,thetaDelta=0,scale=1,panOffset=new THREE.Vector3,zoomChanged=!1;this.getPolarAngle=function(){return phi},this.getAzimuthalAngle=function(){return theta},this.rotateLeft=function(angle){thetaDelta-=angle},this.rotateUp=function(angle){phiDelta-=angle},this.panLeft=function(){var v=new THREE.Vector3;return function(distance){var te=this.object.matrix.elements;v.set(te[0],te[1],te[2]),v.multiplyScalar(-distance),panOffset.add(v)}}(),this.panUp=function(){var v=new THREE.Vector3;return function(distance){var te=this.object.matrix.elements;v.set(te[4],te[5],te[6]),v.multiplyScalar(distance),panOffset.add(v)}}(),this.pan=function(deltaX,deltaY,screenWidth,screenHeight){if(scope.object instanceof THREE.PerspectiveCamera){var position=scope.object.position,offset=position.clone().sub(scope.target),targetDistance=offset.length();targetDistance*=Math.tan(scope.object.fov/2*Math.PI/180),scope.panLeft(2*deltaX*targetDistance/screenHeight),scope.panUp(2*deltaY*targetDistance/screenHeight)}else scope.object instanceof THREE.OrthographicCamera?(scope.panLeft(deltaX*(scope.object.right-scope.object.left)/screenWidth),scope.panUp(deltaY*(scope.object.top-scope.object.bottom)/screenHeight)):console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.")},this.dollyIn=function(dollyScale){scope.object instanceof THREE.PerspectiveCamera?scale/=dollyScale:scope.object instanceof THREE.OrthographicCamera?(scope.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom*dollyScale)),scope.object.updateProjectionMatrix(),zoomChanged=!0):console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.")},this.dollyOut=function(dollyScale){scope.object instanceof THREE.PerspectiveCamera?scale*=dollyScale:scope.object instanceof THREE.OrthographicCamera?(scope.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/dollyScale)),scope.object.updateProjectionMatrix(),zoomChanged=!0):console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.")},this.update=function(){var offset=new THREE.Vector3,quat=(new THREE.Quaternion).setFromUnitVectors(object.up,new THREE.Vector3(0,1,0)),quatInverse=quat.clone().inverse(),lastPosition=new THREE.Vector3,lastQuaternion=new THREE.Quaternion;return function(){var position=this.object.position;offset.copy(position).sub(this.target),offset.applyQuaternion(quat),theta=Math.atan2(offset.x,offset.z),phi=Math.atan2(Math.sqrt(offset.x*offset.x+offset.z*offset.z),offset.y),theta+=thetaDelta,phi+=phiDelta,theta=Math.max(this.minAzimuthAngle,Math.min(this.maxAzimuthAngle,theta)),phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,phi)),phi=Math.max(EPS,Math.min(Math.PI-EPS,phi));var radius=offset.length()*scale;return radius=Math.max(this.minDistance,Math.min(this.maxDistance,radius)),this.target.add(panOffset),offset.x=radius*Math.sin(phi)*Math.sin(theta),offset.y=radius*Math.cos(phi),offset.z=radius*Math.sin(phi)*Math.cos(theta),offset.applyQuaternion(quatInverse),position.copy(this.target).add(offset),this.object.lookAt(this.target),this.enableDamping===!0?(thetaDelta*=1-this.dampingFactor,phiDelta*=1-this.dampingFactor):(thetaDelta=0,phiDelta=0),scale=1,panOffset.set(0,0,0),zoomChanged||lastPosition.distanceToSquared(this.object.position)>EPS||8*(1-lastQuaternion.dot(this.object.quaternion))>EPS?(lastPosition.copy(this.object.position),lastQuaternion.copy(this.object.quaternion),zoomChanged=!1,!0):!1}}()}THREE.OrbitControls=function(object,domElement){function pan(deltaX,deltaY){var element=scope.domElement===document?scope.domElement.body:scope.domElement;constraint.pan(deltaX,deltaY,element.clientWidth,element.clientHeight)}function getAutoRotationAngle(){return 2*Math.PI/60/60*scope.autoRotateSpeed}function getZoomScale(){return Math.pow(.95,scope.zoomSpeed)}function onMouseDown(event){if(scope.enabled!==!1){if(event.preventDefault(),event.button===scope.mouseButtons.ORBIT){if(scope.enableRotate===!1)return;state=STATE.ROTATE,rotateStart.set(event.clientX,event.clientY)}else if(event.button===scope.mouseButtons.ZOOM){if(scope.enableZoom===!1)return;state=STATE.DOLLY,dollyStart.set(event.clientX,event.clientY)}else if(event.button===scope.mouseButtons.PAN){if(scope.enablePan===!1)return;state=STATE.PAN,panStart.set(event.clientX,event.clientY)}state!==STATE.NONE&&(document.addEventListener("mousemove",onMouseMove,!1),document.addEventListener("mouseup",onMouseUp,!1),scope.dispatchEvent(startEvent))}}function onMouseMove(event){if(scope.enabled!==!1){event.preventDefault();var element=scope.domElement===document?scope.domElement.body:scope.domElement;if(state===STATE.ROTATE){if(scope.enableRotate===!1)return;rotateEnd.set(event.clientX,event.clientY),rotateDelta.subVectors(rotateEnd,rotateStart),constraint.rotateLeft(2*Math.PI*rotateDelta.x/element.clientWidth*scope.rotateSpeed),constraint.rotateUp(2*Math.PI*rotateDelta.y/element.clientHeight*scope.rotateSpeed),rotateStart.copy(rotateEnd)}else if(state===STATE.DOLLY){if(scope.enableZoom===!1)return;dollyEnd.set(event.clientX,event.clientY),dollyDelta.subVectors(dollyEnd,dollyStart),dollyDelta.y>0?constraint.dollyIn(getZoomScale()):dollyDelta.y<0&&constraint.dollyOut(getZoomScale()),dollyStart.copy(dollyEnd)}else if(state===STATE.PAN){if(scope.enablePan===!1)return;panEnd.set(event.clientX,event.clientY),panDelta.subVectors(panEnd,panStart),pan(panDelta.x,panDelta.y),panStart.copy(panEnd)}state!==STATE.NONE&&scope.update()}}function onMouseUp(){scope.enabled!==!1&&(document.removeEventListener("mousemove",onMouseMove,!1),document.removeEventListener("mouseup",onMouseUp,!1),scope.dispatchEvent(endEvent),state=STATE.NONE)}function onMouseWheel(event){if(scope.enabled!==!1&&scope.enableZoom!==!1&&state===STATE.NONE){event.preventDefault(),event.stopPropagation();var delta=0;void 0!==event.wheelDelta?delta=event.wheelDelta:void 0!==event.detail&&(delta=-event.detail),delta>0?constraint.dollyOut(getZoomScale()):0>delta&&constraint.dollyIn(getZoomScale()),scope.update(),scope.dispatchEvent(startEvent),scope.dispatchEvent(endEvent)}}function onKeyDown(event){if(scope.enabled!==!1&&scope.enableKeys!==!1&&scope.enablePan!==!1)switch(event.keyCode){case scope.keys.UP:pan(0,scope.keyPanSpeed),scope.update();break;case scope.keys.BOTTOM:pan(0,-scope.keyPanSpeed),scope.update();break;case scope.keys.LEFT:pan(scope.keyPanSpeed,0),scope.update();break;case scope.keys.RIGHT:pan(-scope.keyPanSpeed,0),scope.update()}}function touchstart(event){if(scope.enabled!==!1){switch(event.touches.length){case 1:if(scope.enableRotate===!1)return;state=STATE.TOUCH_ROTATE,rotateStart.set(event.touches[0].pageX,event.touches[0].pageY);break;case 2:if(scope.enableZoom===!1)return;state=STATE.TOUCH_DOLLY;var dx=event.touches[0].pageX-event.touches[1].pageX,dy=event.touches[0].pageY-event.touches[1].pageY,distance=Math.sqrt(dx*dx+dy*dy);dollyStart.set(0,distance);break;case 3:if(scope.enablePan===!1)return;state=STATE.TOUCH_PAN,panStart.set(event.touches[0].pageX,event.touches[0].pageY);break;default:state=STATE.NONE}state!==STATE.NONE&&scope.dispatchEvent(startEvent)}}function touchmove(event){if(scope.enabled!==!1){event.preventDefault(),event.stopPropagation();var element=scope.domElement===document?scope.domElement.body:scope.domElement;switch(event.touches.length){case 1:if(scope.enableRotate===!1)return;if(state!==STATE.TOUCH_ROTATE)return;rotateEnd.set(event.touches[0].pageX,event.touches[0].pageY),rotateDelta.subVectors(rotateEnd,rotateStart),constraint.rotateLeft(2*Math.PI*rotateDelta.x/element.clientWidth*scope.rotateSpeed),constraint.rotateUp(2*Math.PI*rotateDelta.y/element.clientHeight*scope.rotateSpeed),rotateStart.copy(rotateEnd),scope.update();break;case 2:if(scope.enableZoom===!1)return;if(state!==STATE.TOUCH_DOLLY)return;var dx=event.touches[0].pageX-event.touches[1].pageX,dy=event.touches[0].pageY-event.touches[1].pageY,distance=Math.sqrt(dx*dx+dy*dy);dollyEnd.set(0,distance),dollyDelta.subVectors(dollyEnd,dollyStart),dollyDelta.y>0?constraint.dollyOut(getZoomScale()):dollyDelta.y<0&&constraint.dollyIn(getZoomScale()),dollyStart.copy(dollyEnd),scope.update();break;case 3:if(scope.enablePan===!1)return;if(state!==STATE.TOUCH_PAN)return;panEnd.set(event.touches[0].pageX,event.touches[0].pageY),panDelta.subVectors(panEnd,panStart),pan(panDelta.x,panDelta.y),panStart.copy(panEnd),scope.update();break;default:state=STATE.NONE}}}function touchend(){scope.enabled!==!1&&(scope.dispatchEvent(endEvent),state=STATE.NONE)}function contextmenu(event){event.preventDefault()}var constraint=new OrbitConstraint(object);this.domElement=void 0!==domElement?domElement:document,Object.defineProperty(this,"constraint",{get:function(){return constraint}}),this.getPolarAngle=function(){return constraint.getPolarAngle()},this.getAzimuthalAngle=function(){return constraint.getAzimuthalAngle()},this.enabled=!0,this.center=this.target,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={ORBIT:THREE.MOUSE.LEFT,ZOOM:THREE.MOUSE.MIDDLE,PAN:THREE.MOUSE.RIGHT};var scope=this,rotateStart=new THREE.Vector2,rotateEnd=new THREE.Vector2,rotateDelta=new THREE.Vector2,panStart=new THREE.Vector2,panEnd=new THREE.Vector2,panDelta=new THREE.Vector2,dollyStart=new THREE.Vector2,dollyEnd=new THREE.Vector2,dollyDelta=new THREE.Vector2,STATE={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY:4,TOUCH_PAN:5},state=STATE.NONE;this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom;var changeEvent={type:"change"},startEvent={type:"start"},endEvent={type:"end"};this.update=function(){this.autoRotate&&state===STATE.NONE&&constraint.rotateLeft(getAutoRotationAngle()),constraint.update()===!0&&this.dispatchEvent(changeEvent)},this.reset=function(){state=STATE.NONE,this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(changeEvent),this.update()},this.dispose=function(){this.domElement.removeEventListener("contextmenu",contextmenu,!1),this.domElement.removeEventListener("mousedown",onMouseDown,!1),this.domElement.removeEventListener("mousewheel",onMouseWheel,!1),this.domElement.removeEventListener("MozMousePixelScroll",onMouseWheel,!1), -this.domElement.removeEventListener("touchstart",touchstart,!1),this.domElement.removeEventListener("touchend",touchend,!1),this.domElement.removeEventListener("touchmove",touchmove,!1),document.removeEventListener("mousemove",onMouseMove,!1),document.removeEventListener("mouseup",onMouseUp,!1),window.removeEventListener("keydown",onKeyDown,!1)},this.domElement.addEventListener("contextmenu",contextmenu,!1),this.domElement.addEventListener("mousedown",onMouseDown,!1),this.domElement.addEventListener("mousewheel",onMouseWheel,!1),this.domElement.addEventListener("MozMousePixelScroll",onMouseWheel,!1),this.domElement.addEventListener("touchstart",touchstart,!1),this.domElement.addEventListener("touchend",touchend,!1),this.domElement.addEventListener("touchmove",touchmove,!1),window.addEventListener("keydown",onKeyDown,!1),this.update()},THREE.OrbitControls.prototype=Object.create(THREE.EventDispatcher.prototype),THREE.OrbitControls.prototype.constructor=THREE.OrbitControls,Object.defineProperties(THREE.OrbitControls.prototype,{object:{get:function(){return this.constraint.object}},target:{get:function(){return this.constraint.target},set:function(value){console.warn("THREE.OrbitControls: target is now immutable. Use target.set() instead."),this.constraint.target.copy(value)}},minDistance:{get:function(){return this.constraint.minDistance},set:function(value){this.constraint.minDistance=value}},maxDistance:{get:function(){return this.constraint.maxDistance},set:function(value){this.constraint.maxDistance=value}},minZoom:{get:function(){return this.constraint.minZoom},set:function(value){this.constraint.minZoom=value}},maxZoom:{get:function(){return this.constraint.maxZoom},set:function(value){this.constraint.maxZoom=value}},minPolarAngle:{get:function(){return this.constraint.minPolarAngle},set:function(value){this.constraint.minPolarAngle=value}},maxPolarAngle:{get:function(){return this.constraint.maxPolarAngle},set:function(value){this.constraint.maxPolarAngle=value}},minAzimuthAngle:{get:function(){return this.constraint.minAzimuthAngle},set:function(value){this.constraint.minAzimuthAngle=value}},maxAzimuthAngle:{get:function(){return this.constraint.maxAzimuthAngle},set:function(value){this.constraint.maxAzimuthAngle=value}},enableDamping:{get:function(){return this.constraint.enableDamping},set:function(value){this.constraint.enableDamping=value}},dampingFactor:{get:function(){return this.constraint.dampingFactor},set:function(value){this.constraint.dampingFactor=value}},noZoom:{get:function(){return console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),!this.enableZoom},set:function(value){console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),this.enableZoom=!value}},noRotate:{get:function(){return console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),!this.enableRotate},set:function(value){console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),this.enableRotate=!value}},noPan:{get:function(){return console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),!this.enablePan},set:function(value){console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),this.enablePan=!value}},noKeys:{get:function(){return console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),!this.enableKeys},set:function(value){console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),this.enableKeys=!value}},staticMoving:{get:function(){return console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),!this.constraint.enableDamping},set:function(value){console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),this.constraint.enableDamping=!value}},dynamicDampingFactor:{get:function(){return console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.constraint.dampingFactor},set:function(value){console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.constraint.dampingFactor=value}}})}(),module.exports=THREE.TrackballControls},{three:"three"}],"/Users/cheton/github/cnc.js/web/styles/app.css":[function(require,module,exports){var css='body{min-width:960px}@media (max-width:767px){body{min-width:0}}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}audio,canvas,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}body{font-size:12px}label,th{font-weight:400}.dropdown-menu{font-size:12px}.navbar-nav>li>a{font-size:14px}.dropdown-menu>li>a:focus{outline:0}.dropdown-header{font-weight:700}table tbody>tr>td,table thead>tr>th{text-align:left;padding:2px 4px}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:1px}.checkbox label,.radio label{line-height:20px}row.row-grid [class*=col-]+[class*=col-]{margin-top:15px}@media (min-width:1200px){row.row-grid [class*=col-lg-]+[class*=col-lg-]{margin-top:0}}@media (min-width:992px){row.row-grid [class*=col-md-]+[class*=col-md-]{margin-top:0}}@media (min-width:768px){row.row-grid [class*=col-sm-]+[class*=col-sm-]{margin-top:0}}.input-group-xs .form-control,.input-group-xs .input-group-addon,.input-group-xs .input-group-btn .btn{height:22px;padding:1px 5px;font-size:12px;line-height:1.5}.row.no-gutter [class*=col-]{padding-right:0;padding-left:0}.wait,.wait *{cursor:wait!important}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.nowrap{white-space:nowrap}.noselect{-webkit-touch-callout:none;-khtml-user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.text-overflow-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}html.ie9 .gradient{-webkit-filter:none;filter:none}@-webkit-keyframes rotating{from{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}.rotating{-webkit-animation:rotating 2s linear infinite;-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}@-webkit-keyframes rotating{from{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating{from{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}';require("browserify-css").createStyle(css,{href:"styles/app.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/styles/vendor.css":[function(require,module,exports){var css='@charset "UTF-8";/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css *//*!\n Ionicons, v2.0.0\n Created by Ben Sperry for the Ionic Framework, http://ionicons.com/\n https://twitter.com/benjsperry https://twitter.com/ionicframework\n MIT License: https://github.com/driftyco/ionicons\n\n Android-style icons originally built by Google’s\n Material Design Icons: https://github.com/google/material-design-icons\n used under CC BY http://creativecommons.org/licenses/by/4.0/\n Modified icons to fit ionicon’s grid from original.\n*/@font-face{font-family:Ionicons;src:url(vendor/Ionicons/fonts/ionicons.eot?v=2.0.0);src:url(vendor/Ionicons/fonts/ionicons.eot?v=2.0.0#iefix) format("embedded-opentype"),url(vendor/Ionicons/fonts/ionicons.ttf?v=2.0.0) format("truetype"),url(vendor/Ionicons/fonts/ionicons.woff?v=2.0.0) format("woff"),url(vendor/Ionicons/fonts/ionicons.svg?v=2.0.0#Ionicons) format("svg");font-weight:400;font-style:normal}.ion,.ion-alert-circled:before,.ion-alert:before,.ion-android-add-circle:before,.ion-android-add:before,.ion-android-alarm-clock:before,.ion-android-alert:before,.ion-android-apps:before,.ion-android-archive:before,.ion-android-arrow-back:before,.ion-android-arrow-down:before,.ion-android-arrow-dropdown-circle:before,.ion-android-arrow-dropdown:before,.ion-android-arrow-dropleft-circle:before,.ion-android-arrow-dropleft:before,.ion-android-arrow-dropright-circle:before,.ion-android-arrow-dropright:before,.ion-android-arrow-dropup-circle:before,.ion-android-arrow-dropup:before,.ion-android-arrow-forward:before,.ion-android-arrow-up:before,.ion-android-attach:before,.ion-android-bar:before,.ion-android-bicycle:before,.ion-android-boat:before,.ion-android-bookmark:before,.ion-android-bulb:before,.ion-android-bus:before,.ion-android-calendar:before,.ion-android-call:before,.ion-android-camera:before,.ion-android-cancel:before,.ion-android-car:before,.ion-android-cart:before,.ion-android-chat:before,.ion-android-checkbox-blank:before,.ion-android-checkbox-outline-blank:before,.ion-android-checkbox-outline:before,.ion-android-checkbox:before,.ion-android-checkmark-circle:before,.ion-android-clipboard:before,.ion-android-close:before,.ion-android-cloud-circle:before,.ion-android-cloud-done:before,.ion-android-cloud-outline:before,.ion-android-cloud:before,.ion-android-color-palette:before,.ion-android-compass:before,.ion-android-contact:before,.ion-android-contacts:before,.ion-android-contract:before,.ion-android-create:before,.ion-android-delete:before,.ion-android-desktop:before,.ion-android-document:before,.ion-android-done-all:before,.ion-android-done:before,.ion-android-download:before,.ion-android-drafts:before,.ion-android-exit:before,.ion-android-expand:before,.ion-android-favorite-outline:before,.ion-android-favorite:before,.ion-android-film:before,.ion-android-folder-open:before,.ion-android-folder:before,.ion-android-funnel:before,.ion-android-globe:before,.ion-android-hand:before,.ion-android-hangout:before,.ion-android-happy:before,.ion-android-home:before,.ion-android-image:before,.ion-android-laptop:before,.ion-android-list:before,.ion-android-locate:before,.ion-android-lock:before,.ion-android-mail:before,.ion-android-map:before,.ion-android-menu:before,.ion-android-microphone-off:before,.ion-android-microphone:before,.ion-android-more-horizontal:before,.ion-android-more-vertical:before,.ion-android-navigate:before,.ion-android-notifications-none:before,.ion-android-notifications-off:before,.ion-android-notifications:before,.ion-android-open:before,.ion-android-options:before,.ion-android-people:before,.ion-android-person-add:before,.ion-android-person:before,.ion-android-phone-landscape:before,.ion-android-phone-portrait:before,.ion-android-pin:before,.ion-android-plane:before,.ion-android-playstore:before,.ion-android-print:before,.ion-android-radio-button-off:before,.ion-android-radio-button-on:before,.ion-android-refresh:before,.ion-android-remove-circle:before,.ion-android-remove:before,.ion-android-restaurant:before,.ion-android-sad:before,.ion-android-search:before,.ion-android-send:before,.ion-android-settings:before,.ion-android-share-alt:before,.ion-android-share:before,.ion-android-star-half:before,.ion-android-star-outline:before,.ion-android-star:before,.ion-android-stopwatch:before,.ion-android-subway:before,.ion-android-sunny:before,.ion-android-sync:before,.ion-android-textsms:before,.ion-android-time:before,.ion-android-train:before,.ion-android-unlock:before,.ion-android-upload:before,.ion-android-volume-down:before,.ion-android-volume-mute:before,.ion-android-volume-off:before,.ion-android-volume-up:before,.ion-android-walk:before,.ion-android-warning:before,.ion-android-watch:before,.ion-android-wifi:before,.ion-aperture:before,.ion-archive:before,.ion-arrow-down-a:before,.ion-arrow-down-b:before,.ion-arrow-down-c:before,.ion-arrow-expand:before,.ion-arrow-graph-down-left:before,.ion-arrow-graph-down-right:before,.ion-arrow-graph-up-left:before,.ion-arrow-graph-up-right:before,.ion-arrow-left-a:before,.ion-arrow-left-b:before,.ion-arrow-left-c:before,.ion-arrow-move:before,.ion-arrow-resize:before,.ion-arrow-return-left:before,.ion-arrow-return-right:before,.ion-arrow-right-a:before,.ion-arrow-right-b:before,.ion-arrow-right-c:before,.ion-arrow-shrink:before,.ion-arrow-swap:before,.ion-arrow-up-a:before,.ion-arrow-up-b:before,.ion-arrow-up-c:before,.ion-asterisk:before,.ion-at:before,.ion-backspace-outline:before,.ion-backspace:before,.ion-bag:before,.ion-battery-charging:before,.ion-battery-empty:before,.ion-battery-full:before,.ion-battery-half:before,.ion-battery-low:before,.ion-beaker:before,.ion-beer:before,.ion-bluetooth:before,.ion-bonfire:before,.ion-bookmark:before,.ion-bowtie:before,.ion-briefcase:before,.ion-bug:before,.ion-calculator:before,.ion-calendar:before,.ion-camera:before,.ion-card:before,.ion-cash:before,.ion-chatbox-working:before,.ion-chatbox:before,.ion-chatboxes:before,.ion-chatbubble-working:before,.ion-chatbubble:before,.ion-chatbubbles:before,.ion-checkmark-circled:before,.ion-checkmark-round:before,.ion-checkmark:before,.ion-chevron-down:before,.ion-chevron-left:before,.ion-chevron-right:before,.ion-chevron-up:before,.ion-clipboard:before,.ion-clock:before,.ion-close-circled:before,.ion-close-round:before,.ion-close:before,.ion-closed-captioning:before,.ion-cloud:before,.ion-code-download:before,.ion-code-working:before,.ion-code:before,.ion-coffee:before,.ion-compass:before,.ion-compose:before,.ion-connection-bars:before,.ion-contrast:before,.ion-crop:before,.ion-cube:before,.ion-disc:before,.ion-document-text:before,.ion-document:before,.ion-drag:before,.ion-earth:before,.ion-easel:before,.ion-edit:before,.ion-egg:before,.ion-eject:before,.ion-email-unread:before,.ion-email:before,.ion-erlenmeyer-flask-bubbles:before,.ion-erlenmeyer-flask:before,.ion-eye-disabled:before,.ion-eye:before,.ion-female:before,.ion-filing:before,.ion-film-marker:before,.ion-fireball:before,.ion-flag:before,.ion-flame:before,.ion-flash-off:before,.ion-flash:before,.ion-folder:before,.ion-fork-repo:before,.ion-fork:before,.ion-forward:before,.ion-funnel:before,.ion-gear-a:before,.ion-gear-b:before,.ion-grid:before,.ion-hammer:before,.ion-happy-outline:before,.ion-happy:before,.ion-headphone:before,.ion-heart-broken:before,.ion-heart:before,.ion-help-buoy:before,.ion-help-circled:before,.ion-help:before,.ion-home:before,.ion-icecream:before,.ion-image:before,.ion-images:before,.ion-information-circled:before,.ion-information:before,.ion-ionic:before,.ion-ios-alarm-outline:before,.ion-ios-alarm:before,.ion-ios-albums-outline:before,.ion-ios-albums:before,.ion-ios-americanfootball-outline:before,.ion-ios-americanfootball:before,.ion-ios-analytics-outline:before,.ion-ios-analytics:before,.ion-ios-arrow-back:before,.ion-ios-arrow-down:before,.ion-ios-arrow-forward:before,.ion-ios-arrow-left:before,.ion-ios-arrow-right:before,.ion-ios-arrow-thin-down:before,.ion-ios-arrow-thin-left:before,.ion-ios-arrow-thin-right:before,.ion-ios-arrow-thin-up:before,.ion-ios-arrow-up:before,.ion-ios-at-outline:before,.ion-ios-at:before,.ion-ios-barcode-outline:before,.ion-ios-barcode:before,.ion-ios-baseball-outline:before,.ion-ios-baseball:before,.ion-ios-basketball-outline:before,.ion-ios-basketball:before,.ion-ios-bell-outline:before,.ion-ios-bell:before,.ion-ios-body-outline:before,.ion-ios-body:before,.ion-ios-bolt-outline:before,.ion-ios-bolt:before,.ion-ios-book-outline:before,.ion-ios-book:before,.ion-ios-bookmarks-outline:before,.ion-ios-bookmarks:before,.ion-ios-box-outline:before,.ion-ios-box:before,.ion-ios-briefcase-outline:before,.ion-ios-briefcase:before,.ion-ios-browsers-outline:before,.ion-ios-browsers:before,.ion-ios-calculator-outline:before,.ion-ios-calculator:before,.ion-ios-calendar-outline:before,.ion-ios-calendar:before,.ion-ios-camera-outline:before,.ion-ios-camera:before,.ion-ios-cart-outline:before,.ion-ios-cart:before,.ion-ios-chatboxes-outline:before,.ion-ios-chatboxes:before,.ion-ios-chatbubble-outline:before,.ion-ios-chatbubble:before,.ion-ios-checkmark-empty:before,.ion-ios-checkmark-outline:before,.ion-ios-checkmark:before,.ion-ios-circle-filled:before,.ion-ios-circle-outline:before,.ion-ios-clock-outline:before,.ion-ios-clock:before,.ion-ios-close-empty:before,.ion-ios-close-outline:before,.ion-ios-close:before,.ion-ios-cloud-download-outline:before,.ion-ios-cloud-download:before,.ion-ios-cloud-outline:before,.ion-ios-cloud-upload-outline:before,.ion-ios-cloud-upload:before,.ion-ios-cloud:before,.ion-ios-cloudy-night-outline:before,.ion-ios-cloudy-night:before,.ion-ios-cloudy-outline:before,.ion-ios-cloudy:before,.ion-ios-cog-outline:before,.ion-ios-cog:before,.ion-ios-color-filter-outline:before,.ion-ios-color-filter:before,.ion-ios-color-wand-outline:before,.ion-ios-color-wand:before,.ion-ios-compose-outline:before,.ion-ios-compose:before,.ion-ios-contact-outline:before,.ion-ios-contact:before,.ion-ios-copy-outline:before,.ion-ios-copy:before,.ion-ios-crop-strong:before,.ion-ios-crop:before,.ion-ios-download-outline:before,.ion-ios-download:before,.ion-ios-drag:before,.ion-ios-email-outline:before,.ion-ios-email:before,.ion-ios-eye-outline:before,.ion-ios-eye:before,.ion-ios-fastforward-outline:before,.ion-ios-fastforward:before,.ion-ios-filing-outline:before,.ion-ios-filing:before,.ion-ios-film-outline:before,.ion-ios-film:before,.ion-ios-flag-outline:before,.ion-ios-flag:before,.ion-ios-flame-outline:before,.ion-ios-flame:before,.ion-ios-flask-outline:before,.ion-ios-flask:before,.ion-ios-flower-outline:before,.ion-ios-flower:before,.ion-ios-folder-outline:before,.ion-ios-folder:before,.ion-ios-football-outline:before,.ion-ios-football:before,.ion-ios-game-controller-a-outline:before,.ion-ios-game-controller-a:before,.ion-ios-game-controller-b-outline:before,.ion-ios-game-controller-b:before,.ion-ios-gear-outline:before,.ion-ios-gear:before,.ion-ios-glasses-outline:before,.ion-ios-glasses:before,.ion-ios-grid-view-outline:before,.ion-ios-grid-view:before,.ion-ios-heart-outline:before,.ion-ios-heart:before,.ion-ios-help-empty:before,.ion-ios-help-outline:before,.ion-ios-help:before,.ion-ios-home-outline:before,.ion-ios-home:before,.ion-ios-infinite-outline:before,.ion-ios-infinite:before,.ion-ios-information-empty:before,.ion-ios-information-outline:before,.ion-ios-information:before,.ion-ios-ionic-outline:before,.ion-ios-keypad-outline:before,.ion-ios-keypad:before,.ion-ios-lightbulb-outline:before,.ion-ios-lightbulb:before,.ion-ios-list-outline:before,.ion-ios-list:before,.ion-ios-location-outline:before,.ion-ios-location:before,.ion-ios-locked-outline:before,.ion-ios-locked:before,.ion-ios-loop-strong:before,.ion-ios-loop:before,.ion-ios-medical-outline:before,.ion-ios-medical:before,.ion-ios-medkit-outline:before,.ion-ios-medkit:before,.ion-ios-mic-off:before,.ion-ios-mic-outline:before,.ion-ios-mic:before,.ion-ios-minus-empty:before,.ion-ios-minus-outline:before,.ion-ios-minus:before,.ion-ios-monitor-outline:before,.ion-ios-monitor:before,.ion-ios-moon-outline:before,.ion-ios-moon:before,.ion-ios-more-outline:before,.ion-ios-more:before,.ion-ios-musical-note:before,.ion-ios-musical-notes:before,.ion-ios-navigate-outline:before,.ion-ios-navigate:before,.ion-ios-nutrition-outline:before,.ion-ios-nutrition:before,.ion-ios-paper-outline:before,.ion-ios-paper:before,.ion-ios-paperplane-outline:before,.ion-ios-paperplane:before,.ion-ios-partlysunny-outline:before,.ion-ios-partlysunny:before,.ion-ios-pause-outline:before,.ion-ios-pause:before,.ion-ios-paw-outline:before,.ion-ios-paw:before,.ion-ios-people-outline:before,.ion-ios-people:before,.ion-ios-person-outline:before,.ion-ios-person:before,.ion-ios-personadd-outline:before,.ion-ios-personadd:before,.ion-ios-photos-outline:before,.ion-ios-photos:before,.ion-ios-pie-outline:before,.ion-ios-pie:before,.ion-ios-pint-outline:before,.ion-ios-pint:before,.ion-ios-play-outline:before,.ion-ios-play:before,.ion-ios-plus-empty:before,.ion-ios-plus-outline:before,.ion-ios-plus:before,.ion-ios-pricetag-outline:before,.ion-ios-pricetag:before,.ion-ios-pricetags-outline:before,.ion-ios-pricetags:before,.ion-ios-printer-outline:before,.ion-ios-printer:before,.ion-ios-pulse-strong:before,.ion-ios-pulse:before,.ion-ios-rainy-outline:before,.ion-ios-rainy:before,.ion-ios-recording-outline:before,.ion-ios-recording:before,.ion-ios-redo-outline:before,.ion-ios-redo:before,.ion-ios-refresh-empty:before,.ion-ios-refresh-outline:before,.ion-ios-refresh:before,.ion-ios-reload:before,.ion-ios-reverse-camera-outline:before,.ion-ios-reverse-camera:before,.ion-ios-rewind-outline:before,.ion-ios-rewind:before,.ion-ios-rose-outline:before,.ion-ios-rose:before,.ion-ios-search-strong:before,.ion-ios-search:before,.ion-ios-settings-strong:before,.ion-ios-settings:before,.ion-ios-shuffle-strong:before,.ion-ios-shuffle:before,.ion-ios-skipbackward-outline:before,.ion-ios-skipbackward:before,.ion-ios-skipforward-outline:before,.ion-ios-skipforward:before,.ion-ios-snowy:before,.ion-ios-speedometer-outline:before,.ion-ios-speedometer:before,.ion-ios-star-half:before,.ion-ios-star-outline:before,.ion-ios-star:before,.ion-ios-stopwatch-outline:before,.ion-ios-stopwatch:before,.ion-ios-sunny-outline:before,.ion-ios-sunny:before,.ion-ios-telephone-outline:before,.ion-ios-telephone:before,.ion-ios-tennisball-outline:before,.ion-ios-tennisball:before,.ion-ios-thunderstorm-outline:before,.ion-ios-thunderstorm:before,.ion-ios-time-outline:before,.ion-ios-time:before,.ion-ios-timer-outline:before,.ion-ios-timer:before,.ion-ios-toggle-outline:before,.ion-ios-toggle:before,.ion-ios-trash-outline:before,.ion-ios-trash:before,.ion-ios-undo-outline:before,.ion-ios-undo:before,.ion-ios-unlocked-outline:before,.ion-ios-unlocked:before,.ion-ios-upload-outline:before,.ion-ios-upload:before,.ion-ios-videocam-outline:before,.ion-ios-videocam:before,.ion-ios-volume-high:before,.ion-ios-volume-low:before,.ion-ios-wineglass-outline:before,.ion-ios-wineglass:before,.ion-ios-world-outline:before,.ion-ios-world:before,.ion-ipad:before,.ion-iphone:before,.ion-ipod:before,.ion-jet:before,.ion-key:before,.ion-knife:before,.ion-laptop:before,.ion-leaf:before,.ion-levels:before,.ion-lightbulb:before,.ion-link:before,.ion-load-a:before,.ion-load-b:before,.ion-load-c:before,.ion-load-d:before,.ion-location:before,.ion-lock-combination:before,.ion-locked:before,.ion-log-in:before,.ion-log-out:before,.ion-loop:before,.ion-magnet:before,.ion-male:before,.ion-man:before,.ion-map:before,.ion-medkit:before,.ion-merge:before,.ion-mic-a:before,.ion-mic-b:before,.ion-mic-c:before,.ion-minus-circled:before,.ion-minus-round:before,.ion-minus:before,.ion-model-s:before,.ion-monitor:before,.ion-more:before,.ion-mouse:before,.ion-music-note:before,.ion-navicon-round:before,.ion-navicon:before,.ion-navigate:before,.ion-network:before,.ion-no-smoking:before,.ion-nuclear:before,.ion-outlet:before,.ion-paintbrush:before,.ion-paintbucket:before,.ion-paper-airplane:before,.ion-paperclip:before,.ion-pause:before,.ion-person-add:before,.ion-person-stalker:before,.ion-person:before,.ion-pie-graph:before,.ion-pin:before,.ion-pinpoint:before,.ion-pizza:before,.ion-plane:before,.ion-planet:before,.ion-play:before,.ion-playstation:before,.ion-plus-circled:before,.ion-plus-round:before,.ion-plus:before,.ion-podium:before,.ion-pound:before,.ion-power:before,.ion-pricetag:before,.ion-pricetags:before,.ion-printer:before,.ion-pull-request:before,.ion-qr-scanner:before,.ion-quote:before,.ion-radio-waves:before,.ion-record:before,.ion-refresh:before,.ion-reply-all:before,.ion-reply:before,.ion-ribbon-a:before,.ion-ribbon-b:before,.ion-sad-outline:before,.ion-sad:before,.ion-scissors:before,.ion-search:before,.ion-settings:before,.ion-share:before,.ion-shuffle:before,.ion-skip-backward:before,.ion-skip-forward:before,.ion-social-android-outline:before,.ion-social-android:before,.ion-social-angular-outline:before,.ion-social-angular:before,.ion-social-apple-outline:before,.ion-social-apple:before,.ion-social-bitcoin-outline:before,.ion-social-bitcoin:before,.ion-social-buffer-outline:before,.ion-social-buffer:before,.ion-social-chrome-outline:before,.ion-social-chrome:before,.ion-social-codepen-outline:before,.ion-social-codepen:before,.ion-social-css3-outline:before,.ion-social-css3:before,.ion-social-designernews-outline:before,.ion-social-designernews:before,.ion-social-dribbble-outline:before,.ion-social-dribbble:before,.ion-social-dropbox-outline:before,.ion-social-dropbox:before,.ion-social-euro-outline:before,.ion-social-euro:before,.ion-social-facebook-outline:before,.ion-social-facebook:before,.ion-social-foursquare-outline:before,.ion-social-foursquare:before,.ion-social-freebsd-devil:before,.ion-social-github-outline:before,.ion-social-github:before,.ion-social-google-outline:before,.ion-social-google:before,.ion-social-googleplus-outline:before,.ion-social-googleplus:before,.ion-social-hackernews-outline:before,.ion-social-hackernews:before,.ion-social-html5-outline:before,.ion-social-html5:before,.ion-social-instagram-outline:before,.ion-social-instagram:before,.ion-social-javascript-outline:before,.ion-social-javascript:before,.ion-social-linkedin-outline:before,.ion-social-linkedin:before,.ion-social-markdown:before,.ion-social-nodejs:before,.ion-social-octocat:before,.ion-social-pinterest-outline:before,.ion-social-pinterest:before,.ion-social-python:before,.ion-social-reddit-outline:before,.ion-social-reddit:before,.ion-social-rss-outline:before,.ion-social-rss:before,.ion-social-sass:before,.ion-social-skype-outline:before,.ion-social-skype:before,.ion-social-snapchat-outline:before,.ion-social-snapchat:before,.ion-social-tumblr-outline:before,.ion-social-tumblr:before,.ion-social-tux:before,.ion-social-twitch-outline:before,.ion-social-twitch:before,.ion-social-twitter-outline:before,.ion-social-twitter:before,.ion-social-usd-outline:before,.ion-social-usd:before,.ion-social-vimeo-outline:before,.ion-social-vimeo:before,.ion-social-whatsapp-outline:before,.ion-social-whatsapp:before,.ion-social-windows-outline:before,.ion-social-windows:before,.ion-social-wordpress-outline:before,.ion-social-wordpress:before,.ion-social-yahoo-outline:before,.ion-social-yahoo:before,.ion-social-yen-outline:before,.ion-social-yen:before,.ion-social-youtube-outline:before,.ion-social-youtube:before,.ion-soup-can-outline:before,.ion-soup-can:before,.ion-speakerphone:before,.ion-speedometer:before,.ion-spoon:before,.ion-star:before,.ion-stats-bars:before,.ion-steam:before,.ion-stop:before,.ion-thermometer:before,.ion-thumbsdown:before,.ion-thumbsup:before,.ion-toggle-filled:before,.ion-toggle:before,.ion-transgender:before,.ion-trash-a:before,.ion-trash-b:before,.ion-trophy:before,.ion-tshirt-outline:before,.ion-tshirt:before,.ion-umbrella:before,.ion-university:before,.ion-unlocked:before,.ion-upload:before,.ion-usb:before,.ion-videocamera:before,.ion-volume-high:before,.ion-volume-low:before,.ion-volume-medium:before,.ion-volume-mute:before,.ion-wand:before,.ion-waterdrop:before,.ion-wifi:before,.ion-wineglass:before,.ion-woman:before,.ion-wrench:before,.ion-xbox:before,.ionicons{display:inline-block;font-family:Ionicons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-rendering:auto;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ion-alert:before{content:"\\f101"}.ion-alert-circled:before{content:"\\f100"}.ion-android-add:before{content:"\\f2c7"}.ion-android-add-circle:before{content:"\\f359"}.ion-android-alarm-clock:before{content:"\\f35a"}.ion-android-alert:before{content:"\\f35b"}.ion-android-apps:before{content:"\\f35c"}.ion-android-archive:before{content:"\\f2c9"}.ion-android-arrow-back:before{content:"\\f2ca"}.ion-android-arrow-down:before{content:"\\f35d"}.ion-android-arrow-dropdown:before{content:"\\f35f"}.ion-android-arrow-dropdown-circle:before{content:"\\f35e"}.ion-android-arrow-dropleft:before{content:"\\f361"}.ion-android-arrow-dropleft-circle:before{content:"\\f360"}.ion-android-arrow-dropright:before{content:"\\f363"}.ion-android-arrow-dropright-circle:before{content:"\\f362"}.ion-android-arrow-dropup:before{content:"\\f365"}.ion-android-arrow-dropup-circle:before{content:"\\f364"}.ion-android-arrow-forward:before{content:"\\f30f"}.ion-android-arrow-up:before{content:"\\f366"}.ion-android-attach:before{content:"\\f367"}.ion-android-bar:before{content:"\\f368"}.ion-android-bicycle:before{content:"\\f369"}.ion-android-boat:before{content:"\\f36a"}.ion-android-bookmark:before{content:"\\f36b"}.ion-android-bulb:before{content:"\\f36c"}.ion-android-bus:before{content:"\\f36d"}.ion-android-calendar:before{content:"\\f2d1"}.ion-android-call:before{content:"\\f2d2"}.ion-android-camera:before{content:"\\f2d3"}.ion-android-cancel:before{content:"\\f36e"}.ion-android-car:before{content:"\\f36f"}.ion-android-cart:before{content:"\\f370"}.ion-android-chat:before{content:"\\f2d4"}.ion-android-checkbox:before{content:"\\f374"}.ion-android-checkbox-blank:before{content:"\\f371"}.ion-android-checkbox-outline:before{content:"\\f373"}.ion-android-checkbox-outline-blank:before{content:"\\f372"}.ion-android-checkmark-circle:before{content:"\\f375"}.ion-android-clipboard:before{content:"\\f376"}.ion-android-close:before{content:"\\f2d7"}.ion-android-cloud:before{content:"\\f37a"}.ion-android-cloud-circle:before{content:"\\f377"}.ion-android-cloud-done:before{content:"\\f378"}.ion-android-cloud-outline:before{content:"\\f379"}.ion-android-color-palette:before{content:"\\f37b"}.ion-android-compass:before{content:"\\f37c"}.ion-android-contact:before{content:"\\f2d8"}.ion-android-contacts:before{content:"\\f2d9"}.ion-android-contract:before{content:"\\f37d"}.ion-android-create:before{content:"\\f37e"}.ion-android-delete:before{content:"\\f37f"}.ion-android-desktop:before{content:"\\f380"}.ion-android-document:before{content:"\\f381"}.ion-android-done:before{content:"\\f383"}.ion-android-done-all:before{content:"\\f382"}.ion-android-download:before{content:"\\f2dd"}.ion-android-drafts:before{content:"\\f384"}.ion-android-exit:before{content:"\\f385"}.ion-android-expand:before{content:"\\f386"}.ion-android-favorite:before{content:"\\f388"}.ion-android-favorite-outline:before{content:"\\f387"}.ion-android-film:before{content:"\\f389"}.ion-android-folder:before{content:"\\f2e0"}.ion-android-folder-open:before{content:"\\f38a"}.ion-android-funnel:before{content:"\\f38b"}.ion-android-globe:before{content:"\\f38c"}.ion-android-hand:before{content:"\\f2e3"}.ion-android-hangout:before{content:"\\f38d"}.ion-android-happy:before{content:"\\f38e"}.ion-android-home:before{content:"\\f38f"}.ion-android-image:before{content:"\\f2e4"}.ion-android-laptop:before{content:"\\f390"}.ion-android-list:before{content:"\\f391"}.ion-android-locate:before{content:"\\f2e9"}.ion-android-lock:before{content:"\\f392"}.ion-android-mail:before{content:"\\f2eb"}.ion-android-map:before{content:"\\f393"}.ion-android-menu:before{content:"\\f394"}.ion-android-microphone:before{content:"\\f2ec"}.ion-android-microphone-off:before{content:"\\f395"}.ion-android-more-horizontal:before{content:"\\f396"}.ion-android-more-vertical:before{content:"\\f397"}.ion-android-navigate:before{content:"\\f398"}.ion-android-notifications:before{content:"\\f39b"}.ion-android-notifications-none:before{content:"\\f399"}.ion-android-notifications-off:before{content:"\\f39a"}.ion-android-open:before{content:"\\f39c"}.ion-android-options:before{content:"\\f39d"}.ion-android-people:before{content:"\\f39e"}.ion-android-person:before{content:"\\f3a0"}.ion-android-person-add:before{content:"\\f39f"}.ion-android-phone-landscape:before{content:"\\f3a1"}.ion-android-phone-portrait:before{content:"\\f3a2"}.ion-android-pin:before{content:"\\f3a3"}.ion-android-plane:before{content:"\\f3a4"}.ion-android-playstore:before{content:"\\f2f0"}.ion-android-print:before{content:"\\f3a5"}.ion-android-radio-button-off:before{content:"\\f3a6"}.ion-android-radio-button-on:before{content:"\\f3a7"}.ion-android-refresh:before{content:"\\f3a8"}.ion-android-remove:before{content:"\\f2f4"}.ion-android-remove-circle:before{content:"\\f3a9"}.ion-android-restaurant:before{content:"\\f3aa"}.ion-android-sad:before{content:"\\f3ab"}.ion-android-search:before{content:"\\f2f5"}.ion-android-send:before{content:"\\f2f6"}.ion-android-settings:before{content:"\\f2f7"}.ion-android-share:before{content:"\\f2f8"}.ion-android-share-alt:before{content:"\\f3ac"}.ion-android-star:before{content:"\\f2fc"}.ion-android-star-half:before{content:"\\f3ad"}.ion-android-star-outline:before{content:"\\f3ae"}.ion-android-stopwatch:before{content:"\\f2fd"}.ion-android-subway:before{content:"\\f3af"}.ion-android-sunny:before{content:"\\f3b0"}.ion-android-sync:before{content:"\\f3b1"}.ion-android-textsms:before{content:"\\f3b2"}.ion-android-time:before{content:"\\f3b3"}.ion-android-train:before{content:"\\f3b4"}.ion-android-unlock:before{content:"\\f3b5"}.ion-android-upload:before{content:"\\f3b6"}.ion-android-volume-down:before{content:"\\f3b7"}.ion-android-volume-mute:before{content:"\\f3b8"}.ion-android-volume-off:before{content:"\\f3b9"}.ion-android-volume-up:before{content:"\\f3ba"}.ion-android-walk:before{content:"\\f3bb"}.ion-android-warning:before{content:"\\f3bc"}.ion-android-watch:before{content:"\\f3bd"}.ion-android-wifi:before{content:"\\f305"}.ion-aperture:before{content:"\\f313"}.ion-archive:before{content:"\\f102"}.ion-arrow-down-a:before{content:"\\f103"}.ion-arrow-down-b:before{content:"\\f104"}.ion-arrow-down-c:before{content:"\\f105"}.ion-arrow-expand:before{content:"\\f25e"}.ion-arrow-graph-down-left:before{content:"\\f25f"}.ion-arrow-graph-down-right:before{content:"\\f260"}.ion-arrow-graph-up-left:before{content:"\\f261"}.ion-arrow-graph-up-right:before{content:"\\f262"}.ion-arrow-left-a:before{content:"\\f106"}.ion-arrow-left-b:before{content:"\\f107"}.ion-arrow-left-c:before{content:"\\f108"}.ion-arrow-move:before{content:"\\f263"}.ion-arrow-resize:before{content:"\\f264"}.ion-arrow-return-left:before{content:"\\f265"}.ion-arrow-return-right:before{content:"\\f266"}.ion-arrow-right-a:before{content:"\\f109"}.ion-arrow-right-b:before{content:"\\f10a"}.ion-arrow-right-c:before{content:"\\f10b"}.ion-arrow-shrink:before{content:"\\f267"}.ion-arrow-swap:before{content:"\\f268"}.ion-arrow-up-a:before{content:"\\f10c"}.ion-arrow-up-b:before{content:"\\f10d"}.ion-arrow-up-c:before{content:"\\f10e"}.ion-asterisk:before{content:"\\f314"}.ion-at:before{content:"\\f10f"}.ion-backspace:before{content:"\\f3bf"}.ion-backspace-outline:before{content:"\\f3be"}.ion-bag:before{content:"\\f110"}.ion-battery-charging:before{content:"\\f111"}.ion-battery-empty:before{content:"\\f112"}.ion-battery-full:before{content:"\\f113"}.ion-battery-half:before{content:"\\f114"}.ion-battery-low:before{content:"\\f115"}.ion-beaker:before{content:"\\f269"}.ion-beer:before{content:"\\f26a"}.ion-bluetooth:before{content:"\\f116"}.ion-bonfire:before{content:"\\f315"}.ion-bookmark:before{content:"\\f26b"}.ion-bowtie:before{content:"\\f3c0"}.ion-briefcase:before{content:"\\f26c"}.ion-bug:before{content:"\\f2be"}.ion-calculator:before{content:"\\f26d"}.ion-calendar:before{content:"\\f117"}.ion-camera:before{content:"\\f118"}.ion-card:before{content:"\\f119"}.ion-cash:before{content:"\\f316"}.ion-chatbox:before{content:"\\f11b"}.ion-chatbox-working:before{content:"\\f11a"}.ion-chatboxes:before{content:"\\f11c"}.ion-chatbubble:before{content:"\\f11e"}.ion-chatbubble-working:before{content:"\\f11d"}.ion-chatbubbles:before{content:"\\f11f"}.ion-checkmark:before{content:"\\f122"}.ion-checkmark-circled:before{content:"\\f120"}.ion-checkmark-round:before{content:"\\f121"}.ion-chevron-down:before{content:"\\f123"}.ion-chevron-left:before{content:"\\f124"}.ion-chevron-right:before{content:"\\f125"}.ion-chevron-up:before{content:"\\f126"}.ion-clipboard:before{content:"\\f127"}.ion-clock:before{content:"\\f26e"}.ion-close:before{content:"\\f12a"}.ion-close-circled:before{content:"\\f128"}.ion-close-round:before{content:"\\f129"}.ion-closed-captioning:before{content:"\\f317"}.ion-cloud:before{content:"\\f12b"}.ion-code:before{content:"\\f271"}.ion-code-download:before{content:"\\f26f"}.ion-code-working:before{content:"\\f270"}.ion-coffee:before{content:"\\f272"}.ion-compass:before{content:"\\f273"}.ion-compose:before{content:"\\f12c"}.ion-connection-bars:before{content:"\\f274"}.ion-contrast:before{content:"\\f275"}.ion-crop:before{content:"\\f3c1"}.ion-cube:before{content:"\\f318"}.ion-disc:before{content:"\\f12d"}.ion-document:before{content:"\\f12f"}.ion-document-text:before{content:"\\f12e"}.ion-drag:before{content:"\\f130"}.ion-earth:before{content:"\\f276"}.ion-easel:before{content:"\\f3c2"}.ion-edit:before{content:"\\f2bf"}.ion-egg:before{content:"\\f277"}.ion-eject:before{content:"\\f131"}.ion-email:before{content:"\\f132"}.ion-email-unread:before{content:"\\f3c3"}.ion-erlenmeyer-flask:before{content:"\\f3c5"}.ion-erlenmeyer-flask-bubbles:before{content:"\\f3c4"}.ion-eye:before{content:"\\f133"}.ion-eye-disabled:before{content:"\\f306"}.ion-female:before{content:"\\f278"}.ion-filing:before{content:"\\f134"}.ion-film-marker:before{content:"\\f135"}.ion-fireball:before{content:"\\f319"}.ion-flag:before{content:"\\f279"}.ion-flame:before{content:"\\f31a"}.ion-flash:before{content:"\\f137"}.ion-flash-off:before{content:"\\f136"}.ion-folder:before{content:"\\f139"}.ion-fork:before{content:"\\f27a"}.ion-fork-repo:before{content:"\\f2c0"}.ion-forward:before{content:"\\f13a"}.ion-funnel:before{content:"\\f31b"}.ion-gear-a:before{content:"\\f13d"}.ion-gear-b:before{content:"\\f13e"}.ion-grid:before{content:"\\f13f"}.ion-hammer:before{content:"\\f27b"}.ion-happy:before{content:"\\f31c"}.ion-happy-outline:before{content:"\\f3c6"}.ion-headphone:before{content:"\\f140"}.ion-heart:before{content:"\\f141"}.ion-heart-broken:before{content:"\\f31d"}.ion-help:before{content:"\\f143"}.ion-help-buoy:before{content:"\\f27c"}.ion-help-circled:before{content:"\\f142"}.ion-home:before{content:"\\f144"}.ion-icecream:before{content:"\\f27d"}.ion-image:before{content:"\\f147"}.ion-images:before{content:"\\f148"}.ion-information:before{content:"\\f14a"}.ion-information-circled:before{content:"\\f149"}.ion-ionic:before{content:"\\f14b"}.ion-ios-alarm:before{content:"\\f3c8"}.ion-ios-alarm-outline:before{content:"\\f3c7"}.ion-ios-albums:before{content:"\\f3ca"}.ion-ios-albums-outline:before{content:"\\f3c9"}.ion-ios-americanfootball:before{content:"\\f3cc"}.ion-ios-americanfootball-outline:before{content:"\\f3cb"}.ion-ios-analytics:before{content:"\\f3ce"}.ion-ios-analytics-outline:before{content:"\\f3cd"}.ion-ios-arrow-back:before{content:"\\f3cf"}.ion-ios-arrow-down:before{content:"\\f3d0"}.ion-ios-arrow-forward:before{content:"\\f3d1"}.ion-ios-arrow-left:before{content:"\\f3d2"}.ion-ios-arrow-right:before{content:"\\f3d3"}.ion-ios-arrow-thin-down:before{content:"\\f3d4"}.ion-ios-arrow-thin-left:before{content:"\\f3d5"}.ion-ios-arrow-thin-right:before{content:"\\f3d6"}.ion-ios-arrow-thin-up:before{content:"\\f3d7"}.ion-ios-arrow-up:before{content:"\\f3d8"}.ion-ios-at:before{content:"\\f3da"}.ion-ios-at-outline:before{content:"\\f3d9"}.ion-ios-barcode:before{content:"\\f3dc"}.ion-ios-barcode-outline:before{content:"\\f3db"}.ion-ios-baseball:before{content:"\\f3de"}.ion-ios-baseball-outline:before{content:"\\f3dd"}.ion-ios-basketball:before{content:"\\f3e0"}.ion-ios-basketball-outline:before{content:"\\f3df"}.ion-ios-bell:before{content:"\\f3e2"}.ion-ios-bell-outline:before{content:"\\f3e1"}.ion-ios-body:before{content:"\\f3e4"}.ion-ios-body-outline:before{content:"\\f3e3"}.ion-ios-bolt:before{content:"\\f3e6"}.ion-ios-bolt-outline:before{content:"\\f3e5"}.ion-ios-book:before{content:"\\f3e8"}.ion-ios-book-outline:before{content:"\\f3e7"}.ion-ios-bookmarks:before{content:"\\f3ea"}.ion-ios-bookmarks-outline:before{content:"\\f3e9"}.ion-ios-box:before{content:"\\f3ec"}.ion-ios-box-outline:before{content:"\\f3eb"}.ion-ios-briefcase:before{content:"\\f3ee"}.ion-ios-briefcase-outline:before{content:"\\f3ed"}.ion-ios-browsers:before{content:"\\f3f0"}.ion-ios-browsers-outline:before{content:"\\f3ef"}.ion-ios-calculator:before{content:"\\f3f2"}.ion-ios-calculator-outline:before{content:"\\f3f1"}.ion-ios-calendar:before{content:"\\f3f4"}.ion-ios-calendar-outline:before{content:"\\f3f3"}.ion-ios-camera:before{content:"\\f3f6"}.ion-ios-camera-outline:before{content:"\\f3f5"}.ion-ios-cart:before{content:"\\f3f8"}.ion-ios-cart-outline:before{content:"\\f3f7"}.ion-ios-chatboxes:before{content:"\\f3fa"}.ion-ios-chatboxes-outline:before{content:"\\f3f9"}.ion-ios-chatbubble:before{content:"\\f3fc"}.ion-ios-chatbubble-outline:before{content:"\\f3fb"}.ion-ios-checkmark:before{content:"\\f3ff"}.ion-ios-checkmark-empty:before{content:"\\f3fd"}.ion-ios-checkmark-outline:before{content:"\\f3fe"}.ion-ios-circle-filled:before{content:"\\f400"}.ion-ios-circle-outline:before{content:"\\f401"}.ion-ios-clock:before{content:"\\f403"}.ion-ios-clock-outline:before{content:"\\f402"}.ion-ios-close:before{content:"\\f406"}.ion-ios-close-empty:before{content:"\\f404"}.ion-ios-close-outline:before{content:"\\f405"}.ion-ios-cloud:before{content:"\\f40c"}.ion-ios-cloud-download:before{content:"\\f408"}.ion-ios-cloud-download-outline:before{content:"\\f407"}.ion-ios-cloud-outline:before{content:"\\f409"}.ion-ios-cloud-upload:before{content:"\\f40b"}.ion-ios-cloud-upload-outline:before{content:"\\f40a"}.ion-ios-cloudy:before{content:"\\f410"}.ion-ios-cloudy-night:before{content:"\\f40e"}.ion-ios-cloudy-night-outline:before{content:"\\f40d"}.ion-ios-cloudy-outline:before{content:"\\f40f"}.ion-ios-cog:before{content:"\\f412"}.ion-ios-cog-outline:before{content:"\\f411"}.ion-ios-color-filter:before{content:"\\f414"}.ion-ios-color-filter-outline:before{content:"\\f413"}.ion-ios-color-wand:before{content:"\\f416"}.ion-ios-color-wand-outline:before{content:"\\f415"}.ion-ios-compose:before{content:"\\f418"}.ion-ios-compose-outline:before{content:"\\f417"}.ion-ios-contact:before{content:"\\f41a"}.ion-ios-contact-outline:before{content:"\\f419"}.ion-ios-copy:before{content:"\\f41c"}.ion-ios-copy-outline:before{content:"\\f41b"}.ion-ios-crop:before{content:"\\f41e"}.ion-ios-crop-strong:before{content:"\\f41d"}.ion-ios-download:before{content:"\\f420"}.ion-ios-download-outline:before{content:"\\f41f"}.ion-ios-drag:before{content:"\\f421"}.ion-ios-email:before{content:"\\f423"}.ion-ios-email-outline:before{content:"\\f422"}.ion-ios-eye:before{content:"\\f425"}.ion-ios-eye-outline:before{content:"\\f424"}.ion-ios-fastforward:before{content:"\\f427"}.ion-ios-fastforward-outline:before{content:"\\f426"}.ion-ios-filing:before{content:"\\f429"}.ion-ios-filing-outline:before{content:"\\f428"}.ion-ios-film:before{content:"\\f42b"}.ion-ios-film-outline:before{content:"\\f42a"}.ion-ios-flag:before{content:"\\f42d"}.ion-ios-flag-outline:before{content:"\\f42c"}.ion-ios-flame:before{content:"\\f42f"}.ion-ios-flame-outline:before{content:"\\f42e"}.ion-ios-flask:before{content:"\\f431"}.ion-ios-flask-outline:before{content:"\\f430"}.ion-ios-flower:before{content:"\\f433"}.ion-ios-flower-outline:before{content:"\\f432"}.ion-ios-folder:before{content:"\\f435"}.ion-ios-folder-outline:before{content:"\\f434"}.ion-ios-football:before{content:"\\f437"}.ion-ios-football-outline:before{content:"\\f436"}.ion-ios-game-controller-a:before{content:"\\f439"}.ion-ios-game-controller-a-outline:before{content:"\\f438"}.ion-ios-game-controller-b:before{content:"\\f43b"}.ion-ios-game-controller-b-outline:before{content:"\\f43a"}.ion-ios-gear:before{content:"\\f43d"}.ion-ios-gear-outline:before{content:"\\f43c"}.ion-ios-glasses:before{content:"\\f43f"}.ion-ios-glasses-outline:before{content:"\\f43e"}.ion-ios-grid-view:before{content:"\\f441"}.ion-ios-grid-view-outline:before{content:"\\f440"}.ion-ios-heart:before{content:"\\f443"}.ion-ios-heart-outline:before{content:"\\f442"}.ion-ios-help:before{content:"\\f446"}.ion-ios-help-empty:before{content:"\\f444"}.ion-ios-help-outline:before{content:"\\f445"}.ion-ios-home:before{content:"\\f448"}.ion-ios-home-outline:before{content:"\\f447"}.ion-ios-infinite:before{content:"\\f44a"}.ion-ios-infinite-outline:before{content:"\\f449"}.ion-ios-information:before{content:"\\f44d"}.ion-ios-information-empty:before{content:"\\f44b"}.ion-ios-information-outline:before{content:"\\f44c"}.ion-ios-ionic-outline:before{content:"\\f44e"}.ion-ios-keypad:before{content:"\\f450"}.ion-ios-keypad-outline:before{content:"\\f44f"}.ion-ios-lightbulb:before{content:"\\f452"}.ion-ios-lightbulb-outline:before{content:"\\f451"}.ion-ios-list:before{content:"\\f454"}.ion-ios-list-outline:before{content:"\\f453"}.ion-ios-location:before{content:"\\f456"}.ion-ios-location-outline:before{content:"\\f455"}.ion-ios-locked:before{content:"\\f458"}.ion-ios-locked-outline:before{content:"\\f457"}.ion-ios-loop:before{content:"\\f45a"}.ion-ios-loop-strong:before{content:"\\f459"}.ion-ios-medical:before{content:"\\f45c"}.ion-ios-medical-outline:before{content:"\\f45b"}.ion-ios-medkit:before{content:"\\f45e"}.ion-ios-medkit-outline:before{content:"\\f45d"}.ion-ios-mic:before{content:"\\f461"}.ion-ios-mic-off:before{content:"\\f45f"}.ion-ios-mic-outline:before{content:"\\f460"}.ion-ios-minus:before{content:"\\f464"}.ion-ios-minus-empty:before{content:"\\f462"}.ion-ios-minus-outline:before{content:"\\f463"}.ion-ios-monitor:before{content:"\\f466"}.ion-ios-monitor-outline:before{content:"\\f465"}.ion-ios-moon:before{content:"\\f468"}.ion-ios-moon-outline:before{content:"\\f467"}.ion-ios-more:before{content:"\\f46a"}.ion-ios-more-outline:before{content:"\\f469"}.ion-ios-musical-note:before{content:"\\f46b"}.ion-ios-musical-notes:before{content:"\\f46c"}.ion-ios-navigate:before{content:"\\f46e"}.ion-ios-navigate-outline:before{content:"\\f46d"}.ion-ios-nutrition:before{content:"\\f470"}.ion-ios-nutrition-outline:before{content:"\\f46f"}.ion-ios-paper:before{content:"\\f472"}.ion-ios-paper-outline:before{content:"\\f471"}.ion-ios-paperplane:before{content:"\\f474"}.ion-ios-paperplane-outline:before{content:"\\f473"}.ion-ios-partlysunny:before{content:"\\f476"}.ion-ios-partlysunny-outline:before{content:"\\f475"}.ion-ios-pause:before{content:"\\f478"}.ion-ios-pause-outline:before{content:"\\f477"}.ion-ios-paw:before{content:"\\f47a"}.ion-ios-paw-outline:before{content:"\\f479"}.ion-ios-people:before{content:"\\f47c"}.ion-ios-people-outline:before{content:"\\f47b"}.ion-ios-person:before{content:"\\f47e"}.ion-ios-person-outline:before{content:"\\f47d"}.ion-ios-personadd:before{content:"\\f480"}.ion-ios-personadd-outline:before{content:"\\f47f"}.ion-ios-photos:before{content:"\\f482"}.ion-ios-photos-outline:before{content:"\\f481"}.ion-ios-pie:before{content:"\\f484"}.ion-ios-pie-outline:before{content:"\\f483"}.ion-ios-pint:before{content:"\\f486"}.ion-ios-pint-outline:before{content:"\\f485"}.ion-ios-play:before{content:"\\f488"}.ion-ios-play-outline:before{content:"\\f487"}.ion-ios-plus:before{content:"\\f48b"}.ion-ios-plus-empty:before{content:"\\f489"}.ion-ios-plus-outline:before{content:"\\f48a"}.ion-ios-pricetag:before{content:"\\f48d"}.ion-ios-pricetag-outline:before{content:"\\f48c"}.ion-ios-pricetags:before{content:"\\f48f"}.ion-ios-pricetags-outline:before{content:"\\f48e"}.ion-ios-printer:before{content:"\\f491"}.ion-ios-printer-outline:before{content:"\\f490"}.ion-ios-pulse:before{content:"\\f493"}.ion-ios-pulse-strong:before{content:"\\f492"}.ion-ios-rainy:before{content:"\\f495"}.ion-ios-rainy-outline:before{content:"\\f494"}.ion-ios-recording:before{content:"\\f497"}.ion-ios-recording-outline:before{content:"\\f496"}.ion-ios-redo:before{content:"\\f499"}.ion-ios-redo-outline:before{content:"\\f498"}.ion-ios-refresh:before{content:"\\f49c"}.ion-ios-refresh-empty:before{content:"\\f49a"}.ion-ios-refresh-outline:before{content:"\\f49b"}.ion-ios-reload:before{content:"\\f49d"}.ion-ios-reverse-camera:before{content:"\\f49f"}.ion-ios-reverse-camera-outline:before{content:"\\f49e"}.ion-ios-rewind:before{content:"\\f4a1"}.ion-ios-rewind-outline:before{content:"\\f4a0"}.ion-ios-rose:before{content:"\\f4a3"}.ion-ios-rose-outline:before{content:"\\f4a2"}.ion-ios-search:before{content:"\\f4a5"}.ion-ios-search-strong:before{content:"\\f4a4"}.ion-ios-settings:before{content:"\\f4a7"}.ion-ios-settings-strong:before{content:"\\f4a6"}.ion-ios-shuffle:before{content:"\\f4a9"}.ion-ios-shuffle-strong:before{content:"\\f4a8"}.ion-ios-skipbackward:before{content:"\\f4ab"}.ion-ios-skipbackward-outline:before{content:"\\f4aa"}.ion-ios-skipforward:before{content:"\\f4ad"}.ion-ios-skipforward-outline:before{content:"\\f4ac"}.ion-ios-snowy:before{content:"\\f4ae"}.ion-ios-speedometer:before{content:"\\f4b0"}.ion-ios-speedometer-outline:before{content:"\\f4af"}.ion-ios-star:before{content:"\\f4b3"}.ion-ios-star-half:before{content:"\\f4b1"}.ion-ios-star-outline:before{content:"\\f4b2"}.ion-ios-stopwatch:before{content:"\\f4b5"}.ion-ios-stopwatch-outline:before{content:"\\f4b4"}.ion-ios-sunny:before{content:"\\f4b7"}.ion-ios-sunny-outline:before{content:"\\f4b6"}.ion-ios-telephone:before{content:"\\f4b9"}.ion-ios-telephone-outline:before{content:"\\f4b8"}.ion-ios-tennisball:before{content:"\\f4bb"}.ion-ios-tennisball-outline:before{content:"\\f4ba"}.ion-ios-thunderstorm:before{content:"\\f4bd"}.ion-ios-thunderstorm-outline:before{content:"\\f4bc"}.ion-ios-time:before{content:"\\f4bf"}.ion-ios-time-outline:before{content:"\\f4be"}.ion-ios-timer:before{content:"\\f4c1"}.ion-ios-timer-outline:before{content:"\\f4c0"}.ion-ios-toggle:before{content:"\\f4c3"}.ion-ios-toggle-outline:before{content:"\\f4c2"}.ion-ios-trash:before{content:"\\f4c5"}.ion-ios-trash-outline:before{content:"\\f4c4"}.ion-ios-undo:before{content:"\\f4c7"}.ion-ios-undo-outline:before{content:"\\f4c6"}.ion-ios-unlocked:before{content:"\\f4c9"}.ion-ios-unlocked-outline:before{content:"\\f4c8"}.ion-ios-upload:before{content:"\\f4cb"}.ion-ios-upload-outline:before{content:"\\f4ca"}.ion-ios-videocam:before{content:"\\f4cd"}.ion-ios-videocam-outline:before{content:"\\f4cc"}.ion-ios-volume-high:before{content:"\\f4ce"}.ion-ios-volume-low:before{content:"\\f4cf"}.ion-ios-wineglass:before{content:"\\f4d1"}.ion-ios-wineglass-outline:before{content:"\\f4d0"}.ion-ios-world:before{content:"\\f4d3"}.ion-ios-world-outline:before{content:"\\f4d2"}.ion-ipad:before{content:"\\f1f9"}.ion-iphone:before{content:"\\f1fa"}.ion-ipod:before{content:"\\f1fb"}.ion-jet:before{content:"\\f295"}.ion-key:before{content:"\\f296"}.ion-knife:before{content:"\\f297"}.ion-laptop:before{content:"\\f1fc"}.ion-leaf:before{content:"\\f1fd"}.ion-levels:before{content:"\\f298"}.ion-lightbulb:before{content:"\\f299"}.ion-link:before{content:"\\f1fe"}.ion-load-a:before{content:"\\f29a"}.ion-load-b:before{content:"\\f29b"}.ion-load-c:before{content:"\\f29c"}.ion-load-d:before{content:"\\f29d"}.ion-location:before{content:"\\f1ff"}.ion-lock-combination:before{content:"\\f4d4"}.ion-locked:before{content:"\\f200"}.ion-log-in:before{content:"\\f29e"}.ion-log-out:before{content:"\\f29f"}.ion-loop:before{content:"\\f201"}.ion-magnet:before{content:"\\f2a0"}.ion-male:before{content:"\\f2a1"}.ion-man:before{content:"\\f202"}.ion-map:before{content:"\\f203"}.ion-medkit:before{content:"\\f2a2"}.ion-merge:before{content:"\\f33f"}.ion-mic-a:before{content:"\\f204"}.ion-mic-b:before{content:"\\f205"}.ion-mic-c:before{content:"\\f206"}.ion-minus:before{content:"\\f209"}.ion-minus-circled:before{content:"\\f207"}.ion-minus-round:before{content:"\\f208"}.ion-model-s:before{content:"\\f2c1"}.ion-monitor:before{content:"\\f20a"}.ion-more:before{content:"\\f20b"}.ion-mouse:before{content:"\\f340"}.ion-music-note:before{content:"\\f20c"}.ion-navicon:before{content:"\\f20e"}.ion-navicon-round:before{content:"\\f20d"}.ion-navigate:before{content:"\\f2a3"}.ion-network:before{content:"\\f341"}.ion-no-smoking:before{content:"\\f2c2"}.ion-nuclear:before{content:"\\f2a4"}.ion-outlet:before{content:"\\f342"}.ion-paintbrush:before{content:"\\f4d5"}.ion-paintbucket:before{content:"\\f4d6"}.ion-paper-airplane:before{content:"\\f2c3"}.ion-paperclip:before{content:"\\f20f"}.ion-pause:before{content:"\\f210"}.ion-person:before{content:"\\f213"}.ion-person-add:before{content:"\\f211"}.ion-person-stalker:before{content:"\\f212"}.ion-pie-graph:before{content:"\\f2a5"}.ion-pin:before{content:"\\f2a6"}.ion-pinpoint:before{content:"\\f2a7"}.ion-pizza:before{content:"\\f2a8"}.ion-plane:before{content:"\\f214"}.ion-planet:before{content:"\\f343"}.ion-play:before{content:"\\f215"}.ion-playstation:before{content:"\\f30a"}.ion-plus:before{content:"\\f218"}.ion-plus-circled:before{content:"\\f216"}.ion-plus-round:before{content:"\\f217"}.ion-podium:before{content:"\\f344"}.ion-pound:before{content:"\\f219"}.ion-power:before{content:"\\f2a9"}.ion-pricetag:before{content:"\\f2aa"}.ion-pricetags:before{content:"\\f2ab"}.ion-printer:before{content:"\\f21a"}.ion-pull-request:before{content:"\\f345"}.ion-qr-scanner:before{content:"\\f346"}.ion-quote:before{content:"\\f347"}.ion-radio-waves:before{content:"\\f2ac"}.ion-record:before{content:"\\f21b"}.ion-refresh:before{content:"\\f21c"}.ion-reply:before{content:"\\f21e"}.ion-reply-all:before{content:"\\f21d"}.ion-ribbon-a:before{content:"\\f348"}.ion-ribbon-b:before{content:"\\f349"}.ion-sad:before{content:"\\f34a"}.ion-sad-outline:before{content:"\\f4d7"}.ion-scissors:before{content:"\\f34b"}.ion-search:before{content:"\\f21f"}.ion-settings:before{content:"\\f2ad"}.ion-share:before{content:"\\f220"}.ion-shuffle:before{content:"\\f221"}.ion-skip-backward:before{content:"\\f222"}.ion-skip-forward:before{content:"\\f223"}.ion-social-android:before{content:"\\f225"}.ion-social-android-outline:before{content:"\\f224"}.ion-social-angular:before{content:"\\f4d9"}.ion-social-angular-outline:before{content:"\\f4d8"}.ion-social-apple:before{content:"\\f227"}.ion-social-apple-outline:before{content:"\\f226"}.ion-social-bitcoin:before{content:"\\f2af"}.ion-social-bitcoin-outline:before{content:"\\f2ae"}.ion-social-buffer:before{content:"\\f229"}.ion-social-buffer-outline:before{content:"\\f228"}.ion-social-chrome:before{content:"\\f4db"}.ion-social-chrome-outline:before{content:"\\f4da"}.ion-social-codepen:before{content:"\\f4dd"}.ion-social-codepen-outline:before{content:"\\f4dc"}.ion-social-css3:before{content:"\\f4df"}.ion-social-css3-outline:before{content:"\\f4de"}.ion-social-designernews:before{content:"\\f22b"}.ion-social-designernews-outline:before{content:"\\f22a"}.ion-social-dribbble:before{content:"\\f22d"}.ion-social-dribbble-outline:before{content:"\\f22c"}.ion-social-dropbox:before{content:"\\f22f"}.ion-social-dropbox-outline:before{content:"\\f22e"}.ion-social-euro:before{content:"\\f4e1"}.ion-social-euro-outline:before{content:"\\f4e0"}.ion-social-facebook:before{content:"\\f231"}.ion-social-facebook-outline:before{content:"\\f230"}.ion-social-foursquare:before{content:"\\f34d"}.ion-social-foursquare-outline:before{content:"\\f34c"}.ion-social-freebsd-devil:before{content:"\\f2c4"}.ion-social-github:before{content:"\\f233"}.ion-social-github-outline:before{content:"\\f232"}.ion-social-google:before{content:"\\f34f"}.ion-social-google-outline:before{content:"\\f34e"}.ion-social-googleplus:before{content:"\\f235"}.ion-social-googleplus-outline:before{content:"\\f234"}.ion-social-hackernews:before{content:"\\f237"}.ion-social-hackernews-outline:before{content:"\\f236"}.ion-social-html5:before{content:"\\f4e3"}.ion-social-html5-outline:before{content:"\\f4e2"}.ion-social-instagram:before{content:"\\f351"}.ion-social-instagram-outline:before{content:"\\f350"}.ion-social-javascript:before{content:"\\f4e5"}.ion-social-javascript-outline:before{content:"\\f4e4"}.ion-social-linkedin:before{content:"\\f239"}.ion-social-linkedin-outline:before{content:"\\f238"}.ion-social-markdown:before{content:"\\f4e6"}.ion-social-nodejs:before{content:"\\f4e7"}.ion-social-octocat:before{content:"\\f4e8"}.ion-social-pinterest:before{content:"\\f2b1"}.ion-social-pinterest-outline:before{content:"\\f2b0"}.ion-social-python:before{content:"\\f4e9"}.ion-social-reddit:before{content:"\\f23b"}.ion-social-reddit-outline:before{content:"\\f23a"}.ion-social-rss:before{content:"\\f23d"}.ion-social-rss-outline:before{content:"\\f23c"}.ion-social-sass:before{content:"\\f4ea"}.ion-social-skype:before{content:"\\f23f"}.ion-social-skype-outline:before{content:"\\f23e"}.ion-social-snapchat:before{content:"\\f4ec"}.ion-social-snapchat-outline:before{content:"\\f4eb"}.ion-social-tumblr:before{content:"\\f241"}.ion-social-tumblr-outline:before{content:"\\f240"}.ion-social-tux:before{content:"\\f2c5"}.ion-social-twitch:before{content:"\\f4ee"}.ion-social-twitch-outline:before{content:"\\f4ed"}.ion-social-twitter:before{content:"\\f243"}.ion-social-twitter-outline:before{content:"\\f242"}.ion-social-usd:before{content:"\\f353"}.ion-social-usd-outline:before{content:"\\f352"}.ion-social-vimeo:before{content:"\\f245"}.ion-social-vimeo-outline:before{content:"\\f244"}.ion-social-whatsapp:before{content:"\\f4f0"}.ion-social-whatsapp-outline:before{content:"\\f4ef"}.ion-social-windows:before{content:"\\f247"}.ion-social-windows-outline:before{content:"\\f246"}.ion-social-wordpress:before{content:"\\f249"}.ion-social-wordpress-outline:before{content:"\\f248"}.ion-social-yahoo:before{content:"\\f24b"}.ion-social-yahoo-outline:before{content:"\\f24a"}.ion-social-yen:before{content:"\\f4f2"}.ion-social-yen-outline:before{content:"\\f4f1"}.ion-social-youtube:before{content:"\\f24d"}.ion-social-youtube-outline:before{content:"\\f24c"}.ion-soup-can:before{content:"\\f4f4"}.ion-soup-can-outline:before{content:"\\f4f3"}.ion-speakerphone:before{content:"\\f2b2"}.ion-speedometer:before{content:"\\f2b3"}.ion-spoon:before{content:"\\f2b4"}.ion-star:before{content:"\\f24e"}.ion-stats-bars:before{content:"\\f2b5"}.ion-steam:before{content:"\\f30b"}.ion-stop:before{content:"\\f24f"}.ion-thermometer:before{content:"\\f2b6"}.ion-thumbsdown:before{content:"\\f250"}.ion-thumbsup:before{content:"\\f251"}.ion-toggle:before{content:"\\f355"}.ion-toggle-filled:before{content:"\\f354"}.ion-transgender:before{content:"\\f4f5"}.ion-trash-a:before{content:"\\f252"}.ion-trash-b:before{content:"\\f253"}.ion-trophy:before{content:"\\f356"}.ion-tshirt:before{content:"\\f4f7"}.ion-tshirt-outline:before{content:"\\f4f6"}.ion-umbrella:before{content:"\\f2b7"}.ion-university:before{content:"\\f357"}.ion-unlocked:before{content:"\\f254"}.ion-upload:before{content:"\\f255"}.ion-usb:before{content:"\\f2b8"}.ion-videocamera:before{content:"\\f256"}.ion-volume-high:before{content:"\\f257"}.ion-volume-low:before{content:"\\f258"}.ion-volume-medium:before{content:"\\f259"}.ion-volume-mute:before{content:"\\f25a"}.ion-wand:before{content:"\\f358"}.ion-waterdrop:before{content:"\\f25b"}.ion-wifi:before{content:"\\f25c"}.ion-wineglass:before{content:"\\f2b9"}.ion-woman:before{content:"\\f25d"}.ion-wrench:before{content:"\\f2ba"}.ion-xbox:before{content:"\\f30c"}/*!\n * Bootstrap v3.3.6 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:\'Glyphicons Halflings\';src:url(vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.eot);src:url(vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.eot?#iefix) format(\'embedded-opentype\'),url(vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2) format(\'woff2\'),url(vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff) format(\'woff\'),url(vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf) format(\'truetype\'),url(vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format(\'svg\')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:\'Glyphicons Halflings\';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\\002a"}.glyphicon-plus:before{content:"\\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\\20ac"}.glyphicon-minus:before{content:"\\2212"}.glyphicon-cloud:before{content:"\\2601"}.glyphicon-envelope:before{content:"\\2709"}.glyphicon-pencil:before{content:"\\270f"}.glyphicon-glass:before{content:"\\e001"}.glyphicon-music:before{content:"\\e002"}.glyphicon-search:before{content:"\\e003"}.glyphicon-heart:before{content:"\\e005"}.glyphicon-star:before{content:"\\e006"}.glyphicon-star-empty:before{content:"\\e007"}.glyphicon-user:before{content:"\\e008"}.glyphicon-film:before{content:"\\e009"}.glyphicon-th-large:before{content:"\\e010"}.glyphicon-th:before{content:"\\e011"}.glyphicon-th-list:before{content:"\\e012"}.glyphicon-ok:before{content:"\\e013"}.glyphicon-remove:before{content:"\\e014"}.glyphicon-zoom-in:before{content:"\\e015"}.glyphicon-zoom-out:before{content:"\\e016"}.glyphicon-off:before{content:"\\e017"}.glyphicon-signal:before{content:"\\e018"}.glyphicon-cog:before{content:"\\e019"}.glyphicon-trash:before{content:"\\e020"}.glyphicon-home:before{content:"\\e021"}.glyphicon-file:before{content:"\\e022"}.glyphicon-time:before{content:"\\e023"}.glyphicon-road:before{content:"\\e024"}.glyphicon-download-alt:before{content:"\\e025"}.glyphicon-download:before{content:"\\e026"}.glyphicon-upload:before{content:"\\e027"}.glyphicon-inbox:before{content:"\\e028"}.glyphicon-play-circle:before{content:"\\e029"}.glyphicon-repeat:before{content:"\\e030"}.glyphicon-refresh:before{content:"\\e031"}.glyphicon-list-alt:before{content:"\\e032"}.glyphicon-lock:before{content:"\\e033"}.glyphicon-flag:before{content:"\\e034"}.glyphicon-headphones:before{content:"\\e035"}.glyphicon-volume-off:before{content:"\\e036"}.glyphicon-volume-down:before{content:"\\e037"}.glyphicon-volume-up:before{content:"\\e038"}.glyphicon-qrcode:before{content:"\\e039"}.glyphicon-barcode:before{content:"\\e040"}.glyphicon-tag:before{content:"\\e041"}.glyphicon-tags:before{content:"\\e042"}.glyphicon-book:before{content:"\\e043"}.glyphicon-bookmark:before{content:"\\e044"}.glyphicon-print:before{content:"\\e045"}.glyphicon-camera:before{content:"\\e046"}.glyphicon-font:before{content:"\\e047"}.glyphicon-bold:before{content:"\\e048"}.glyphicon-italic:before{content:"\\e049"}.glyphicon-text-height:before{content:"\\e050"}.glyphicon-text-width:before{content:"\\e051"}.glyphicon-align-left:before{content:"\\e052"}.glyphicon-align-center:before{content:"\\e053"}.glyphicon-align-right:before{content:"\\e054"}.glyphicon-align-justify:before{content:"\\e055"}.glyphicon-list:before{content:"\\e056"}.glyphicon-indent-left:before{content:"\\e057"}.glyphicon-indent-right:before{content:"\\e058"}.glyphicon-facetime-video:before{content:"\\e059"}.glyphicon-picture:before{content:"\\e060"}.glyphicon-map-marker:before{content:"\\e062"}.glyphicon-adjust:before{content:"\\e063"}.glyphicon-tint:before{content:"\\e064"}.glyphicon-edit:before{content:"\\e065"}.glyphicon-share:before{content:"\\e066"}.glyphicon-check:before{content:"\\e067"}.glyphicon-move:before{content:"\\e068"}.glyphicon-step-backward:before{content:"\\e069"}.glyphicon-fast-backward:before{content:"\\e070"}.glyphicon-backward:before{content:"\\e071"}.glyphicon-play:before{content:"\\e072"}.glyphicon-pause:before{content:"\\e073"}.glyphicon-stop:before{content:"\\e074"}.glyphicon-forward:before{content:"\\e075"}.glyphicon-fast-forward:before{content:"\\e076"}.glyphicon-step-forward:before{content:"\\e077"}.glyphicon-eject:before{content:"\\e078"}.glyphicon-chevron-left:before{content:"\\e079"}.glyphicon-chevron-right:before{content:"\\e080"}.glyphicon-plus-sign:before{content:"\\e081"}.glyphicon-minus-sign:before{content:"\\e082"}.glyphicon-remove-sign:before{content:"\\e083"}.glyphicon-ok-sign:before{content:"\\e084"}.glyphicon-question-sign:before{content:"\\e085"}.glyphicon-info-sign:before{content:"\\e086"}.glyphicon-screenshot:before{content:"\\e087"}.glyphicon-remove-circle:before{content:"\\e088"}.glyphicon-ok-circle:before{content:"\\e089"}.glyphicon-ban-circle:before{content:"\\e090"}.glyphicon-arrow-left:before{content:"\\e091"}.glyphicon-arrow-right:before{content:"\\e092"}.glyphicon-arrow-up:before{content:"\\e093"}.glyphicon-arrow-down:before{content:"\\e094"}.glyphicon-share-alt:before{content:"\\e095"}.glyphicon-resize-full:before{content:"\\e096"}.glyphicon-resize-small:before{content:"\\e097"}.glyphicon-exclamation-sign:before{content:"\\e101"}.glyphicon-gift:before{content:"\\e102"}.glyphicon-leaf:before{content:"\\e103"}.glyphicon-fire:before{content:"\\e104"}.glyphicon-eye-open:before{content:"\\e105"}.glyphicon-eye-close:before{content:"\\e106"}.glyphicon-warning-sign:before{content:"\\e107"}.glyphicon-plane:before{content:"\\e108"}.glyphicon-calendar:before{content:"\\e109"}.glyphicon-random:before{content:"\\e110"}.glyphicon-comment:before{content:"\\e111"}.glyphicon-magnet:before{content:"\\e112"}.glyphicon-chevron-up:before{content:"\\e113"}.glyphicon-chevron-down:before{content:"\\e114"}.glyphicon-retweet:before{content:"\\e115"}.glyphicon-shopping-cart:before{content:"\\e116"}.glyphicon-folder-close:before{content:"\\e117"}.glyphicon-folder-open:before{content:"\\e118"}.glyphicon-resize-vertical:before{content:"\\e119"}.glyphicon-resize-horizontal:before{content:"\\e120"}.glyphicon-hdd:before{content:"\\e121"}.glyphicon-bullhorn:before{content:"\\e122"}.glyphicon-bell:before{content:"\\e123"}.glyphicon-certificate:before{content:"\\e124"}.glyphicon-thumbs-up:before{content:"\\e125"}.glyphicon-thumbs-down:before{content:"\\e126"}.glyphicon-hand-right:before{content:"\\e127"}.glyphicon-hand-left:before{content:"\\e128"}.glyphicon-hand-up:before{content:"\\e129"}.glyphicon-hand-down:before{content:"\\e130"}.glyphicon-circle-arrow-right:before{content:"\\e131"}.glyphicon-circle-arrow-left:before{content:"\\e132"}.glyphicon-circle-arrow-up:before{content:"\\e133"}.glyphicon-circle-arrow-down:before{content:"\\e134"}.glyphicon-globe:before{content:"\\e135"}.glyphicon-wrench:before{content:"\\e136"}.glyphicon-tasks:before{content:"\\e137"}.glyphicon-filter:before{content:"\\e138"}.glyphicon-briefcase:before{content:"\\e139"}.glyphicon-fullscreen:before{content:"\\e140"}.glyphicon-dashboard:before{content:"\\e141"}.glyphicon-paperclip:before{content:"\\e142"}.glyphicon-heart-empty:before{content:"\\e143"}.glyphicon-link:before{content:"\\e144"}.glyphicon-phone:before{content:"\\e145"}.glyphicon-pushpin:before{content:"\\e146"}.glyphicon-usd:before{content:"\\e148"}.glyphicon-gbp:before{content:"\\e149"}.glyphicon-sort:before{content:"\\e150"}.glyphicon-sort-by-alphabet:before{content:"\\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\\e152"}.glyphicon-sort-by-order:before{content:"\\e153"}.glyphicon-sort-by-order-alt:before{content:"\\e154"}.glyphicon-sort-by-attributes:before{content:"\\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\\e156"}.glyphicon-unchecked:before{content:"\\e157"}.glyphicon-expand:before{content:"\\e158"}.glyphicon-collapse-down:before{content:"\\e159"}.glyphicon-collapse-up:before{content:"\\e160"}.glyphicon-log-in:before{content:"\\e161"}.glyphicon-flash:before{content:"\\e162"}.glyphicon-log-out:before{content:"\\e163"}.glyphicon-new-window:before{content:"\\e164"}.glyphicon-record:before{content:"\\e165"}.glyphicon-save:before{content:"\\e166"}.glyphicon-open:before{content:"\\e167"}.glyphicon-saved:before{content:"\\e168"}.glyphicon-import:before{content:"\\e169"}.glyphicon-export:before{content:"\\e170"}.glyphicon-send:before{content:"\\e171"}.glyphicon-floppy-disk:before{content:"\\e172"}.glyphicon-floppy-saved:before{content:"\\e173"}.glyphicon-floppy-remove:before{content:"\\e174"}.glyphicon-floppy-save:before{content:"\\e175"}.glyphicon-floppy-open:before{content:"\\e176"}.glyphicon-credit-card:before{content:"\\e177"}.glyphicon-transfer:before{content:"\\e178"}.glyphicon-cutlery:before{content:"\\e179"}.glyphicon-header:before{content:"\\e180"}.glyphicon-compressed:before{content:"\\e181"}.glyphicon-earphone:before{content:"\\e182"}.glyphicon-phone-alt:before{content:"\\e183"}.glyphicon-tower:before{content:"\\e184"}.glyphicon-stats:before{content:"\\e185"}.glyphicon-sd-video:before{content:"\\e186"}.glyphicon-hd-video:before{content:"\\e187"}.glyphicon-subtitles:before{content:"\\e188"}.glyphicon-sound-stereo:before{content:"\\e189"}.glyphicon-sound-dolby:before{content:"\\e190"}.glyphicon-sound-5-1:before{content:"\\e191"}.glyphicon-sound-6-1:before{content:"\\e192"}.glyphicon-sound-7-1:before{content:"\\e193"}.glyphicon-copyright-mark:before{content:"\\e194"}.glyphicon-registration-mark:before{content:"\\e195"}.glyphicon-cloud-download:before{content:"\\e197"}.glyphicon-cloud-upload:before{content:"\\e198"}.glyphicon-tree-conifer:before{content:"\\e199"}.glyphicon-tree-deciduous:before{content:"\\e200"}.glyphicon-cd:before{content:"\\e201"}.glyphicon-save-file:before{content:"\\e202"}.glyphicon-open-file:before{content:"\\e203"}.glyphicon-level-up:before{content:"\\e204"}.glyphicon-copy:before{content:"\\e205"}.glyphicon-paste:before{content:"\\e206"}.glyphicon-alert:before{content:"\\e209"}.glyphicon-equalizer:before{content:"\\e210"}.glyphicon-king:before{content:"\\e211"}.glyphicon-queen:before{content:"\\e212"}.glyphicon-pawn:before{content:"\\e213"}.glyphicon-bishop:before{content:"\\e214"}.glyphicon-knight:before{content:"\\e215"}.glyphicon-baby-formula:before{content:"\\e216"}.glyphicon-tent:before{content:"\\26fa"}.glyphicon-blackboard:before{content:"\\e218"}.glyphicon-bed:before{content:"\\e219"}.glyphicon-apple:before{content:"\\f8ff"}.glyphicon-erase:before{content:"\\e221"}.glyphicon-hourglass:before{content:"\\231b"}.glyphicon-lamp:before{content:"\\e223"}.glyphicon-duplicate:before{content:"\\e224"}.glyphicon-piggy-bank:before{content:"\\e225"}.glyphicon-scissors:before{content:"\\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\\20bd"}.glyphicon-scale:before{content:"\\e230"}.glyphicon-ice-lolly:before{content:"\\e231"}.glyphicon-ice-lolly-tasted:before{content:"\\e232"}.glyphicon-education:before{content:"\\e233"}.glyphicon-option-horizontal:before{content:"\\e234"}.glyphicon-option-vertical:before{content:"\\e235"}.glyphicon-menu-hamburger:before{content:"\\e236"}.glyphicon-modal-window:before{content:"\\e237"}.glyphicon-oil:before{content:"\\e238"}.glyphicon-grain:before{content:"\\e239"}.glyphicon-sunglasses:before{content:"\\e240"}.glyphicon-text-size:before{content:"\\e241"}.glyphicon-text-color:before{content:"\\e242"}.glyphicon-text-background:before{content:"\\e243"}.glyphicon-object-align-top:before{content:"\\e244"}.glyphicon-object-align-bottom:before{content:"\\e245"}.glyphicon-object-align-horizontal:before{content:"\\e246"}.glyphicon-object-align-left:before{content:"\\e247"}.glyphicon-object-align-vertical:before{content:"\\e248"}.glyphicon-object-align-right:before{content:"\\e249"}.glyphicon-triangle-right:before{content:"\\e250"}.glyphicon-triangle-left:before{content:"\\e251"}.glyphicon-triangle-bottom:before{content:"\\e252"}.glyphicon-triangle-top:before{content:"\\e253"}.glyphicon-console:before{content:"\\e254"}.glyphicon-superscript:before{content:"\\e255"}.glyphicon-subscript:before{content:"\\e256"}.glyphicon-menu-left:before{content:"\\e257"}.glyphicon-menu-right:before{content:"\\e258"}.glyphicon-menu-down:before{content:"\\e259"}.glyphicon-menu-up:before{content:"\\e260"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:\'\\2014 \\00A0\'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:\'\'}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:\'\\00A0 \\2014\'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin:8px -15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:transparent;filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\'#80000000\', endColorstr=\'#00000000\', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\'#00000000\', endColorstr=\'#80000000\', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:\'\\2039\'}.carousel-control .icon-next:before{content:\'\\203a\'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-print,.visible-print-block,.visible-print-inline,.visible-print-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}@media print{.visible-print-block{display:block!important}}@media print{.visible-print-inline{display:inline!important}}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}.Select{position:relative}.Select,.Select div,.Select input,.Select span{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.Select.is-disabled>.Select-control{background-color:#f6f6f6}.Select.is-disabled .Select-arrow-zone{cursor:default;pointer-events:none}.Select-control{background-color:#fff;border-radius:4px;border:1px solid #ccc;color:#333;cursor:default;display:table;height:36px;outline:0;overflow:hidden;position:relative;width:100%}.Select-control:hover{box-shadow:0 1px 0 rgba(0,0,0,.06)}.is-searchable.is-open>.Select-control{cursor:text}.is-open>.Select-control{border-bottom-right-radius:0;border-bottom-left-radius:0;background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.is-open>.Select-control>.Select-arrow{border-color:transparent transparent #999;border-width:0 5px 5px}.is-searchable.is-focused:not(.is-open)>.Select-control{cursor:text}.is-focused:not(.is-open)>.Select-control{border-color:#08c #0099e6 #0099e6;box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 0 5px -1px rgba(0,136,204,.5)}.Select-placeholder{bottom:0;color:#aaa;left:0;line-height:34px;padding-left:10px;padding-right:10px;position:absolute;right:0;top:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-value>.Select-control>.Select-placeholder{color:#333}.Select-value{color:#aaa;left:0;padding:8px 52px 8px 10px;position:absolute;right:-15px;top:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-value>.Select-control>.Select-value{color:#333}.Select-input{height:34px;padding-left:10px;padding-right:10px;vertical-align:middle}.Select-input>input{background:none;border:0;box-shadow:none;cursor:default;display:inline-block;font-family:inherit;font-size:inherit;height:34px;margin:0;outline:0;padding:0;-webkit-appearance:none}.is-focused .Select-input>input{cursor:text}.Select-control:not(.is-searchable)>.Select-input{outline:0}.Select-loading-zone{cursor:pointer;display:table-cell;position:relative;text-align:center;vertical-align:middle;width:16px}.Select-loading{-webkit-animation:Select-animation-spin 400ms infinite linear;-o-animation:Select-animation-spin 400ms infinite linear;animation:Select-animation-spin 400ms infinite linear;width:16px;height:16px;box-sizing:border-box;border-radius:50%;border:2px solid #ccc;border-right-color:#333;display:inline-block;position:relative;vertical-align:middle}.Select-clear-zone{-webkit-animation:Select-animation-fadeIn 200ms;-o-animation:Select-animation-fadeIn 200ms;animation:Select-animation-fadeIn 200ms;color:#999;cursor:pointer;display:table-cell;position:relative;text-align:center;vertical-align:middle;width:17px}.Select-clear-zone:hover{color:#D0021B}.Select-clear{display:inline-block;font-size:18px;line-height:1}.Select--multi .Select-clear-zone{width:17px}.Select-arrow-zone{cursor:pointer;display:table-cell;position:relative;text-align:center;vertical-align:middle;width:25px;padding-right:5px}.Select-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px;display:inline-block;height:0;width:0}.Select-arrow-zone:hover>.Select-arrow,.is-open .Select-arrow{border-top-color:#666}@-webkit-keyframes Select-animation-fadeIn{from{opacity:0}to{opacity:1}}@keyframes Select-animation-fadeIn{from{opacity:0}to{opacity:1}}.Select-menu-outer{border-bottom-right-radius:4px;border-bottom-left-radius:4px;background-color:#fff;border:1px solid #ccc;border-top-color:#e6e6e6;box-shadow:0 1px 0 rgba(0,0,0,.06);box-sizing:border-box;margin-top:-1px;max-height:200px;position:absolute;top:100%;width:100%;z-index:1000;-webkit-overflow-scrolling:touch}.Select-menu{max-height:198px;overflow-y:auto}.Select-option{box-sizing:border-box;color:#666;cursor:pointer;display:block;padding:8px 10px}.Select-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.Select-option.is-focused{background-color:#f2f9fc;color:#333}.Select-option.is-disabled{color:#ccc;cursor:not-allowed}.Select-noresults,.Select-search-prompt,.Select-searching{box-sizing:border-box;color:#999;cursor:default;display:block;padding:8px 10px}.Select--multi .Select-input{vertical-align:middle;margin-left:10px;padding:0}.Select--multi.has-value .Select-input{margin-left:5px}.Select-item{background-color:#f2f9fc;border-radius:2px;border:1px solid #c9e6f2;color:#08c;display:inline-block;font-size:.9em;margin-left:5px;margin-top:5px;vertical-align:top}.Select-item-icon,.Select-item-label{display:inline-block;vertical-align:middle}.Select-item-label{border-bottom-right-radius:2px;border-top-right-radius:2px;cursor:default;padding:2px 5px}.Select-item-label .Select-item-label__a{color:#08c;cursor:pointer}.Select-item-icon{cursor:pointer;border-bottom-left-radius:2px;border-top-left-radius:2px;border-right:1px solid #c9e6f2;padding:1px 5px 3px}.Select-item-icon:focus,.Select-item-icon:hover{background-color:#ddeff7;color:#0077b3}.Select-item-icon:active{background-color:#c9e6f2}.Select--multi.is-disabled .Select-item{background-color:#f2f2f2;border:1px solid #d9d9d9;color:#888}.Select--multi.is-disabled .Select-item-icon{cursor:not-allowed;border-right:1px solid #d9d9d9}.Select--multi.is-disabled .Select-item-icon:active,.Select--multi.is-disabled .Select-item-icon:focus,.Select--multi.is-disabled .Select-item-icon:hover{background-color:#f2f2f2}@keyframes Select-animation-spin{to{transform:rotate(1turn)}}@-webkit-keyframes Select-animation-spin{to{-webkit-transform:rotate(1turn)}}.public_Scrollbar_main.public_Scrollbar_mainActive,.public_Scrollbar_main:hover{background-color:rgba(255,255,255,.8)}.public_Scrollbar_mainOpaque,.public_Scrollbar_mainOpaque.public_Scrollbar_mainActive,.public_Scrollbar_mainOpaque:hover{background-color:#fff}.public_Scrollbar_face:after{background-color:#c2c2c2}.public_Scrollbar_faceActive:after,.public_Scrollbar_main:hover .public_Scrollbar_face:after,.public_Scrollbar_mainActive .public_Scrollbar_face:after{background-color:#7d7d7d}.public_fixedDataTable_hasBottomBorder,.public_fixedDataTable_header,.public_fixedDataTable_main{border-color:#d3d3d3}.public_fixedDataTable_header .public_fixedDataTableCell_main{font-weight:700}.public_fixedDataTable_header,.public_fixedDataTable_header .public_fixedDataTableCell_main{background-color:#f6f7f8;background-image:-webkit-linear-gradient(#fff,#efefef);background-image:linear-gradient(#fff,#efefef)}.public_fixedDataTable_footer .public_fixedDataTableCell_main{background-color:#f6f7f8;border-color:#d3d3d3}.public_fixedDataTable_topShadow{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAF0lEQVR4AWPUkNeSBhHCjJoK2twgFisAFagCCp3pJlAAAAAASUVORK5CYII=) repeat-x}.public_fixedDataTable_bottomShadow{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAHElEQVQI12MwNjZmZdAT1+Nm0JDWEGZQk1GTBgAWkwIeAEp52AAAAABJRU5ErkJggg==) repeat-x}.public_fixedDataTable_horizontalScrollbar .public_Scrollbar_mainHorizontal{background-color:#fff}.public_fixedDataTableCell_main{background-color:#fff;border-color:#d3d3d3}.public_fixedDataTableCell_highlighted{background-color:#f4f4f4}.public_fixedDataTableCell_cellContent{padding:8px}.public_fixedDataTableCell_columnResizerKnob{background-color:#0284ff}.public_fixedDataTableColumnResizerLine_main{border-color:#0284ff}.public_fixedDataTableRow_main{background-color:#fff}.public_fixedDataTableRow_highlighted,.public_fixedDataTableRow_highlighted .public_fixedDataTableCell_main{background-color:#f6f7f8}.public_fixedDataTableRow_fixedColumnsDivider{border-color:#d3d3d3}.public_fixedDataTableRow_columnsShadow{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==) repeat-y}.ScrollbarLayout_main{box-sizing:border-box;outline:0;overflow:hidden;position:absolute;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:ease;transition-timing-function:ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ScrollbarLayout_mainVertical{bottom:0;right:0;top:0;-webkit-transition-property:background-color width;transition-property:background-color width;width:15px}.ScrollbarLayout_mainVertical.public_Scrollbar_mainActive,.ScrollbarLayout_mainVertical:hover{width:17px}.ScrollbarLayout_mainHorizontal{bottom:0;height:15px;left:0;-webkit-transition-property:background-color height;transition-property:background-color height}.ScrollbarLayout_mainHorizontal.public_Scrollbar_mainActive,.ScrollbarLayout_mainHorizontal:hover{height:17px}.ScrollbarLayout_face{left:0;overflow:hidden;position:absolute;z-index:1}.ScrollbarLayout_face:after{border-radius:6px;content:\'\';display:block;position:absolute;-webkit-transition:background-color 250ms ease;transition:background-color 250ms ease}.ScrollbarLayout_faceHorizontal{bottom:0;left:0;top:0}.ScrollbarLayout_faceHorizontal:after{bottom:4px;left:0;top:4px;width:100%}.ScrollbarLayout_faceVertical{left:0;right:0;top:0}.ScrollbarLayout_faceVertical:after{height:100%;left:4px;right:4px;top:0}.fixedDataTableCellGroupLayout_cellGroup{-webkit-backface-visibility:hidden;backface-visibility:hidden;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap}.fixedDataTableCellGroupLayout_cellGroup>.public_fixedDataTableCell_main{display:inline-block;vertical-align:top;white-space:normal}.fixedDataTableCellGroupLayout_cellGroupWrapper{position:absolute;top:0}.fixedDataTableCellLayout_main{border-right-style:solid;border-width:0 1px 0 0;box-sizing:border-box;display:block;overflow:hidden;position:absolute;white-space:normal}.fixedDataTableCellLayout_lastChild{border-width:0 1px 1px 0}.fixedDataTableCellLayout_alignRight{text-align:right}.fixedDataTableCellLayout_alignCenter{text-align:center}.fixedDataTableCellLayout_wrap1{display:table}.fixedDataTableCellLayout_wrap2{display:table-row}.fixedDataTableCellLayout_wrap3{display:table-cell;vertical-align:middle}.fixedDataTableCellLayout_columnResizerContainer{position:absolute;right:0;width:6px;z-index:1}.fixedDataTableCellLayout_columnResizerContainer:hover{cursor:ew-resize}.fixedDataTableCellLayout_columnResizerContainer:hover .fixedDataTableCellLayout_columnResizerKnob{visibility:visible}.fixedDataTableCellLayout_columnResizerKnob{position:absolute;right:0;visibility:hidden;width:4px}.fixedDataTableColumnResizerLineLayout_mouseArea{cursor:ew-resize;position:absolute;right:-5px;width:12px}.fixedDataTableColumnResizerLineLayout_main{border-right-style:solid;border-right-width:1px;box-sizing:border-box;position:absolute;z-index:10}.fixedDataTableColumnResizerLineLayout_hiddenElem,body[dir=rtl] .fixedDataTableColumnResizerLineLayout_main{display:none!important}.fixedDataTableLayout_main{border-style:solid;border-width:1px;box-sizing:border-box;overflow:hidden;position:relative}.fixedDataTableLayout_hasBottomBorder,.fixedDataTableLayout_header{border-bottom-style:solid;border-bottom-width:1px}.fixedDataTableLayout_footer .public_fixedDataTableCell_main{border-top-style:solid;border-top-width:1px}.fixedDataTableLayout_bottomShadow,.fixedDataTableLayout_topShadow{height:4px;left:0;position:absolute;right:0;z-index:1}.fixedDataTableLayout_bottomShadow{margin-top:-4px}.fixedDataTableLayout_rowsContainer{overflow:hidden;position:relative}.fixedDataTableLayout_horizontalScrollbar{bottom:0;position:absolute}.fixedDataTableRowLayout_main{box-sizing:border-box;overflow:hidden;position:absolute;top:0}.fixedDataTableRowLayout_body{left:0;position:absolute;top:0}.fixedDataTableRowLayout_fixedColumnsDivider{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-left-style:solid;border-left-width:1px;left:0;position:absolute;top:0;width:0}.fixedDataTableRowLayout_columnsShadow{width:4px}.fixedDataTableRowLayout_rowWrapper{position:absolute;top:0}'; +!function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;oi;++i)pair=pairs[i],parts=pair.split("="),obj[decodeURIComponent(parts[0])]=decodeURIComponent(parts[1]);return obj}function parseHeader(str){var index,line,field,val,lines=str.split(/\r?\n/),fields={};lines.pop();for(var i=0,len=lines.length;len>i;++i)line=lines[i],index=line.indexOf(":"),field=line.slice(0,index).toLowerCase(),val=trim(line.slice(index+1)),fields[field]=val;return fields}function isJSON(mime){return/[\/+]json\b/.test(mime)}function type(str){return str.split(/ *; */).shift()}function params(str){return reduce(str.split(/ *; */),function(obj,str){var parts=str.split(/ *= */),key=parts.shift(),val=parts.shift();return key&&val&&(obj[key]=val),obj},{})}function Response(req,options){options=options||{},this.req=req,this.xhr=this.req.xhr,this.text="HEAD"!=this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||"undefined"==typeof this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText,this.setStatusProperties(this.xhr.status),this.header=this.headers=parseHeader(this.xhr.getAllResponseHeaders()),this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this.setHeaderProperties(this.header),this.body="HEAD"!=this.req.method?this.parseBody(this.text?this.text:this.xhr.response):null}function Request(method,url){var self=this;Emitter.call(this),this._query=this._query||[],this.method=method,this.url=url,this.header={},this._header={},this.on("end",function(){var err=null,res=null;try{res=new Response(self)}catch(e){return err=new Error("Parser is unable to parse the response"),err.parse=!0,err.original=e,err.rawResponse=self.xhr&&self.xhr.responseText?self.xhr.responseText:null,self.callback(err)}if(self.emit("response",res),err)return self.callback(err,res);if(res.status>=200&&res.status<300)return self.callback(err,res);var new_err=new Error(res.statusText||"Unsuccessful HTTP response");new_err.original=err,new_err.response=res,new_err.status=res.status,self.callback(new_err,res)})}function request(method,url){return"function"==typeof url?new Request("GET",method).end(url):1==arguments.length?new Request("GET",method):new Request(method,url)}function del(url,fn){var req=request("DELETE",url);return fn&&req.end(fn),req}var root,Emitter=require("emitter"),reduce=require("reduce");root="undefined"!=typeof window?window:"undefined"!=typeof self?self:this,request.getXHR=function(){if(!(!root.XMLHttpRequest||root.location&&"file:"==root.location.protocol&&root.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}return!1};var trim="".trim?function(s){return s.trim()}:function(s){return s.replace(/(^\s*|\s*$)/g,"")};request.serializeObject=serialize,request.parseString=parseString,request.types={html:"text/html",json:"application/json",xml:"application/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},request.serialize={"application/x-www-form-urlencoded":serialize,"application/json":JSON.stringify},request.parse={"application/x-www-form-urlencoded":parseString,"application/json":JSON.parse},Response.prototype.get=function(field){return this.header[field.toLowerCase()]},Response.prototype.setHeaderProperties=function(header){var ct=this.header["content-type"]||"";this.type=type(ct);var obj=params(ct);for(var key in obj)this[key]=obj[key]},Response.prototype.parseBody=function(str){var parse=request.parse[this.type];return parse&&str&&(str.length||str instanceof Object)?parse(str):null},Response.prototype.setStatusProperties=function(status){1223===status&&(status=204);var type=status/100|0;this.status=this.statusCode=status,this.statusType=type,this.info=1==type,this.ok=2==type,this.clientError=4==type,this.serverError=5==type,this.error=4==type||5==type?this.toError():!1,this.accepted=202==status,this.noContent=204==status,this.badRequest=400==status,this.unauthorized=401==status,this.notAcceptable=406==status,this.notFound=404==status,this.forbidden=403==status},Response.prototype.toError=function(){var req=this.req,method=req.method,url=req.url,msg="cannot "+method+" "+url+" ("+this.status+")",err=new Error(msg);return err.status=this.status,err.method=method,err.url=url,err},request.Response=Response,Emitter(Request.prototype),Request.prototype.use=function(fn){return fn(this),this},Request.prototype.timeout=function(ms){return this._timeout=ms,this},Request.prototype.clearTimeout=function(){return this._timeout=0,clearTimeout(this._timer),this},Request.prototype.abort=function(){return this.aborted?void 0:(this.aborted=!0,this.xhr.abort(),this.clearTimeout(),this.emit("abort"),this)},Request.prototype.set=function(field,val){if(isObject(field)){for(var key in field)this.set(key,field[key]);return this}return this._header[field.toLowerCase()]=val,this.header[field]=val,this},Request.prototype.unset=function(field){return delete this._header[field.toLowerCase()],delete this.header[field],this},Request.prototype.getHeader=function(field){return this._header[field.toLowerCase()]},Request.prototype.type=function(type){return this.set("Content-Type",request.types[type]||type),this},Request.prototype.parse=function(fn){return this._parser=fn,this},Request.prototype.accept=function(type){return this.set("Accept",request.types[type]||type),this},Request.prototype.auth=function(user,pass){var str=btoa(user+":"+pass);return this.set("Authorization","Basic "+str),this},Request.prototype.query=function(val){return"string"!=typeof val&&(val=serialize(val)),val&&this._query.push(val),this},Request.prototype.field=function(name,val){return this._formData||(this._formData=new root.FormData),this._formData.append(name,val),this},Request.prototype.attach=function(field,file,filename){return this._formData||(this._formData=new root.FormData),this._formData.append(field,file,filename),this},Request.prototype.send=function(data){var obj=isObject(data),type=this.getHeader("Content-Type");if(obj&&isObject(this._data))for(var key in data)this._data[key]=data[key];else"string"==typeof data?(type||this.type("form"),type=this.getHeader("Content-Type"),"application/x-www-form-urlencoded"==type?this._data=this._data?this._data+"&"+data:data:this._data=(this._data||"")+data):this._data=data;return!obj||isHost(data)?this:(type||this.type("json"),this)}, +Request.prototype.callback=function(err,res){var fn=this._callback;this.clearTimeout(),fn(err,res)},Request.prototype.crossDomainError=function(){var err=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");err.crossDomain=!0,err.status=this.status,err.method=this.method,err.url=this.url,this.callback(err)},Request.prototype.timeoutError=function(){var timeout=this._timeout,err=new Error("timeout of "+timeout+"ms exceeded");err.timeout=timeout,this.callback(err)},Request.prototype.withCredentials=function(){return this._withCredentials=!0,this},Request.prototype.end=function(fn){var self=this,xhr=this.xhr=request.getXHR(),query=this._query.join("&"),timeout=this._timeout,data=this._formData||this._data;this._callback=fn||noop,xhr.onreadystatechange=function(){if(4==xhr.readyState){var status;try{status=xhr.status}catch(e){status=0}if(0==status){if(self.timedout)return self.timeoutError();if(self.aborted)return;return self.crossDomainError()}self.emit("end")}};var handleProgress=function(e){e.total>0&&(e.percent=e.loaded/e.total*100),self.emit("progress",e)};this.hasListeners("progress")&&(xhr.onprogress=handleProgress);try{xhr.upload&&this.hasListeners("progress")&&(xhr.upload.onprogress=handleProgress)}catch(e){}if(timeout&&!this._timer&&(this._timer=setTimeout(function(){self.timedout=!0,self.abort()},timeout)),query&&(query=request.serializeObject(query),this.url+=~this.url.indexOf("?")?"&"+query:"?"+query),xhr.open(this.method,this.url,!0),this._withCredentials&&(xhr.withCredentials=!0),"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof data&&!isHost(data)){var contentType=this.getHeader("Content-Type"),serialize=this._parser||request.serialize[contentType?contentType.split(";")[0]:""];!serialize&&isJSON(contentType)&&(serialize=request.serialize["application/json"]),serialize&&(data=serialize(data))}for(var field in this.header)null!=this.header[field]&&xhr.setRequestHeader(field,this.header[field]);return this.emit("request",this),xhr.send("undefined"!=typeof data?data:null),this},Request.prototype.then=function(fulfill,reject){return this.end(function(err,res){err?reject(err):fulfill(res)})},request.Request=Request,request.get=function(url,data,fn){var req=request("GET",url);return"function"==typeof data&&(fn=data,data=null),data&&req.query(data),fn&&req.end(fn),req},request.head=function(url,data,fn){var req=request("HEAD",url);return"function"==typeof data&&(fn=data,data=null),data&&req.send(data),fn&&req.end(fn),req},request.del=del,request["delete"]=del,request.patch=function(url,data,fn){var req=request("PATCH",url);return"function"==typeof data&&(fn=data,data=null),data&&req.send(data),fn&&req.end(fn),req},request.post=function(url,data,fn){var req=request("POST",url);return"function"==typeof data&&(fn=data,data=null),data&&req.send(data),fn&&req.end(fn),req},request.put=function(url,data,fn){var req=request("PUT",url);return"function"==typeof data&&(fn=data,data=null),data&&req.send(data),fn&&req.end(fn),req},module.exports=request},{emitter:"/Users/cheton/github/cnc.js/node_modules/superagent/node_modules/component-emitter/index.js",reduce:"/Users/cheton/github/cnc.js/node_modules/superagent/node_modules/reduce-component/index.js"}],"/Users/cheton/github/cnc.js/node_modules/superagent/node_modules/component-emitter/index.js":[function(require,module,exports){function Emitter(obj){return obj?mixin(obj):void 0}function mixin(obj){for(var key in Emitter.prototype)obj[key]=Emitter.prototype[key];return obj}module.exports=Emitter,Emitter.prototype.on=Emitter.prototype.addEventListener=function(event,fn){return this._callbacks=this._callbacks||{},(this._callbacks[event]=this._callbacks[event]||[]).push(fn),this},Emitter.prototype.once=function(event,fn){function on(){self.off(event,on),fn.apply(this,arguments)}var self=this;return this._callbacks=this._callbacks||{},on.fn=fn,this.on(event,on),this},Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(event,fn){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var callbacks=this._callbacks[event];if(!callbacks)return this;if(1==arguments.length)return delete this._callbacks[event],this;for(var cb,i=0;ii;++i)callbacks[i].apply(this,args)}return this},Emitter.prototype.listeners=function(event){return this._callbacks=this._callbacks||{},this._callbacks[event]||[]},Emitter.prototype.hasListeners=function(event){return!!this.listeners(event).length}},{}],"/Users/cheton/github/cnc.js/node_modules/superagent/node_modules/reduce-component/index.js":[function(require,module,exports){module.exports=function(arr,fn,initial){for(var idx=0,len=arr.length,curr=3==arguments.length?initial:arr[idx++];len>idx;)curr=fn.call(null,curr,arr[idx],++idx,arr);return curr}},{}],"/Users/cheton/github/cnc.js/web/components/common/PressAndHold/index.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _extends=Object.assign||function(target){for(var i=1;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(WidgetHeaderToolbar)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(WidgetHeaderToolbar,_React$Component),_createClass(WidgetHeaderToolbar,[{key:"handleClick",value:function(btn){return"toggle"===btn?(this.props.handleClick(btn,!this.state.isCollapsed),void this.setState({isCollapsed:!this.state.isCollapsed})):void this.props.handleClick(btn)}},{key:"renderDragButton",value:function(){var _this2=this,style={cursor:"move"};return _react2["default"].createElement("a",{href:"javascript:void(0)",key:"drag",title:"",className:"btn btn-link btn-drag",style:style,onClick:function(){return _this2.handleClick("drag")}},_react2["default"].createElement("i",{className:"glyphicon glyphicon-menu-hamburger"}))}},{key:"renderRefreshButton",value:function(){var _this3=this;return _react2["default"].createElement("a",{href:"javascript:void(0)",key:"refresh",title:"",className:"btn btn-link btn-refresh",onClick:function(){return _this3.handleClick("refresh")}},_react2["default"].createElement("i",{className:"glyphicon glyphicon-refresh"}))}},{key:"renderRemoveButton",value:function(){var _this4=this;return _react2["default"].createElement("a",{href:"javascript:void(0)",key:"remove",title:_i18n2["default"]._("Remove"),className:"btn btn-link btn-remove",onClick:function(){return _this4.handleClick("remove")}},_react2["default"].createElement("i",{className:"glyphicon glyphicon-remove"}))}},{key:"renderToggleButton",value:function(){var _this5=this,iconClassNames=(0,_classnames2["default"])("glyphicon",{"glyphicon-chevron-up":!this.state.isCollapsed},{"glyphicon-chevron-down":this.state.isCollapsed});return _react2["default"].createElement("a",{href:"javascript:void(0)",key:"toggle",title:_i18n2["default"]._("Expand/Collapse"),className:"btn btn-link btn-toggle",onClick:function(){return _this5.handleClick("toggle")}},_react2["default"].createElement("i",{className:iconClassNames}))}},{key:"render",value:function(){var that=this,buttons=_lodash2["default"].map(this.props.buttons,function(button){return _lodash2["default"].isObject(button)?button:"refresh"===button?that.renderRefreshButton():"remove"===button?that.renderRemoveButton():"toggle"===button?that.renderToggleButton():void 0}).concat(this.renderDragButton());return _react2["default"].createElement("div",{className:"widget-header-toolbar btn-group"},buttons)}}]),WidgetHeaderToolbar}(_react2["default"].Component);exports["default"]=WidgetHeaderToolbar},{"../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js",classnames:"classnames",lodash:"lodash",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widget/index.css":[function(require,module,exports){var css="[data-component=Widget] .widget{background-color:#fff;border-color:#d0d0d0;border-radius:3px;border-width:1px;border-style:solid;margin-bottom:10px}[data-component=Widget] .widget.widget-borderless{border:none}[data-component=Widget] .widget.widget-no-header .widget-content .widget-title{margin-top:0;font-size:14px;color:#333}[data-component=Widget] .widget.widget-no-content .widget-header{border-bottom:none}[data-component=Widget] .widget .widget-header{padding:0 10px;border-bottom:1px solid #fff;line-height:32px}[data-component=Widget] .widget .widget-header.widget-header-default{background-color:#fff}[data-component=Widget] .widget .widget-header.widget-header-inverse{background-color:#222}[data-component=Widget] .widget .widget-header .widget-header-title{margin-top:0;font-size:14px;font-weight:700;color:#6a6a6a;display:inline-block;vertical-align:middle;margin-bottom:0}[data-component=Widget] .widget .widget-header .widget-header-title .glyphicon{font-size:14px;top:0;vertical-align:middle;margin-right:5px}[data-component=Widget] .widget .widget-header .btn-group .dropdown-toggle .icon,[data-component=Widget] .widget .widget-header .btn-group>a{color:#838383}[data-component=Widget] .widget .widget-header .btn-group .dropdown-toggle .icon:focus,[data-component=Widget] .widget .widget-header .btn-group .dropdown-toggle .icon:hover,[data-component=Widget] .widget .widget-header .btn-group>a:focus,[data-component=Widget] .widget .widget-header .btn-group>a:hover{color:#505050}[data-component=Widget] .widget .widget-header .btn .glyphicon{position:relative;font-size:12px;line-height:1}[data-component=Widget] .widget .widget-header .widget-header-toolbar{float:right;width:auto;margin:6px 0 0 10px}[data-component=Widget] .widget .widget-header .widget-header-toolbar .badge{margin-top:10px}[data-component=Widget] .widget .widget-header .widget-header-toolbar .label{position:relative;top:11px;padding:5px;font-size:85%}[data-component=Widget] .widget .widget-header .widget-header-toolbar .label .glyphicon{font-size:14px}[data-component=Widget] .widget .widget-header .widget-header-toolbar .btn-link{padding:0;margin-left:8px}[data-component=Widget] .widget .widget-header .widget-header-toolbar .btn-link:first-child{padding-left:0}[data-component=Widget] .widget .widget-header .widget-header-toolbar .btn-link .glyphicon{font-size:12px}@media screen and (max-width:480px){[data-component=Widget] .widget .widget-header .widget-header-toolbar{display:block;position:inherit}[data-component=Widget] .widget .widget-header .widget-header-toolbar .badge{margin-top:0}[data-component=Widget] .widget .widget-header .widget-header-toolbar .label{top:0}}[data-component=Widget] .widget .widget-footer.widget-footer-default{background-color:#fff}[data-component=Widget] .widget .widget-footer.widget-footer-inverse{background-color:#222}";require("browserify-css").createStyle(css,{href:"components/widget/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/widget/index.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.WidgetFooter=exports.WidgetContent=exports.WidgetHeader=exports.Widget=void 0;var _Widget=require("./Widget"),_Widget2=_interopRequireDefault(_Widget),_WidgetHeader=require("./WidgetHeader"),_WidgetHeader2=_interopRequireDefault(_WidgetHeader),_WidgetContent=require("./WidgetContent"),_WidgetContent2=_interopRequireDefault(_WidgetContent),_WidgetFooter=require("./WidgetFooter"),_WidgetFooter2=_interopRequireDefault(_WidgetFooter);require("./index.css"),exports.Widget=_Widget2["default"],exports.WidgetHeader=_WidgetHeader2["default"],exports.WidgetContent=_WidgetContent2["default"],exports.WidgetFooter=_WidgetFooter2["default"]},{"./Widget":"/Users/cheton/github/cnc.js/web/components/widget/Widget.jsx","./WidgetContent":"/Users/cheton/github/cnc.js/web/components/widget/WidgetContent.jsx","./WidgetFooter":"/Users/cheton/github/cnc.js/web/components/widget/WidgetFooter.jsx","./WidgetHeader":"/Users/cheton/github/cnc.js/web/components/widget/WidgetHeader.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widget/index.css"}],"/Users/cheton/github/cnc.js/web/components/widgets/axes/Axes.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Axes)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",unit:_constants.METRIC_UNIT,activeState:_constants.ACTIVE_STATE_IDLE,machinePos:{x:"0.000",y:"0.000",z:"0.000"},workingPos:{x:"0.000",y:"0.000",z:"0.000"}},_this.socketEventListener={"grbl:current-status":(_context=_this).socketOnGrblCurrentStatus.bind(_context),"grbl:gcode-modes":(_context=_this).socketOnGrblGCodeModes.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Axes,_React$Component),_createClass(Axes,[{key:"componentDidMount",value:function(){this.subscribe(),this.addSocketEventListener()}},{key:"componentWillUnmount",value:function(){this.unsubscribe(),this.removeSocketEventListener()}},{key:"shouldComponentUpdate",value:function(nextProps,nextState){return JSON.stringify(nextState)!==JSON.stringify(this.state)}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",_this2.setState({port:port}),port||_this2.resetCurrentStatus()});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnGrblCurrentStatus",value:function(data){this.setState({activeState:data.activeState,machinePos:data.machinePos,workingPos:data.workingPos})}},{key:"socketOnGrblGCodeModes",value:function(modes){var unit=this.state.unit;_lodash2["default"].includes(modes,"G20")&&(unit=_constants.IMPERIAL_UNIT),_lodash2["default"].includes(modes,"G21")&&(unit=_constants.METRIC_UNIT),this.state.unit!==unit&&this.setState({unit:unit})}},{key:"resetCurrentStatus",value:function(){this.setState({activeState:_constants.ACTIVE_STATE_IDLE,machinePos:{x:"0.000",y:"0.000",z:"0.000"},workingPos:{x:"0.000",y:"0.000",z:"0.000"}})}},{key:"toUnitString",value:function(val){return val=Number(val)||0,val=this.state.unit===_constants.METRIC_UNIT?(val/1).toFixed(3):(val/25.4).toFixed(4),""+val}},{key:"render",value:function(){var _this3=this,_state=this.state,port=_state.port,unit=_state.unit,activeState=_state.activeState,machinePos=_state.machinePos,workingPos=_state.workingPos;!!port&&activeState===_constants.ACTIVE_STATE_IDLE;return machinePos=_lodash2["default"].mapValues(machinePos,function(pos,axis){return _this3.toUnitString(pos)}),workingPos=_lodash2["default"].mapValues(workingPos,function(pos,axis){return _this3.toUnitString(pos)}),_react2["default"].createElement("div",null,_react2["default"].createElement(_ToolbarButton2["default"],{port:port,unit:unit,activeState:activeState}),_react2["default"].createElement(_DisplayPanel2["default"],{port:port,unit:unit,activeState:activeState,machinePos:machinePos,workingPos:workingPos}),_react2["default"].createElement(_ControlPanel2["default"],{port:port,unit:unit,activeState:activeState,machinePos:machinePos,workingPos:workingPos}))}}]),Axes}(_react2["default"].Component);exports["default"]=Axes},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","./ControlPanel":"/Users/cheton/github/cnc.js/web/components/widgets/axes/ControlPanel.jsx","./DisplayPanel":"/Users/cheton/github/cnc.js/web/components/widgets/axes/DisplayPanel.jsx","./ToolbarButton":"/Users/cheton/github/cnc.js/web/components/widgets/axes/ToolbarButton.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/axes/constants.js",lodash:"lodash","pubsub-js":"pubsub-js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/axes/ControlPanel.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(ControlPanel)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={distance:_constants.DISTANCE_DEFAULT},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(ControlPanel,_React$Component),_createClass(ControlPanel,[{key:"changeDistance",value:function(distance){this.setState({distance:Number(distance)||_constants.DISTANCE_DEFAULT})}},{key:"render",value:function(){var _props=this.props,port=_props.port,unit=_props.unit,activeState=_props.activeState,machinePos=_props.machinePos,workingPos=_props.workingPos,distance=this.state.distance;!!port&&activeState===_constants.ACTIVE_STATE_IDLE;return _react2["default"].createElement("div",{className:"container-fluid control-panel"},_react2["default"].createElement("div",{className:"row no-gutter"},_react2["default"].createElement("div",{className:"col-sm-6"},_react2["default"].createElement(_JogJoystickControl2["default"],{port:port,unit:unit,activeState:activeState,distance:distance})),_react2["default"].createElement("div",{className:"col-sm-6"},_react2["default"].createElement(_MotionControls2["default"],{port:port,unit:unit,activeState:activeState,machinePos:machinePos,workingPos:workingPos}))),_react2["default"].createElement("div",{className:"row no-gutter"},_react2["default"].createElement("div",{className:"col-sm-12"},_react2["default"].createElement(_JogDistanceControl2["default"],{unit:unit,onChange:this.changeDistance.bind(this)}))))}}]),ControlPanel}(_react2["default"].Component);ControlPanel.propTypes={port:_react2["default"].PropTypes.string,unit:_react2["default"].PropTypes.string,activeState:_react2["default"].PropTypes.string,machinePos:_react2["default"].PropTypes.object,workingPos:_react2["default"].PropTypes.object},exports["default"]=ControlPanel},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js","./JogDistanceControl":"/Users/cheton/github/cnc.js/web/components/widgets/axes/JogDistanceControl.jsx","./JogJoystickControl":"/Users/cheton/github/cnc.js/web/components/widgets/axes/JogJoystickControl.jsx","./MotionControls":"/Users/cheton/github/cnc.js/web/components/widgets/axes/MotionControls.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/axes/constants.js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/axes/DisplayPanel.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(JogDistanceControl)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={distance:_constants.DISTANCE_DEFAULT},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(JogDistanceControl,_React$Component),_createClass(JogDistanceControl,[{key:"normalizeToRange",value:function(n,min,max){return min>n?min:n>max?max:n}},{key:"handleChange",value:function(event){var distance=event.target.value;this.setState({distance:distance}),this.props.onChange(distance)}},{key:"increaseDistance",value:function(){var distance=Math.min(Number(this.state.distance)+_constants.DISTANCE_STEP,_constants.DISTANCE_MAX),digits=this.props.unit===_constants.METRIC_UNIT?3:4;this.setState({distance:1*distance.toFixed(digits)}),this.props.onChange(distance)}},{key:"decreaseDistance",value:function(){var distance=Math.max(Number(this.state.distance)-_constants.DISTANCE_STEP,_constants.DISTANCE_MIN),digits=this.props.unit===_constants.METRIC_UNIT?3:4;this.setState({distance:1*distance.toFixed(digits)}),this.props.onChange(distance)}},{key:"resetDistance",value:function(){var distance=_constants.DISTANCE_DEFAULT;this.setState({distance:distance}),this.props.onChange(distance)}},{key:"render",value:function(){var distance=this.normalizeToRange(this.state.distance,_constants.DISTANCE_MIN,_constants.DISTANCE_MAX);return _react2["default"].createElement("div",{className:"jog-distance-control"},_react2["default"].createElement("div",{className:"form-inline"},_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("div",{className:"input-group input-group-xs"},_react2["default"].createElement("div",{className:"input-group-addon"},_i18n2["default"]._("Step")),_react2["default"].createElement("div",{className:"input-group-btn"},_react2["default"].createElement("input",{type:"number",className:"form-control",style:{borderRadius:0},min:_constants.DISTANCE_MIN,max:_constants.DISTANCE_MAX,step:_constants.DISTANCE_STEP,value:distance,onChange:this.handleChange.bind(this),title:_i18n2["default"]._("Step for every move operation")}),_react2["default"].createElement(_PressAndHold2["default"],{className:"btn btn-default",onClick:this.increaseDistance.bind(this),title:_i18n2["default"]._("Increase step by 0.1 unit")},_react2["default"].createElement("span",{className:"glyphicon glyphicon-plus"})),_react2["default"].createElement(_PressAndHold2["default"],{className:"btn btn-default",onClick:this.decreaseDistance.bind(this),title:_i18n2["default"]._("Decrease step by 0.1 unit")},_react2["default"].createElement("span",{className:"glyphicon glyphicon-minus"})),_react2["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:this.resetDistance.bind(this),title:_i18n2["default"]._("Reset")},_react2["default"].createElement("span",{className:"glyphicon glyphicon-reset"})))))))}}]),JogDistanceControl}(_react2["default"].Component);JogDistanceControl.propTypes={unit:_react2["default"].PropTypes.string,onChange:_react2["default"].PropTypes.func},exports["default"]=JogDistanceControl},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../common/PressAndHold":"/Users/cheton/github/cnc.js/web/components/common/PressAndHold/index.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/axes/constants.js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/axes/JogJoystickControl.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(AxesWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(AxesWidget,_React$Component),_createClass(AxesWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("Axes"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/AxesWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_Axes2["default"],null))))}}]),AxesWidget}(_react2["default"].Component);exports["default"]=AxesWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./Axes":"/Users/cheton/github/cnc.js/web/components/widgets/axes/Axes.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/axes/index.css",classnames:"classnames",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/connection/Alert.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); +return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Connection)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={loading:!1,ports:[],baudrates:[9600,19200,38400,57600,115200],port:"",baudrate:115200,alertMessage:""},_this.socketEventListener={"serialport:list":(_context=_this).socketOnSerialPortList.bind(_context),"serialport:open":(_context=_this).socketOnSerialPortOpen.bind(_context),"serialport:close":(_context=_this).socketOnSerialPortClose.bind(_context),"serialport:error":(_context=_this).socketOnSerialPortError.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Connection,_React$Component),_createClass(Connection,[{key:"componentWillMount",value:function(){this.handleRefresh()}},{key:"componentDidMount",value:function(){this.addSocketEventListener()}},{key:"componentWillUnmount",value:function(){this.removeSocketEventListener()}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnSerialPortList",value:function(ports){_log2["default"].debug("serialport:list",ports),this.stopLoading(),this.clearAlert();var port=_store2["default"].getState("widgets.connection.port")||"";_lodash2["default"].includes(_lodash2["default"].pluck(ports,"port"),port)?this.setState({port:port,ports:ports}):this.setState({ports:ports})}},{key:"socketOnSerialPortOpen",value:function(options){var port=options.port,baudrate=options.baudrate,inuse=options.inuse,ports=_lodash2["default"].map(this.state.ports,function(o){return o.port!==port?o:_lodash2["default"].extend(o,{inuse:inuse})});this.clearAlert(),_pubsubJs2["default"].publish("port",port),_store2["default"].setState("widgets.connection.port",port),this.setState({connecting:!1,connected:!0,port:port,baudrate:baudrate,ports:ports}),_log2["default"].debug("Connected to '"+port+"' at "+baudrate+".")}},{key:"socketOnSerialPortClose",value:function(options){var port=options.port;options.inuse;this.clearAlert(),_pubsubJs2["default"].publish("port",""),this.setState({connecting:!1,connected:!1}),_log2["default"].debug("Disconnected from '"+port+"'.")}},{key:"socketOnSerialPortError",value:function(options){var port=options.port;this.showAlert("Error opening serial port: "+port),_pubsubJs2["default"].publish("port",""),this.setState({connecting:!1,connected:!1}),_log2["default"].error("Error opening serial port:",port)}},{key:"showAlert",value:function(msg){this.setState({alertMessage:msg})}},{key:"clearAlert",value:function(){this.setState({alertMessage:""})}},{key:"startLoading",value:function(){var _this2=this,delay=5e3;this.setState({loading:!0}),this._loadingTimer=setTimeout(function(){_this2.setState({loading:!1})},delay)}},{key:"stopLoading",value:function(){this._loadingTimer&&(clearTimeout(this._loadingTimer),this._loadingTimer=null),this.setState({loading:!1})}},{key:"isPortInUse",value:function(port){port=port||this.state.port;var o=_lodash2["default"].findWhere(this.state.ports,{port:port})||{};return!!o.inuse}},{key:"handleRefresh",value:function(){_socket2["default"].emit("list"),this.startLoading()}},{key:"openPort",value:function(){var port=this.state.port,baudrate=this.state.baudrate;this.setState({connecting:!0}),_socket2["default"].emit("open",{port:port,baudrate:baudrate})}},{key:"closePort",value:function(){var port=this.state.port;_pubsubJs2["default"].publish("port",""),this.setState({connecting:!1,connected:!1}),_socket2["default"].emit("close",{port:port}),_socket2["default"].emit("list")}},{key:"changePort",value:function(value){this.setState({alertMessage:"",port:value})}},{key:"changeBaudrate",value:function(value){this.setState({alertMessage:"",baudrate:value})}},{key:"renderPortOption",value:function(option){var optionStyle={whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},noteStyle={fontSize:"12px"};return _react2["default"].createElement("div",{style:optionStyle,title:option.label},_react2["default"].createElement("div",null,option.inuse&&_react2["default"].createElement("span",null,_react2["default"].createElement("i",{className:"glyphicon glyphicon-lock"})," "),option.label),option.manufacturer&&_react2["default"].createElement("note",{style:noteStyle},_i18n2["default"]._("Manufacturer:")," ",option.manufacturer))}},{key:"renderPortValue",value:function(option){var notLoading=!this.state.loading,canChangePort=notLoading,style={color:canChangePort?"#333":"#ccc",textOverflow:"ellipsis",overflow:"hidden"};return _react2["default"].createElement("div",{style:style,title:option.label},option.inuse&&_react2["default"].createElement("span",null,_react2["default"].createElement("i",{className:"glyphicon glyphicon-lock"})," "),option.label)}},{key:"renderBaudrateValue",value:function(option){var notLoading=!this.state.loading,notInUse=!this.isPortInUse(this.state.port),canChangeBaudrate=notLoading&¬InUse,style={color:canChangeBaudrate?"#333":"#ccc",textOverflow:"ellipsis",overflow:"hidden"};return _react2["default"].createElement("div",{style:style,title:option.label},option.label)}},{key:"render",value:function(){var notLoading=!this.state.loading,notConnecting=!this.state.connecting,notConnected=!this.state.connected,isConnected=this.state.connected,canRefresh=notLoading&¬Connected,canChangePort=notLoading&¬Connected,canChangeBaudrate=notLoading&¬Connected&&!this.isPortInUse(this.state.port),canOpenPort=this.state.port&&this.state.baudrate&¬Connecting&¬Connected,canClosePort=isConnected;return _react2["default"].createElement("div",null,_react2["default"].createElement(_Alert2["default"],{msg:this.state.alertMessage,dismiss:this.clearAlert.bind(this)}),_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Port:")),_react2["default"].createElement("div",{className:"input-group input-group-sm"},_react2["default"].createElement(_reactSelect2["default"],{className:"sm",name:"port",value:this.state.port,options:_lodash2["default"].map(this.state.ports,function(port){return{value:port.port,label:port.port,manufacturer:port.manufacturer,inuse:port.inuse}}),disabled:!canChangePort,backspaceRemoves:!1,clearable:!1,searchable:!1,placeholder:_i18n2["default"]._("Choose a port"),noResultsText:_i18n2["default"]._("No ports available"),optionRenderer:this.renderPortOption.bind(this),valueRenderer:this.renderPortValue.bind(this),onChange:this.changePort.bind(this)}),_react2["default"].createElement("div",{className:"input-group-btn"},_react2["default"].createElement("button",{type:"button",className:"btn btn-default",name:"btn-refresh",title:_i18n2["default"]._("Refresh"),onClick:this.handleRefresh.bind(this),disabled:!canRefresh},notLoading?_react2["default"].createElement("i",{className:"glyphicon glyphicon-refresh"}):_react2["default"].createElement("i",{className:"glyphicon glyphicon-refresh rotating"}))))),_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Baud rate:")),_react2["default"].createElement(_reactSelect2["default"],{className:"sm",name:"baudrate",value:this.state.baudrate,options:_lodash2["default"].map(this.state.baudrates,function(baudrate){return{value:baudrate,label:Number(baudrate).toString()}}),disabled:!canChangeBaudrate,backspaceRemoves:!1,clearable:!1,searchable:!1,placeholder:_i18n2["default"]._("Choose a baud rate"),valueRenderer:this.renderBaudrateValue.bind(this),onChange:this.changeBaudrate.bind(this)})),_react2["default"].createElement("div",{className:"btn-group btn-group-sm"},notConnected&&_react2["default"].createElement("button",{type:"button",className:"btn btn-primary",disabled:!canOpenPort,onClick:this.openPort.bind(this)},_react2["default"].createElement("i",{className:"glyphicon glyphicon-off"})," ",_i18n2["default"]._("Open")),isConnected&&_react2["default"].createElement("button",{type:"button",className:"btn btn-danger",disabled:!canClosePort,onClick:this.closePort.bind(this)},_react2["default"].createElement("i",{className:"glyphicon glyphicon-off"})," ",_i18n2["default"]._("Close"))))}}]),Connection}(_react2["default"].Component);exports["default"]=Connection},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","../../../store":"/Users/cheton/github/cnc.js/web/store/index.js","./Alert":"/Users/cheton/github/cnc.js/web/components/widgets/connection/Alert.jsx",lodash:"lodash","pubsub-js":"pubsub-js",react:"react","react-select":"react-select"}],"/Users/cheton/github/cnc.js/web/components/widgets/connection/index.css":[function(require,module,exports){var css='[data-component="Widgets/ConnectionWidget"] .widget-content{position:relative;padding:10px}[data-component="Widgets/ConnectionWidget"] .widget-content .Select.sm .Select-control{height:30px;border-radius:3px}[data-component="Widgets/ConnectionWidget"] .widget-content .Select.sm .Select-placeholder{line-height:28px}[data-component="Widgets/ConnectionWidget"] .widget-content .Select.sm .Select-value{padding:6px 52px 6px 10px}[data-component="Widgets/ConnectionWidget"] .widget-content .Select.sm .Select-input{height:28px}[data-component="Widgets/ConnectionWidget"] .widget-content .input-group>.Select:not(:last-child) .Select-control{border-top-right-radius:0;border-bottom-right-radius:0}[data-component="Widgets/ConnectionWidget"] .widget-content .input-group>.Select:not(:first-child) .Select-control{border-top-left-radius:0;border-bottom-left-radius:0}';require("browserify-css").createStyle(css,{href:"components/widgets/connection/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/widgets/connection/index.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _extends=Object.assign||function(target){for(var i=1;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(ConnectionWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(ConnectionWidget,_React$Component),_createClass(ConnectionWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("Connection"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/ConnectionWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_Connection2["default"],null))))}}]),ConnectionWidget}(_react2["default"].Component);exports["default"]=ConnectionWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./Connection":"/Users/cheton/github/cnc.js/web/components/widgets/connection/Connection.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/connection/index.css",classnames:"classnames",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/console/Console.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Console)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",buffers:[]},_this.buffers=[],_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Console,_React$Component),_createClass(Console,[{key:"componentDidMount",value:function(){this.subscribe(),this.addSerialPortEvents()}},{key:"componentWillUnmount",value:function(){this.unsubscribe(),this.removeSerialPortEvents()}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",_this2.setState({port:port}),port||_this2.clear()});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"addSerialPortEvents",value:function(){_serialport2["default"].on("write",this.onSerialPortWrite.bind(this)),_serialport2["default"].on("data",this.onSerialPortRead.bind(this))}},{key:"removeSocketEvents",value:function(){_serialport2["default"].off("write",this.onSerialPortWrite.bind(this)),_serialport2["default"].off("data",this.onSerialPortRead.bind(this))}},{key:"onSerialPortRead",value:function(data){this.append(data)}},{key:"onSerialPortWrite",value:function(data){var lines=data.split("\n"),values=(0,_lodash2["default"])(lines).compact().map(function(line){return"> "+line}).value();this.append(values)}},{key:"append",value:function(buffer){this.buffers=(0,_lodash2["default"])(this.buffers).concat(buffer).slice(0,_constants.SCROLL_BUFFER_SIZE).value(),this.setState({buffers:this.buffers})}},{key:"clear",value:function(){this.buffers=[],this.setState({buffers:this.buffers})}},{key:"render",value:function(){return _react2["default"].createElement("div",null,_react2["default"].createElement(_ConsoleInput2["default"],{port:this.state.port,onClear:this.clear.bind(this)}),_react2["default"].createElement(_ConsoleWindow2["default"],{buffers:this.state.buffers}))}}]),Console}(_react2["default"].Component);exports["default"]=Console},{"../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js","./ConsoleInput":"/Users/cheton/github/cnc.js/web/components/widgets/console/ConsoleInput.jsx","./ConsoleWindow":"/Users/cheton/github/cnc.js/web/components/widgets/console/ConsoleWindow.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/console/constants.js",classnames:"classnames",lodash:"lodash","pubsub-js":"pubsub-js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/console/ConsoleInput.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i=node.scrollHeight}},{key:"componentDidUpdate",value:function(){var node=_reactDom2["default"].findDOMNode(this.refs.infinite);this.shouldScrollBottom&&(node.scrollTop=node.scrollHeight)}},{key:"buildElements",value:function(buffers){return _lodash2["default"].map(buffers,function(msg,index){return _react2["default"].createElement("div",{key:index,className:"infinite-list-item"},msg)})}},{key:"render",value:function(){var buffers=this.props.buffers,elements=this.buildElements(buffers);return _react2["default"].createElement("div",{className:"console-window code"},_react2["default"].createElement(_reactInfinite2["default"],{containerHeight:260,elementHeight:20,ref:"infinite"},elements))}}]),ConsoleWindow}(_react2["default"].Component);ConsoleWindow.propTypes={buffers:_react2["default"].PropTypes.array},exports["default"]=ConsoleWindow},{lodash:"lodash",react:"react","react-dom":"react-dom","react-infinite":"react-infinite"}],"/Users/cheton/github/cnc.js/web/components/widgets/console/constants.js":[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SCROLL_BUFFER_SIZE=5e3,exports.GRBL_REALTIME_COMMANDS=["~","!","?",""]},{}],"/Users/cheton/github/cnc.js/web/components/widgets/console/index.css":[function(require,module,exports){var css='[data-component="Widgets/ConsoleWidget"] .widget-content{position:relative;padding:10px}[data-component="Widgets/ConsoleWidget"] .widget-content .console-input{margin-bottom:10px}[data-component="Widgets/ConsoleWidget"] .widget-content .console-input button.dropdown-toggle{height:30px}[data-component="Widgets/ConsoleWidget"] .widget-content .console-window{background-color:#000;color:#fff}[data-component="Widgets/ConsoleWidget"] .widget-content .console-window.code{font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif}[data-component="Widgets/ConsoleWidget"] .widget-content .console-window .infinite-list-item{white-space:nowrap;height:20px}';require("browserify-css").createStyle(css,{ +href:"components/widgets/console/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/widgets/console/index.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _extends=Object.assign||function(target){for(var i=1;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(ConsoleWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(ConsoleWidget,_React$Component),_createClass(ConsoleWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("Console"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/ConsoleWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_Console2["default"],null))))}}]),ConsoleWidget}(_react2["default"].Component);exports["default"]=ConsoleWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./Console":"/Users/cheton/github/cnc.js/web/components/widgets/console/Console.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/console/index.css",classnames:"classnames",lodash:"lodash",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/gcode/GCode.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(GCode)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",unit:_constants.METRIC_UNIT,commands:[],alertMessage:"",queueStatus:{executed:0,total:0}},_this.socketEventListener={"gcode:queue-status":(_context=_this).socketOnGCodeQueueStatus.bind(_context),"grbl:gcode-modes":(_context=_this).socketOnGrblGCodeModes.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(GCode,_React$Component),_createClass(GCode,[{key:"componentDidMount",value:function(){this.subscribe(),this.addSocketEventListener()}},{key:"componentWillUnmount",value:function(){this.removeSocketEventListener(),this.unsubscribe()}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",_this2.setState({port:port})});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("gcode:load",function(msg,gcode){gcode=gcode||"",(0,_gcodeParser.parseText)(gcode,function(err,data){if(err)return void _log2["default"].error(err);var commands=(0,_lodash2["default"])(data).map(function(o){return{status:_constants.GCODE_STATUS.NOT_STARTED,cmd:o.line}}).value();_this2.setState({commands:commands})})});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnGCodeQueueStatus",value:function(data){for(var list={},from=this.state.queueStatus.executed,to=data.executed,i=to;from>i;++i)list[i]={status:{$set:_constants.GCODE_STATUS.NOT_STARTED}};for(var i=from;to>i;++i)list[i]={status:{$set:_constants.GCODE_STATUS.COMPLETED}};var updatedCommands=(0,_reactAddonsUpdate2["default"])(this.state.commands,list);this.setState({commands:updatedCommands,queueStatus:{executed:Number(data.executed),total:Number(data.total)}})}},{key:"socketOnGrblGCodeModes",value:function(modes){var unit=this.state.unit;_lodash2["default"].includes(modes,"G20")&&(unit=_constants.IMPERIAL_UNIT),_lodash2["default"].includes(modes,"G21")&&(unit=_constants.METRIC_UNIT),this.state.unit!==unit&&this.setState({unit:unit})}},{key:"render",value:function(){var _state=this.state,unit=(_state.port,_state.unit),queueStatus=_state.queueStatus,tableWidth=this.props.width-2-20,tableHeight=180,rowHeight=30,visibleRows=Math.floor(tableHeight/rowHeight),isLoaded=_lodash2["default"].size(this.state.commands)>0,scrollToRow=Math.min(queueStatus.executed+(Math.floor(visibleRows/2)-1),queueStatus.total);return _react2["default"].createElement("div",null,_react2["default"].createElement(_GCodeStats2["default"],{unit:unit,executed:queueStatus.executed,total:queueStatus.total}),isLoaded&&_react2["default"].createElement(_GCodeTable2["default"],{width:tableWidth,height:tableHeight,rowHeight:rowHeight,data:this.state.commands,scrollToRow:scrollToRow}))}}]),GCode}(_react2["default"].Component);exports["default"]=GCode},{"../../../lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","./GCodeStats":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/GCodeStats.jsx","./GCodeTable":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/GCodeTable.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/constants.js","gcode-parser":"gcode-parser",lodash:"lodash","pubsub-js":"pubsub-js",react:"react","react-addons-update":"react-addons-update"}],"/Users/cheton/github/cnc.js/web/components/widgets/gcode/GCodeStats.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(GCodeStats)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={startTime:0,duration:0,box:{min:{x:0,y:0,z:0},max:{x:0,y:0,z:0},delta:{x:0,y:0,z:0}}},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(GCodeStats,_React$Component),_createClass(GCodeStats,[{key:"componentDidMount",value:function(){this.subscribe(),this.setTimer()}},{key:"componentWillUnmount",value:function(){this.clearTimer(),this.unsubscribe()}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("gcode:boundingBox",function(msg,box){var dX=box.max.x-box.min.x,dY=box.max.y-box.min.y,dZ=box.max.z-box.min.z;_this2.setState({box:{min:{x:box.min.x,y:box.min.y,z:box.min.z},max:{x:box.max.x,y:box.max.y,z:box.max.z},delta:{x:dX,y:dY,z:dZ}}})});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("gcode:run",function(msg){var now=(0,_moment2["default"])().unix(),startTime=_this2.state.startTime||now,duration=startTime!==now?_this2.state.duration:0;_this2.setState({startTime:startTime,duration:duration})});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("gcode:stop",function(msg){_this2.setState({startTime:0,duration:0})});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("gcode:unload",function(msg){_this2.setState({startTime:0,duration:0})});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"setTimer",value:function(){var _this3=this;this.timer=setInterval(function(){if(0!==_this3.state.startTime){var from=_moment2["default"].unix(_this3.state.startTime),to=(0,_moment2["default"])(),duration=to.diff(from,"seconds");_this3.setState({duration:duration})}},1e3)}},{key:"clearTimer",value:function(){this.timer&&(clearInterval(this.timer),this.timer=null)}},{key:"toUnitString",value:function(val){return val=Number(val)||0,val=this.props.unit===_constants.METRIC_UNIT?(val/1).toFixed(3):(val/25.4).toFixed(4),""+val}},{key:"render",value:function(){var _this4=this,_props=this.props,unit=_props.unit,total=_props.total,executed=_props.executed,box=_lodash2["default"].mapValues(this.state.box,function(position){return _lodash2["default"].mapValues(position,function(val,axis){return _this4.toUnitString(val)})}),displayUnit=unit===_constants.METRIC_UNIT?_i18n2["default"]._("mm"):_i18n2["default"]._("in"),startTime="–",duration="–";if(this.state.startTime>0&&(startTime=_moment2["default"].unix(this.state.startTime).format("YYYY-MM-DD HH:mm:ss")),this.state.duration>0){var d=_moment2["default"].duration(this.state.duration,"seconds"),hours=_lodash2["default"].padLeft(d.hours(),2,"0"),minutes=_lodash2["default"].padLeft(d.minutes(),2,"0"),seconds=_lodash2["default"].padLeft(d.seconds(),2,"0");duration=hours+":"+minutes+":"+seconds}return _react2["default"].createElement("div",{className:"container-fluid gcode-stats"},_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col-xs-12"},_react2["default"].createElement("div",null,_i18n2["default"]._("Dimension:")))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col-xs-12"},_react2["default"].createElement("table",{className:"table-bordered","data-table":"dimension"},_react2["default"].createElement("thead",null,_react2["default"].createElement("tr",null,_react2["default"].createElement("th",{className:"axis"},_i18n2["default"]._("Axis")),_react2["default"].createElement("th",null,_i18n2["default"]._("Min")),_react2["default"].createElement("th",null,_i18n2["default"]._("Max")),_react2["default"].createElement("th",null,_i18n2["default"]._("Delta")))),_react2["default"].createElement("tbody",null,_react2["default"].createElement("tr",null,_react2["default"].createElement("td",{className:"axis"},"X"),_react2["default"].createElement("td",null,box.min.x," ",displayUnit),_react2["default"].createElement("td",null,box.max.x," ",displayUnit),_react2["default"].createElement("td",null,box.delta.x," ",displayUnit)),_react2["default"].createElement("tr",null,_react2["default"].createElement("td",{className:"axis"},"Y"),_react2["default"].createElement("td",null,box.min.y," ",displayUnit),_react2["default"].createElement("td",null,box.max.y," ",displayUnit),_react2["default"].createElement("td",null,box.delta.y," ",displayUnit)),_react2["default"].createElement("tr",null,_react2["default"].createElement("td",{className:"axis"},"Z"),_react2["default"].createElement("td",null,box.min.z," ",displayUnit),_react2["default"].createElement("td",null,box.max.z," ",displayUnit),_react2["default"].createElement("td",null,box.delta.z," ",displayUnit)))))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col-xs-6"},_i18n2["default"]._("Executed")),_react2["default"].createElement("div",{className:"col-xs-6"},_i18n2["default"]._("Total"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col-xs-6"},executed),_react2["default"].createElement("div",{className:"col-xs-6"},total)),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col-xs-6"},_i18n2["default"]._("Start Time")),_react2["default"].createElement("div",{className:"col-xs-6"},_i18n2["default"]._("Duration"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col-xs-6"},startTime),_react2["default"].createElement("div",{className:"col-xs-6"},duration)))}}]),GCodeStats}(_react2["default"].Component);GCodeStats.propTypes={unit:_react2["default"].PropTypes.string,executed:_react2["default"].PropTypes.number,total:_react2["default"].PropTypes.number},exports["default"]=GCodeStats},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/constants.js",classnames:"classnames",lodash:"lodash",moment:"moment","pubsub-js":"pubsub-js",react:"react","react-addons-update":"react-addons-update"}],"/Users/cheton/github/cnc.js/web/components/widgets/gcode/GCodeTable.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(GCodeTable)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={table:{width:_this.props.width,height:_this.props.height,columns:[{dataKey:"status",isResizable:!1,width:28,align:"center",cellRenderer:function(cellData,cellDataKey,rowData,rowIndex,columnData,width){var classes={icon:(0,_classnames2["default"])("glyphicon",{"glyphicon-ok":cellData!==_constants.GCODE_STATUS.ERROR},{"glyphicon-remove":cellData===_constants.GCODE_STATUS.ERROR})},styles={icon:{color:function(){var cdata={};return cdata[_constants.GCODE_STATUS.ERROR]="#a71d5d",cdata[_constants.GCODE_STATUS.NOT_STARTED]="#ddd",cdata[_constants.GCODE_STATUS.IN_PROGRESS]="#ddd",cdata[_constants.GCODE_STATUS.COMPLETED]="#333",cdata[cellData]||"#ddd"}()}};return _react2["default"].createElement("i",{className:classes.icon,style:styles.icon})}},{dataKey:"cmd",isResizable:!0,flexGrow:1,width:100,cellRenderer:function(cellData,cellDataKey,rowData,rowIndex,columnData,width){return _react2["default"].createElement("span",{className:"text-overflow-ellipsis",style:{width:width}},_react2["default"].createElement("span",{className:"label label-default"},rowIndex+1)," ",cellData)}}]}},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(GCodeTable,_React$Component),_createClass(GCodeTable,[{key:"rowGetter",value:function(index){return this.props.data[index]}},{key:"onContentHeightChange",value:function(contentHeight){this.props.onContentDimensionsChange&&this.props.onContentDimensionsChange(contentHeight,Math.max(600,this.props.tableWidth))}},{key:"onColumnResizeEndCallback",value:function(newColumnWidth,dataKey){isColumnResizing=!1,this.setTableColumnWidth(dataKey,newColumnWidth)}},{key:"setTableColumnWidth",value:function(dataKey,newColumnWidth){var columns=this.state.table.columns,newState=(0,_reactAddonsUpdate2["default"])(this.state,{table:{columns:{$apply:function(){var key=_lodash2["default"].findKey(columns,{dataKey:dataKey});return columns[key].width=newColumnWidth,columns}}}});this.setState(newState)}},{key:"render",value:function(){return _lodash2["default"].size(this.props.data)>0?this.renderTable():this.renderEmptyMessage()}},{key:"renderTable",value:function(){var controlledScrolling=void 0!==this.props.left||void 0!==this.props.top;return _react2["default"].createElement("div",{className:"gcode-table"},_react2["default"].createElement(_fixedDataTable.Table,{className:"noHeader",headerHeight:0,rowHeight:this.props.rowHeight||30,rowGetter:this.rowGetter.bind(this),rowsCount:_lodash2["default"].size(this.props.data),width:this.state.table.width,height:this.state.table.height,onContentHeightChange:this.onContentHeightChange.bind(this),scrollToRow:this.props.scrollToRow,scrollTop:this.props.top,scrollLeft:this.props.left,overflowX:controlledScrolling?"hidden":"auto",overflowY:controlledScrolling?"hidden":"auto",isColumnResizing:isColumnResizing,onColumnResizeEndCallback:this.onColumnResizeEndCallback.bind(this)},this.renderTableColumns()))}},{key:"renderTableColumns",value:function(){var columns=this.state.table.columns;return columns.map(function(column,key){return _react2["default"].createElement(_fixedDataTable.Column,{label:column.name,dataKey:column.dataKey,width:column.width,flexGrow:column.flexGrow,isResizable:!!column.isResizable,key:key,align:column.align,headerClassName:column.headerClassName,headerRenderer:column.headerRenderer,cellClassName:column.cellClassName,cellRenderer:column.cellRenderer})}.bind(this))}},{key:"renderEmptyMessage",value:function(){return _react2["default"].createElement("p",{className:""},_i18n2["default"]._("No data to display"))}}]),GCodeTable}(_react2["default"].Component);exports["default"]=GCodeTable},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/constants.js",classnames:"classnames","fixed-data-table":"fixed-data-table",lodash:"lodash",react:"react","react-addons-update":"react-addons-update"}],"/Users/cheton/github/cnc.js/web/components/widgets/gcode/constants.js":[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.IMPERIAL_UNIT="in",exports.METRIC_UNIT="mm",exports.GCODE_STATUS={ERROR:-1,NOT_STARTED:0,IN_PROGRESS:1,COMPLETED:2}},{}],"/Users/cheton/github/cnc.js/web/components/widgets/gcode/index.css":[function(require,module,exports){var css='[data-component="Widgets/GCodeWidget"] .widget-content{position:relative;padding:10px}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-table .public_fixedDataTable_bottomShadow,[data-component="Widgets/GCodeWidget"] .widget-content .gcode-table .public_fixedDataTable_topShadow{background:0 0}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-table .public_fixedDataTable_header{border:none}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-table+.gcode-stats{border-top:none}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats{padding:0 5px}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats table[data-table=dimension]{width:100%}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats table[data-table=dimension] tbody>tr>td.axis,[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats table[data-table=dimension] thead>tr>th.axis{width:1%}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats table[data-table=dimension] tbody>tr>td{text-align:right}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats table[data-table=dimension] tbody>tr>td.axis{text-align:center}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats .row>[class^=col-]{padding-right:10px;padding-left:10px}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats .row:nth-child(even){margin-bottom:10px}[data-component="Widgets/GCodeWidget"] .widget-content .gcode-stats .row:last-child{margin-bottom:0}';require("browserify-css").createStyle(css,{href:"components/widgets/gcode/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/widgets/gcode/index.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _extends=Object.assign||function(target){for(var i=1;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(GCodeWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(GCodeWidget,_React$Component),_createClass(GCodeWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("G-code"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/GCodeWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_GCode2["default"],{width:width}))))}}]),GCodeWidget}(_react2["default"].Component);exports["default"]=GCodeWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./GCode":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/GCode.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/index.css",classnames:"classnames",lodash:"lodash",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/grbl/Grbl.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){ +if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Grbl)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",modes:{}},_this.sokcetEventListener={"grbl:gcode-modes":(_context=_this).socketOnGrblGCodeModes.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Grbl,_React$Component),_createClass(Grbl,[{key:"componentDidMount",value:function(){this.subscribe(),this.addSocketEventListener()}},{key:"componentWillUnmount",value:function(){this.unsubscribe(),this.removeSocketEventListener()}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){if(port=port||"",_this2.setState({port:port}),!port){var modes={};_this2.setState({modes:modes})}});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnGrblGCodeModes",value:function(modes){var state={};_lodash2["default"].each(modes,function(mode){if(0===mode.indexOf("G")||0===mode.indexOf("M")){var r=_lodash2["default"].find(_modalGroups.MODAL_GROUPS,function(group){return _lodash2["default"].includes(group.modes,mode)});r&&_lodash2["default"].set(state,"modal."+r.group,mode)}0===mode.indexOf("T")&&_lodash2["default"].set(state,"tool",mode.substring(1)),0===mode.indexOf("F")&&_lodash2["default"].set(state,"feedrate",mode.substring(1)),0===mode.indexOf("S")&&_lodash2["default"].set(state,"spindle",mode.substring(1))}),this.setState({modes:state}),_log2["default"].trace(state)}},{key:"shouldComponentUpdate",value:function(nextProps,nextState){return JSON.stringify(nextState)!==JSON.stringify(this.state)}},{key:"render",value:function(){var _state=this.state,port=_state.port,modes=_state.modes,canClick=!!port;return _react2["default"].createElement("div",null,_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("div",{className:"btn-group btn-group-justified",role:"group","aria-label":"..."},_react2["default"].createElement(_reactBootstrap.DropdownButton,{bsSize:"sm",bsStyle:"default",title:_i18n2["default"]._("Real-Time Commands"),id:"realtime-commands"},_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].write("~")},disabled:!canClick},_i18n2["default"]._("Cycle Start (~)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].write("!")},disabled:!canClick},_i18n2["default"]._("Feed Hold (!)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].write("?")},disabled:!canClick},_i18n2["default"]._("Current Status (?)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].write("")},disabled:!canClick},_i18n2["default"]._("Reset Grbl (Ctrl-X)"))),_react2["default"].createElement(_reactBootstrap.DropdownButton,{bsSize:"sm",bsStyle:"default",title:_i18n2["default"]._("System Commands"),id:"system-commands"},_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$")},disabled:!canClick},_i18n2["default"]._("Grbl Help ($)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$$")},disabled:!canClick},_i18n2["default"]._("Grbl Settings ($$)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$#")},disabled:!canClick},_i18n2["default"]._("View G-code Parameters ($#)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$G")},disabled:!canClick},_i18n2["default"]._("View G-code Parser State ($G)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$I")},disabled:!canClick},_i18n2["default"]._("View Build Info ($I)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$N")},disabled:!canClick},_i18n2["default"]._("View Startup Blocks ($N)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{divider:!0}),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$C")},disabled:!canClick},_i18n2["default"]._("Check G-code Mode ($C)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$X")},disabled:!canClick},_i18n2["default"]._("Kill Alarm Lock ($X)")),_react2["default"].createElement(_reactBootstrap.MenuItem,{onSelect:function(){return _serialport2["default"].writeln("$H")},disabled:!canClick},_i18n2["default"]._("Run Homing Cycle ($H)"))))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Feed rate:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"feedrate"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Spindle speed:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"spindle"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Tool number:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"tool"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Motion mode:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.motion"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Coordinate system select:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.coordinate"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Plane select:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.plane"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Distance mode:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.distance"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Feed rate mode:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.feedrate"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Units mode:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.units"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Program mode:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.program"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Spindle state:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.spindle"))),_react2["default"].createElement("div",{className:"row"},_react2["default"].createElement("div",{className:"col col-xs-6"},_i18n2["default"]._("Coolant state:")),_react2["default"].createElement("div",{className:"col col-xs-6"},_lodash2["default"].get(modes,"modal.coolant"))))}}]),Grbl}(_react2["default"].Component);exports["default"]=Grbl},{"../../../constants/modal-groups":"/Users/cheton/github/cnc.js/web/constants/modal-groups.js","../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js","../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js",lodash:"lodash","pubsub-js":"pubsub-js",react:"react","react-bootstrap":"react-bootstrap"}],"/Users/cheton/github/cnc.js/web/components/widgets/grbl/index.css":[function(require,module,exports){var css='[data-component="Widgets/GrblWidget"] .widget-content{position:relative;padding:10px}';require("browserify-css").createStyle(css,{href:"components/widgets/grbl/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/widgets/grbl/index.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _extends=Object.assign||function(target){for(var i=1;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(GrblWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(GrblWidget,_React$Component),_createClass(GrblWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("Grbl"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/GrblWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_Grbl2["default"],null))))}}]),GrblWidget}(_react2["default"].Component);exports["default"]=GrblWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./Grbl":"/Users/cheton/github/cnc.js/web/components/widgets/grbl/Grbl.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/grbl/index.css",classnames:"classnames",lodash:"lodash",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/index.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.VisualizerWidget=exports.SpindleWidget=exports.ProbeWidget=exports.GrblWidget=exports.GCodeWidget=exports.ConsoleWidget=exports.ConnectionWidget=exports.AxesWidget=void 0;var _axes=require("./axes"),_axes2=_interopRequireDefault(_axes),_connection=require("./connection"),_connection2=_interopRequireDefault(_connection),_console=require("./console"),_console2=_interopRequireDefault(_console),_gcode=require("./gcode"),_gcode2=_interopRequireDefault(_gcode),_grbl=require("./grbl"),_grbl2=_interopRequireDefault(_grbl),_probe=require("./probe"),_probe2=_interopRequireDefault(_probe),_spindle=require("./spindle"),_spindle2=_interopRequireDefault(_spindle),_visualizer=require("./visualizer"),_visualizer2=_interopRequireDefault(_visualizer);exports.AxesWidget=_axes2["default"],exports.ConnectionWidget=_connection2["default"],exports.ConsoleWidget=_console2["default"],exports.GCodeWidget=_gcode2["default"],exports.GrblWidget=_grbl2["default"],exports.ProbeWidget=_probe2["default"],exports.SpindleWidget=_spindle2["default"],exports.VisualizerWidget=_visualizer2["default"]},{"./axes":"/Users/cheton/github/cnc.js/web/components/widgets/axes/index.jsx","./connection":"/Users/cheton/github/cnc.js/web/components/widgets/connection/index.jsx","./console":"/Users/cheton/github/cnc.js/web/components/widgets/console/index.jsx","./gcode":"/Users/cheton/github/cnc.js/web/components/widgets/gcode/index.jsx","./grbl":"/Users/cheton/github/cnc.js/web/components/widgets/grbl/index.jsx","./probe":"/Users/cheton/github/cnc.js/web/components/widgets/probe/index.jsx","./spindle":"/Users/cheton/github/cnc.js/web/components/widgets/spindle/index.jsx","./visualizer":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/index.jsx"}],"/Users/cheton/github/cnc.js/web/components/widgets/probe/Probe.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Probe)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",unit:_constants.METRIC_UNIT,activeState:_constants.ACTIVE_STATE_IDLE,probeCommand:_store2["default"].getState("widgets.probe.probeCommand","G38.2"),probeDepth:_store2["default"].getState("widgets.probe.probeDepth.mm",10),probeFeedrate:_store2["default"].getState("widgets.probe.probeFeedrate.mm",20),tlo:_store2["default"].getState("widgets.probe.tlo.mm",10),retractionDistance:_store2["default"].getState("widgets.probe.retractionDistance.mm",2)},_this.socketEventListener={"grbl:current-status":(_context=_this).socketOnGrblCurrentStatus.bind(_context),"grbl:gcode-modes":(_context=_this).socketOnGrblGCodeModes.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Probe,_React$Component),_createClass(Probe,[{key:"componentDidMount",value:function(){this.subscribe(),this.addSocketEventListener()}},{key:"componentWillUnmount",value:function(){this.unsubscribe(),this.removeSocketEventListener()}},{key:"shouldComponentUpdate",value:function(nextProps,nextState){return!_lodash2["default"].isEqual(nextState,this.state)}},{key:"componentDidUpdate",value:function(){_store2["default"].setState("widgets.probe.probeCommand",this.state.probeCommand),this.state.unit===_constants.METRIC_UNIT&&(_store2["default"].setState("widgets.probe.probeDepth.mm",this.state.probeDepth),_store2["default"].setState("widgets.probe.probeFeedrate.mm",this.state.probeFeedrate),_store2["default"].setState("widgets.probe.tlo.mm",this.state.tlo),_store2["default"].setState("widgets.probe.retractionDistance.mm",this.state.retractionDistance)),this.state.unit===_constants.IMPERIAL_UNIT&&(_store2["default"].setState("widgets.probe.probeDepth.in",this.state.probeDepth),_store2["default"].setState("widgets.probe.probeFeedrate.in",this.state.probeFeedrate),_store2["default"].setState("widgets.probe.tlo.in",this.state.tlo),_store2["default"].setState("widgets.probe.retractionDistance.in",this.state.retractionDistance))}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",_this2.setState({port:port})});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnGrblCurrentStatus",value:function(data){data.activeState!==this.state.activeState&&this.setState({activeState:data.activeState})}},{key:"socketOnGrblGCodeModes",value:function(modes){var unit=this.state.unit;if(_lodash2["default"].includes(modes,"G20")&&(unit=_constants.IMPERIAL_UNIT),_lodash2["default"].includes(modes,"G21")&&(unit=_constants.METRIC_UNIT),unit!==this.state.unit){var defaults=this.getUnitDefaults(unit),state=_lodash2["default"].extend({},this.state,defaults,{unit:unit});this.setState(state)}}},{key:"getUnitDefaults",value:function(unit){return unit=unit||this.state.unit,unit===_constants.METRIC_UNIT?{probeDepth:_store2["default"].getState("widgets.probe.probeDepth.mm",10),probeFeedrate:_store2["default"].getState("widgets.probe.probeFeedrate.mm",20),tlo:_store2["default"].getState("widgets.probe.tlo.mm",10),retractionDistance:_store2["default"].getState("widgets.probe.retractionDistance.mm",2)}:unit===_constants.IMPERIAL_UNIT?{probeDepth:_store2["default"].getState("widgets.probe.probeDepth.in",.5),probeFeedrate:_store2["default"].getState("widgets.probe.probeFeedrate.in",1),tlo:_store2["default"].getState("widgets.probe.tlo.in",.5),retractionDistance:_store2["default"].getState("widgets.probe.retractionDistance.in",.1)}:void 0}},{key:"changeProbeCommand",value:function(value){this.setState({probeCommand:value})}},{key:"handleProbeDepthChange",value:function(event){var probeDepth=event.target.value;this.setState({probeDepth:probeDepth})}},{key:"handleProbeFeedrateChange",value:function(event){var probeFeedrate=event.target.value;this.setState({probeFeedrate:probeFeedrate})}},{key:"handleTLOChange",value:function(event){var tlo=event.target.value;this.setState({tlo:tlo})}},{key:"handleRetractionDistanceChange",value:function(event){var retractionDistance=event.target.value;this.setState({retractionDistance:retractionDistance})}},{key:"sendGCode",value:function(gcode,params){var s=_lodash2["default"].map(params,function(value,letter){return""+letter+value}).join(" "),msg=s.length>0?gcode+" "+s:gcode;_serialport2["default"].writeln(msg)}},{key:"runZProbe",value:function(){var _state=this.state,probeCommand=_state.probeCommand,probeDepth=_state.probeDepth,probeFeedrate=_state.probeFeedrate,tlo=_state.tlo,retractionDistance=_state.retractionDistance;_lodash2["default"].includes(["G38.2","G38.3"],probeCommand)&&(probeDepth=-probeDepth),this.sendGCode("G49"),this.sendGCode("G91"),this.sendGCode(probeCommand,{Z:probeDepth,F:probeFeedrate}),this.sendGCode("G90"),this.sendGCode("G10",{L:20,P:1,Z:0}),this.sendGCode("G43.1",{Z:-tlo}),this.sendGCode("G91"),this.sendGCode("G0",{Z:retractionDistance}),this.sendGCode("G90")}},{key:"restoreDefaults",value:function(){var defaults=this.getUnitDefaults();this.setState(defaults)}},{key:"render",value:function(){var _this3=this,_state2=this.state,port=_state2.port,unit=_state2.unit,activeState=_state2.activeState,_state3=this.state,probeCommand=_state3.probeCommand,probeDepth=_state3.probeDepth,probeFeedrate=_state3.probeFeedrate,tlo=_state3.tlo,retractionDistance=_state3.retractionDistance,displayUnit=unit===_constants.METRIC_UNIT?_i18n2["default"]._("mm"):_i18n2["default"]._("in"),feedrateUnit=unit===_constants.METRIC_UNIT?_i18n2["default"]._("mm/min"):_i18n2["default"]._("in/mm"),step=unit===_constants.METRIC_UNIT?1:.1,canClick=!!port&&activeState===_constants.ACTIVE_STATE_IDLE,classes=(_lodash2["default"].map(["G38.2","G38.3","G38.4","G38.5"],function(cmd){return{value:cmd,label:cmd}}),{"G38.2":(0,_classnames2["default"])("btn",{"btn-inverse":"G38.2"===probeCommand},{"btn-default":"G38.2"!==probeCommand}),"G38.3":(0,_classnames2["default"])("btn",{"btn-inverse":"G38.3"===probeCommand},{"btn-default":"G38.3"!==probeCommand}),"G38.4":(0,_classnames2["default"])("btn",{"btn-inverse":"G38.4"===probeCommand},{"btn-default":"G38.4"!==probeCommand}),"G38.5":(0,_classnames2["default"])("btn",{"btn-inverse":"G38.5"===probeCommand},{"btn-default":"G38.5"!==probeCommand})});return _react2["default"].createElement("div",null,_react2["default"].createElement(_ToolbarButton2["default"],{port:port,activeState:activeState}),_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Probe Command:")),_react2["default"].createElement("div",{className:"btn-toolbar",role:"toolbar"},_react2["default"].createElement("div",{className:"btn-group btn-group-xs"},_react2["default"].createElement("button",{type:"button",className:classes["G38.2"],title:_i18n2["default"]._("G38.2 probe toward workpiece, stop on contact, signal error if failure"),onClick:function(){return _this3.changeProbeCommand("G38.2")}},"G38.2"),_react2["default"].createElement("button",{type:"button",className:classes["G38.3"],title:_i18n2["default"]._("G38.3 probe toward workpiece, stop on contact"),onClick:function(){return _this3.changeProbeCommand("G38.3")}},"G38.3"),_react2["default"].createElement("button",{type:"button",className:classes["G38.4"],title:_i18n2["default"]._("G38.4 probe away from workpiece, stop on loss of contact, signal error if failure"),onClick:function(){return _this3.changeProbeCommand("G38.4")}},"G38.4"),_react2["default"].createElement("button",{type:"button",className:classes["G38.5"],title:_i18n2["default"]._("G38.5 probe away from workpiece, stop on loss of contact"),onClick:function(){return _this3.changeProbeCommand("G38.5")}},"G38.5"))),_react2["default"].createElement("p",{className:"probe-command-description"},"G38.2"===probeCommand&&_react2["default"].createElement("i",null,_i18n2["default"]._("G38.2 probe toward workpiece, stop on contact, signal error if failure")),"G38.3"===probeCommand&&_react2["default"].createElement("i",null,_i18n2["default"]._("G38.3 probe toward workpiece, stop on contact")),"G38.4"===probeCommand&&_react2["default"].createElement("i",null,_i18n2["default"]._("G38.4 probe away from workpiece, stop on loss of contact, signal error if failure")),"G38.5"===probeCommand&&_react2["default"].createElement("i",null,_i18n2["default"]._("G38.5 probe away from workpiece, stop on loss of contact")))),_react2["default"].createElement("div",{className:"container-fluid"},_react2["default"].createElement("div",{className:"row no-gutter probe-options"},_react2["default"].createElement("div",{className:"col-sm-6"},_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Probe Depth:")),_react2["default"].createElement("div",{className:"input-group input-group-xs"},_react2["default"].createElement("input",{type:"number",className:"form-control",value:probeDepth,placeholder:"0.00",min:0,step:step,onKeyDown:function(e){return e.stopPropagation()},onChange:this.handleProbeDepthChange.bind(this)}),_react2["default"].createElement("div",{className:"input-group-addon"},displayUnit)))),_react2["default"].createElement("div",{className:"col-sm-6"},_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Probe Feedrate:")),_react2["default"].createElement("div",{className:"input-group input-group-xs"},_react2["default"].createElement("input",{type:"number",className:"form-control",value:probeFeedrate,placeholder:"0.00",min:0,step:step,onChange:this.handleProbeFeedrateChange.bind(this)}),_react2["default"].createElement("span",{className:"input-group-addon"},feedrateUnit)))),_react2["default"].createElement("div",{className:"col-sm-6"},_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Touch Plate Thickness:")),_react2["default"].createElement("div",{className:"input-group input-group-xs"},_react2["default"].createElement("input",{type:"number",className:"form-control",value:tlo,placeholder:"0.00",min:0,step:step,onChange:this.handleTLOChange.bind(this)}),_react2["default"].createElement("span",{className:"input-group-addon"},displayUnit)))),_react2["default"].createElement("div",{className:"col-sm-6"},_react2["default"].createElement("div",{className:"form-group"},_react2["default"].createElement("label",{className:"control-label"},_i18n2["default"]._("Retraction Distance:")),_react2["default"].createElement("div",{className:"input-group input-group-xs"},_react2["default"].createElement("input",{type:"number",className:"form-control",value:retractionDistance,placeholder:"0.00",min:0,step:step,onChange:this.handleRetractionDistanceChange.bind(this)}),_react2["default"].createElement("span",{className:"input-group-addon"},displayUnit))))),_react2["default"].createElement("div",{className:"row no-gutter"},_react2["default"].createElement("div",{className:"col-sm-12"},_react2["default"].createElement("div",{className:"btn-toolbar"},_react2["default"].createElement("div",{className:"btn-group",role:"group"},_react2["default"].createElement("button",{ +type:"button",className:"btn btn-sm btn-default",onClick:this.runZProbe.bind(this),disabled:!canClick},_i18n2["default"]._("Run Z-probe"))),_react2["default"].createElement("div",{className:"btn-group",role:"group"}))))))}}]),Probe}(_react2["default"].Component);exports["default"]=Probe},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","../../../store":"/Users/cheton/github/cnc.js/web/store/index.js","./ToolbarButton":"/Users/cheton/github/cnc.js/web/components/widgets/probe/ToolbarButton.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/probe/constants.js",classnames:"classnames",lodash:"lodash","pubsub-js":"pubsub-js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/probe/ToolbarButton.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(ProbeWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(ProbeWidget,_React$Component),_createClass(ProbeWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("Probe"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/ProbeWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_Probe2["default"],null))))}}]),ProbeWidget}(_react2["default"].Component);exports["default"]=ProbeWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./Probe":"/Users/cheton/github/cnc.js/web/components/widgets/probe/Probe.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/probe/index.css",classnames:"classnames",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/spindle/Spindle.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Spindle)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",isCCWChecked:!1,spindleSpeed:0},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Spindle,_React$Component),_createClass(Spindle,[{key:"componentDidMount",value:function(){this.subscribe()}},{key:"componentWillUnmount",value:function(){this.unsubscribe()}},{key:"subscribe",value:function(){var _this2=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",_this2.setState({port:port})});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"handleCCWChange",value:function(){this.setState({isCCWChecked:!this.state.isCCWChecked})}},{key:"render",value:function(){var canClick=!!this.state.port,cmd=this.state.isCCWChecked?"M4":"M3",spindleSpeed=this.state.spindleSpeed;return _react2["default"].createElement("div",null,_react2["default"].createElement("div",{className:"btn-toolbar",role:"toolbar"},_react2["default"].createElement("div",{className:"btn-group btn-group-sm",role:"group"},_react2["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:function(){spindleSpeed>0?_serialport2["default"].writeln(cmd+" S"+spindleSpeed):_serialport2["default"].writeln(cmd)},title:_i18n2["default"]._("Start the spindle turning CW/CCW (M3/M4)"),disabled:!canClick},_react2["default"].createElement("i",{className:"glyphicon glyphicon-play"})),_react2["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:function(){return _serialport2["default"].writeln("M5")},title:_i18n2["default"]._("Stop the spindle from turning (M5)"),disabled:!canClick},_react2["default"].createElement("i",{className:"glyphicon glyphicon-stop"})))),_react2["default"].createElement("div",{className:"checkbox"},_react2["default"].createElement("label",null,_react2["default"].createElement("input",{type:"checkbox",checked:this.state.isCCWChecked,onChange:this.handleCCWChange.bind(this),disabled:!canClick})," ",_i18n2["default"]._("Turn counterclockwise"))))}}]),Spindle}(_react2["default"].Component);exports["default"]=Spindle},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js",lodash:"lodash","pubsub-js":"pubsub-js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/spindle/index.css":[function(require,module,exports){var css='[data-component="Widgets/SpindleWidget"] .widget-content{position:relative;padding:10px}[data-component="Widgets/SpindleWidget"] .widget-content .horizontal-mirror{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}';require("browserify-css").createStyle(css,{href:"components/widgets/spindle/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/widgets/spindle/index.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _extends=Object.assign||function(target){for(var i=1;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(SpindleWidget)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isCollapsed:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(SpindleWidget,_React$Component),_createClass(SpindleWidget,[{key:"handleClick",value:function(target,val){"toggle"===target&&this.setState({isCollapsed:!!val})}},{key:"render",value:function(){var width=360,title=_i18n2["default"]._("Spindle"),toolbarButtons=["toggle"],widgetContentClass=(0,_classnames2["default"])({hidden:this.state.isCollapsed});return _react2["default"].createElement("div",_extends({},this.props,{"data-component":"Widgets/SpindleWidget"}),_react2["default"].createElement(_widget.Widget,{width:width},_react2["default"].createElement(_widget.WidgetHeader,{title:title,toolbarButtons:toolbarButtons,handleClick:this.handleClick.bind(this)}),_react2["default"].createElement(_widget.WidgetContent,{className:widgetContentClass},_react2["default"].createElement(_Spindle2["default"],null))))}}]),SpindleWidget}(_react2["default"].Component);exports["default"]=SpindleWidget},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../widget":"/Users/cheton/github/cnc.js/web/components/widget/index.js","./Spindle":"/Users/cheton/github/cnc.js/web/components/widgets/spindle/Spindle.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/widgets/spindle/index.css",classnames:"classnames",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/FileUploader.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(FileUploader)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={isUploading:!1},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(FileUploader,_React$Component),_createClass(FileUploader,[{key:"componentDidMount",value:function(){}},{key:"componentWillUnmount",value:function(){}},{key:"startWaiting",value:function(){var root=document.documentElement;root.classList.add("wait")}},{key:"stopWaiting",value:function(){var root=document.documentElement;root.classList.remove("wait")}},{key:"onChangeFile",value:function(event){var _this2=this,files=event.target.files,port=this.props.port;if(port){var file=files[0],reader=new FileReader;reader.onloadend=function(event){var contents=event.target.result,error=event.target.error;return error?void _log2["default"].error(error):(_log2["default"].debug("FileReader:",_lodash2["default"].pick(file,["lastModified","lastModifiedDate","meta","name","size","type"])),_this2.startWaiting(),_this2.setState({isUploading:!0}),void _superagent2["default"].post("/api/file/upload").send({meta:{name:file.name,size:file.size,port:port},contents:contents}).end(function(err,res){return _this2.stopWaiting(),err||!res.ok?(_this2.setState({isUploading:!1}),void _log2["default"].error("Failed to upload file",err,res)):void _pubsubJs2["default"].publish("gcode:load",contents)}))},reader.readAsText(file)}}},{key:"onClickToUpload",value:function(){this.fileInputEl.value=null,this.fileInputEl.click()}},{key:"render",value:function(){var _this3=this,port=this.props.port,isUploading=this.state.isUploading,notUploading=!isUploading,canClick=!!port&¬Uploading,inputAttributes={type:"file",style:{display:"none"},multiple:!1,ref:function(el){return _this3.fileInputEl=el},onChange:this.onChangeFile.bind(this)};return _react2["default"].createElement("div",{className:"file-uploader-block"},_react2["default"].createElement("div",{className:"file-uploader-box"},_react2["default"].createElement("div",{className:"file-uploader-content",disabled:!canClick},_react2["default"].createElement("i",{style:{fontSize:48},className:"glyphicon glyphicon-upload"}),_react2["default"].createElement("h4",null,_i18n2["default"]._("Drop G-code file here or click below to upload.")),_react2["default"].createElement("br",null),_react2["default"].createElement("button",{type:"button",className:"btn btn-primary",onClick:this.onClickToUpload.bind(this),disabled:!canClick},_i18n2["default"]._("Upload G-code")),_react2["default"].createElement("input",inputAttributes))))}}]),FileUploader}(_react2["default"].Component);FileUploader.propTypes={port:_react2["default"].PropTypes.string},exports["default"]=FileUploader},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js",classnames:"classnames",lodash:"lodash","pubsub-js":"pubsub-js",react:"react",superagent:"/Users/cheton/github/cnc.js/node_modules/superagent/lib/client.js"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/Joystick.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Toolbar)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={workflowState:_constants.WORKFLOW_STATE_IDLE,queueFinished:!1},_this.socketEventListener={"gcode:queue-status":(_context=_this).socketOnGCodeQueueStatus.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Toolbar,_React$Component),_createClass(Toolbar,[{key:"componentDidMount",value:function(){this.addSocketEventListener()}},{key:"componentWillUnmount",value:function(){this.removeSocketEventListener()}},{key:"componentDidUpdate",value:function(){this.props.setWorkflowState(this.state.workflowState)}},{key:"componentWillReceiveProps",value:function(nextProps){var port=nextProps.port,activeState=nextProps.activeState;return port?void(this.state.queueFinished&&activeState===_constants.ACTIVE_STATE_IDLE&&(_socket2["default"].emit("gcode:stop",port), +_pubsubJs2["default"].publish("gcode:stop"),this.setState({workflowState:_constants.WORKFLOW_STATE_IDLE,queueFinished:!1}))):void this.setState({workflowState:_constants.WORKFLOW_STATE_IDLE})}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnGCodeQueueStatus",value:function(data){data.executed>=data.total&&this.setState({queueFinished:!0})}},{key:"handleRun",value:function(){var workflowState=this.state.workflowState;console.assert(_lodash2["default"].includes([_constants.WORKFLOW_STATE_IDLE,_constants.WORKFLOW_STATE_PAUSED],workflowState)),workflowState===_constants.WORKFLOW_STATE_PAUSED&&_serialport2["default"].write("~"),_socket2["default"].emit("gcode:run",this.props.port),_pubsubJs2["default"].publish("gcode:run"),this.setState({workflowState:_constants.WORKFLOW_STATE_RUNNING})}},{key:"handlePause",value:function(){var workflowState=this.state.workflowState;console.assert(_lodash2["default"].includes([_constants.WORKFLOW_STATE_RUNNING],workflowState)),_serialport2["default"].write("!"),_socket2["default"].emit("gcode:pause",this.props.port),_pubsubJs2["default"].publish("gcode:pause"),this.setState({workflowState:_constants.WORKFLOW_STATE_PAUSED})}},{key:"handleStop",value:function(){var workflowState=this.state.workflowState;console.assert(_lodash2["default"].includes([_constants.WORKFLOW_STATE_PAUSED],workflowState)),_serialport2["default"].write(""),_socket2["default"].emit("gcode:stop",this.props.port),_pubsubJs2["default"].publish("gcode:stop"),this.setState({workflowState:_constants.WORKFLOW_STATE_IDLE})}},{key:"handleClose",value:function(){var workflowState=this.state.workflowState;console.assert(_lodash2["default"].includes([_constants.WORKFLOW_STATE_IDLE],workflowState)),_socket2["default"].emit("gcode:unload",this.props.port),_pubsubJs2["default"].publish("gcode:unload"),this.setState({workflowState:_constants.WORKFLOW_STATE_IDLE})}},{key:"render",value:function(){var _props=this.props,port=_props.port,ready=_props.ready,workflowState=this.state.workflowState,canClick=!!port&&ready,canRun=canClick&&_lodash2["default"].includes([_constants.WORKFLOW_STATE_IDLE,_constants.WORKFLOW_STATE_PAUSED],workflowState),canPause=canClick&&_lodash2["default"].includes([_constants.WORKFLOW_STATE_RUNNING],workflowState),canStop=canClick&&_lodash2["default"].includes([_constants.WORKFLOW_STATE_PAUSED],workflowState),canClose=canClick&&_lodash2["default"].includes([_constants.WORKFLOW_STATE_IDLE],workflowState);return _react2["default"].createElement("div",{className:"btn-toolbar",role:"toolbar"},_react2["default"].createElement("div",{className:"btn-group btn-group-sm",role:"group"},_react2["default"].createElement("button",{type:"button",className:"btn btn-default",title:_i18n2["default"]._("Run"),onClick:this.handleRun.bind(this),disabled:!canRun},_react2["default"].createElement("i",{className:"glyphicon glyphicon-play"})),_react2["default"].createElement("button",{type:"button",className:"btn btn-default",title:_i18n2["default"]._("Pause"),onClick:this.handlePause.bind(this),disabled:!canPause},_react2["default"].createElement("i",{className:"glyphicon glyphicon-pause"})),_react2["default"].createElement("button",{type:"button",className:"btn btn-default",title:_i18n2["default"]._("Stop"),onClick:this.handleStop.bind(this),disabled:!canStop},_react2["default"].createElement("i",{className:"glyphicon glyphicon-stop"})),_react2["default"].createElement("button",{type:"button",className:"btn btn-default",title:_i18n2["default"]._("Close"),onClick:this.handleClose.bind(this),disabled:!canClose},_react2["default"].createElement("i",{className:"glyphicon glyphicon-trash"}))))}}]),Toolbar}(_react2["default"].Component);Toolbar.propTypes={port:_react2["default"].PropTypes.string,ready:_react2["default"].PropTypes.bool,activeState:_react2["default"].PropTypes.string},exports["default"]=Toolbar},{"../../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../../lib/serialport":"/Users/cheton/github/cnc.js/web/lib/serialport.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/constants.js",lodash:"lodash","pubsub-js":"pubsub-js",react:"react"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/Visualizer.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Visualizer)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",ready:!1,activeState:_constants.ACTIVE_STATE_IDLE,workflowState:_constants.WORKFLOW_STATE_IDLE,boundingBox:{min:{x:0,y:0,z:0},max:{x:0,y:0,z:0}}},_this.socketEventListener={"grbl:gcode-modes":(_context=_this).socketOnGrblGCodeModes.bind(_context),"grbl:current-status":(_context=_this).socketOnGrblCurrentStatus.bind(_context),"gcode:queue-status":(_context=_this).socketOnGCodeQueueStatus.bind(_context)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Visualizer,_React$Component),_createClass(Visualizer,[{key:"componentWillMount",value:function(){this.modalState={},this.gcodePath=null,this.renderer=null,this.scene=null,this.camera=null,this.controls=null,this.group=new _three2["default"].Group}},{key:"componentDidMount",value:function(){var _this2=this;this.subscribe(),this.addSocketEventListener(),this.addResizeEventListener();var el=_reactDom2["default"].findDOMNode(this.refs.visualizer);this.createScene(el),this.resizeRenderer(),this.pivotPoint=new _helpers.PivotPoint3({x:0,y:0,z:0},function(x,y,z){_lodash2["default"].each(_this2.group.children,function(o){o.translateX(x),o.translateY(y),o.translateZ(z)}),_this2.updateScene()})}},{key:"componentWillUnmount",value:function(){this.removeResizeEventListener(),this.removeSocketEventListener(),this.unsubscribe(),this.clearScene()}},{key:"shouldComponentUpdate",value:function(nextProps,nextState){var shouldUpdate=nextState.port!==this.state.port||nextState.ready!==this.state.ready||nextState.activeState!==this.state.activeState||nextState.workflowState!==this.state.workflowState||!_lodash2["default"].isEqual(nextState.boundingBox,this.state.boundingBox);return shouldUpdate}},{key:"componentDidUpdate",value:function(prevProps,prevState){requestAnimationFrame(this.renderAnimationLoop.bind(this))}},{key:"subscribe",value:function(){var _this3=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",port?_this3.setState({port:port}):(_pubsubJs2["default"].publish("gcode:unload"),_this3.setState({port:""}))});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("gcode:load",function(msg,gcode){gcode=gcode||"",_this3.setState({ready:!0}),setTimeout(function(){_this3.startWaiting(),_this3.loadGCode(gcode,function(options){_pubsubJs2["default"].publish("gcode:boundingBox",options.boundingBox),_this3.setState({boundingBox:options.boundingBox}),_this3.stopWaiting()})},0)});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("gcode:unload",function(msg){_this3.unloadGCode(),_this3.setState({ready:!1})});this.pubsubTokens.push(token);var token=_pubsubJs2["default"].subscribe("resize",function(msg){_this3.resizeRenderer()});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"addSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].on(eventName,callback)})}},{key:"removeSocketEventListener",value:function(){_lodash2["default"].each(this.socketEventListener,function(callback,eventName){_socket2["default"].off(eventName,callback)})}},{key:"socketOnGrblGCodeModes",value:function(modes){var modalState={};_lodash2["default"].each(modes,function(mode){if(0===mode.indexOf("G")||0===mode.indexOf("M")){var r=_lodash2["default"].find(_modalGroups.MODAL_GROUPS,function(group){return _lodash2["default"].includes(group.modes,mode)});r&&_lodash2["default"].set(modalState,r.group,mode)}}),this.modalState=modalState}},{key:"socketOnGrblCurrentStatus",value:function(data){var activeState=data.activeState,workingPos=data.workingPos;this.state.activeState!==activeState&&this.setState({activeState:activeState}),this.setEngravingCutterPosition(workingPos.x,workingPos.y,workingPos.z),this.updateScene()}},{key:"socketOnGCodeQueueStatus",value:function(data){if(this.gcodePath){_log2["default"].trace("socketOnGCodeQueueStatus:",data);var frameIndex=data.executed;this.gcodePath.setFrameIndex(frameIndex)}}},{key:"startWaiting",value:function(){var root=document.documentElement;root.classList.add("wait")}},{key:"stopWaiting",value:function(){var root=document.documentElement;root.classList.remove("wait")}},{key:"addResizeEventListener",value:function(){var _this4=this;this.onResize||(this.onResize=function(){_this4.resizeRenderer()}),this.onResize(),this.onResizeThrottled=_lodash2["default"].throttle(this.onResize,10),window.addEventListener("resize",this.onResizeThrottled)}},{key:"removeResizeEventListener",value:function(){window.removeEventListener("resize",this.onResizeThrottled)}},{key:"resizeRenderer",value:function(){if(this.camera&&this.renderer){var el=_reactDom2["default"].findDOMNode(this.refs.visualizer),width=el.offsetWidth,height=window.innerHeight-50-1;this.camera.aspect=width/height,this.camera.updateProjectionMatrix(),this.renderer.setSize(width,height),this.updateScene()}}},{key:"createScene",value:function(el){var _this5=this,width=el.clientWidth,height=el.clientHeight;this.scene=new _three2["default"].Scene,this.renderer=this.createRenderer(width,height),el.appendChild(this.renderer.domElement),this.camera=this.createPerspectiveCamera(width,height);var directionalLight=this.createDirectionalLight();directionalLight.name="DirectionalLight",this.group.add(directionalLight);var colorCenterLine=null,colorGrid=(0,_colornames2["default"])("gray 89"),gridLine=new _helpers.GridLine(_constants.GRID_LINE_LENGTH,_constants.GRID_SPACING,colorCenterLine,colorGrid);gridLine.name="GridLine",this.group.add(gridLine);var coordinateAxes=new _helpers.CoordinateAxes(_constants.AXIS_LINE_LENGTH);return coordinateAxes.name="CoordinateAxes",this.group.add(coordinateAxes),!function(){var color=(0,_colornames2["default"])("silver"),url="textures/brushed-steel-texture.jpg";(0,_helpers.loadTexture)(url,function(err,texture){var engravingCutter=new _helpers.EngravingCutter(color,texture);engravingCutter.name="EngravingCutter",_this5.group.add(engravingCutter),_this5.updateScene()})}(),this.scene.add(this.group),this.controls=this.createOrbitControls(this.camera,this.renderer.domElement),this.controls.addEventListener("change",function(){_this5.updateScene()}),this.scene}},{key:"updateScene",value:function(){this.renderer.render(this.scene,this.camera)}},{key:"clearScene",value:function(){var _this6=this,objsToRemove=_lodash2["default"].rest(this.scene.children);_lodash2["default"].each(objsToRemove,function(obj){_this6.scene.remove(obj)}),this.updateScene()}},{key:"renderAnimationLoop",value:function(){var isAgitated=this.state.activeState===_constants.ACTIVE_STATE_RUN&&this.state.workflowState===_constants.WORKFLOW_STATE_RUNNING;isAgitated?(requestAnimationFrame(this.renderAnimationLoop.bind(this)),this.rotateEngravingCutter(360)):this.rotateEngravingCutter(0),this.updateScene()}},{key:"createRenderer",value:function(width,height){var renderer=new _three2["default"].WebGLRenderer({autoClearColor:!0});return renderer.setClearColor(new _three2["default"].Color((0,_colornames2["default"])("gray 94"),1)),renderer.setSize(width,height),renderer.clear(),renderer}},{key:"createPerspectiveCamera",value:function(width,height){var fov=_constants.CAMERA_FOV,aspect=Number(width)/Number(height),near=_constants.CAMERA_NEAR,far=_constants.CAMERA_FAR,camera=new _three2["default"].PerspectiveCamera(fov,aspect,near,far);return camera.position.x=_constants.CAMERA_POSITION_X,camera.position.y=_constants.CAMERA_POSITION_Y,camera.position.z=_constants.CAMERA_POSITION_Z,camera}},{key:"createOrbitControls",value:function(object,domElement){var controls=new _three2["default"].OrbitControls(object,domElement);return _lodash2["default"].extend(controls,{enableKeys:!1,rotateSpeed:.3,zoomSpeed:.5,panSpeed:1,enableDamping:!0,dampingFactor:.25}),controls}},{key:"createDirectionalLight",value:function(){var directionalLight=new _three2["default"].DirectionalLight((0,_colornames2["default"])("whitesmoke"),.5);return directionalLight.position.set(-40,60,-10),directionalLight.castShadow=!0,directionalLight.shadowCameraNear=2,directionalLight.shadowCameraFar=200,directionalLight.shadowCameraLeft=-50,directionalLight.shadowCameraRight=50,directionalLight.shadowCameraTop=50,directionalLight.shadowCameraBottom=-50,directionalLight.distance=0,directionalLight.intensity=.5,directionalLight.shadowMapHeight=1024,directionalLight.shadowMapWidth=1024,directionalLight}},{key:"setEngravingCutterPosition",value:function(x,y,z){var engravingCutter=this.group.getObjectByName("EngravingCutter");if(engravingCutter){var pivotPoint=this.pivotPoint.get();x=(Number(x)||0)-pivotPoint.x,y=(Number(y)||0)-pivotPoint.y,z=(Number(z)||0)-pivotPoint.z,engravingCutter.position.set(x,y,z)}}},{key:"rotateEngravingCutter",value:function(){var rpm=arguments.length<=0||void 0===arguments[0]?0:arguments[0],fps=arguments.length<=1||void 0===arguments[1]?60:arguments[1],engravingCutter=this.group.getObjectByName("EngravingCutter");if(engravingCutter){var delta=1/fps,degrees=360*(delta*Math.PI/180);engravingCutter.rotateZ(-(rpm/60*degrees))}}},{key:"loadGCode",value:function(gcode,callback){var _this7=this;this.unloadGCode();var el=_reactDom2["default"].findDOMNode(this.refs.visualizer);this.gcodePath=new _GCodePath2["default"]({modalState:this.modalState}),this.gcodePath.render({gcode:gcode,width:el.clientWidth,height:el.clientHeight},function(pathObject){pathObject.name="GCodePath",_this7.group.add(pathObject);var bbox=(0,_helpers.getBoundingBox)(pathObject),dX=bbox.max.x-bbox.min.x,dY=bbox.max.y-bbox.min.y,dZ=bbox.max.z-bbox.min.z,center=new _three2["default"].Vector3(bbox.min.x+dX/2,bbox.min.y+dY/2,bbox.min.z+dZ/2);_this7.pivotPoint.set(center.x,center.y,center.z);var objectWidth=dX,objectHeight=dY,lookTarget=new _three2["default"].Vector3(0,0,bbox.max.z);(0,_helpers.fitCameraToObject)(_this7.camera,objectWidth,objectHeight,lookTarget),_this7.updateScene(),"function"==typeof callback&&callback({boundingBox:bbox})})}},{key:"unloadGCode",value:function(){var pathObject=this.group.getObjectByName("GCodePath");pathObject&&this.group.remove(pathObject),this.pivotPoint.set(0,0,0),this.controls.reset(),this.updateScene()}},{key:"setWorkflowState",value:function(workflowState){this.setState({workflowState:workflowState})}},{key:"pan",value:function(deltaX,deltaY){var domElement=this.renderer.domElement,element=domElement===document?domElement.body:domElement;this.controls.constraint.pan(deltaX,deltaY,element.clientWidth,element.clientHeight),this.controls.update()}},{key:"joystickUp",value:function(){if(this.state.ready&&this.controls.enablePan){var keyPanSpeed=this.controls.keyPanSpeed;this.pan(0,keyPanSpeed)}}},{key:"joystickDown",value:function(){if(this.state.ready&&this.controls.enablePan){var keyPanSpeed=this.controls.keyPanSpeed;this.pan(0,-keyPanSpeed)}}},{key:"joystickLeft",value:function(){if(this.state.ready&&this.controls.enablePan){var keyPanSpeed=this.controls.keyPanSpeed;this.pan(keyPanSpeed,0)}}},{key:"joystickRight",value:function(){if(this.state.ready&&this.controls.enablePan){var keyPanSpeed=this.controls.keyPanSpeed;this.pan(-keyPanSpeed,0)}}},{key:"joystickCenter",value:function(){this.state.ready&&this.controls.reset()}},{key:"render",value:function(){var _state=this.state,port=_state.port,ready=_state.ready,activeState=_state.activeState,hasLoaded=!!port&&ready,notLoaded=!hasLoaded;return _react2["default"].createElement("div",null,_react2["default"].createElement(_Toolbar2["default"],{port:port,ready:ready,setWorkflowState:this.setWorkflowState.bind(this),activeState:activeState}),_react2["default"].createElement(_Joystick2["default"],{ready:ready,up:this.joystickUp.bind(this),down:this.joystickDown.bind(this),left:this.joystickLeft.bind(this),right:this.joystickRight.bind(this),center:this.joystickCenter.bind(this)}),notLoaded&&_react2["default"].createElement(_FileUploader2["default"],{port:port}),_react2["default"].createElement("div",{ref:"visualizer",className:"visualizer"}))}}]),Visualizer}(_react2["default"].Component);exports["default"]=Visualizer},{"../../../constants/modal-groups":"/Users/cheton/github/cnc.js/web/constants/modal-groups.js","../../../lib/GCodePath":"/Users/cheton/github/cnc.js/web/lib/GCodePath.js","../../../lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js","../../../lib/socket":"/Users/cheton/github/cnc.js/web/lib/socket.js","../../../lib/three/OrbitControls":"/Users/cheton/github/cnc.js/web/lib/three/OrbitControls.js","./FileUploader":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/FileUploader.jsx","./Joystick":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/Joystick.jsx","./Toolbar":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/Toolbar.jsx","./constants":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/constants.js","./helpers":"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/helpers/index.jsx",colornames:"/Users/cheton/github/cnc.js/node_modules/colornames/index.js",lodash:"lodash","pubsub-js":"pubsub-js",react:"react","react-dom":"react-dom",three:"three"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/constants.js":[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.COORDINATE_PLANE_XY="XY",exports.COORDINATE_PLANE_XZ="XZ",exports.COORDINATE_PLANE_YZ="YZ",exports.AXIS_LINE_LENGTH=1200,exports.GRID_LINE_LENGTH=1200,exports.GRID_SPACING=10,exports.CAMERA_FOV=50,exports.CAMERA_ASPECT=1,exports.CAMERA_NEAR=.1,exports.CAMERA_FAR=1e4,exports.CAMERA_POSITION_X=0,exports.CAMERA_POSITION_Y=0,exports.CAMERA_POSITION_Z=200,exports.WORKFLOW_STATE_RUNNING="running",exports.WORKFLOW_STATE_PAUSED="paused",exports.WORKFLOW_STATE_IDLE="idle",exports.ACTIVE_STATE_IDLE="Idle",exports.ACTIVE_STATE_RUN="Run",exports.ACTIVE_STATE_HOLD="Hold",exports.ACTIVE_STATE_DOOR="Door",exports.ACTIVE_STATE_HOME="Home",exports.ACTIVE_STATE_ALARM="Alarm",exports.ACTIVE_STATE_CHECK="Check"},{}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/helpers/CoordinateAxes.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _colornames=require("colornames"),_colornames2=_interopRequireDefault(_colornames),_three=require("three"),_three2=_interopRequireDefault(_three),buildAxis=function(src,dst,color,dashed){var geometry=new _three2["default"].Geometry,material=void 0;return material=dashed?new _three2["default"].LineDashedMaterial({linewidth:1,color:color,dashSize:1,gapSize:1,opacity:.5,transparent:!0}):new _three2["default"].LineBasicMaterial({linewidth:1,color:color,opacity:.5,transparent:!0}),geometry.vertices.push(src.clone()),geometry.vertices.push(dst.clone()),geometry.computeLineDistances(),new _three2["default"].Line(geometry,material)},CoordinateAxes=function CoordinateAxes(size){_classCallCheck(this,CoordinateAxes),this.group=new _three2["default"].Object3D;var red=(0,_colornames2["default"])("red"),green=(0,_colornames2["default"])("green"),blue=(0,_colornames2["default"])("blue");return this.group.add(buildAxis(new _three2["default"].Vector3(0,0,0),new _three2["default"].Vector3(size,0,0),red,!1),buildAxis(new _three2["default"].Vector3(0,0,0),new _three2["default"].Vector3(-size,0,0),red,!0),buildAxis(new _three2["default"].Vector3(0,0,0),new _three2["default"].Vector3(0,size,0),green,!1),buildAxis(new _three2["default"].Vector3(0,0,0),new _three2["default"].Vector3(0,-size,0),green,!0),buildAxis(new _three2["default"].Vector3(0,0,0),new _three2["default"].Vector3(0,0,size),blue,!1),buildAxis(new _three2["default"].Vector3(0,0,0),new _three2["default"].Vector3(0,0,-size),blue,!0)),this.group};exports["default"]=CoordinateAxes},{colornames:"/Users/cheton/github/cnc.js/node_modules/colornames/index.js",three:"three"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/helpers/EngravingCutter.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _three=require("three"),_three2=_interopRequireDefault(_three),buildEngravingCutter=function(color,texture){var object=new _three2["default"].Object3D,geometry=void 0,materialFront=void 0,materialBack=void 0,radiusTop=2,radiusBottom=.1,height=20,radiusSegments=32,heightSegments=1,openEnded=!1,thetaStart=0,thetaLength=2*Math.PI;geometry=new _three2["default"].CylinderGeometry(radiusTop,radiusBottom,height,radiusSegments,heightSegments,openEnded,thetaStart,thetaLength),geometry.rotateX(Math.PI/2),geometry.translate(0,0,height/2),materialFront=new _three2["default"].MeshBasicMaterial({color:color,map:texture,opacity:.5,shading:_three2["default"].SmoothShading,side:_three2["default"].FrontSide,transparent:!0}),materialBack=new _three2["default"].MeshBasicMaterial({color:color,map:texture,opacity:.5,shading:_three2["default"].SmoothShading,side:_three2["default"].BackSide,transparent:!0});var meshFront=new _three2["default"].Mesh(geometry,materialFront);meshFront.renderOrder=2,object.add(meshFront);var meshBack=new _three2["default"].Mesh(geometry,materialBack);return object.add(meshBack),object},EngravingCutter=function EngravingCutter(color,texture){return _classCallCheck(this,EngravingCutter),buildEngravingCutter(color,texture)};exports["default"]=EngravingCutter},{three:"three"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/helpers/GridLine.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _lodash=require("lodash"),_lodash2=_interopRequireDefault(_lodash),_three=require("three"),_three2=_interopRequireDefault(_three),buildLine=function(src,dst,color){var geometry=new _three2["default"].Geometry,material=new _three2["default"].LineBasicMaterial({color:color,opacity:.5,transparent:!0});return geometry.vertices.push(src.clone()),geometry.vertices.push(dst.clone()),new _three2["default"].Line(geometry,material)},GridLine=function GridLine(size,step,colorCenterLine,colorGrid){var _this=this;_classCallCheck(this,GridLine),this.group=new _three2["default"].Object3D;var list=_lodash2["default"].range(-size,size,step);return"undefined"==typeof colorCenterLine&&(colorCenterLine=4473924),"undefined"==typeof colorGrid&&(colorGrid=8947848),_lodash2["default"].each(list,function(i){var color=0===i?colorCenterLine:colorGrid;if(null!==color){var lineX=buildLine(new _three2["default"].Vector3(-size,i,0),new _three2["default"].Vector3(size,i,0),color),lineY=buildLine(new _three2["default"].Vector3(i,-size,0),new _three2["default"].Vector3(i,size,0),color);_this.group.add(lineX),_this.group.add(lineY)}}),this.group};exports["default"]=GridLine},{lodash:"lodash",three:"three"}],"/Users/cheton/github/cnc.js/web/components/widgets/visualizer/helpers/PivotPoint3.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function defineProperties(target,props){for(var i=0;i_key;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_Object$getPrototypeO=Object.getPrototypeOf(Workspace)).call.apply(_Object$getPrototypeO,[this].concat(args))),_this.state={port:"",isDragging:!1,isUploading:!1,showPrimaryContainer:!0,showSecondaryContainer:!0,defaultContainer:[],primaryContainer:[],secondaryContainer:[]},_this.sortableGroup={primary:null,secondary:null},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Workspace,_React$Component),_createClass(Workspace,[{key:"componentDidMount",value:function(){var _this2=this;this.subscribe(),this.createSortableGroups(),this.loadSettings(function(err,settings){err&&(settings={});var widgetList=_lodash2["default"].pluck(widgets,"id"),defaultList=["visualizer"],primaryDefault=["connection","grbl","console"],secondaryDefault=["axes","gcode","probe","spindle"],primaryList=_lodash2["default"].get(settings,"workspace.container.primary")||primaryDefault,secondaryList=_lodash2["default"].get(settings,"workspace.container.secondary")||secondaryDefault;primaryList=(0,_lodash2["default"])(primaryList).uniq().intersection(widgetList).difference(defaultList).value(),secondaryList=(0,_lodash2["default"])(secondaryList.concat(widgetList)).uniq().difference(primaryList).difference(defaultList).value(),_this2.setState({defaultContainer:_lodash2["default"].map(defaultList,function(id){return getWidgetElementById(id)}),primaryContainer:_lodash2["default"].map(primaryList,function(id){return getWidgetElementById(id)}),secondaryContainer:_lodash2["default"].map(secondaryList,function(id){return getWidgetElementById(id)})})})}},{key:"componentDidUpdate",value:function(){this.resizeVisualContainer()}},{key:"componentWillUnmount",value:function(){this.destroySortableGroups(),this.unsubscribe()}},{key:"subscribe",value:function(){var _this3=this;this.pubsubTokens=[];var token=_pubsubJs2["default"].subscribe("port",function(msg,port){port=port||"",_this3.setState({port:port})});this.pubsubTokens.push(token)}},{key:"unsubscribe",value:function(){_lodash2["default"].each(this.pubsubTokens,function(token){_pubsubJs2["default"].unsubscribe(token)}),this.pubsubTokens=[]}},{key:"startWaiting",value:function(){var root=document.documentElement;root.classList.add("wait")}},{key:"stopWaiting",value:function(){var root=document.documentElement;root.classList.remove("wait")}},{key:"loadSettings",value:function(callback){_superagent2["default"].get("/api/config").end(function(err,res){callback(err,res.body||{})})}},{key:"saveSettings",value:function(settings,callback){settings=settings||{},_superagent2["default"].put("/api/config").set("Content-Type","application/json").send(settings).end(callback)}},{key:"createSortableGroups",value:function(){var _this4=this,onEndCallback=function(evt){var settings={workspace:{container:{primary:_this4.sortableGroup.primary.toArray(),secondary:_this4.sortableGroup.secondary.toArray()}}};_this4.saveSettings(settings,function(err,res){return _pubsubJs2["default"].publish("resize"),err?void _log2["default"].error(res.text):void 0})},el=_reactDom2["default"].findDOMNode(this.refs.primaryContainer);this.sortableGroup.primary=_Sortable2["default"].create(el,{group:{name:"primary",pull:!0,put:["secondary"]},handle:".btn-drag",dataIdAttr:"data-id",onEnd:onEndCallback});var el=_reactDom2["default"].findDOMNode(this.refs.secondaryContainer);this.sortableGroup.secondary=_Sortable2["default"].create(el,{group:{name:"secondary",pull:!0,put:["primary"]},handle:".btn-drag",dataIdAttr:"data-id",onEnd:onEndCallback})}},{key:"destroySortableGroups",value:function(){this.sortableGroup.primary.destroy(),this.sortableGroup.secondary.destroy()}},{key:"togglePrimaryContainer",value:function(){this.setState({showPrimaryContainer:!this.state.showPrimaryContainer}),_pubsubJs2["default"].publish("resize")}},{key:"toggleSecondaryContainer",value:function(){this.setState({showSecondaryContainer:!this.state.showSecondaryContainer}),_pubsubJs2["default"].publish("resize")}},{key:"resizeVisualContainer",value:function(){var primaryContainer=_reactDom2["default"].findDOMNode(this.refs.primaryContainer),primaryTogglerPane=_reactDom2["default"].findDOMNode(this.refs.primaryTogglerPane),secondaryContainer=_reactDom2["default"].findDOMNode(this.refs.secondaryContainer),secondaryTogglerPane=_reactDom2["default"].findDOMNode(this.refs.secondaryTogglerPane),defaultContainer=_reactDom2["default"].findDOMNode(this.refs.defaultContainer);defaultContainer.style.left=primaryContainer.offsetWidth+primaryTogglerPane.offsetWidth+"px",defaultContainer.style.right=secondaryContainer.offsetWidth+secondaryTogglerPane.offsetWidth+"px",_pubsubJs2["default"].publish("resize")}},{key:"onDrop",value:function(files){var _this5=this,port=this.state.port;if(port){var file=files[0],reader=new FileReader;reader.onloadend=function(event){var contents=event.target.result,error=event.target.error;return error?void _log2["default"].error(error):(_log2["default"].debug("FileReader:",_lodash2["default"].pick(file,["lastModified","lastModifiedDate","meta","name","size","type"])),_this5.startWaiting(),_this5.setState({isUploading:!0}),void _superagent2["default"].post("/api/file/upload").send({meta:{name:file.name,size:file.size,port:port},contents:contents}).end(function(err,res){return _this5.stopWaiting(),_this5.setState({isUploading:!1}),err||!res.ok?void _log2["default"].error("Failed to upload file",err,res):void _pubsubJs2["default"].publish("gcode:load",contents)}))},reader.readAsText(file)}}},{key:"render",value:function(){var _this6=this,_state=this.state,isDragging=_state.isDragging,notDragging=(_state.isUploading,!isDragging),classes={primaryContainer:(0,_classnames2["default"])("primary-container",{hidden:!this.state.showPrimaryContainer}),secondaryContainer:(0,_classnames2["default"])("secondary-container",{hidden:!this.state.showSecondaryContainer}),defaultContainer:(0,_classnames2["default"])("main-container","fixed"),dropzoneOverlay:(0,_classnames2["default"])("dropzone-overlay",{hidden:notDragging})};return _react2["default"].createElement("div",{className:"container-fluid","data-component":"Workspace"},_react2["default"].createElement("div",{className:"workspace-container"},_react2["default"].createElement("div",{className:classes.dropzoneOverlay}),_react2["default"].createElement(_reactDropzone2["default"],{ref:"dropzone",className:"dropzone",disableClick:!0,multiple:!1,onDragEnter:function(){_this6.setState({isDragging:!0})},onDragLeave:function(){_this6.setState({isDragging:!1})},onDrop:function(files){_this6.setState({isDragging:!1}),_this6.onDrop(files)}},_react2["default"].createElement("div",{className:"workspace-table"},_react2["default"].createElement("div",{className:"workspace-table-row"},_react2["default"].createElement("div",{className:classes.primaryContainer,ref:"primaryContainer"},this.state.primaryContainer),_react2["default"].createElement("div",{className:"primary-toggler-pane",ref:"primaryTogglerPane",onClick:this.togglePrimaryContainer.bind(this)}),_react2["default"].createElement("div",{className:classes.defaultContainer,ref:"defaultContainer"},this.state.defaultContainer),_react2["default"].createElement("div",{className:"secondary-toggler-pane",ref:"secondaryTogglerPane",onClick:this.toggleSecondaryContainer.bind(this)}),_react2["default"].createElement("div",{className:classes.secondaryContainer,ref:"secondaryContainer"},this.state.secondaryContainer))))))}}]),Workspace}(_react2["default"].Component);exports["default"]=Workspace},{"../../lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","../../lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js","../widgets":"/Users/cheton/github/cnc.js/web/components/widgets/index.js",Sortable:"Sortable",classnames:"classnames",lodash:"lodash","pubsub-js":"pubsub-js",react:"react","react-dom":"react-dom","react-dropzone":"react-dropzone",superagent:"/Users/cheton/github/cnc.js/node_modules/superagent/lib/client.js"}],"/Users/cheton/github/cnc.js/web/components/workspace/index.css":[function(require,module,exports){var css="[data-component=Workspace] .dropzone-overlay{position:fixed;top:50px;bottom:0;left:0;right:0;z-index:100;background-color:rgba(255,255,255,.5);font-size:20px;padding:100px;border:4px dashed #286090;text-align:center;pointer-events:none}[data-component=Workspace] .workspace-container{position:absolute;top:50px;bottom:0;right:0;left:0}[data-component=Workspace] .workspace-table{display:table;width:100%;height:100%}[data-component=Workspace] .workspace-table-row{display:table-row}[data-component=Workspace] .main-container,[data-component=Workspace] .primary-container,[data-component=Workspace] .primary-toggler-pane,[data-component=Workspace] .secondary-container,[data-component=Workspace] .secondary-toggler-pane{display:table-cell;position:relative}[data-component=Workspace] .primary-container,[data-component=Workspace] .secondary-container{vertical-align:top;background-color:#f0f0f0;width:1%;padding:10px}[data-component=Workspace] .main-container{min-width:250px}[data-component=Workspace] .main-container.fixed{position:fixed;left:0;right:0;top:50px;bottom:0}[data-component=Workspace] .primary-toggler-pane,[data-component=Workspace] .secondary-toggler-pane{width:10px;padding-top:10px;vertical-align:top;background-color:#f0f0f0;cursor:pointer;border-left:1px solid #ddd;border-right:1px solid #ddd}[data-component=Workspace] .primary-toggler-pane:hover,[data-component=Workspace] .secondary-toggler-pane:hover{background-color:#e0e0e0}";require("browserify-css").createStyle(css,{href:"components/workspace/index.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/components/workspace/index.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _Workspace=require("./Workspace"),_Workspace2=_interopRequireDefault(_Workspace);require("./index.css"),exports["default"]=_Workspace2["default"]},{"./Workspace":"/Users/cheton/github/cnc.js/web/components/workspace/Workspace.jsx","./index.css":"/Users/cheton/github/cnc.js/web/components/workspace/index.css"}],"/Users/cheton/github/cnc.js/web/config/settings.js":[function(require,module,exports){"use strict";function _typeof(obj){return obj&&"undefined"!=typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj}Object.defineProperty(exports,"__esModule",{value:!0});var root=window.root;console.assert("object"===_typeof(root.app.config),"root.app.config is not an object");var settings={version:root.app.config.version,webroot:root.app.config.webroot,cdn:root.app.config.cdn,name:"CNC.js",log:{level:"debug",logger:"console",prefix:""},supportedLngs:["en","de","es","fr","it","ja","zh-cn","zh-tw"],i18next:{preload:[],lowerCaseLng:!0,detectLngQS:"lang",useCookie:!0,cookieName:"lang",fallbackLng:"en",load:"current",useLocalStorage:!1,localStorageExpirationTime:6048e5,debug:!1,resGetPath:root.app.config.webroot+"i18n/{{lng}}/{{ns}}.json",getAsync:!1,sendMissing:!1,sendMissingTo:"all",resPostPath:"api/i18n/sendMissing/{{lng}}/{{ns}}",sendType:"POST",postAsync:!0,nsseparator:":",keyseparator:".",interpolationPrefix:"{{",interpolationSuffix:"}}",ns:{namespaces:["locale","resource"],defaultNs:"resource"}}};exports["default"]=settings},{}],"/Users/cheton/github/cnc.js/web/constants/modal-groups.js":[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MODAL_GROUPS=[{group:"motion",modes:["G0","G1","G2","G3","G38.2","G38.3","G38.4","G38.5","G80"]},{group:"coordinate",modes:["G54","G55","G56","G57","G58","G59"]},{group:"plane",modes:["G17","G18","G19"]},{group:"units",modes:["G20","G21"]},{group:"distance",modes:["G90","G91"]},{group:"feedrate",modes:["G93","G94"]},{group:"program",modes:["M0","M1","M2","M30"]},{group:"spindle",modes:["M3","M4","M5"]},{group:"coolant",modes:["M7","M8","M9"]}]},{}],"/Users/cheton/github/cnc.js/web/containers/App.jsx":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _createClass=function(){function defineProperties(target,props){for(var i=0;i=0?_settings2["default"].i18next.lng=lng:_settings2["default"].i18next.lng=_settings2["default"].i18next.fallbackLng||_settings2["default"].supportedLngs[0],_i18n2["default"].init(_settings2["default"].i18next,function(t){next()})},logInit=function(next){var log_level=query_params.log_level||_settings2["default"].log.level,log_logger=query_params.log_logger||_settings2["default"].log.logger,log_prefix=query_params.log_prefix||_settings2["default"].log.prefix;_log2["default"].setLevel(log_level),_log2["default"].setLogger(log_logger),_log2["default"].setPrefix(log_prefix);var msg=["version="+_settings2["default"].version,"webroot="+_settings2["default"].webroot,"cdn="+_settings2["default"].cdn];_log2["default"].info(msg.join(",")),next()};_async2["default"].series([i18nextInit,logInit],function(err,results){window.addEventListener("dragover",function(e){e=e||event,e.preventDefault()},!1),window.addEventListener("drop",function(e){e=e||event,e.preventDefault()},!1);var loading=document.getElementById("loading");loading&&(loading.style.display="none"),_reactDom2["default"].render(_react2["default"].createElement(_reactRouter.Router,null,_react2["default"].createElement(_reactRouter.Route,{path:"/",component:_App2["default"]},_react2["default"].createElement(_reactRouter.IndexRoute,{component:_workspace2["default"]}))),document.querySelector("#container"))})},{"./components/workspace":"/Users/cheton/github/cnc.js/web/components/workspace/index.js","./config/settings":"/Users/cheton/github/cnc.js/web/config/settings.js","./containers/App":"/Users/cheton/github/cnc.js/web/containers/App.jsx","./lib/i18n":"/Users/cheton/github/cnc.js/web/lib/i18n.js","./lib/log":"/Users/cheton/github/cnc.js/web/lib/log.js","./styles/app.css":"/Users/cheton/github/cnc.js/web/styles/app.css","./styles/vendor.css":"/Users/cheton/github/cnc.js/web/styles/vendor.css",async:"async",jsuri:"jsuri",lodash:"lodash",react:"react","react-dom":"react-dom","react-router":"react-router"}],"/Users/cheton/github/cnc.js/web/lib/GCodePath.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function defineProperties(target,props){for(var i=0;i0;){var path=this.group.children[0];this.group.remove(path),path.geometry.dispose()}var geometry=this.geometry,material=new _three2["default"].LineBasicMaterial({color:new _three2["default"].Color((0,_colornames2["default"])("darkgray")),linewidth:1,vertexColors:_three2["default"].VertexColors,opacity:.7,transparent:!0});this.group.add(new _three2["default"].Line(geometry,material));var geometry=new _three2["default"].Geometry,material=new _three2["default"].LineBasicMaterial({color:new _three2["default"].Color((0,_colornames2["default"])("crimson")),linewidth:1,opacity:.7,transparent:!0}),currentFrame=this.frames[this.frameIndex]||{};geometry.vertices=this.geometry.vertices.slice(0,currentFrame.vertexIndex),this.group.add(new _three2["default"].Line(geometry,material))}},{key:"setFrameIndex",value:function(frameIndex){frameIndex=Math.min(frameIndex,this.frames.length-1),frameIndex=Math.max(frameIndex,0),this.frameIndex=frameIndex,this.update()}}]),GCodePath}();exports["default"]=GCodePath},{"./GCodeRunner":"/Users/cheton/github/cnc.js/web/lib/GCodeRunner.js","./log":"/Users/cheton/github/cnc.js/web/lib/log.js",colornames:"/Users/cheton/github/cnc.js/node_modules/colornames/index.js", +lodash:"lodash",three:"three"}],"/Users/cheton/github/cnc.js/web/lib/GCodeRunner.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function defineProperties(target,props){for(var i=0;iradius&&(height=-height);var offsetX=x/2-y/distance*height,offsetY=y/2+x/distance*height;v0.x=v1.x+offsetX,v0.y=v1.y+offsetY}_this.fn.drawArcCurve(_this.modalState,v1,v2,v0),_this.setPosition(targetPosition.x,targetPosition.y,targetPosition.z)},G3:function(params){_this.setModalState({motion:"G3"});var v1={x:_this.position.x,y:_this.position.y,z:_this.position.z},v2={x:_this.translateX(params.X),y:_this.translateY(params.Y),z:_this.translateZ(params.Z)},v0={x:_this.translateI(params.I),y:_this.translateJ(params.J),z:_this.translateK(params.K)},isClockwise=!1,targetPosition={x:v2.x,y:v2.y,z:v2.z};if(_this.isXYPlane()){var _ref10=[v1.x,v1.y,v1.z];v1.x=_ref10[0],v1.y=_ref10[1],v1.z=_ref10[2];var _ref11=[v2.x,v2.y,v2.z];v2.x=_ref11[0],v2.y=_ref11[1],v2.z=_ref11[2];var _ref12=[v0.x,v0.y,v0.z];v0.x=_ref12[0],v0.y=_ref12[1],v0.z=_ref12[2]}else if(_this.isXZPlane()){var _ref13=[v1.x,v1.z,v1.y];v1.x=_ref13[0],v1.y=_ref13[1],v1.z=_ref13[2];var _ref14=[v2.x,v2.z,v2.y];v2.x=_ref14[0],v2.y=_ref14[1],v2.z=_ref14[2];var _ref15=[v0.x,v0.z,v0.y];v0.x=_ref15[0],v0.y=_ref15[1],v0.z=_ref15[2]}else{if(!_this.isYZPlane())return void console.error("The plane mode is invalid",_this.modalState.plane);var _ref16=[v1.y,v1.z,v1.x];v1.x=_ref16[0],v1.y=_ref16[1],v1.z=_ref16[2];var _ref17=[v2.y,v2.z,v2.x];v2.x=_ref17[0],v2.y=_ref17[1],v2.z=_ref17[2];var _ref18=[v0.y,v0.z,v0.x];v0.x=_ref18[0],v0.y=_ref18[1],v0.z=_ref18[2]}if(params.R){var radius=_this.translateR(Number(params.R)||0),x=v2.x-v1.x,y=v2.y-v1.y,distance=Math.sqrt(x*x+y*y),height=Math.sqrt(4*radius*radius-x*x-y*y)/2;isClockwise&&(height=-height),0>radius&&(height=-height);var offsetX=x/2-y/distance*height,offsetY=y/2+x/distance*height;v0.x=v1.x+offsetX,v0.y=v1.y+offsetY}_this.fn.drawArcCurve(_this.modalState,v1,v2,v0),_this.setPosition(targetPosition.x,targetPosition.y,targetPosition.z)},G4:function(params){var sleep=0;"undefined"!=typeof params.S&&(sleep=1e3*Number(params.S)),"undefined"!=typeof params.P&&(sleep=Number(params.P))},G10:function(params){},G17:function(params){_this.setModalState({plane:"G17"})},G18:function(params){_this.setModalState({plane:"G18"})},G19:function(params){_this.setModalState({plane:"G19"})},G20:function(params){_this.setModalState({units:"G20"})},G21:function(params){_this.setModalState({units:"G21"})},"G38.2":function(params){_this.setModalState({motion:"G38.2"})},G38_3:function(params){_this.setModalState({motion:"G38.3"})},"G38.4":function(params){_this.setModalState({motion:"G38.4"})},"G38.5":function(params){_this.setModalState({motion:"G38.5"})},G54:function(){_this.setModalState({coordinate:"G54"})},G55:function(){_this.setModalState({coordinate:"G55"})},G56:function(){_this.setModalState({coordinate:"G56"})},G57:function(){_this.setModalState({coordinate:"G57"})},G58:function(){_this.setModalState({coordinate:"G58"})},G59:function(){_this.setModalState({coordinate:"G59"})},G80:function(){_this.setModalState({motion:"G80"})},G90:function(){_this.setModalState({distance:"G90"})},G91:function(){_this.setModalState({distance:"G91"})},G92:function(params){var v2={x:_this.translateX(params.X,!1),y:_this.translateY(params.Y,!1),z:_this.translateZ(params.Z,!1)};_lodash2["default"].isUndefined(params.X)&&_lodash2["default"].isUndefined(params.Y)&&_lodash2["default"].isUndefined(params.Z)&&(v2.x=v2.y=v2.z=0),_this.setPosition(v2.x,v2.y,v2.z)},G93:function(){_this.setModalState({feedrate:"G93"})},G94:function(){_this.setModalState({feedrate:"G94"})}},options=options||{},_log2["default"].debug("GCodeRunner:",options),this.modalState=_lodash2["default"].extend({},this.modalState,options.modalState),this.fn={drawLine:options.drawLine||noop,drawArcCurve:options.drawArcCurve||noop},new _gcodeInterpreter.GCodeInterpreter({handlers:this.handlers})}return _createClass(GCodeRunner,[{key:"isMetricUnits",value:function(){return"G21"===this.modalState.units}},{key:"isImperialUnits",value:function(){return"G20"===this.modalState.units}},{key:"isAbsoluteDistance",value:function(){return"G90"===this.modalState.distance}},{key:"isRelativeDistance",value:function(){return"G91"===this.modalState.distance}},{key:"isXYPlane",value:function(){return"G17"===this.modalState.plane}},{key:"isXZPlane",value:function(){return"G18"===this.modalState.plane}},{key:"isYZPlane",value:function(){return"G19"===this.modalState.plane}},{key:"isInverseTimeFeedrateMode",value:function(){return"G93"===this.modalState.feedrate}},{key:"isUnitsPerMinuteFeedrateMode",value:function(){return"G94"===this.modalState.feedrate}},{key:"setPosition",value:function(x,y,z){this.position.x=_lodash2["default"].isNumber(x)?x:this.position.x,this.position.y=_lodash2["default"].isNumber(y)?y:this.position.y,this.position.z=_lodash2["default"].isNumber(z)?z:this.position.z}},{key:"setModalState",value:function(modalState){_lodash2["default"].assign(this.modalState,modalState)}},{key:"translateX",value:function(x,relative){return _lodash2["default"].isUndefined(relative)&&(relative=this.isRelativeDistance()),x=this.isImperialUnits()?in2mm(x):x,translatePosition(this.position.x,x,!!relative)}},{key:"translateY",value:function(y,relative){return _lodash2["default"].isUndefined(relative)&&(relative=this.isRelativeDistance()),y=this.isImperialUnits()?in2mm(y):y,translatePosition(this.position.y,y,!!relative)}},{key:"translateZ",value:function(z,relative){return _lodash2["default"].isUndefined(relative)&&(relative=this.isRelativeDistance()),z=this.isImperialUnits()?in2mm(z):z,translatePosition(this.position.z,z,!!relative)}},{key:"translateI",value:function(i){return this.translateX(i,!0)}},{key:"translateJ",value:function(j){return this.translateY(j,!0)}},{key:"translateK",value:function(k){return this.translateZ(k,!0)}},{key:"translateR",value:function(r){return r=Number(r),_lodash2["default"].isNaN(r)?0:this.isImperialUnits()?in2mm(r):r}}]),GCodeRunner}();exports["default"]=GCodeRunner},{"./log":"/Users/cheton/github/cnc.js/web/lib/log.js","gcode-interpreter":"gcode-interpreter",lodash:"lodash"}],"/Users/cheton/github/cnc.js/web/lib/browser.js":[function(require,module,exports){"use strict";var browser={isSafari:function(){return/Safari/.test(navigator.userAgent)&&/Apple Computer/.test(navigator.vendor)},isOpera:function(){return/OPR/.test(navigator.userAgent)&&/Opera/.test(navigator.vendor)},isFirefox:function(){return/Firefox/.test(navigator.userAgent)},isIEEdge:function(){return"Netscape"===navigator.appName&&/Trident\/\d/.test(navigator.userAgent)},isIE:function(){return browser.getIEVersion()>0},getIEVersion:function(){var ua,re,rv=-1;return"Microsoft Internet Explorer"===navigator.appName?(ua=navigator.userAgent,re=new RegExp(/MSIE ([0-9]{1,}[\.0-9]{0,})/),null!==re.exec(ua)&&(rv=parseFloat(RegExp.$1))):"Netscape"===navigator.appName&&(ua=navigator.userAgent,re=new RegExp(/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/),null!==re.exec(ua)&&(rv=parseFloat(RegExp.$1))),rv}};browser.datauri={over32kb:!(browser.isIE()&&browser.getIEVersion()<9)},module.exports=browser},{}],"/Users/cheton/github/cnc.js/web/lib/i18n.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _i18next=require("i18next"),_i18next2=_interopRequireDefault(_i18next),_sha=require("sha1"),_sha2=_interopRequireDefault(_sha);_i18next2["default"]._=function(){var args=Array.prototype.slice.call(arguments);if(0===args.length||"undefined"==typeof args[0])return void _i18next2["default"].t.apply(_i18next2["default"],args);var value=args[0],options=args[1]||{},key=(0,_sha2["default"])(value);return args[0]=value,options.defaultValue=value,_i18next2["default"].t(key,options)},exports["default"]=_i18next2["default"]},{i18next:"i18next",sha1:"sha1"}],"/Users/cheton/github/cnc.js/web/lib/log.js":[function(require,module,exports){"use strict";var printStackTrace=require("stacktrace"),browser=require("./browser"),TRACE=0,DEBUG=1,INFO=2,WARN=3,ERROR=4,NONE=5,supportSafari=function(){var m=navigator.userAgent.match(/AppleWebKit\/(\d+)\.(\d+)(\.|\+|\s)/);return m?537.38<=parseInt(m[1],10)+parseInt(m[2],10)/100:!1},supportOpera=function(){var m=navigator.userAgent.match(/OPR\/(\d+)\./);return m?15<=parseInt(m[1],10):!1},supportFirefox=function(){return window.console.firebug||window.console.exception},getISODateTime=function(d){function pad(number,length){for(var str=""+number;str.lengthtz_offset?"+":"-")+hour+":"+minute}return"undefined"==typeof d&&(d=new Date),d.getFullYear()+"-"+pad(d.getMonth()+1,2)+"-"+pad(d.getDate(),2)+"T"+pad(d.getHours(),2)+":"+pad(d.getMinutes(),2)+":"+pad(d.getSeconds(),2)+getTimeZoneDesignator(d)},consoleLogger=function(logger){window.console.assert("undefined"!=typeof logger,"logger is undefined"),window.console.assert("string"==typeof logger.datetime,"datetime is not a string"),window.console.assert("string"==typeof logger.level,"level is not a string");var console=window.console;if(console){var args=[];if(browser.isIE()||browser.isFirefox()&&!supportFirefox()||browser.isOpera()&&!supportOpera()||browser.isSafari()&&!supportSafari())args.push(logger.datetime||""),args.push(logger.level||"");else{var styles={datetime:"font-weight: bold; line-height: 20px; padding: 2px 4px; color: #3B5998; background: #EDEFF4",level:{T:"font-weight: bold; line-height: 20px; padding: 2px 4px; border: 1px solid; color: #4F8A10; background: #DFF2BF",D:"font-weight: bold; line-height: 20px; padding: 2px 4px; border: 1px solid; color: #222; background: #F5F5F5",I:"font-weight: bold; line-height: 20px; padding: 2px 4px; border: 1px solid; color: #00529B; background: #BDE5F8",W:"font-weight: bold; line-height: 20px; padding: 2px 4px; border: 1px solid; color: #9F6000; background: #EFEFB3",E:"font-weight: bold; line-height: 20px; padding: 2px 4px; border: 1px solid; color: #D8000C; background: #FFBABA"}};args.push("%c"+logger.datetime+"%c %c"+logger.level+"%c"),args.push(styles.datetime),args.push(""),args.push(styles.level[logger.level]||""),args.push("")}logger.prefix&&args.push(logger.prefix),logger.args&&(args=args.concat(logger.args)),logger.stackTrace&&args.push(logger.stackTrace[6]);try{if(browser.isIE()&&browser.getIEVersion()<=9||browser.isFirefox()&&!supportFirefox()){var message=args.join(" ");return void console.log(message)}"undefined"!=typeof console&&"undefined"!=typeof console.log&&console.log.apply&&console.log.apply(console,args)}catch(e){console.error(e)}}},Log=function(){return this._prefix=!1,this._level=DEBUG,this._logger=consoleLogger,this};Log.prototype._log=function(level,args){var stackTrace=printStackTrace({guess:!1}),d=new Date;this._logger({datetime:getISODateTime(d),level:level,prefix:this.getPrefix(),args:args,stackTrace:stackTrace})},Log.prototype.setPrefix=function(prefix){"undefined"!=typeof prefix?this._prefix=prefix:this._prefix=!1},Log.prototype.getPrefix=function(){return this._prefix!==!1?this._prefix:""},Log.prototype.setLogger=function(logger){if("undefined"!=typeof logger&&"function"==typeof logger)this._logger=logger;else if("undefined"!=typeof logger&&"string"==typeof logger){var log_loggers={console:consoleLogger};this._logger=log_loggers[logger],"undefined"==typeof this._logger&&(this._logger=function(logger){})}},Log.prototype.getLogger=function(){return this._logger},Log.prototype.setLevel=function(level){if("undefined"!=typeof level&&"number"==typeof level)this._level=level;else if("undefined"!=typeof level&&"string"==typeof level){var log_levels={trace:TRACE,debug:DEBUG,info:INFO,warn:WARN,error:ERROR};this._level=log_levels[level],"undefined"==typeof this._level&&(this._level=NONE)}},Log.prototype.getLevel=function(){return this._level},Log.prototype.log=function(){this._log("",Array.prototype.slice.call(arguments))},Log.prototype.trace=function(){var level=this._level;TRACE>=level&&this._log("T",Array.prototype.slice.call(arguments))},Log.prototype.debug=function(){this._level<=DEBUG&&this._log("D",Array.prototype.slice.call(arguments))},Log.prototype.info=function(){this._level<=INFO&&this._log("I",Array.prototype.slice.call(arguments))},Log.prototype.warn=function(){this._level<=WARN&&this._log("W",Array.prototype.slice.call(arguments))},Log.prototype.error=function(){this._level<=ERROR&&this._log("E",Array.prototype.slice.call(arguments))};var _log=new Log;module.exports={setLevel:function(){_log.setLevel.apply(_log,Array.prototype.slice.call(arguments))},getLevel:function(){return _log.getLevel.apply(_log,Array.prototype.slice.call(arguments))},setLogger:function(){_log.setLogger.apply(_log,Array.prototype.slice.call(arguments))},getLogger:function(){return _log.getLogger.apply(_log,Array.prototype.slice.call(arguments))},setPrefix:function(){_log.setPrefix.apply(_log,Array.prototype.slice.call(arguments))},getPrefix:function(){return _log.getPrefix.apply(_log,Array.prototype.slice.call(arguments))},log:function(){return _log.log.apply(_log,Array.prototype.slice.call(arguments))},trace:function(){return _log.trace.apply(_log,Array.prototype.slice.call(arguments))},debug:function(){return _log.debug.apply(_log,Array.prototype.slice.call(arguments))},info:function(){return _log.info.apply(_log,Array.prototype.slice.call(arguments))},warn:function(){return _log.warn.apply(_log,Array.prototype.slice.call(arguments))},error:function(){return _log.error.apply(_log,Array.prototype.slice.call(arguments))}}},{"./browser":"/Users/cheton/github/cnc.js/web/lib/browser.js",stacktrace:"stacktrace"}],"/Users/cheton/github/cnc.js/web/lib/serialport.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _lodash=require("lodash"),_lodash2=_interopRequireDefault(_lodash),_pubsubJs=require("pubsub-js"),_pubsubJs2=_interopRequireDefault(_pubsubJs),_socket=require("./socket"),_socket2=_interopRequireDefault(_socket),port="",listeners={write:[]};_pubsubJs2["default"].subscribe("port",function(msg,_port){port=_port||port});var on=function(msg,callback){if(_lodash2["default"].includes(["data","write"],msg)&&_lodash2["default"].isFunction(callback))if("data"===msg)_socket2["default"].on("serialport:data",callback);else if("write"===msg){var token=_pubsubJs2["default"].subscribe("serialport:write",function(msg,data){callback(data)});listeners.write.push({token:token,callback:callback})}},off=function(msg,callback){_lodash2["default"].includes(["data","write"],msg)&&("data"===msg?_socket2["default"].off("serialport:data",callback):"write"===msg&&(listeners.write=_lodash2["default"].filter(listeners.write,function(o){return o.callback===callback&&_pubsubJs2["default"].unsubscribe("serialport:write",o.token),o.callback!==callback})))},write=function(buffer){port&&(_pubsubJs2["default"].publishSync.apply(_pubsubJs2["default"],["serialport:write",buffer]),_socket2["default"].emit.apply(_socket2["default"],["serialport:write",port,buffer]))},writeln=function(buffer){port&&(buffer=(""+buffer).trim()+"\n",_pubsubJs2["default"].publishSync.apply(_pubsubJs2["default"],["serialport:write",buffer]),_socket2["default"].emit.apply(_socket2["default"],["serialport:write",port,buffer]))};exports["default"]={on:on,off:off,write:write,writeln:writeln}},{"./socket":"/Users/cheton/github/cnc.js/web/lib/socket.js",lodash:"lodash","pubsub-js":"pubsub-js"}],"/Users/cheton/github/cnc.js/web/lib/socket.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _log=require("./log"),_log2=_interopRequireDefault(_log),socket=root.io.connect("");socket.on("connect",function(){_log2["default"].debug("socket.io: connected")}),socket.on("error",function(){_log2["default"].error("socket.io: error"),socket.destroy()}),socket.on("close",function(){_log2["default"].debug("socket.io: closed")}),exports["default"]=socket},{"./log":"/Users/cheton/github/cnc.js/web/lib/log.js"}],"/Users/cheton/github/cnc.js/web/lib/three/OrbitControls.js":[function(require,module,exports){"use strict";var THREE=require("three");!function(){function OrbitConstraint(object){this.object=object,this.target=new THREE.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-(1/0),this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.25;var theta,phi,scope=this,EPS=1e-6,phiDelta=0,thetaDelta=0,scale=1,panOffset=new THREE.Vector3,zoomChanged=!1;this.getPolarAngle=function(){return phi},this.getAzimuthalAngle=function(){return theta},this.rotateLeft=function(angle){thetaDelta-=angle},this.rotateUp=function(angle){phiDelta-=angle},this.panLeft=function(){var v=new THREE.Vector3;return function(distance){var te=this.object.matrix.elements;v.set(te[0],te[1],te[2]),v.multiplyScalar(-distance),panOffset.add(v)}}(),this.panUp=function(){var v=new THREE.Vector3;return function(distance){var te=this.object.matrix.elements;v.set(te[4],te[5],te[6]),v.multiplyScalar(distance),panOffset.add(v)}}(),this.pan=function(deltaX,deltaY,screenWidth,screenHeight){if(scope.object instanceof THREE.PerspectiveCamera){var position=scope.object.position,offset=position.clone().sub(scope.target),targetDistance=offset.length();targetDistance*=Math.tan(scope.object.fov/2*Math.PI/180),scope.panLeft(2*deltaX*targetDistance/screenHeight),scope.panUp(2*deltaY*targetDistance/screenHeight)}else scope.object instanceof THREE.OrthographicCamera?(scope.panLeft(deltaX*(scope.object.right-scope.object.left)/screenWidth),scope.panUp(deltaY*(scope.object.top-scope.object.bottom)/screenHeight)):console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.")},this.dollyIn=function(dollyScale){scope.object instanceof THREE.PerspectiveCamera?scale/=dollyScale:scope.object instanceof THREE.OrthographicCamera?(scope.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom*dollyScale)),scope.object.updateProjectionMatrix(),zoomChanged=!0):console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.")},this.dollyOut=function(dollyScale){scope.object instanceof THREE.PerspectiveCamera?scale*=dollyScale:scope.object instanceof THREE.OrthographicCamera?(scope.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/dollyScale)),scope.object.updateProjectionMatrix(),zoomChanged=!0):console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.")},this.update=function(){var offset=new THREE.Vector3,quat=(new THREE.Quaternion).setFromUnitVectors(object.up,new THREE.Vector3(0,1,0)),quatInverse=quat.clone().inverse(),lastPosition=new THREE.Vector3,lastQuaternion=new THREE.Quaternion;return function(){var position=this.object.position;offset.copy(position).sub(this.target),offset.applyQuaternion(quat),theta=Math.atan2(offset.x,offset.z),phi=Math.atan2(Math.sqrt(offset.x*offset.x+offset.z*offset.z),offset.y),theta+=thetaDelta,phi+=phiDelta,theta=Math.max(this.minAzimuthAngle,Math.min(this.maxAzimuthAngle,theta)),phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,phi)),phi=Math.max(EPS,Math.min(Math.PI-EPS,phi));var radius=offset.length()*scale;return radius=Math.max(this.minDistance,Math.min(this.maxDistance,radius)),this.target.add(panOffset),offset.x=radius*Math.sin(phi)*Math.sin(theta),offset.y=radius*Math.cos(phi),offset.z=radius*Math.sin(phi)*Math.cos(theta),offset.applyQuaternion(quatInverse),position.copy(this.target).add(offset),this.object.lookAt(this.target),this.enableDamping===!0?(thetaDelta*=1-this.dampingFactor,phiDelta*=1-this.dampingFactor):(thetaDelta=0,phiDelta=0),scale=1,panOffset.set(0,0,0),zoomChanged||lastPosition.distanceToSquared(this.object.position)>EPS||8*(1-lastQuaternion.dot(this.object.quaternion))>EPS?(lastPosition.copy(this.object.position),lastQuaternion.copy(this.object.quaternion),zoomChanged=!1,!0):!1}}()}THREE.OrbitControls=function(object,domElement){function pan(deltaX,deltaY){var element=scope.domElement===document?scope.domElement.body:scope.domElement;constraint.pan(deltaX,deltaY,element.clientWidth,element.clientHeight)}function getAutoRotationAngle(){return 2*Math.PI/60/60*scope.autoRotateSpeed}function getZoomScale(){return Math.pow(.95,scope.zoomSpeed)}function onMouseDown(event){if(scope.enabled!==!1){if(event.preventDefault(),event.button===scope.mouseButtons.ORBIT){if(scope.enableRotate===!1)return;state=STATE.ROTATE,rotateStart.set(event.clientX,event.clientY)}else if(event.button===scope.mouseButtons.ZOOM){if(scope.enableZoom===!1)return;state=STATE.DOLLY,dollyStart.set(event.clientX,event.clientY)}else if(event.button===scope.mouseButtons.PAN){if(scope.enablePan===!1)return;state=STATE.PAN,panStart.set(event.clientX,event.clientY)}state!==STATE.NONE&&(document.addEventListener("mousemove",onMouseMove,!1),document.addEventListener("mouseup",onMouseUp,!1),scope.dispatchEvent(startEvent))}}function onMouseMove(event){if(scope.enabled!==!1){event.preventDefault();var element=scope.domElement===document?scope.domElement.body:scope.domElement;if(state===STATE.ROTATE){if(scope.enableRotate===!1)return;rotateEnd.set(event.clientX,event.clientY),rotateDelta.subVectors(rotateEnd,rotateStart),constraint.rotateLeft(2*Math.PI*rotateDelta.x/element.clientWidth*scope.rotateSpeed),constraint.rotateUp(2*Math.PI*rotateDelta.y/element.clientHeight*scope.rotateSpeed),rotateStart.copy(rotateEnd)}else if(state===STATE.DOLLY){if(scope.enableZoom===!1)return;dollyEnd.set(event.clientX,event.clientY),dollyDelta.subVectors(dollyEnd,dollyStart),dollyDelta.y>0?constraint.dollyIn(getZoomScale()):dollyDelta.y<0&&constraint.dollyOut(getZoomScale()),dollyStart.copy(dollyEnd)}else if(state===STATE.PAN){if(scope.enablePan===!1)return;panEnd.set(event.clientX,event.clientY),panDelta.subVectors(panEnd,panStart),pan(panDelta.x,panDelta.y),panStart.copy(panEnd)}state!==STATE.NONE&&scope.update()}}function onMouseUp(){scope.enabled!==!1&&(document.removeEventListener("mousemove",onMouseMove,!1),document.removeEventListener("mouseup",onMouseUp,!1),scope.dispatchEvent(endEvent),state=STATE.NONE)}function onMouseWheel(event){if(scope.enabled!==!1&&scope.enableZoom!==!1&&state===STATE.NONE){event.preventDefault(),event.stopPropagation();var delta=0;void 0!==event.wheelDelta?delta=event.wheelDelta:void 0!==event.detail&&(delta=-event.detail),delta>0?constraint.dollyOut(getZoomScale()):0>delta&&constraint.dollyIn(getZoomScale()),scope.update(),scope.dispatchEvent(startEvent),scope.dispatchEvent(endEvent)}}function onKeyDown(event){if(scope.enabled!==!1&&scope.enableKeys!==!1&&scope.enablePan!==!1)switch(event.keyCode){case scope.keys.UP:pan(0,scope.keyPanSpeed),scope.update();break;case scope.keys.BOTTOM:pan(0,-scope.keyPanSpeed),scope.update();break;case scope.keys.LEFT:pan(scope.keyPanSpeed,0),scope.update();break;case scope.keys.RIGHT:pan(-scope.keyPanSpeed,0),scope.update()}}function touchstart(event){if(scope.enabled!==!1){switch(event.touches.length){case 1:if(scope.enableRotate===!1)return;state=STATE.TOUCH_ROTATE,rotateStart.set(event.touches[0].pageX,event.touches[0].pageY);break;case 2:if(scope.enableZoom===!1)return;state=STATE.TOUCH_DOLLY;var dx=event.touches[0].pageX-event.touches[1].pageX,dy=event.touches[0].pageY-event.touches[1].pageY,distance=Math.sqrt(dx*dx+dy*dy);dollyStart.set(0,distance);break;case 3:if(scope.enablePan===!1)return;state=STATE.TOUCH_PAN,panStart.set(event.touches[0].pageX,event.touches[0].pageY);break;default:state=STATE.NONE}state!==STATE.NONE&&scope.dispatchEvent(startEvent)}}function touchmove(event){if(scope.enabled!==!1){event.preventDefault(),event.stopPropagation();var element=scope.domElement===document?scope.domElement.body:scope.domElement;switch(event.touches.length){case 1:if(scope.enableRotate===!1)return;if(state!==STATE.TOUCH_ROTATE)return;rotateEnd.set(event.touches[0].pageX,event.touches[0].pageY),rotateDelta.subVectors(rotateEnd,rotateStart),constraint.rotateLeft(2*Math.PI*rotateDelta.x/element.clientWidth*scope.rotateSpeed),constraint.rotateUp(2*Math.PI*rotateDelta.y/element.clientHeight*scope.rotateSpeed),rotateStart.copy(rotateEnd),scope.update();break;case 2:if(scope.enableZoom===!1)return;if(state!==STATE.TOUCH_DOLLY)return;var dx=event.touches[0].pageX-event.touches[1].pageX,dy=event.touches[0].pageY-event.touches[1].pageY,distance=Math.sqrt(dx*dx+dy*dy);dollyEnd.set(0,distance),dollyDelta.subVectors(dollyEnd,dollyStart),dollyDelta.y>0?constraint.dollyOut(getZoomScale()):dollyDelta.y<0&&constraint.dollyIn(getZoomScale()),dollyStart.copy(dollyEnd),scope.update();break;case 3:if(scope.enablePan===!1)return;if(state!==STATE.TOUCH_PAN)return;panEnd.set(event.touches[0].pageX,event.touches[0].pageY),panDelta.subVectors(panEnd,panStart),pan(panDelta.x,panDelta.y),panStart.copy(panEnd),scope.update();break;default:state=STATE.NONE}}}function touchend(){scope.enabled!==!1&&(scope.dispatchEvent(endEvent),state=STATE.NONE)}function contextmenu(event){event.preventDefault()}var constraint=new OrbitConstraint(object);this.domElement=void 0!==domElement?domElement:document,Object.defineProperty(this,"constraint",{get:function(){return constraint}}),this.getPolarAngle=function(){return constraint.getPolarAngle()},this.getAzimuthalAngle=function(){return constraint.getAzimuthalAngle()},this.enabled=!0,this.center=this.target,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={ORBIT:THREE.MOUSE.LEFT,ZOOM:THREE.MOUSE.MIDDLE,PAN:THREE.MOUSE.RIGHT};var scope=this,rotateStart=new THREE.Vector2,rotateEnd=new THREE.Vector2,rotateDelta=new THREE.Vector2,panStart=new THREE.Vector2,panEnd=new THREE.Vector2,panDelta=new THREE.Vector2,dollyStart=new THREE.Vector2,dollyEnd=new THREE.Vector2,dollyDelta=new THREE.Vector2,STATE={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY:4,TOUCH_PAN:5},state=STATE.NONE;this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom;var changeEvent={type:"change"},startEvent={type:"start"},endEvent={type:"end"};this.update=function(){this.autoRotate&&state===STATE.NONE&&constraint.rotateLeft(getAutoRotationAngle()),constraint.update()===!0&&this.dispatchEvent(changeEvent)},this.reset=function(){state=STATE.NONE,this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(changeEvent),this.update()},this.dispose=function(){this.domElement.removeEventListener("contextmenu",contextmenu,!1),this.domElement.removeEventListener("mousedown",onMouseDown,!1),this.domElement.removeEventListener("mousewheel",onMouseWheel,!1),this.domElement.removeEventListener("MozMousePixelScroll",onMouseWheel,!1),this.domElement.removeEventListener("touchstart",touchstart,!1),this.domElement.removeEventListener("touchend",touchend,!1),this.domElement.removeEventListener("touchmove",touchmove,!1),document.removeEventListener("mousemove",onMouseMove,!1),document.removeEventListener("mouseup",onMouseUp,!1),window.removeEventListener("keydown",onKeyDown,!1)},this.domElement.addEventListener("contextmenu",contextmenu,!1),this.domElement.addEventListener("mousedown",onMouseDown,!1),this.domElement.addEventListener("mousewheel",onMouseWheel,!1),this.domElement.addEventListener("MozMousePixelScroll",onMouseWheel,!1),this.domElement.addEventListener("touchstart",touchstart,!1),this.domElement.addEventListener("touchend",touchend,!1),this.domElement.addEventListener("touchmove",touchmove,!1),window.addEventListener("keydown",onKeyDown,!1),this.update()},THREE.OrbitControls.prototype=Object.create(THREE.EventDispatcher.prototype),THREE.OrbitControls.prototype.constructor=THREE.OrbitControls,Object.defineProperties(THREE.OrbitControls.prototype,{object:{get:function(){return this.constraint.object}},target:{get:function(){return this.constraint.target; +},set:function(value){console.warn("THREE.OrbitControls: target is now immutable. Use target.set() instead."),this.constraint.target.copy(value)}},minDistance:{get:function(){return this.constraint.minDistance},set:function(value){this.constraint.minDistance=value}},maxDistance:{get:function(){return this.constraint.maxDistance},set:function(value){this.constraint.maxDistance=value}},minZoom:{get:function(){return this.constraint.minZoom},set:function(value){this.constraint.minZoom=value}},maxZoom:{get:function(){return this.constraint.maxZoom},set:function(value){this.constraint.maxZoom=value}},minPolarAngle:{get:function(){return this.constraint.minPolarAngle},set:function(value){this.constraint.minPolarAngle=value}},maxPolarAngle:{get:function(){return this.constraint.maxPolarAngle},set:function(value){this.constraint.maxPolarAngle=value}},minAzimuthAngle:{get:function(){return this.constraint.minAzimuthAngle},set:function(value){this.constraint.minAzimuthAngle=value}},maxAzimuthAngle:{get:function(){return this.constraint.maxAzimuthAngle},set:function(value){this.constraint.maxAzimuthAngle=value}},enableDamping:{get:function(){return this.constraint.enableDamping},set:function(value){this.constraint.enableDamping=value}},dampingFactor:{get:function(){return this.constraint.dampingFactor},set:function(value){this.constraint.dampingFactor=value}},noZoom:{get:function(){return console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),!this.enableZoom},set:function(value){console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),this.enableZoom=!value}},noRotate:{get:function(){return console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),!this.enableRotate},set:function(value){console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),this.enableRotate=!value}},noPan:{get:function(){return console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),!this.enablePan},set:function(value){console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),this.enablePan=!value}},noKeys:{get:function(){return console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),!this.enableKeys},set:function(value){console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),this.enableKeys=!value}},staticMoving:{get:function(){return console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),!this.constraint.enableDamping},set:function(value){console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),this.constraint.enableDamping=!value}},dynamicDampingFactor:{get:function(){return console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.constraint.dampingFactor},set:function(value){console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.constraint.dampingFactor=value}}})}(),module.exports=THREE.TrackballControls},{three:"three"}],"/Users/cheton/github/cnc.js/web/store/index.js":[function(require,module,exports){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _lodash=require("lodash"),_lodash2=_interopRequireDefault(_lodash),state=void 0;try{state=_lodash2["default"].extend({},JSON.parse(localStorage.getItem("state")||{}))}catch(err){state={}}var setState=function(key,value){var result=_lodash2["default"].set(state,key,value);return localStorage.setItem("state",JSON.stringify(state)),result},getState=function(key,defaultValue){var value=_lodash2["default"].get(state,key);return"undefined"!=typeof value?value:defaultValue},clearState=function(){localStorage.setItem("state",JSON.stringify({}))};exports["default"]={setState:setState,getState:getState,clearState:clearState}},{lodash:"lodash"}],"/Users/cheton/github/cnc.js/web/styles/app.css":[function(require,module,exports){var css='body{min-width:960px}@media (max-width:767px){body{min-width:0}}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}audio,canvas,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}body{font-size:12px}label,th{font-weight:400}.dropdown-menu{font-size:12px}.navbar-nav>li>a{font-size:14px}.dropdown-menu>li>a:focus{outline:0}.dropdown-header{font-weight:700}table tbody>tr>td,table thead>tr>th{text-align:left;padding:2px 4px}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:1px}.checkbox label,.radio label{line-height:20px}row.row-grid [class*=col-]+[class*=col-]{margin-top:15px}@media (min-width:1200px){row.row-grid [class*=col-lg-]+[class*=col-lg-]{margin-top:0}}@media (min-width:992px){row.row-grid [class*=col-md-]+[class*=col-md-]{margin-top:0}}@media (min-width:768px){row.row-grid [class*=col-sm-]+[class*=col-sm-]{margin-top:0}}.input-group-xs .form-control,.input-group-xs .input-group-addon,.input-group-xs .input-group-btn .btn{height:22px;padding:1px 5px;font-size:12px;line-height:1.5}.row.no-gutter [class*=col-]{padding-right:0;padding-left:0}.wait,.wait *{cursor:wait!important}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.nowrap{white-space:nowrap}.noselect{-webkit-touch-callout:none;-khtml-user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.text-overflow-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}html.ie9 .gradient{-webkit-filter:none;filter:none}@-webkit-keyframes rotating{from{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}.rotating{-webkit-animation:rotating 2s linear infinite;-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}@-webkit-keyframes rotating{from{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotating{from{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}';require("browserify-css").createStyle(css,{href:"styles/app.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}],"/Users/cheton/github/cnc.js/web/styles/vendor.css":[function(require,module,exports){var css='@charset "UTF-8";/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css *//*!\n Ionicons, v2.0.0\n Created by Ben Sperry for the Ionic Framework, http://ionicons.com/\n https://twitter.com/benjsperry https://twitter.com/ionicframework\n MIT License: https://github.com/driftyco/ionicons\n\n Android-style icons originally built by Google’s\n Material Design Icons: https://github.com/google/material-design-icons\n used under CC BY http://creativecommons.org/licenses/by/4.0/\n Modified icons to fit ionicon’s grid from original.\n*/@font-face{font-family:Ionicons;src:url(vendor/Ionicons/fonts/ionicons.eot?v=2.0.0);src:url(vendor/Ionicons/fonts/ionicons.eot?v=2.0.0#iefix) format("embedded-opentype"),url(vendor/Ionicons/fonts/ionicons.ttf?v=2.0.0) format("truetype"),url(vendor/Ionicons/fonts/ionicons.woff?v=2.0.0) format("woff"),url(vendor/Ionicons/fonts/ionicons.svg?v=2.0.0#Ionicons) format("svg");font-weight:400;font-style:normal}.ion,.ion-alert-circled:before,.ion-alert:before,.ion-android-add-circle:before,.ion-android-add:before,.ion-android-alarm-clock:before,.ion-android-alert:before,.ion-android-apps:before,.ion-android-archive:before,.ion-android-arrow-back:before,.ion-android-arrow-down:before,.ion-android-arrow-dropdown-circle:before,.ion-android-arrow-dropdown:before,.ion-android-arrow-dropleft-circle:before,.ion-android-arrow-dropleft:before,.ion-android-arrow-dropright-circle:before,.ion-android-arrow-dropright:before,.ion-android-arrow-dropup-circle:before,.ion-android-arrow-dropup:before,.ion-android-arrow-forward:before,.ion-android-arrow-up:before,.ion-android-attach:before,.ion-android-bar:before,.ion-android-bicycle:before,.ion-android-boat:before,.ion-android-bookmark:before,.ion-android-bulb:before,.ion-android-bus:before,.ion-android-calendar:before,.ion-android-call:before,.ion-android-camera:before,.ion-android-cancel:before,.ion-android-car:before,.ion-android-cart:before,.ion-android-chat:before,.ion-android-checkbox-blank:before,.ion-android-checkbox-outline-blank:before,.ion-android-checkbox-outline:before,.ion-android-checkbox:before,.ion-android-checkmark-circle:before,.ion-android-clipboard:before,.ion-android-close:before,.ion-android-cloud-circle:before,.ion-android-cloud-done:before,.ion-android-cloud-outline:before,.ion-android-cloud:before,.ion-android-color-palette:before,.ion-android-compass:before,.ion-android-contact:before,.ion-android-contacts:before,.ion-android-contract:before,.ion-android-create:before,.ion-android-delete:before,.ion-android-desktop:before,.ion-android-document:before,.ion-android-done-all:before,.ion-android-done:before,.ion-android-download:before,.ion-android-drafts:before,.ion-android-exit:before,.ion-android-expand:before,.ion-android-favorite-outline:before,.ion-android-favorite:before,.ion-android-film:before,.ion-android-folder-open:before,.ion-android-folder:before,.ion-android-funnel:before,.ion-android-globe:before,.ion-android-hand:before,.ion-android-hangout:before,.ion-android-happy:before,.ion-android-home:before,.ion-android-image:before,.ion-android-laptop:before,.ion-android-list:before,.ion-android-locate:before,.ion-android-lock:before,.ion-android-mail:before,.ion-android-map:before,.ion-android-menu:before,.ion-android-microphone-off:before,.ion-android-microphone:before,.ion-android-more-horizontal:before,.ion-android-more-vertical:before,.ion-android-navigate:before,.ion-android-notifications-none:before,.ion-android-notifications-off:before,.ion-android-notifications:before,.ion-android-open:before,.ion-android-options:before,.ion-android-people:before,.ion-android-person-add:before,.ion-android-person:before,.ion-android-phone-landscape:before,.ion-android-phone-portrait:before,.ion-android-pin:before,.ion-android-plane:before,.ion-android-playstore:before,.ion-android-print:before,.ion-android-radio-button-off:before,.ion-android-radio-button-on:before,.ion-android-refresh:before,.ion-android-remove-circle:before,.ion-android-remove:before,.ion-android-restaurant:before,.ion-android-sad:before,.ion-android-search:before,.ion-android-send:before,.ion-android-settings:before,.ion-android-share-alt:before,.ion-android-share:before,.ion-android-star-half:before,.ion-android-star-outline:before,.ion-android-star:before,.ion-android-stopwatch:before,.ion-android-subway:before,.ion-android-sunny:before,.ion-android-sync:before,.ion-android-textsms:before,.ion-android-time:before,.ion-android-train:before,.ion-android-unlock:before,.ion-android-upload:before,.ion-android-volume-down:before,.ion-android-volume-mute:before,.ion-android-volume-off:before,.ion-android-volume-up:before,.ion-android-walk:before,.ion-android-warning:before,.ion-android-watch:before,.ion-android-wifi:before,.ion-aperture:before,.ion-archive:before,.ion-arrow-down-a:before,.ion-arrow-down-b:before,.ion-arrow-down-c:before,.ion-arrow-expand:before,.ion-arrow-graph-down-left:before,.ion-arrow-graph-down-right:before,.ion-arrow-graph-up-left:before,.ion-arrow-graph-up-right:before,.ion-arrow-left-a:before,.ion-arrow-left-b:before,.ion-arrow-left-c:before,.ion-arrow-move:before,.ion-arrow-resize:before,.ion-arrow-return-left:before,.ion-arrow-return-right:before,.ion-arrow-right-a:before,.ion-arrow-right-b:before,.ion-arrow-right-c:before,.ion-arrow-shrink:before,.ion-arrow-swap:before,.ion-arrow-up-a:before,.ion-arrow-up-b:before,.ion-arrow-up-c:before,.ion-asterisk:before,.ion-at:before,.ion-backspace-outline:before,.ion-backspace:before,.ion-bag:before,.ion-battery-charging:before,.ion-battery-empty:before,.ion-battery-full:before,.ion-battery-half:before,.ion-battery-low:before,.ion-beaker:before,.ion-beer:before,.ion-bluetooth:before,.ion-bonfire:before,.ion-bookmark:before,.ion-bowtie:before,.ion-briefcase:before,.ion-bug:before,.ion-calculator:before,.ion-calendar:before,.ion-camera:before,.ion-card:before,.ion-cash:before,.ion-chatbox-working:before,.ion-chatbox:before,.ion-chatboxes:before,.ion-chatbubble-working:before,.ion-chatbubble:before,.ion-chatbubbles:before,.ion-checkmark-circled:before,.ion-checkmark-round:before,.ion-checkmark:before,.ion-chevron-down:before,.ion-chevron-left:before,.ion-chevron-right:before,.ion-chevron-up:before,.ion-clipboard:before,.ion-clock:before,.ion-close-circled:before,.ion-close-round:before,.ion-close:before,.ion-closed-captioning:before,.ion-cloud:before,.ion-code-download:before,.ion-code-working:before,.ion-code:before,.ion-coffee:before,.ion-compass:before,.ion-compose:before,.ion-connection-bars:before,.ion-contrast:before,.ion-crop:before,.ion-cube:before,.ion-disc:before,.ion-document-text:before,.ion-document:before,.ion-drag:before,.ion-earth:before,.ion-easel:before,.ion-edit:before,.ion-egg:before,.ion-eject:before,.ion-email-unread:before,.ion-email:before,.ion-erlenmeyer-flask-bubbles:before,.ion-erlenmeyer-flask:before,.ion-eye-disabled:before,.ion-eye:before,.ion-female:before,.ion-filing:before,.ion-film-marker:before,.ion-fireball:before,.ion-flag:before,.ion-flame:before,.ion-flash-off:before,.ion-flash:before,.ion-folder:before,.ion-fork-repo:before,.ion-fork:before,.ion-forward:before,.ion-funnel:before,.ion-gear-a:before,.ion-gear-b:before,.ion-grid:before,.ion-hammer:before,.ion-happy-outline:before,.ion-happy:before,.ion-headphone:before,.ion-heart-broken:before,.ion-heart:before,.ion-help-buoy:before,.ion-help-circled:before,.ion-help:before,.ion-home:before,.ion-icecream:before,.ion-image:before,.ion-images:before,.ion-information-circled:before,.ion-information:before,.ion-ionic:before,.ion-ios-alarm-outline:before,.ion-ios-alarm:before,.ion-ios-albums-outline:before,.ion-ios-albums:before,.ion-ios-americanfootball-outline:before,.ion-ios-americanfootball:before,.ion-ios-analytics-outline:before,.ion-ios-analytics:before,.ion-ios-arrow-back:before,.ion-ios-arrow-down:before,.ion-ios-arrow-forward:before,.ion-ios-arrow-left:before,.ion-ios-arrow-right:before,.ion-ios-arrow-thin-down:before,.ion-ios-arrow-thin-left:before,.ion-ios-arrow-thin-right:before,.ion-ios-arrow-thin-up:before,.ion-ios-arrow-up:before,.ion-ios-at-outline:before,.ion-ios-at:before,.ion-ios-barcode-outline:before,.ion-ios-barcode:before,.ion-ios-baseball-outline:before,.ion-ios-baseball:before,.ion-ios-basketball-outline:before,.ion-ios-basketball:before,.ion-ios-bell-outline:before,.ion-ios-bell:before,.ion-ios-body-outline:before,.ion-ios-body:before,.ion-ios-bolt-outline:before,.ion-ios-bolt:before,.ion-ios-book-outline:before,.ion-ios-book:before,.ion-ios-bookmarks-outline:before,.ion-ios-bookmarks:before,.ion-ios-box-outline:before,.ion-ios-box:before,.ion-ios-briefcase-outline:before,.ion-ios-briefcase:before,.ion-ios-browsers-outline:before,.ion-ios-browsers:before,.ion-ios-calculator-outline:before,.ion-ios-calculator:before,.ion-ios-calendar-outline:before,.ion-ios-calendar:before,.ion-ios-camera-outline:before,.ion-ios-camera:before,.ion-ios-cart-outline:before,.ion-ios-cart:before,.ion-ios-chatboxes-outline:before,.ion-ios-chatboxes:before,.ion-ios-chatbubble-outline:before,.ion-ios-chatbubble:before,.ion-ios-checkmark-empty:before,.ion-ios-checkmark-outline:before,.ion-ios-checkmark:before,.ion-ios-circle-filled:before,.ion-ios-circle-outline:before,.ion-ios-clock-outline:before,.ion-ios-clock:before,.ion-ios-close-empty:before,.ion-ios-close-outline:before,.ion-ios-close:before,.ion-ios-cloud-download-outline:before,.ion-ios-cloud-download:before,.ion-ios-cloud-outline:before,.ion-ios-cloud-upload-outline:before,.ion-ios-cloud-upload:before,.ion-ios-cloud:before,.ion-ios-cloudy-night-outline:before,.ion-ios-cloudy-night:before,.ion-ios-cloudy-outline:before,.ion-ios-cloudy:before,.ion-ios-cog-outline:before,.ion-ios-cog:before,.ion-ios-color-filter-outline:before,.ion-ios-color-filter:before,.ion-ios-color-wand-outline:before,.ion-ios-color-wand:before,.ion-ios-compose-outline:before,.ion-ios-compose:before,.ion-ios-contact-outline:before,.ion-ios-contact:before,.ion-ios-copy-outline:before,.ion-ios-copy:before,.ion-ios-crop-strong:before,.ion-ios-crop:before,.ion-ios-download-outline:before,.ion-ios-download:before,.ion-ios-drag:before,.ion-ios-email-outline:before,.ion-ios-email:before,.ion-ios-eye-outline:before,.ion-ios-eye:before,.ion-ios-fastforward-outline:before,.ion-ios-fastforward:before,.ion-ios-filing-outline:before,.ion-ios-filing:before,.ion-ios-film-outline:before,.ion-ios-film:before,.ion-ios-flag-outline:before,.ion-ios-flag:before,.ion-ios-flame-outline:before,.ion-ios-flame:before,.ion-ios-flask-outline:before,.ion-ios-flask:before,.ion-ios-flower-outline:before,.ion-ios-flower:before,.ion-ios-folder-outline:before,.ion-ios-folder:before,.ion-ios-football-outline:before,.ion-ios-football:before,.ion-ios-game-controller-a-outline:before,.ion-ios-game-controller-a:before,.ion-ios-game-controller-b-outline:before,.ion-ios-game-controller-b:before,.ion-ios-gear-outline:before,.ion-ios-gear:before,.ion-ios-glasses-outline:before,.ion-ios-glasses:before,.ion-ios-grid-view-outline:before,.ion-ios-grid-view:before,.ion-ios-heart-outline:before,.ion-ios-heart:before,.ion-ios-help-empty:before,.ion-ios-help-outline:before,.ion-ios-help:before,.ion-ios-home-outline:before,.ion-ios-home:before,.ion-ios-infinite-outline:before,.ion-ios-infinite:before,.ion-ios-information-empty:before,.ion-ios-information-outline:before,.ion-ios-information:before,.ion-ios-ionic-outline:before,.ion-ios-keypad-outline:before,.ion-ios-keypad:before,.ion-ios-lightbulb-outline:before,.ion-ios-lightbulb:before,.ion-ios-list-outline:before,.ion-ios-list:before,.ion-ios-location-outline:before,.ion-ios-location:before,.ion-ios-locked-outline:before,.ion-ios-locked:before,.ion-ios-loop-strong:before,.ion-ios-loop:before,.ion-ios-medical-outline:before,.ion-ios-medical:before,.ion-ios-medkit-outline:before,.ion-ios-medkit:before,.ion-ios-mic-off:before,.ion-ios-mic-outline:before,.ion-ios-mic:before,.ion-ios-minus-empty:before,.ion-ios-minus-outline:before,.ion-ios-minus:before,.ion-ios-monitor-outline:before,.ion-ios-monitor:before,.ion-ios-moon-outline:before,.ion-ios-moon:before,.ion-ios-more-outline:before,.ion-ios-more:before,.ion-ios-musical-note:before,.ion-ios-musical-notes:before,.ion-ios-navigate-outline:before,.ion-ios-navigate:before,.ion-ios-nutrition-outline:before,.ion-ios-nutrition:before,.ion-ios-paper-outline:before,.ion-ios-paper:before,.ion-ios-paperplane-outline:before,.ion-ios-paperplane:before,.ion-ios-partlysunny-outline:before,.ion-ios-partlysunny:before,.ion-ios-pause-outline:before,.ion-ios-pause:before,.ion-ios-paw-outline:before,.ion-ios-paw:before,.ion-ios-people-outline:before,.ion-ios-people:before,.ion-ios-person-outline:before,.ion-ios-person:before,.ion-ios-personadd-outline:before,.ion-ios-personadd:before,.ion-ios-photos-outline:before,.ion-ios-photos:before,.ion-ios-pie-outline:before,.ion-ios-pie:before,.ion-ios-pint-outline:before,.ion-ios-pint:before,.ion-ios-play-outline:before,.ion-ios-play:before,.ion-ios-plus-empty:before,.ion-ios-plus-outline:before,.ion-ios-plus:before,.ion-ios-pricetag-outline:before,.ion-ios-pricetag:before,.ion-ios-pricetags-outline:before,.ion-ios-pricetags:before,.ion-ios-printer-outline:before,.ion-ios-printer:before,.ion-ios-pulse-strong:before,.ion-ios-pulse:before,.ion-ios-rainy-outline:before,.ion-ios-rainy:before,.ion-ios-recording-outline:before,.ion-ios-recording:before,.ion-ios-redo-outline:before,.ion-ios-redo:before,.ion-ios-refresh-empty:before,.ion-ios-refresh-outline:before,.ion-ios-refresh:before,.ion-ios-reload:before,.ion-ios-reverse-camera-outline:before,.ion-ios-reverse-camera:before,.ion-ios-rewind-outline:before,.ion-ios-rewind:before,.ion-ios-rose-outline:before,.ion-ios-rose:before,.ion-ios-search-strong:before,.ion-ios-search:before,.ion-ios-settings-strong:before,.ion-ios-settings:before,.ion-ios-shuffle-strong:before,.ion-ios-shuffle:before,.ion-ios-skipbackward-outline:before,.ion-ios-skipbackward:before,.ion-ios-skipforward-outline:before,.ion-ios-skipforward:before,.ion-ios-snowy:before,.ion-ios-speedometer-outline:before,.ion-ios-speedometer:before,.ion-ios-star-half:before,.ion-ios-star-outline:before,.ion-ios-star:before,.ion-ios-stopwatch-outline:before,.ion-ios-stopwatch:before,.ion-ios-sunny-outline:before,.ion-ios-sunny:before,.ion-ios-telephone-outline:before,.ion-ios-telephone:before,.ion-ios-tennisball-outline:before,.ion-ios-tennisball:before,.ion-ios-thunderstorm-outline:before,.ion-ios-thunderstorm:before,.ion-ios-time-outline:before,.ion-ios-time:before,.ion-ios-timer-outline:before,.ion-ios-timer:before,.ion-ios-toggle-outline:before,.ion-ios-toggle:before,.ion-ios-trash-outline:before,.ion-ios-trash:before,.ion-ios-undo-outline:before,.ion-ios-undo:before,.ion-ios-unlocked-outline:before,.ion-ios-unlocked:before,.ion-ios-upload-outline:before,.ion-ios-upload:before,.ion-ios-videocam-outline:before,.ion-ios-videocam:before,.ion-ios-volume-high:before,.ion-ios-volume-low:before,.ion-ios-wineglass-outline:before,.ion-ios-wineglass:before,.ion-ios-world-outline:before,.ion-ios-world:before,.ion-ipad:before,.ion-iphone:before,.ion-ipod:before,.ion-jet:before,.ion-key:before,.ion-knife:before,.ion-laptop:before,.ion-leaf:before,.ion-levels:before,.ion-lightbulb:before,.ion-link:before,.ion-load-a:before,.ion-load-b:before,.ion-load-c:before,.ion-load-d:before,.ion-location:before,.ion-lock-combination:before,.ion-locked:before,.ion-log-in:before,.ion-log-out:before,.ion-loop:before,.ion-magnet:before,.ion-male:before,.ion-man:before,.ion-map:before,.ion-medkit:before,.ion-merge:before,.ion-mic-a:before,.ion-mic-b:before,.ion-mic-c:before,.ion-minus-circled:before,.ion-minus-round:before,.ion-minus:before,.ion-model-s:before,.ion-monitor:before,.ion-more:before,.ion-mouse:before,.ion-music-note:before,.ion-navicon-round:before,.ion-navicon:before,.ion-navigate:before,.ion-network:before,.ion-no-smoking:before,.ion-nuclear:before,.ion-outlet:before,.ion-paintbrush:before,.ion-paintbucket:before,.ion-paper-airplane:before,.ion-paperclip:before,.ion-pause:before,.ion-person-add:before,.ion-person-stalker:before,.ion-person:before,.ion-pie-graph:before,.ion-pin:before,.ion-pinpoint:before,.ion-pizza:before,.ion-plane:before,.ion-planet:before,.ion-play:before,.ion-playstation:before,.ion-plus-circled:before,.ion-plus-round:before,.ion-plus:before,.ion-podium:before,.ion-pound:before,.ion-power:before,.ion-pricetag:before,.ion-pricetags:before,.ion-printer:before,.ion-pull-request:before,.ion-qr-scanner:before,.ion-quote:before,.ion-radio-waves:before,.ion-record:before,.ion-refresh:before,.ion-reply-all:before,.ion-reply:before,.ion-ribbon-a:before,.ion-ribbon-b:before,.ion-sad-outline:before,.ion-sad:before,.ion-scissors:before,.ion-search:before,.ion-settings:before,.ion-share:before,.ion-shuffle:before,.ion-skip-backward:before,.ion-skip-forward:before,.ion-social-android-outline:before,.ion-social-android:before,.ion-social-angular-outline:before,.ion-social-angular:before,.ion-social-apple-outline:before,.ion-social-apple:before,.ion-social-bitcoin-outline:before,.ion-social-bitcoin:before,.ion-social-buffer-outline:before,.ion-social-buffer:before,.ion-social-chrome-outline:before,.ion-social-chrome:before,.ion-social-codepen-outline:before,.ion-social-codepen:before,.ion-social-css3-outline:before,.ion-social-css3:before,.ion-social-designernews-outline:before,.ion-social-designernews:before,.ion-social-dribbble-outline:before,.ion-social-dribbble:before,.ion-social-dropbox-outline:before,.ion-social-dropbox:before,.ion-social-euro-outline:before,.ion-social-euro:before,.ion-social-facebook-outline:before,.ion-social-facebook:before,.ion-social-foursquare-outline:before,.ion-social-foursquare:before,.ion-social-freebsd-devil:before,.ion-social-github-outline:before,.ion-social-github:before,.ion-social-google-outline:before,.ion-social-google:before,.ion-social-googleplus-outline:before,.ion-social-googleplus:before,.ion-social-hackernews-outline:before,.ion-social-hackernews:before,.ion-social-html5-outline:before,.ion-social-html5:before,.ion-social-instagram-outline:before,.ion-social-instagram:before,.ion-social-javascript-outline:before,.ion-social-javascript:before,.ion-social-linkedin-outline:before,.ion-social-linkedin:before,.ion-social-markdown:before,.ion-social-nodejs:before,.ion-social-octocat:before,.ion-social-pinterest-outline:before,.ion-social-pinterest:before,.ion-social-python:before,.ion-social-reddit-outline:before,.ion-social-reddit:before,.ion-social-rss-outline:before,.ion-social-rss:before,.ion-social-sass:before,.ion-social-skype-outline:before,.ion-social-skype:before,.ion-social-snapchat-outline:before,.ion-social-snapchat:before,.ion-social-tumblr-outline:before,.ion-social-tumblr:before,.ion-social-tux:before,.ion-social-twitch-outline:before,.ion-social-twitch:before,.ion-social-twitter-outline:before,.ion-social-twitter:before,.ion-social-usd-outline:before,.ion-social-usd:before,.ion-social-vimeo-outline:before,.ion-social-vimeo:before,.ion-social-whatsapp-outline:before,.ion-social-whatsapp:before,.ion-social-windows-outline:before,.ion-social-windows:before,.ion-social-wordpress-outline:before,.ion-social-wordpress:before,.ion-social-yahoo-outline:before,.ion-social-yahoo:before,.ion-social-yen-outline:before,.ion-social-yen:before,.ion-social-youtube-outline:before,.ion-social-youtube:before,.ion-soup-can-outline:before,.ion-soup-can:before,.ion-speakerphone:before,.ion-speedometer:before,.ion-spoon:before,.ion-star:before,.ion-stats-bars:before,.ion-steam:before,.ion-stop:before,.ion-thermometer:before,.ion-thumbsdown:before,.ion-thumbsup:before,.ion-toggle-filled:before,.ion-toggle:before,.ion-transgender:before,.ion-trash-a:before,.ion-trash-b:before,.ion-trophy:before,.ion-tshirt-outline:before,.ion-tshirt:before,.ion-umbrella:before,.ion-university:before,.ion-unlocked:before,.ion-upload:before,.ion-usb:before,.ion-videocamera:before,.ion-volume-high:before,.ion-volume-low:before,.ion-volume-medium:before,.ion-volume-mute:before,.ion-wand:before,.ion-waterdrop:before,.ion-wifi:before,.ion-wineglass:before,.ion-woman:before,.ion-wrench:before,.ion-xbox:before,.ionicons{display:inline-block;font-family:Ionicons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-rendering:auto;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ion-alert:before{content:"\\f101"}.ion-alert-circled:before{content:"\\f100"}.ion-android-add:before{content:"\\f2c7"}.ion-android-add-circle:before{content:"\\f359"}.ion-android-alarm-clock:before{content:"\\f35a"}.ion-android-alert:before{content:"\\f35b"}.ion-android-apps:before{content:"\\f35c"}.ion-android-archive:before{content:"\\f2c9"}.ion-android-arrow-back:before{content:"\\f2ca"}.ion-android-arrow-down:before{content:"\\f35d"}.ion-android-arrow-dropdown:before{content:"\\f35f"}.ion-android-arrow-dropdown-circle:before{content:"\\f35e"}.ion-android-arrow-dropleft:before{content:"\\f361"}.ion-android-arrow-dropleft-circle:before{content:"\\f360"}.ion-android-arrow-dropright:before{content:"\\f363"}.ion-android-arrow-dropright-circle:before{content:"\\f362"}.ion-android-arrow-dropup:before{content:"\\f365"}.ion-android-arrow-dropup-circle:before{content:"\\f364"}.ion-android-arrow-forward:before{content:"\\f30f"}.ion-android-arrow-up:before{content:"\\f366"}.ion-android-attach:before{content:"\\f367"}.ion-android-bar:before{content:"\\f368"}.ion-android-bicycle:before{content:"\\f369"}.ion-android-boat:before{content:"\\f36a"}.ion-android-bookmark:before{content:"\\f36b"}.ion-android-bulb:before{content:"\\f36c"}.ion-android-bus:before{content:"\\f36d"}.ion-android-calendar:before{content:"\\f2d1"}.ion-android-call:before{content:"\\f2d2"}.ion-android-camera:before{content:"\\f2d3"}.ion-android-cancel:before{content:"\\f36e"}.ion-android-car:before{content:"\\f36f"}.ion-android-cart:before{content:"\\f370"}.ion-android-chat:before{content:"\\f2d4"}.ion-android-checkbox:before{content:"\\f374"}.ion-android-checkbox-blank:before{content:"\\f371"}.ion-android-checkbox-outline:before{content:"\\f373"}.ion-android-checkbox-outline-blank:before{content:"\\f372"}.ion-android-checkmark-circle:before{content:"\\f375"}.ion-android-clipboard:before{content:"\\f376"}.ion-android-close:before{content:"\\f2d7"}.ion-android-cloud:before{content:"\\f37a"}.ion-android-cloud-circle:before{content:"\\f377"}.ion-android-cloud-done:before{content:"\\f378"}.ion-android-cloud-outline:before{content:"\\f379"}.ion-android-color-palette:before{content:"\\f37b"}.ion-android-compass:before{content:"\\f37c"}.ion-android-contact:before{content:"\\f2d8"}.ion-android-contacts:before{content:"\\f2d9"}.ion-android-contract:before{content:"\\f37d"}.ion-android-create:before{content:"\\f37e"}.ion-android-delete:before{content:"\\f37f"}.ion-android-desktop:before{content:"\\f380"}.ion-android-document:before{content:"\\f381"}.ion-android-done:before{content:"\\f383"}.ion-android-done-all:before{content:"\\f382"}.ion-android-download:before{content:"\\f2dd"}.ion-android-drafts:before{content:"\\f384"}.ion-android-exit:before{content:"\\f385"}.ion-android-expand:before{content:"\\f386"}.ion-android-favorite:before{content:"\\f388"}.ion-android-favorite-outline:before{content:"\\f387"}.ion-android-film:before{content:"\\f389"}.ion-android-folder:before{content:"\\f2e0"}.ion-android-folder-open:before{content:"\\f38a"}.ion-android-funnel:before{content:"\\f38b"}.ion-android-globe:before{content:"\\f38c"}.ion-android-hand:before{content:"\\f2e3"}.ion-android-hangout:before{content:"\\f38d"}.ion-android-happy:before{content:"\\f38e"}.ion-android-home:before{content:"\\f38f"}.ion-android-image:before{content:"\\f2e4"}.ion-android-laptop:before{content:"\\f390"}.ion-android-list:before{content:"\\f391"}.ion-android-locate:before{content:"\\f2e9"}.ion-android-lock:before{content:"\\f392"}.ion-android-mail:before{content:"\\f2eb"}.ion-android-map:before{content:"\\f393"}.ion-android-menu:before{content:"\\f394"}.ion-android-microphone:before{content:"\\f2ec"}.ion-android-microphone-off:before{content:"\\f395"}.ion-android-more-horizontal:before{content:"\\f396"}.ion-android-more-vertical:before{content:"\\f397"}.ion-android-navigate:before{content:"\\f398"}.ion-android-notifications:before{content:"\\f39b"}.ion-android-notifications-none:before{content:"\\f399"}.ion-android-notifications-off:before{content:"\\f39a"}.ion-android-open:before{content:"\\f39c"}.ion-android-options:before{content:"\\f39d"}.ion-android-people:before{content:"\\f39e"}.ion-android-person:before{content:"\\f3a0"}.ion-android-person-add:before{content:"\\f39f"}.ion-android-phone-landscape:before{content:"\\f3a1"}.ion-android-phone-portrait:before{content:"\\f3a2"}.ion-android-pin:before{content:"\\f3a3"}.ion-android-plane:before{content:"\\f3a4"}.ion-android-playstore:before{content:"\\f2f0"}.ion-android-print:before{content:"\\f3a5"}.ion-android-radio-button-off:before{content:"\\f3a6"}.ion-android-radio-button-on:before{content:"\\f3a7"}.ion-android-refresh:before{content:"\\f3a8"}.ion-android-remove:before{content:"\\f2f4"}.ion-android-remove-circle:before{content:"\\f3a9"}.ion-android-restaurant:before{content:"\\f3aa"}.ion-android-sad:before{content:"\\f3ab"}.ion-android-search:before{content:"\\f2f5"}.ion-android-send:before{content:"\\f2f6"}.ion-android-settings:before{content:"\\f2f7"}.ion-android-share:before{content:"\\f2f8"}.ion-android-share-alt:before{content:"\\f3ac"}.ion-android-star:before{content:"\\f2fc"}.ion-android-star-half:before{content:"\\f3ad"}.ion-android-star-outline:before{content:"\\f3ae"}.ion-android-stopwatch:before{content:"\\f2fd"}.ion-android-subway:before{content:"\\f3af"}.ion-android-sunny:before{content:"\\f3b0"}.ion-android-sync:before{content:"\\f3b1"}.ion-android-textsms:before{content:"\\f3b2"}.ion-android-time:before{content:"\\f3b3"}.ion-android-train:before{content:"\\f3b4"}.ion-android-unlock:before{content:"\\f3b5"}.ion-android-upload:before{content:"\\f3b6"}.ion-android-volume-down:before{content:"\\f3b7"}.ion-android-volume-mute:before{content:"\\f3b8"}.ion-android-volume-off:before{content:"\\f3b9"}.ion-android-volume-up:before{content:"\\f3ba"}.ion-android-walk:before{content:"\\f3bb"}.ion-android-warning:before{content:"\\f3bc"}.ion-android-watch:before{content:"\\f3bd"}.ion-android-wifi:before{content:"\\f305"}.ion-aperture:before{content:"\\f313"}.ion-archive:before{content:"\\f102"}.ion-arrow-down-a:before{content:"\\f103"}.ion-arrow-down-b:before{content:"\\f104"}.ion-arrow-down-c:before{content:"\\f105"}.ion-arrow-expand:before{content:"\\f25e"}.ion-arrow-graph-down-left:before{content:"\\f25f"}.ion-arrow-graph-down-right:before{content:"\\f260"}.ion-arrow-graph-up-left:before{content:"\\f261"}.ion-arrow-graph-up-right:before{content:"\\f262"}.ion-arrow-left-a:before{content:"\\f106"}.ion-arrow-left-b:before{content:"\\f107"}.ion-arrow-left-c:before{content:"\\f108"}.ion-arrow-move:before{content:"\\f263"}.ion-arrow-resize:before{content:"\\f264"}.ion-arrow-return-left:before{content:"\\f265"}.ion-arrow-return-right:before{content:"\\f266"}.ion-arrow-right-a:before{content:"\\f109"}.ion-arrow-right-b:before{content:"\\f10a"}.ion-arrow-right-c:before{content:"\\f10b"}.ion-arrow-shrink:before{content:"\\f267"}.ion-arrow-swap:before{content:"\\f268"}.ion-arrow-up-a:before{content:"\\f10c"}.ion-arrow-up-b:before{content:"\\f10d"}.ion-arrow-up-c:before{content:"\\f10e"}.ion-asterisk:before{content:"\\f314"}.ion-at:before{content:"\\f10f"}.ion-backspace:before{content:"\\f3bf"}.ion-backspace-outline:before{content:"\\f3be"}.ion-bag:before{content:"\\f110"}.ion-battery-charging:before{content:"\\f111"}.ion-battery-empty:before{content:"\\f112"}.ion-battery-full:before{content:"\\f113"}.ion-battery-half:before{content:"\\f114"}.ion-battery-low:before{content:"\\f115"}.ion-beaker:before{content:"\\f269"}.ion-beer:before{content:"\\f26a"}.ion-bluetooth:before{content:"\\f116"}.ion-bonfire:before{content:"\\f315"}.ion-bookmark:before{content:"\\f26b"}.ion-bowtie:before{content:"\\f3c0"}.ion-briefcase:before{content:"\\f26c"}.ion-bug:before{content:"\\f2be"}.ion-calculator:before{content:"\\f26d"}.ion-calendar:before{content:"\\f117"}.ion-camera:before{content:"\\f118"}.ion-card:before{content:"\\f119"}.ion-cash:before{content:"\\f316"}.ion-chatbox:before{content:"\\f11b"}.ion-chatbox-working:before{content:"\\f11a"}.ion-chatboxes:before{content:"\\f11c"}.ion-chatbubble:before{content:"\\f11e"}.ion-chatbubble-working:before{content:"\\f11d"}.ion-chatbubbles:before{content:"\\f11f"}.ion-checkmark:before{content:"\\f122"}.ion-checkmark-circled:before{content:"\\f120"}.ion-checkmark-round:before{content:"\\f121"}.ion-chevron-down:before{content:"\\f123"}.ion-chevron-left:before{content:"\\f124"}.ion-chevron-right:before{content:"\\f125"}.ion-chevron-up:before{content:"\\f126"}.ion-clipboard:before{content:"\\f127"}.ion-clock:before{content:"\\f26e"}.ion-close:before{content:"\\f12a"}.ion-close-circled:before{content:"\\f128"}.ion-close-round:before{content:"\\f129"}.ion-closed-captioning:before{content:"\\f317"}.ion-cloud:before{content:"\\f12b"}.ion-code:before{content:"\\f271"}.ion-code-download:before{content:"\\f26f"}.ion-code-working:before{content:"\\f270"}.ion-coffee:before{content:"\\f272"}.ion-compass:before{content:"\\f273"}.ion-compose:before{content:"\\f12c"}.ion-connection-bars:before{content:"\\f274"}.ion-contrast:before{content:"\\f275"}.ion-crop:before{content:"\\f3c1"}.ion-cube:before{content:"\\f318"}.ion-disc:before{content:"\\f12d"}.ion-document:before{content:"\\f12f"}.ion-document-text:before{content:"\\f12e"}.ion-drag:before{content:"\\f130"}.ion-earth:before{content:"\\f276"}.ion-easel:before{content:"\\f3c2"}.ion-edit:before{content:"\\f2bf"}.ion-egg:before{content:"\\f277"}.ion-eject:before{content:"\\f131"}.ion-email:before{content:"\\f132"}.ion-email-unread:before{content:"\\f3c3"}.ion-erlenmeyer-flask:before{content:"\\f3c5"}.ion-erlenmeyer-flask-bubbles:before{content:"\\f3c4"}.ion-eye:before{content:"\\f133"}.ion-eye-disabled:before{content:"\\f306"}.ion-female:before{content:"\\f278"}.ion-filing:before{content:"\\f134"}.ion-film-marker:before{content:"\\f135"}.ion-fireball:before{content:"\\f319"}.ion-flag:before{content:"\\f279"}.ion-flame:before{content:"\\f31a"}.ion-flash:before{content:"\\f137"}.ion-flash-off:before{content:"\\f136"}.ion-folder:before{content:"\\f139"}.ion-fork:before{content:"\\f27a"}.ion-fork-repo:before{content:"\\f2c0"}.ion-forward:before{content:"\\f13a"}.ion-funnel:before{content:"\\f31b"}.ion-gear-a:before{content:"\\f13d"}.ion-gear-b:before{content:"\\f13e"}.ion-grid:before{content:"\\f13f"}.ion-hammer:before{content:"\\f27b"}.ion-happy:before{content:"\\f31c"}.ion-happy-outline:before{content:"\\f3c6"}.ion-headphone:before{content:"\\f140"}.ion-heart:before{content:"\\f141"}.ion-heart-broken:before{content:"\\f31d"}.ion-help:before{content:"\\f143"}.ion-help-buoy:before{content:"\\f27c"}.ion-help-circled:before{content:"\\f142"}.ion-home:before{content:"\\f144"}.ion-icecream:before{content:"\\f27d"}.ion-image:before{content:"\\f147"}.ion-images:before{content:"\\f148"}.ion-information:before{content:"\\f14a"}.ion-information-circled:before{content:"\\f149"}.ion-ionic:before{content:"\\f14b"}.ion-ios-alarm:before{content:"\\f3c8"}.ion-ios-alarm-outline:before{content:"\\f3c7"}.ion-ios-albums:before{content:"\\f3ca"}.ion-ios-albums-outline:before{content:"\\f3c9"}.ion-ios-americanfootball:before{content:"\\f3cc"}.ion-ios-americanfootball-outline:before{content:"\\f3cb"}.ion-ios-analytics:before{content:"\\f3ce"}.ion-ios-analytics-outline:before{content:"\\f3cd"}.ion-ios-arrow-back:before{content:"\\f3cf"}.ion-ios-arrow-down:before{content:"\\f3d0"}.ion-ios-arrow-forward:before{content:"\\f3d1"}.ion-ios-arrow-left:before{content:"\\f3d2"}.ion-ios-arrow-right:before{content:"\\f3d3"}.ion-ios-arrow-thin-down:before{content:"\\f3d4"}.ion-ios-arrow-thin-left:before{content:"\\f3d5"}.ion-ios-arrow-thin-right:before{content:"\\f3d6"}.ion-ios-arrow-thin-up:before{content:"\\f3d7"}.ion-ios-arrow-up:before{content:"\\f3d8"}.ion-ios-at:before{content:"\\f3da"}.ion-ios-at-outline:before{content:"\\f3d9"}.ion-ios-barcode:before{content:"\\f3dc"}.ion-ios-barcode-outline:before{content:"\\f3db"}.ion-ios-baseball:before{content:"\\f3de"}.ion-ios-baseball-outline:before{content:"\\f3dd"}.ion-ios-basketball:before{content:"\\f3e0"}.ion-ios-basketball-outline:before{content:"\\f3df"}.ion-ios-bell:before{content:"\\f3e2"}.ion-ios-bell-outline:before{content:"\\f3e1"}.ion-ios-body:before{content:"\\f3e4"}.ion-ios-body-outline:before{content:"\\f3e3"}.ion-ios-bolt:before{content:"\\f3e6"}.ion-ios-bolt-outline:before{content:"\\f3e5"}.ion-ios-book:before{content:"\\f3e8"}.ion-ios-book-outline:before{content:"\\f3e7"}.ion-ios-bookmarks:before{content:"\\f3ea"}.ion-ios-bookmarks-outline:before{content:"\\f3e9"}.ion-ios-box:before{content:"\\f3ec"}.ion-ios-box-outline:before{content:"\\f3eb"}.ion-ios-briefcase:before{content:"\\f3ee"}.ion-ios-briefcase-outline:before{content:"\\f3ed"}.ion-ios-browsers:before{content:"\\f3f0"}.ion-ios-browsers-outline:before{content:"\\f3ef"}.ion-ios-calculator:before{content:"\\f3f2"}.ion-ios-calculator-outline:before{content:"\\f3f1"}.ion-ios-calendar:before{content:"\\f3f4"}.ion-ios-calendar-outline:before{content:"\\f3f3"}.ion-ios-camera:before{content:"\\f3f6"}.ion-ios-camera-outline:before{content:"\\f3f5"}.ion-ios-cart:before{content:"\\f3f8"}.ion-ios-cart-outline:before{content:"\\f3f7"}.ion-ios-chatboxes:before{content:"\\f3fa"}.ion-ios-chatboxes-outline:before{content:"\\f3f9"}.ion-ios-chatbubble:before{content:"\\f3fc"}.ion-ios-chatbubble-outline:before{content:"\\f3fb"}.ion-ios-checkmark:before{content:"\\f3ff"}.ion-ios-checkmark-empty:before{content:"\\f3fd"}.ion-ios-checkmark-outline:before{content:"\\f3fe"}.ion-ios-circle-filled:before{content:"\\f400"}.ion-ios-circle-outline:before{content:"\\f401"}.ion-ios-clock:before{content:"\\f403"}.ion-ios-clock-outline:before{content:"\\f402"}.ion-ios-close:before{content:"\\f406"}.ion-ios-close-empty:before{content:"\\f404"}.ion-ios-close-outline:before{content:"\\f405"}.ion-ios-cloud:before{content:"\\f40c"}.ion-ios-cloud-download:before{content:"\\f408"}.ion-ios-cloud-download-outline:before{content:"\\f407"}.ion-ios-cloud-outline:before{content:"\\f409"}.ion-ios-cloud-upload:before{content:"\\f40b"}.ion-ios-cloud-upload-outline:before{content:"\\f40a"}.ion-ios-cloudy:before{content:"\\f410"}.ion-ios-cloudy-night:before{content:"\\f40e"}.ion-ios-cloudy-night-outline:before{content:"\\f40d"}.ion-ios-cloudy-outline:before{content:"\\f40f"}.ion-ios-cog:before{content:"\\f412"}.ion-ios-cog-outline:before{content:"\\f411"}.ion-ios-color-filter:before{content:"\\f414"}.ion-ios-color-filter-outline:before{content:"\\f413"}.ion-ios-color-wand:before{content:"\\f416"}.ion-ios-color-wand-outline:before{content:"\\f415"}.ion-ios-compose:before{content:"\\f418"}.ion-ios-compose-outline:before{content:"\\f417"}.ion-ios-contact:before{content:"\\f41a"}.ion-ios-contact-outline:before{content:"\\f419"}.ion-ios-copy:before{content:"\\f41c"}.ion-ios-copy-outline:before{content:"\\f41b"}.ion-ios-crop:before{content:"\\f41e"}.ion-ios-crop-strong:before{content:"\\f41d"}.ion-ios-download:before{content:"\\f420"}.ion-ios-download-outline:before{content:"\\f41f"}.ion-ios-drag:before{content:"\\f421"}.ion-ios-email:before{content:"\\f423"}.ion-ios-email-outline:before{content:"\\f422"}.ion-ios-eye:before{content:"\\f425"}.ion-ios-eye-outline:before{content:"\\f424"}.ion-ios-fastforward:before{content:"\\f427"}.ion-ios-fastforward-outline:before{content:"\\f426"}.ion-ios-filing:before{content:"\\f429"}.ion-ios-filing-outline:before{content:"\\f428"}.ion-ios-film:before{content:"\\f42b"}.ion-ios-film-outline:before{content:"\\f42a"}.ion-ios-flag:before{content:"\\f42d"}.ion-ios-flag-outline:before{content:"\\f42c"}.ion-ios-flame:before{content:"\\f42f"}.ion-ios-flame-outline:before{content:"\\f42e"}.ion-ios-flask:before{content:"\\f431"}.ion-ios-flask-outline:before{content:"\\f430"}.ion-ios-flower:before{content:"\\f433"}.ion-ios-flower-outline:before{content:"\\f432"}.ion-ios-folder:before{content:"\\f435"}.ion-ios-folder-outline:before{content:"\\f434"}.ion-ios-football:before{content:"\\f437"}.ion-ios-football-outline:before{content:"\\f436"}.ion-ios-game-controller-a:before{content:"\\f439"}.ion-ios-game-controller-a-outline:before{content:"\\f438"}.ion-ios-game-controller-b:before{content:"\\f43b"}.ion-ios-game-controller-b-outline:before{content:"\\f43a"}.ion-ios-gear:before{content:"\\f43d"}.ion-ios-gear-outline:before{content:"\\f43c"}.ion-ios-glasses:before{content:"\\f43f"}.ion-ios-glasses-outline:before{content:"\\f43e"}.ion-ios-grid-view:before{content:"\\f441"}.ion-ios-grid-view-outline:before{content:"\\f440"}.ion-ios-heart:before{content:"\\f443"}.ion-ios-heart-outline:before{content:"\\f442"}.ion-ios-help:before{content:"\\f446"}.ion-ios-help-empty:before{content:"\\f444"}.ion-ios-help-outline:before{content:"\\f445"}.ion-ios-home:before{content:"\\f448"}.ion-ios-home-outline:before{content:"\\f447"}.ion-ios-infinite:before{content:"\\f44a"}.ion-ios-infinite-outline:before{content:"\\f449"}.ion-ios-information:before{content:"\\f44d"}.ion-ios-information-empty:before{content:"\\f44b"}.ion-ios-information-outline:before{content:"\\f44c"}.ion-ios-ionic-outline:before{content:"\\f44e"}.ion-ios-keypad:before{content:"\\f450"}.ion-ios-keypad-outline:before{content:"\\f44f"}.ion-ios-lightbulb:before{content:"\\f452"}.ion-ios-lightbulb-outline:before{content:"\\f451"}.ion-ios-list:before{content:"\\f454"}.ion-ios-list-outline:before{content:"\\f453"}.ion-ios-location:before{content:"\\f456"}.ion-ios-location-outline:before{content:"\\f455"}.ion-ios-locked:before{content:"\\f458"}.ion-ios-locked-outline:before{content:"\\f457"}.ion-ios-loop:before{content:"\\f45a"}.ion-ios-loop-strong:before{content:"\\f459"}.ion-ios-medical:before{content:"\\f45c"}.ion-ios-medical-outline:before{content:"\\f45b"}.ion-ios-medkit:before{content:"\\f45e"}.ion-ios-medkit-outline:before{content:"\\f45d"}.ion-ios-mic:before{content:"\\f461"}.ion-ios-mic-off:before{content:"\\f45f"}.ion-ios-mic-outline:before{content:"\\f460"}.ion-ios-minus:before{content:"\\f464"}.ion-ios-minus-empty:before{content:"\\f462"}.ion-ios-minus-outline:before{content:"\\f463"}.ion-ios-monitor:before{content:"\\f466"}.ion-ios-monitor-outline:before{content:"\\f465"}.ion-ios-moon:before{content:"\\f468"}.ion-ios-moon-outline:before{content:"\\f467"}.ion-ios-more:before{content:"\\f46a"}.ion-ios-more-outline:before{content:"\\f469"}.ion-ios-musical-note:before{content:"\\f46b"}.ion-ios-musical-notes:before{content:"\\f46c"}.ion-ios-navigate:before{content:"\\f46e"}.ion-ios-navigate-outline:before{content:"\\f46d"}.ion-ios-nutrition:before{content:"\\f470"}.ion-ios-nutrition-outline:before{content:"\\f46f"}.ion-ios-paper:before{content:"\\f472"}.ion-ios-paper-outline:before{content:"\\f471"}.ion-ios-paperplane:before{content:"\\f474"}.ion-ios-paperplane-outline:before{content:"\\f473"}.ion-ios-partlysunny:before{content:"\\f476"}.ion-ios-partlysunny-outline:before{content:"\\f475"}.ion-ios-pause:before{content:"\\f478"}.ion-ios-pause-outline:before{content:"\\f477"}.ion-ios-paw:before{content:"\\f47a"}.ion-ios-paw-outline:before{content:"\\f479"}.ion-ios-people:before{content:"\\f47c"}.ion-ios-people-outline:before{content:"\\f47b"}.ion-ios-person:before{content:"\\f47e"}.ion-ios-person-outline:before{content:"\\f47d"}.ion-ios-personadd:before{content:"\\f480"}.ion-ios-personadd-outline:before{content:"\\f47f"}.ion-ios-photos:before{content:"\\f482"}.ion-ios-photos-outline:before{content:"\\f481"}.ion-ios-pie:before{content:"\\f484"}.ion-ios-pie-outline:before{content:"\\f483"}.ion-ios-pint:before{content:"\\f486"}.ion-ios-pint-outline:before{content:"\\f485"}.ion-ios-play:before{content:"\\f488"}.ion-ios-play-outline:before{content:"\\f487"}.ion-ios-plus:before{content:"\\f48b"}.ion-ios-plus-empty:before{content:"\\f489"}.ion-ios-plus-outline:before{content:"\\f48a"}.ion-ios-pricetag:before{content:"\\f48d"}.ion-ios-pricetag-outline:before{content:"\\f48c"}.ion-ios-pricetags:before{content:"\\f48f"}.ion-ios-pricetags-outline:before{content:"\\f48e"}.ion-ios-printer:before{content:"\\f491"}.ion-ios-printer-outline:before{content:"\\f490"}.ion-ios-pulse:before{content:"\\f493"}.ion-ios-pulse-strong:before{content:"\\f492"}.ion-ios-rainy:before{content:"\\f495"}.ion-ios-rainy-outline:before{content:"\\f494"}.ion-ios-recording:before{content:"\\f497"}.ion-ios-recording-outline:before{content:"\\f496"}.ion-ios-redo:before{content:"\\f499"}.ion-ios-redo-outline:before{content:"\\f498"}.ion-ios-refresh:before{content:"\\f49c"}.ion-ios-refresh-empty:before{content:"\\f49a"}.ion-ios-refresh-outline:before{content:"\\f49b"}.ion-ios-reload:before{content:"\\f49d"}.ion-ios-reverse-camera:before{content:"\\f49f"}.ion-ios-reverse-camera-outline:before{content:"\\f49e"}.ion-ios-rewind:before{content:"\\f4a1"}.ion-ios-rewind-outline:before{content:"\\f4a0"}.ion-ios-rose:before{content:"\\f4a3"}.ion-ios-rose-outline:before{content:"\\f4a2"}.ion-ios-search:before{content:"\\f4a5"}.ion-ios-search-strong:before{content:"\\f4a4"}.ion-ios-settings:before{content:"\\f4a7"}.ion-ios-settings-strong:before{content:"\\f4a6"}.ion-ios-shuffle:before{content:"\\f4a9"}.ion-ios-shuffle-strong:before{content:"\\f4a8"}.ion-ios-skipbackward:before{content:"\\f4ab"}.ion-ios-skipbackward-outline:before{content:"\\f4aa"}.ion-ios-skipforward:before{content:"\\f4ad"}.ion-ios-skipforward-outline:before{content:"\\f4ac"}.ion-ios-snowy:before{content:"\\f4ae"}.ion-ios-speedometer:before{content:"\\f4b0"}.ion-ios-speedometer-outline:before{content:"\\f4af"}.ion-ios-star:before{content:"\\f4b3"}.ion-ios-star-half:before{content:"\\f4b1"}.ion-ios-star-outline:before{content:"\\f4b2"}.ion-ios-stopwatch:before{content:"\\f4b5"}.ion-ios-stopwatch-outline:before{content:"\\f4b4"}.ion-ios-sunny:before{content:"\\f4b7"}.ion-ios-sunny-outline:before{content:"\\f4b6"}.ion-ios-telephone:before{content:"\\f4b9"}.ion-ios-telephone-outline:before{content:"\\f4b8"}.ion-ios-tennisball:before{content:"\\f4bb"}.ion-ios-tennisball-outline:before{content:"\\f4ba"}.ion-ios-thunderstorm:before{content:"\\f4bd"}.ion-ios-thunderstorm-outline:before{content:"\\f4bc"}.ion-ios-time:before{content:"\\f4bf"}.ion-ios-time-outline:before{content:"\\f4be"}.ion-ios-timer:before{content:"\\f4c1"}.ion-ios-timer-outline:before{content:"\\f4c0"}.ion-ios-toggle:before{content:"\\f4c3"}.ion-ios-toggle-outline:before{content:"\\f4c2"}.ion-ios-trash:before{content:"\\f4c5"}.ion-ios-trash-outline:before{content:"\\f4c4"}.ion-ios-undo:before{content:"\\f4c7"}.ion-ios-undo-outline:before{content:"\\f4c6"}.ion-ios-unlocked:before{content:"\\f4c9"}.ion-ios-unlocked-outline:before{content:"\\f4c8"}.ion-ios-upload:before{content:"\\f4cb"}.ion-ios-upload-outline:before{content:"\\f4ca"}.ion-ios-videocam:before{content:"\\f4cd"}.ion-ios-videocam-outline:before{content:"\\f4cc"}.ion-ios-volume-high:before{content:"\\f4ce"}.ion-ios-volume-low:before{content:"\\f4cf"}.ion-ios-wineglass:before{content:"\\f4d1"}.ion-ios-wineglass-outline:before{content:"\\f4d0"}.ion-ios-world:before{content:"\\f4d3"}.ion-ios-world-outline:before{content:"\\f4d2"}.ion-ipad:before{content:"\\f1f9"}.ion-iphone:before{content:"\\f1fa"}.ion-ipod:before{content:"\\f1fb"}.ion-jet:before{content:"\\f295"}.ion-key:before{content:"\\f296"}.ion-knife:before{content:"\\f297"}.ion-laptop:before{content:"\\f1fc"}.ion-leaf:before{content:"\\f1fd"}.ion-levels:before{content:"\\f298"}.ion-lightbulb:before{content:"\\f299"}.ion-link:before{content:"\\f1fe"}.ion-load-a:before{content:"\\f29a"}.ion-load-b:before{content:"\\f29b"}.ion-load-c:before{content:"\\f29c"}.ion-load-d:before{content:"\\f29d"}.ion-location:before{content:"\\f1ff"}.ion-lock-combination:before{content:"\\f4d4"}.ion-locked:before{content:"\\f200"}.ion-log-in:before{content:"\\f29e"}.ion-log-out:before{content:"\\f29f"}.ion-loop:before{content:"\\f201"}.ion-magnet:before{content:"\\f2a0"}.ion-male:before{content:"\\f2a1"}.ion-man:before{content:"\\f202"}.ion-map:before{content:"\\f203"}.ion-medkit:before{content:"\\f2a2"}.ion-merge:before{content:"\\f33f"}.ion-mic-a:before{content:"\\f204"}.ion-mic-b:before{content:"\\f205"}.ion-mic-c:before{content:"\\f206"}.ion-minus:before{content:"\\f209"}.ion-minus-circled:before{content:"\\f207"}.ion-minus-round:before{content:"\\f208"}.ion-model-s:before{content:"\\f2c1"}.ion-monitor:before{content:"\\f20a"}.ion-more:before{content:"\\f20b"}.ion-mouse:before{content:"\\f340"}.ion-music-note:before{content:"\\f20c"}.ion-navicon:before{content:"\\f20e"}.ion-navicon-round:before{content:"\\f20d"}.ion-navigate:before{content:"\\f2a3"}.ion-network:before{content:"\\f341"}.ion-no-smoking:before{content:"\\f2c2"}.ion-nuclear:before{content:"\\f2a4"}.ion-outlet:before{content:"\\f342"}.ion-paintbrush:before{content:"\\f4d5"}.ion-paintbucket:before{content:"\\f4d6"}.ion-paper-airplane:before{content:"\\f2c3"}.ion-paperclip:before{content:"\\f20f"}.ion-pause:before{content:"\\f210"}.ion-person:before{content:"\\f213"}.ion-person-add:before{content:"\\f211"}.ion-person-stalker:before{content:"\\f212"}.ion-pie-graph:before{content:"\\f2a5"}.ion-pin:before{content:"\\f2a6"}.ion-pinpoint:before{content:"\\f2a7"}.ion-pizza:before{content:"\\f2a8"}.ion-plane:before{content:"\\f214"}.ion-planet:before{content:"\\f343"}.ion-play:before{content:"\\f215"}.ion-playstation:before{content:"\\f30a"}.ion-plus:before{content:"\\f218"}.ion-plus-circled:before{content:"\\f216"}.ion-plus-round:before{content:"\\f217"}.ion-podium:before{content:"\\f344"}.ion-pound:before{content:"\\f219"}.ion-power:before{content:"\\f2a9"}.ion-pricetag:before{content:"\\f2aa"}.ion-pricetags:before{content:"\\f2ab"}.ion-printer:before{content:"\\f21a"}.ion-pull-request:before{content:"\\f345"}.ion-qr-scanner:before{content:"\\f346"}.ion-quote:before{content:"\\f347"}.ion-radio-waves:before{content:"\\f2ac"}.ion-record:before{content:"\\f21b"}.ion-refresh:before{content:"\\f21c"}.ion-reply:before{content:"\\f21e"}.ion-reply-all:before{content:"\\f21d"}.ion-ribbon-a:before{content:"\\f348"}.ion-ribbon-b:before{content:"\\f349"}.ion-sad:before{content:"\\f34a"}.ion-sad-outline:before{content:"\\f4d7"}.ion-scissors:before{content:"\\f34b"}.ion-search:before{content:"\\f21f"}.ion-settings:before{content:"\\f2ad"}.ion-share:before{content:"\\f220"}.ion-shuffle:before{content:"\\f221"}.ion-skip-backward:before{content:"\\f222"}.ion-skip-forward:before{content:"\\f223"}.ion-social-android:before{content:"\\f225"}.ion-social-android-outline:before{content:"\\f224"}.ion-social-angular:before{content:"\\f4d9"}.ion-social-angular-outline:before{content:"\\f4d8"}.ion-social-apple:before{content:"\\f227"}.ion-social-apple-outline:before{content:"\\f226"}.ion-social-bitcoin:before{content:"\\f2af"}.ion-social-bitcoin-outline:before{content:"\\f2ae"}.ion-social-buffer:before{content:"\\f229"}.ion-social-buffer-outline:before{content:"\\f228"}.ion-social-chrome:before{content:"\\f4db"}.ion-social-chrome-outline:before{content:"\\f4da"}.ion-social-codepen:before{content:"\\f4dd"}.ion-social-codepen-outline:before{content:"\\f4dc"}.ion-social-css3:before{content:"\\f4df"}.ion-social-css3-outline:before{content:"\\f4de"}.ion-social-designernews:before{content:"\\f22b"}.ion-social-designernews-outline:before{content:"\\f22a"}.ion-social-dribbble:before{content:"\\f22d"}.ion-social-dribbble-outline:before{content:"\\f22c"}.ion-social-dropbox:before{content:"\\f22f"}.ion-social-dropbox-outline:before{content:"\\f22e"}.ion-social-euro:before{content:"\\f4e1"}.ion-social-euro-outline:before{content:"\\f4e0"}.ion-social-facebook:before{content:"\\f231"}.ion-social-facebook-outline:before{content:"\\f230"}.ion-social-foursquare:before{content:"\\f34d"}.ion-social-foursquare-outline:before{content:"\\f34c"}.ion-social-freebsd-devil:before{content:"\\f2c4"}.ion-social-github:before{content:"\\f233"}.ion-social-github-outline:before{content:"\\f232"}.ion-social-google:before{content:"\\f34f"}.ion-social-google-outline:before{content:"\\f34e"}.ion-social-googleplus:before{content:"\\f235"}.ion-social-googleplus-outline:before{content:"\\f234"}.ion-social-hackernews:before{content:"\\f237"}.ion-social-hackernews-outline:before{content:"\\f236"}.ion-social-html5:before{content:"\\f4e3"}.ion-social-html5-outline:before{content:"\\f4e2"}.ion-social-instagram:before{content:"\\f351"}.ion-social-instagram-outline:before{content:"\\f350"}.ion-social-javascript:before{content:"\\f4e5"}.ion-social-javascript-outline:before{content:"\\f4e4"}.ion-social-linkedin:before{content:"\\f239"}.ion-social-linkedin-outline:before{content:"\\f238"}.ion-social-markdown:before{content:"\\f4e6"}.ion-social-nodejs:before{content:"\\f4e7"}.ion-social-octocat:before{content:"\\f4e8"}.ion-social-pinterest:before{content:"\\f2b1"}.ion-social-pinterest-outline:before{content:"\\f2b0"}.ion-social-python:before{content:"\\f4e9"}.ion-social-reddit:before{content:"\\f23b"}.ion-social-reddit-outline:before{content:"\\f23a"}.ion-social-rss:before{content:"\\f23d"}.ion-social-rss-outline:before{content:"\\f23c"}.ion-social-sass:before{content:"\\f4ea"}.ion-social-skype:before{content:"\\f23f"}.ion-social-skype-outline:before{content:"\\f23e"}.ion-social-snapchat:before{content:"\\f4ec"}.ion-social-snapchat-outline:before{content:"\\f4eb"}.ion-social-tumblr:before{content:"\\f241"}.ion-social-tumblr-outline:before{content:"\\f240"}.ion-social-tux:before{content:"\\f2c5"}.ion-social-twitch:before{content:"\\f4ee"}.ion-social-twitch-outline:before{content:"\\f4ed"}.ion-social-twitter:before{content:"\\f243"}.ion-social-twitter-outline:before{content:"\\f242"}.ion-social-usd:before{content:"\\f353"}.ion-social-usd-outline:before{content:"\\f352"}.ion-social-vimeo:before{content:"\\f245"}.ion-social-vimeo-outline:before{content:"\\f244"}.ion-social-whatsapp:before{content:"\\f4f0"}.ion-social-whatsapp-outline:before{content:"\\f4ef"}.ion-social-windows:before{content:"\\f247"}.ion-social-windows-outline:before{content:"\\f246"}.ion-social-wordpress:before{content:"\\f249"}.ion-social-wordpress-outline:before{content:"\\f248"}.ion-social-yahoo:before{content:"\\f24b"}.ion-social-yahoo-outline:before{content:"\\f24a"}.ion-social-yen:before{content:"\\f4f2"}.ion-social-yen-outline:before{content:"\\f4f1"}.ion-social-youtube:before{content:"\\f24d"}.ion-social-youtube-outline:before{content:"\\f24c"}.ion-soup-can:before{content:"\\f4f4"}.ion-soup-can-outline:before{content:"\\f4f3"}.ion-speakerphone:before{content:"\\f2b2"}.ion-speedometer:before{content:"\\f2b3"}.ion-spoon:before{content:"\\f2b4"}.ion-star:before{content:"\\f24e"}.ion-stats-bars:before{content:"\\f2b5"}.ion-steam:before{content:"\\f30b"}.ion-stop:before{content:"\\f24f"}.ion-thermometer:before{content:"\\f2b6"}.ion-thumbsdown:before{content:"\\f250"}.ion-thumbsup:before{content:"\\f251"}.ion-toggle:before{content:"\\f355"}.ion-toggle-filled:before{content:"\\f354"}.ion-transgender:before{content:"\\f4f5"}.ion-trash-a:before{content:"\\f252"}.ion-trash-b:before{content:"\\f253"}.ion-trophy:before{content:"\\f356"}.ion-tshirt:before{content:"\\f4f7"}.ion-tshirt-outline:before{content:"\\f4f6"}.ion-umbrella:before{content:"\\f2b7"}.ion-university:before{content:"\\f357"}.ion-unlocked:before{content:"\\f254"}.ion-upload:before{content:"\\f255"}.ion-usb:before{content:"\\f2b8"}.ion-videocamera:before{content:"\\f256"}.ion-volume-high:before{content:"\\f257"}.ion-volume-low:before{content:"\\f258"}.ion-volume-medium:before{content:"\\f259"}.ion-volume-mute:before{content:"\\f25a"}.ion-wand:before{content:"\\f358"}.ion-waterdrop:before{content:"\\f25b"}.ion-wifi:before{content:"\\f25c"}.ion-wineglass:before{content:"\\f2b9"}.ion-woman:before{content:"\\f25d"}.ion-wrench:before{content:"\\f2ba"}.ion-xbox:before{content:"\\f30c"}/*!\n * Bootstrap v3.3.6 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:\'Glyphicons Halflings\';src:url(vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.eot);src:url(vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.eot?#iefix) format(\'embedded-opentype\'),url(vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2) format(\'woff2\'),url(vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff) format(\'woff\'),url(vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf) format(\'truetype\'),url(vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format(\'svg\')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:\'Glyphicons Halflings\';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\\002a"}.glyphicon-plus:before{content:"\\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\\20ac"}.glyphicon-minus:before{content:"\\2212"}.glyphicon-cloud:before{content:"\\2601"}.glyphicon-envelope:before{content:"\\2709"}.glyphicon-pencil:before{content:"\\270f"}.glyphicon-glass:before{content:"\\e001"}.glyphicon-music:before{content:"\\e002"}.glyphicon-search:before{content:"\\e003"}.glyphicon-heart:before{content:"\\e005"}.glyphicon-star:before{content:"\\e006"}.glyphicon-star-empty:before{content:"\\e007"}.glyphicon-user:before{content:"\\e008"}.glyphicon-film:before{content:"\\e009"}.glyphicon-th-large:before{content:"\\e010"}.glyphicon-th:before{content:"\\e011"}.glyphicon-th-list:before{content:"\\e012"}.glyphicon-ok:before{content:"\\e013"}.glyphicon-remove:before{content:"\\e014"}.glyphicon-zoom-in:before{content:"\\e015"}.glyphicon-zoom-out:before{content:"\\e016"}.glyphicon-off:before{content:"\\e017"}.glyphicon-signal:before{content:"\\e018"}.glyphicon-cog:before{content:"\\e019"}.glyphicon-trash:before{content:"\\e020"}.glyphicon-home:before{content:"\\e021"}.glyphicon-file:before{content:"\\e022"}.glyphicon-time:before{content:"\\e023"}.glyphicon-road:before{content:"\\e024"}.glyphicon-download-alt:before{content:"\\e025"}.glyphicon-download:before{content:"\\e026"}.glyphicon-upload:before{content:"\\e027"}.glyphicon-inbox:before{content:"\\e028"}.glyphicon-play-circle:before{content:"\\e029"}.glyphicon-repeat:before{content:"\\e030"}.glyphicon-refresh:before{content:"\\e031"}.glyphicon-list-alt:before{content:"\\e032"}.glyphicon-lock:before{content:"\\e033"}.glyphicon-flag:before{content:"\\e034"}.glyphicon-headphones:before{content:"\\e035"}.glyphicon-volume-off:before{content:"\\e036"}.glyphicon-volume-down:before{content:"\\e037"}.glyphicon-volume-up:before{content:"\\e038"}.glyphicon-qrcode:before{content:"\\e039"}.glyphicon-barcode:before{content:"\\e040"}.glyphicon-tag:before{content:"\\e041"}.glyphicon-tags:before{content:"\\e042"}.glyphicon-book:before{content:"\\e043"}.glyphicon-bookmark:before{content:"\\e044"}.glyphicon-print:before{content:"\\e045"}.glyphicon-camera:before{content:"\\e046"}.glyphicon-font:before{content:"\\e047"}.glyphicon-bold:before{content:"\\e048"}.glyphicon-italic:before{content:"\\e049"}.glyphicon-text-height:before{content:"\\e050"}.glyphicon-text-width:before{content:"\\e051"}.glyphicon-align-left:before{content:"\\e052"}.glyphicon-align-center:before{content:"\\e053"}.glyphicon-align-right:before{content:"\\e054"}.glyphicon-align-justify:before{content:"\\e055"}.glyphicon-list:before{content:"\\e056"}.glyphicon-indent-left:before{content:"\\e057"}.glyphicon-indent-right:before{content:"\\e058"}.glyphicon-facetime-video:before{content:"\\e059"}.glyphicon-picture:before{content:"\\e060"}.glyphicon-map-marker:before{content:"\\e062"}.glyphicon-adjust:before{content:"\\e063"}.glyphicon-tint:before{content:"\\e064"}.glyphicon-edit:before{content:"\\e065"}.glyphicon-share:before{content:"\\e066"}.glyphicon-check:before{content:"\\e067"}.glyphicon-move:before{content:"\\e068"}.glyphicon-step-backward:before{content:"\\e069"}.glyphicon-fast-backward:before{content:"\\e070"}.glyphicon-backward:before{content:"\\e071"}.glyphicon-play:before{content:"\\e072"}.glyphicon-pause:before{content:"\\e073"}.glyphicon-stop:before{content:"\\e074"}.glyphicon-forward:before{content:"\\e075"}.glyphicon-fast-forward:before{content:"\\e076"}.glyphicon-step-forward:before{content:"\\e077"}.glyphicon-eject:before{content:"\\e078"}.glyphicon-chevron-left:before{content:"\\e079"}.glyphicon-chevron-right:before{content:"\\e080"}.glyphicon-plus-sign:before{content:"\\e081"}.glyphicon-minus-sign:before{content:"\\e082"}.glyphicon-remove-sign:before{content:"\\e083"}.glyphicon-ok-sign:before{content:"\\e084"}.glyphicon-question-sign:before{content:"\\e085"}.glyphicon-info-sign:before{content:"\\e086"}.glyphicon-screenshot:before{content:"\\e087"}.glyphicon-remove-circle:before{content:"\\e088"}.glyphicon-ok-circle:before{content:"\\e089"}.glyphicon-ban-circle:before{content:"\\e090"}.glyphicon-arrow-left:before{content:"\\e091"}.glyphicon-arrow-right:before{content:"\\e092"}.glyphicon-arrow-up:before{content:"\\e093"}.glyphicon-arrow-down:before{content:"\\e094"}.glyphicon-share-alt:before{content:"\\e095"}.glyphicon-resize-full:before{content:"\\e096"}.glyphicon-resize-small:before{content:"\\e097"}.glyphicon-exclamation-sign:before{content:"\\e101"}.glyphicon-gift:before{content:"\\e102"}.glyphicon-leaf:before{content:"\\e103"}.glyphicon-fire:before{content:"\\e104"}.glyphicon-eye-open:before{content:"\\e105"}.glyphicon-eye-close:before{content:"\\e106"}.glyphicon-warning-sign:before{content:"\\e107"}.glyphicon-plane:before{content:"\\e108"}.glyphicon-calendar:before{content:"\\e109"}.glyphicon-random:before{content:"\\e110"}.glyphicon-comment:before{content:"\\e111"}.glyphicon-magnet:before{content:"\\e112"}.glyphicon-chevron-up:before{content:"\\e113"}.glyphicon-chevron-down:before{content:"\\e114"}.glyphicon-retweet:before{content:"\\e115"}.glyphicon-shopping-cart:before{content:"\\e116"}.glyphicon-folder-close:before{content:"\\e117"}.glyphicon-folder-open:before{content:"\\e118"}.glyphicon-resize-vertical:before{content:"\\e119"}.glyphicon-resize-horizontal:before{content:"\\e120"}.glyphicon-hdd:before{content:"\\e121"}.glyphicon-bullhorn:before{content:"\\e122"}.glyphicon-bell:before{content:"\\e123"}.glyphicon-certificate:before{content:"\\e124"}.glyphicon-thumbs-up:before{content:"\\e125"}.glyphicon-thumbs-down:before{content:"\\e126"}.glyphicon-hand-right:before{content:"\\e127"}.glyphicon-hand-left:before{content:"\\e128"}.glyphicon-hand-up:before{content:"\\e129"}.glyphicon-hand-down:before{content:"\\e130"}.glyphicon-circle-arrow-right:before{content:"\\e131"}.glyphicon-circle-arrow-left:before{content:"\\e132"}.glyphicon-circle-arrow-up:before{content:"\\e133"}.glyphicon-circle-arrow-down:before{content:"\\e134"}.glyphicon-globe:before{content:"\\e135"}.glyphicon-wrench:before{content:"\\e136"}.glyphicon-tasks:before{content:"\\e137"}.glyphicon-filter:before{content:"\\e138"}.glyphicon-briefcase:before{content:"\\e139"}.glyphicon-fullscreen:before{content:"\\e140"}.glyphicon-dashboard:before{content:"\\e141"}.glyphicon-paperclip:before{content:"\\e142"}.glyphicon-heart-empty:before{content:"\\e143"}.glyphicon-link:before{content:"\\e144"}.glyphicon-phone:before{content:"\\e145"}.glyphicon-pushpin:before{content:"\\e146"}.glyphicon-usd:before{content:"\\e148"}.glyphicon-gbp:before{content:"\\e149"}.glyphicon-sort:before{content:"\\e150"}.glyphicon-sort-by-alphabet:before{content:"\\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\\e152"}.glyphicon-sort-by-order:before{content:"\\e153"}.glyphicon-sort-by-order-alt:before{content:"\\e154"}.glyphicon-sort-by-attributes:before{content:"\\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\\e156"}.glyphicon-unchecked:before{content:"\\e157"}.glyphicon-expand:before{content:"\\e158"}.glyphicon-collapse-down:before{content:"\\e159"}.glyphicon-collapse-up:before{content:"\\e160"}.glyphicon-log-in:before{content:"\\e161"}.glyphicon-flash:before{content:"\\e162"}.glyphicon-log-out:before{content:"\\e163"}.glyphicon-new-window:before{content:"\\e164"}.glyphicon-record:before{content:"\\e165"}.glyphicon-save:before{content:"\\e166"}.glyphicon-open:before{content:"\\e167"}.glyphicon-saved:before{content:"\\e168"}.glyphicon-import:before{content:"\\e169"}.glyphicon-export:before{content:"\\e170"}.glyphicon-send:before{content:"\\e171"}.glyphicon-floppy-disk:before{content:"\\e172"}.glyphicon-floppy-saved:before{content:"\\e173"}.glyphicon-floppy-remove:before{content:"\\e174"}.glyphicon-floppy-save:before{content:"\\e175"}.glyphicon-floppy-open:before{content:"\\e176"}.glyphicon-credit-card:before{content:"\\e177"}.glyphicon-transfer:before{content:"\\e178"}.glyphicon-cutlery:before{content:"\\e179"}.glyphicon-header:before{content:"\\e180"}.glyphicon-compressed:before{content:"\\e181"}.glyphicon-earphone:before{content:"\\e182"}.glyphicon-phone-alt:before{content:"\\e183"}.glyphicon-tower:before{content:"\\e184"}.glyphicon-stats:before{content:"\\e185"}.glyphicon-sd-video:before{content:"\\e186"}.glyphicon-hd-video:before{content:"\\e187"}.glyphicon-subtitles:before{content:"\\e188"}.glyphicon-sound-stereo:before{content:"\\e189"}.glyphicon-sound-dolby:before{content:"\\e190"}.glyphicon-sound-5-1:before{content:"\\e191"}.glyphicon-sound-6-1:before{content:"\\e192"}.glyphicon-sound-7-1:before{content:"\\e193"}.glyphicon-copyright-mark:before{content:"\\e194"}.glyphicon-registration-mark:before{content:"\\e195"}.glyphicon-cloud-download:before{content:"\\e197"}.glyphicon-cloud-upload:before{content:"\\e198"}.glyphicon-tree-conifer:before{content:"\\e199"}.glyphicon-tree-deciduous:before{content:"\\e200"}.glyphicon-cd:before{content:"\\e201"}.glyphicon-save-file:before{content:"\\e202"}.glyphicon-open-file:before{content:"\\e203"}.glyphicon-level-up:before{content:"\\e204"}.glyphicon-copy:before{content:"\\e205"}.glyphicon-paste:before{content:"\\e206"}.glyphicon-alert:before{content:"\\e209"}.glyphicon-equalizer:before{content:"\\e210"}.glyphicon-king:before{content:"\\e211"}.glyphicon-queen:before{content:"\\e212"}.glyphicon-pawn:before{content:"\\e213"}.glyphicon-bishop:before{content:"\\e214"}.glyphicon-knight:before{content:"\\e215"}.glyphicon-baby-formula:before{content:"\\e216"}.glyphicon-tent:before{content:"\\26fa"}.glyphicon-blackboard:before{content:"\\e218"}.glyphicon-bed:before{content:"\\e219"}.glyphicon-apple:before{content:"\\f8ff"}.glyphicon-erase:before{content:"\\e221"}.glyphicon-hourglass:before{content:"\\231b"}.glyphicon-lamp:before{content:"\\e223"}.glyphicon-duplicate:before{content:"\\e224"}.glyphicon-piggy-bank:before{content:"\\e225"}.glyphicon-scissors:before{content:"\\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\\20bd"}.glyphicon-scale:before{content:"\\e230"}.glyphicon-ice-lolly:before{content:"\\e231"}.glyphicon-ice-lolly-tasted:before{content:"\\e232"}.glyphicon-education:before{content:"\\e233"}.glyphicon-option-horizontal:before{content:"\\e234"}.glyphicon-option-vertical:before{content:"\\e235"}.glyphicon-menu-hamburger:before{content:"\\e236"}.glyphicon-modal-window:before{content:"\\e237"}.glyphicon-oil:before{content:"\\e238"}.glyphicon-grain:before{content:"\\e239"}.glyphicon-sunglasses:before{content:"\\e240"}.glyphicon-text-size:before{content:"\\e241"}.glyphicon-text-color:before{content:"\\e242"}.glyphicon-text-background:before{content:"\\e243"}.glyphicon-object-align-top:before{content:"\\e244"}.glyphicon-object-align-bottom:before{content:"\\e245"}.glyphicon-object-align-horizontal:before{content:"\\e246"}.glyphicon-object-align-left:before{content:"\\e247"}.glyphicon-object-align-vertical:before{content:"\\e248"}.glyphicon-object-align-right:before{content:"\\e249"}.glyphicon-triangle-right:before{content:"\\e250"}.glyphicon-triangle-left:before{content:"\\e251"}.glyphicon-triangle-bottom:before{content:"\\e252"}.glyphicon-triangle-top:before{content:"\\e253"}.glyphicon-console:before{content:"\\e254"}.glyphicon-superscript:before{content:"\\e255"}.glyphicon-subscript:before{content:"\\e256"}.glyphicon-menu-left:before{content:"\\e257"}.glyphicon-menu-right:before{content:"\\e258"}.glyphicon-menu-down:before{content:"\\e259"}.glyphicon-menu-up:before{content:"\\e260"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:\'\\2014 \\00A0\'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:\'\'}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:\'\\00A0 \\2014\'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin:8px -15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:transparent;filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\'#80000000\', endColorstr=\'#00000000\', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\'#00000000\', endColorstr=\'#80000000\', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:\'\\2039\'}.carousel-control .icon-next:before{content:\'\\203a\'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-print,.visible-print-block,.visible-print-inline,.visible-print-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}@media print{.visible-print-block{display:block!important}}@media print{.visible-print-inline{display:inline!important}}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}.Select{position:relative}.Select,.Select div,.Select input,.Select span{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.Select.is-disabled>.Select-control{background-color:#f6f6f6}.Select.is-disabled .Select-arrow-zone{cursor:default;pointer-events:none}.Select-control{background-color:#fff;border-radius:4px;border:1px solid #ccc;color:#333;cursor:default;display:table;height:36px;outline:0;overflow:hidden;position:relative;width:100%}.Select-control:hover{box-shadow:0 1px 0 rgba(0,0,0,.06)}.is-searchable.is-open>.Select-control{cursor:text}.is-open>.Select-control{border-bottom-right-radius:0;border-bottom-left-radius:0;background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}.is-open>.Select-control>.Select-arrow{border-color:transparent transparent #999;border-width:0 5px 5px}.is-searchable.is-focused:not(.is-open)>.Select-control{cursor:text}.is-focused:not(.is-open)>.Select-control{border-color:#08c #0099e6 #0099e6;box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 0 5px -1px rgba(0,136,204,.5)}.Select-placeholder{bottom:0;color:#aaa;left:0;line-height:34px;padding-left:10px;padding-right:10px;position:absolute;right:0;top:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-value>.Select-control>.Select-placeholder{color:#333}.Select-value{color:#aaa;left:0;padding:8px 52px 8px 10px;position:absolute;right:-15px;top:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-value>.Select-control>.Select-value{color:#333}.Select-input{height:34px;padding-left:10px;padding-right:10px;vertical-align:middle}.Select-input>input{background:none;border:0;box-shadow:none;cursor:default;display:inline-block;font-family:inherit;font-size:inherit;height:34px;margin:0;outline:0;padding:0;-webkit-appearance:none}.is-focused .Select-input>input{cursor:text}.Select-control:not(.is-searchable)>.Select-input{outline:0}.Select-loading-zone{cursor:pointer;display:table-cell;position:relative;text-align:center;vertical-align:middle;width:16px}.Select-loading{-webkit-animation:Select-animation-spin 400ms infinite linear;-o-animation:Select-animation-spin 400ms infinite linear;animation:Select-animation-spin 400ms infinite linear;width:16px;height:16px;box-sizing:border-box;border-radius:50%;border:2px solid #ccc;border-right-color:#333;display:inline-block;position:relative;vertical-align:middle}.Select-clear-zone{-webkit-animation:Select-animation-fadeIn 200ms;-o-animation:Select-animation-fadeIn 200ms;animation:Select-animation-fadeIn 200ms;color:#999;cursor:pointer;display:table-cell;position:relative;text-align:center;vertical-align:middle;width:17px}.Select-clear-zone:hover{color:#D0021B}.Select-clear{display:inline-block;font-size:18px;line-height:1}.Select--multi .Select-clear-zone{width:17px}.Select-arrow-zone{cursor:pointer;display:table-cell;position:relative;text-align:center;vertical-align:middle;width:25px;padding-right:5px}.Select-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px;display:inline-block;height:0;width:0}.Select-arrow-zone:hover>.Select-arrow,.is-open .Select-arrow{border-top-color:#666}@-webkit-keyframes Select-animation-fadeIn{from{opacity:0}to{opacity:1}}@keyframes Select-animation-fadeIn{from{opacity:0}to{opacity:1}}.Select-menu-outer{border-bottom-right-radius:4px;border-bottom-left-radius:4px;background-color:#fff;border:1px solid #ccc;border-top-color:#e6e6e6;box-shadow:0 1px 0 rgba(0,0,0,.06);box-sizing:border-box;margin-top:-1px;max-height:200px;position:absolute;top:100%;width:100%;z-index:1000;-webkit-overflow-scrolling:touch}.Select-menu{max-height:198px;overflow-y:auto}.Select-option{box-sizing:border-box;color:#666;cursor:pointer;display:block;padding:8px 10px}.Select-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.Select-option.is-focused{background-color:#f2f9fc;color:#333}.Select-option.is-disabled{color:#ccc;cursor:not-allowed}.Select-noresults,.Select-search-prompt,.Select-searching{box-sizing:border-box;color:#999;cursor:default;display:block;padding:8px 10px}.Select--multi .Select-input{vertical-align:middle;margin-left:10px;padding:0}.Select--multi.has-value .Select-input{margin-left:5px}.Select-item{background-color:#f2f9fc;border-radius:2px;border:1px solid #c9e6f2;color:#08c;display:inline-block;font-size:.9em;margin-left:5px;margin-top:5px;vertical-align:top}.Select-item-icon,.Select-item-label{display:inline-block;vertical-align:middle}.Select-item-label{border-bottom-right-radius:2px;border-top-right-radius:2px;cursor:default;padding:2px 5px}.Select-item-label .Select-item-label__a{color:#08c;cursor:pointer}.Select-item-icon{cursor:pointer;border-bottom-left-radius:2px;border-top-left-radius:2px;border-right:1px solid #c9e6f2;padding:1px 5px 3px}.Select-item-icon:focus,.Select-item-icon:hover{background-color:#ddeff7;color:#0077b3}.Select-item-icon:active{background-color:#c9e6f2}.Select--multi.is-disabled .Select-item{background-color:#f2f2f2;border:1px solid #d9d9d9;color:#888}.Select--multi.is-disabled .Select-item-icon{cursor:not-allowed;border-right:1px solid #d9d9d9}.Select--multi.is-disabled .Select-item-icon:active,.Select--multi.is-disabled .Select-item-icon:focus,.Select--multi.is-disabled .Select-item-icon:hover{background-color:#f2f2f2}@keyframes Select-animation-spin{to{transform:rotate(1turn)}}@-webkit-keyframes Select-animation-spin{to{-webkit-transform:rotate(1turn)}}.public_Scrollbar_main.public_Scrollbar_mainActive,.public_Scrollbar_main:hover{background-color:rgba(255,255,255,.8)}.public_Scrollbar_mainOpaque,.public_Scrollbar_mainOpaque.public_Scrollbar_mainActive,.public_Scrollbar_mainOpaque:hover{background-color:#fff}.public_Scrollbar_face:after{background-color:#c2c2c2}.public_Scrollbar_faceActive:after,.public_Scrollbar_main:hover .public_Scrollbar_face:after,.public_Scrollbar_mainActive .public_Scrollbar_face:after{background-color:#7d7d7d}.public_fixedDataTable_hasBottomBorder,.public_fixedDataTable_header,.public_fixedDataTable_main{border-color:#d3d3d3}.public_fixedDataTable_header .public_fixedDataTableCell_main{font-weight:700}.public_fixedDataTable_header,.public_fixedDataTable_header .public_fixedDataTableCell_main{background-color:#f6f7f8;background-image:-webkit-linear-gradient(#fff,#efefef);background-image:linear-gradient(#fff,#efefef)}.public_fixedDataTable_footer .public_fixedDataTableCell_main{background-color:#f6f7f8;border-color:#d3d3d3}.public_fixedDataTable_topShadow{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAF0lEQVR4AWPUkNeSBhHCjJoK2twgFisAFagCCp3pJlAAAAAASUVORK5CYII=) repeat-x}.public_fixedDataTable_bottomShadow{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAHElEQVQI12MwNjZmZdAT1+Nm0JDWEGZQk1GTBgAWkwIeAEp52AAAAABJRU5ErkJggg==) repeat-x}.public_fixedDataTable_horizontalScrollbar .public_Scrollbar_mainHorizontal{background-color:#fff}.public_fixedDataTableCell_main{background-color:#fff;border-color:#d3d3d3}.public_fixedDataTableCell_highlighted{background-color:#f4f4f4}.public_fixedDataTableCell_cellContent{padding:8px}.public_fixedDataTableCell_columnResizerKnob{background-color:#0284ff}.public_fixedDataTableColumnResizerLine_main{border-color:#0284ff}.public_fixedDataTableRow_main{background-color:#fff}.public_fixedDataTableRow_highlighted,.public_fixedDataTableRow_highlighted .public_fixedDataTableCell_main{background-color:#f6f7f8}.public_fixedDataTableRow_fixedColumnsDivider{border-color:#d3d3d3}.public_fixedDataTableRow_columnsShadow{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==) repeat-y}.ScrollbarLayout_main{box-sizing:border-box;outline:0;overflow:hidden;position:absolute;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:ease;transition-timing-function:ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ScrollbarLayout_mainVertical{bottom:0;right:0;top:0;-webkit-transition-property:background-color width;transition-property:background-color width;width:15px}.ScrollbarLayout_mainVertical.public_Scrollbar_mainActive,.ScrollbarLayout_mainVertical:hover{width:17px}.ScrollbarLayout_mainHorizontal{bottom:0;height:15px;left:0;-webkit-transition-property:background-color height;transition-property:background-color height}.ScrollbarLayout_mainHorizontal.public_Scrollbar_mainActive,.ScrollbarLayout_mainHorizontal:hover{height:17px}.ScrollbarLayout_face{left:0;overflow:hidden;position:absolute;z-index:1}.ScrollbarLayout_face:after{border-radius:6px;content:\'\';display:block;position:absolute;-webkit-transition:background-color 250ms ease;transition:background-color 250ms ease}.ScrollbarLayout_faceHorizontal{bottom:0;left:0;top:0}.ScrollbarLayout_faceHorizontal:after{bottom:4px;left:0;top:4px;width:100%}.ScrollbarLayout_faceVertical{left:0;right:0;top:0}.ScrollbarLayout_faceVertical:after{height:100%;left:4px;right:4px;top:0}.fixedDataTableCellGroupLayout_cellGroup{-webkit-backface-visibility:hidden;backface-visibility:hidden;left:0;overflow:hidden;position:absolute;top:0;white-space:nowrap}.fixedDataTableCellGroupLayout_cellGroup>.public_fixedDataTableCell_main{display:inline-block;vertical-align:top;white-space:normal}.fixedDataTableCellGroupLayout_cellGroupWrapper{position:absolute;top:0}.fixedDataTableCellLayout_main{border-right-style:solid;border-width:0 1px 0 0;box-sizing:border-box;display:block;overflow:hidden;position:absolute;white-space:normal}.fixedDataTableCellLayout_lastChild{border-width:0 1px 1px 0}.fixedDataTableCellLayout_alignRight{text-align:right}.fixedDataTableCellLayout_alignCenter{text-align:center}.fixedDataTableCellLayout_wrap1{display:table}.fixedDataTableCellLayout_wrap2{display:table-row}.fixedDataTableCellLayout_wrap3{display:table-cell;vertical-align:middle}.fixedDataTableCellLayout_columnResizerContainer{position:absolute;right:0;width:6px;z-index:1}.fixedDataTableCellLayout_columnResizerContainer:hover{cursor:ew-resize}.fixedDataTableCellLayout_columnResizerContainer:hover .fixedDataTableCellLayout_columnResizerKnob{visibility:visible}.fixedDataTableCellLayout_columnResizerKnob{position:absolute;right:0;visibility:hidden;width:4px}.fixedDataTableColumnResizerLineLayout_mouseArea{cursor:ew-resize;position:absolute;right:-5px;width:12px}.fixedDataTableColumnResizerLineLayout_main{border-right-style:solid;border-right-width:1px;box-sizing:border-box;position:absolute;z-index:10}.fixedDataTableColumnResizerLineLayout_hiddenElem,body[dir=rtl] .fixedDataTableColumnResizerLineLayout_main{display:none!important}.fixedDataTableLayout_main{border-style:solid;border-width:1px;box-sizing:border-box;overflow:hidden;position:relative}.fixedDataTableLayout_hasBottomBorder,.fixedDataTableLayout_header{border-bottom-style:solid;border-bottom-width:1px}.fixedDataTableLayout_footer .public_fixedDataTableCell_main{border-top-style:solid;border-top-width:1px}.fixedDataTableLayout_bottomShadow,.fixedDataTableLayout_topShadow{height:4px;left:0;position:absolute;right:0;z-index:1}.fixedDataTableLayout_bottomShadow{margin-top:-4px}.fixedDataTableLayout_rowsContainer{overflow:hidden;position:relative}.fixedDataTableLayout_horizontalScrollbar{bottom:0;position:absolute}.fixedDataTableRowLayout_main{box-sizing:border-box;overflow:hidden;position:absolute;top:0}.fixedDataTableRowLayout_body{left:0;position:absolute;top:0}.fixedDataTableRowLayout_fixedColumnsDivider{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-left-style:solid;border-left-width:1px;left:0;position:absolute;top:0;width:0}.fixedDataTableRowLayout_columnsShadow{width:4px}.fixedDataTableRowLayout_rowWrapper{position:absolute;top:0}'; require("browserify-css").createStyle(css,{href:"styles/vendor.css"}),module.exports=css},{"browserify-css":"/Users/cheton/github/cnc.js/node_modules/browserify-css/browser.js"}]},{},["/Users/cheton/github/cnc.js/web/index.jsx"]); \ No newline at end of file diff --git a/dist/assets/app.js.map b/dist/assets/app.js.map index aeaa7cf63..ef6ccbbd8 100644 --- a/dist/assets/app.js.map +++ b/dist/assets/app.js.map @@ -5,8 +5,6 @@ "node_modules/browserify-css/browser.js", "node_modules/colornames/colors.js", "node_modules/colornames/index.js", - "node_modules/react-cookie/index.js", - "node_modules/react-cookie/node_modules/cookie/index.js", "node_modules/superagent/lib/client.js", "node_modules/superagent/node_modules/component-emitter/index.js", "node_modules/superagent/node_modules/reduce-component/index.js", @@ -87,11 +85,12 @@ "web/lib/serialport.js", "web/lib/socket.js", "web/lib/three/OrbitControls.js", + "web/store/index.js", "web/styles/app.css", "web/styles/vendor.css" ], "names": [], - "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACv+EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;ICrBqB,YAAY;cAAZ,YAAY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", + "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACv+EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;ICrBqB,YAAY;cAAZ,YAAY;;aAAZ,YAAY;8BAAZ,YAAY;;sEAAZ,YAAY;;;iBAAZ,YAAY;;6CACR;AACjB,gBAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,gBAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;;;+CACsB;AACnB,gBAAI,CAAC,aAAa,EAAE,CAAC;SACxB;;;yCACgB;AACb,gBAAI,IAAI,GAAG,IAAI,CAAC;AAChB,gBAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;AAC5C,gBAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;;AAEjD,gBAAI,CAAC,OAAO,GAAG,UAAU,CAAC,YAAW;AACjC,oBAAI,CAAC,aAAa,EAAE,CAAC;;AAErB,oBAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,YAAW;AACnC,wBAAI,IAAI,CAAC,QAAQ,EAAE;AACf,4BAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;qBACxB;iBACJ,EAAE,QAAQ,CAAC,CAAC;aAChB,EAAE,KAAK,CAAC,CAAC;SACb;;;wCACe;AACZ,gBAAI,IAAI,CAAC,OAAO,EAAE;AACd,4BAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3B,oBAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACvB;AACD,gBAAI,IAAI,CAAC,QAAQ,EAAE;AACf,6BAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7B,oBAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACxB;SACJ;;;iCACQ;AACL,mBACI;;6BACQ,IAAI,CAAC,KAAK;AACd,+BAAW,EAAI,IAAI,CAAC,cAAc,MAAnB,IAAI,CAAgB;AACnC,6BAAS,EAAI,IAAI,CAAC,aAAa,MAAlB,IAAI,CAAe;AAChC,gCAAY,EAAI,IAAI,CAAC,aAAa,MAAlB,IAAI,CAAe;;gBAElC,IAAI,CAAC,KAAK,CAAC,QAAQ;aAClB,CACR;SACL;;;WA5CgB,YAAY;GAAS,gBAAM,SAAS;;kBAApC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICE3B,sBAAsB;cAAtB,sBAAsB;;aAAtB,sBAAsB;8BAAtB,sBAAsB;;sEAAtB,sBAAsB;;;iBAAtB,sBAAsB;;2CACL;AACf,iCAAW,KAAK,CAAC,GAAG,CAAC,CAAC;SACzB;;;yCACgB;AACb,iCAAW,KAAK,CAAC,GAAG,CAAC,CAAC;SACzB;;;sCACa;AACV,iCAAW,KAAK,CAAC,MAAM,CAAC,CAAC;SAC5B;;;uCACc;AACX,iCAAW,OAAO,CAAC,IAAI,CAAC,CAAC;SAC5B;;;uCACc;AACX,iCAAW,OAAO,CAAC,IAAI,CAAC,CAAC;SAC5B;;;iCACQ;AACL,mBACI;;kBAAK,SAAS,EAAC,2BAA2B;gBACtC;;sBAAK,SAAS,EAAC,wBAAwB,EAAC,IAAI,EAAC,OAAO;oBAChD;;0BAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,iBAAiB,EAAC,OAAO,EAAI,IAAI,CAAC,gBAAgB,MAArB,IAAI,CAAkB,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,iBAAiB,CAAC,AAAC;wBAAC,qCAAG,SAAS,EAAC,UAAU,GAAK;wBAAC,eAAK,CAAC,CAAC,aAAa,CAAC;qBAAU;oBAClL;;0BAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,iBAAiB,EAAC,OAAO,EAAI,IAAI,CAAC,cAAc,MAAnB,IAAI,CAAgB,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,eAAe,CAAC,AAAC;wBAAC,qCAAG,SAAS,EAAC,WAAW,GAAK;wBAAC,eAAK,CAAC,CAAC,WAAW,CAAC;qBAAU;iBAC3K;gBACN;;sBAAK,SAAS,EAAC,wBAAwB,EAAC,IAAI,EAAC,OAAO;oBAChD;;0BAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,iBAAiB,EAAC,OAAO,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,uBAAuB,CAAC,AAAC;wBAAC,qCAAG,SAAS,EAAC,UAAU,GAAK;wBAAC,eAAK,CAAC,CAAC,QAAQ,CAAC;qBAAU;oBAC/K;;0BAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,iBAAiB,EAAC,OAAO,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,sBAAsB,CAAC,AAAC;wBAAC,qCAAG,SAAS,EAAC,cAAc,GAAK;wBAAC,eAAK,CAAC,CAAC,QAAQ,CAAC;qBAAU;oBAClL;;0BAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,gBAAgB,EAAC,OAAO,EAAI,IAAI,CAAC,WAAW,MAAhB,IAAI,CAAa,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,qBAAqB,CAAC,AAAC;wBAAC,qCAAG,SAAS,EAAC,oBAAoB,GAAK;wBAAC,eAAK,CAAC,CAAC,OAAO,CAAC;qBAAU;iBAClL;aACJ,CACR;SACL;;;WA9BC,sBAAsB;GAAS,gBAAM,SAAS;;kBAiCrC,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC/B/B,MAAM;cAAN,MAAM;;aAAN,MAAM;8BAAN,MAAM;;sEAAN,MAAM;;;iBAAN,MAAM;;iCACC;AACL,gBAAI,QAAQ,GAAG,kCAAkC,CAAC;AAClD,gBAAI,GAAG,GAAG,eAAK,GAAG,EAAE,CAAC;;AAErB,mBACI;;kBAAK,kBAAe,QAAQ;gBACxB;oCAZP,MAAM;sBAYS,QAAQ,MAAA,EAAC,KAAK,MAAA,EAAC,OAAO,MAAA;oBAC1B;wCAbH,WAAW;;wBAcJ;;8BAAG,IAAI,EAAE,QAAQ,AAAC,EAAC,MAAM,EAAC,QAAQ;4BAAE,mBAAS,IAAI;yBAAK;qBAC5C;oBACd;wCAhBU,GAAG;;wBAiBT;4CAjBW,OAAO;8BAiBT,IAAI,EAAC,aAAa;4BAAE,eAAK,CAAC,CAAC,WAAW,CAAC;yBAAW;wBAC3D;4CAlBoB,WAAW;8BAkBlB,KAAK,EAAE,eAAK,CAAC,CAAC,UAAU,CAAC,AAAC,EAAC,EAAE,EAAC,cAAc;4BACrD;gDAnB6B,QAAQ;kCAmB3B,MAAM,MAAA;gCAAE,eAAK,CAAC,CAAC,UAAU,CAAC;6BAAY;4BAChD;gDApB6B,QAAQ;kCAoB3B,IAAI,EAAC,UAAU,EAAC,MAAM,EAAE,GAAG,KAAK,IAAI,AAAC;;6BAAmB;4BAClE;gDArB6B,QAAQ;kCAqB3B,IAAI,EAAC,UAAU,EAAC,MAAM,EAAE,GAAG,KAAK,IAAI,AAAC;;6BAAwB;4BACvE;gDAtB6B,QAAQ;kCAsB3B,IAAI,EAAC,UAAU,EAAC,MAAM,EAAE,GAAG,KAAK,IAAI,AAAC;;6BAAmB;4BAClE;gDAvB6B,QAAQ;kCAuB3B,IAAI,EAAC,UAAU,EAAC,MAAM,EAAE,GAAG,KAAK,IAAI,AAAC;;6BAAoB;4BACnE;gDAxB6B,QAAQ;kCAwB3B,IAAI,EAAC,UAAU,EAAC,MAAM,EAAE,GAAG,KAAK,IAAI,AAAC;;6BAAoB;4BACnE;gDAzB6B,QAAQ;kCAyB3B,IAAI,EAAC,UAAU,EAAC,MAAM,EAAE,GAAG,KAAK,IAAI,AAAC;;6BAAe;4BAC9D;gDA1B6B,QAAQ;kCA0B3B,IAAI,EAAC,aAAa,EAAC,MAAM,EAAE,GAAG,KAAK,OAAO,AAAC;;6BAAmB;4BACxE;gDA3B6B,QAAQ;kCA2B3B,IAAI,EAAC,aAAa,EAAC,MAAM,EAAE,GAAG,KAAK,OAAO,AAAC;;6BAAmB;yBAC9D;qBACZ;oBACN;;0BAAK,SAAS,EAAC,YAAY;wBACvB,qEAA0B;qBACxB;iBACD;aACP,CACR;SACL;;;WA/BC,MAAM;GAAS,gBAAM,SAAS;;kBAkCrB,MAAM;;;ACxCrB;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICZM,MAAM;cAAN,MAAM;;aAAN,MAAM;8BAAN,MAAM;;sEAAN,MAAM;;;iBAAN,MAAM;;iCAQC;AACL,gBAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;AACzB,gBAAI,WAAW,GAAG,0BACd,QAAQ,EACR,EAAE,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAChD,CAAC;AACF,gBAAI,WAAW,GAAG;AACd,qBAAK,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI;aAC9C,CAAC;;AAEF,mBACI;;6BAAS,IAAI,CAAC,KAAK,IAAE,kBAAe,QAAQ;gBACxC;;sBAAK,SAAS,EAAE,WAAW,AAAC,EAAC,KAAK,EAAE,WAAW,AAAC;oBAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ;iBAClB;aACJ,CACR;SACL;;;WAzBC,MAAM;GAAS,gBAAM,SAAS;;AAA9B,MAAM,CACD,YAAY,GAAG;AAClB,WAAO,EAAE,EAAE;CACd;AAHC,MAAM,CAID,SAAS,GAAG;AACf,WAAO,EAAE,gBAAM,SAAS,CAAC,MAAM;CAClC;kBAsBU,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC3Bf,aAAa;cAAb,aAAa;;aAAb,aAAa;8BAAb,aAAa;;sEAAb,aAAa;;;iBAAb,aAAa;;iCACN;AACL,gBAAI,YAAY,GAAG,0BACf,gBAAgB,CACnB,CAAC;;AAEF,mBACI;;6BAAS,IAAI,CAAC,KAAK,IAAE,SAAS,EAAE,2BAAY,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,AAAC;gBAC3E,IAAI,CAAC,KAAK,CAAC,QAAQ;aAClB,CACR;SACL;;;WAXC,aAAa;GAAS,gBAAM,SAAS;;kBAc5B,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICdtB,YAAY;cAAZ,YAAY;;aAAZ,YAAY;8BAAZ,YAAY;;sEAAZ,YAAY;;;iBAAZ,YAAY;;iCACL;AACL,gBAAI,OAAO,GAAG,iBAAE,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE;AACzC,oBAAI,EAAE,SAAS;aAClB,CAAC,CAAC;AACH,gBAAI,WAAW,GAAG,0BACd,eAAe,EACf,EAAE,uBAAuB,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,EACvD,EAAE,uBAAuB,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAC1D,CAAC;;AAEF,mBACI;;6BAAS,IAAI,CAAC,KAAK,IAAE,SAAS,EAAE,WAAW,AAAC;gBACvC,IAAI,CAAC,KAAK,CAAC,QAAQ;aAClB,CACR;SACL;;;WAhBC,YAAY;GAAS,gBAAM,SAAS;;kBAmB3B,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICjBrB,YAAY;cAAZ,YAAY;;aAAZ,YAAY;8BAAZ,YAAY;;sEAAZ,YAAY;;;iBAAZ,YAAY;;iCACL;AACL,gBAAI,OAAO,GAAG,iBAAE,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE;AACzC,oBAAI,EAAE,SAAS;AACf,qBAAK,EAAE,EAAE;AACT,8BAAc,EAAE,EAAE;aACrB,CAAC,CAAC;AACH,gBAAI,aAAa,GAAG,0BAChB,eAAe,EACf,UAAU,EACV,EAAE,uBAAuB,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,EACvD,EAAE,uBAAuB,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAC1D,CAAC;;AAEF,mBACI;;6BAAS,IAAI,CAAC,KAAK,IAAE,SAAS,EAAE,aAAa,AAAC;gBAC1C;;sBAAI,SAAS,EAAC,qBAAqB;oBAAE,OAAO,CAAC,KAAK;iBAAM;gBACxD,+DAAqB,OAAO,EAAE,OAAO,CAAC,cAAc,AAAC,EAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,AAAC,GAAE;aAC1F,CACR;SACL;;;WApBC,YAAY;GAAS,gBAAM,SAAS;;kBAuB3B,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICxBrB,mBAAmB;cAAnB,mBAAmB;;aAAnB,mBAAmB;;;;;8BAAnB,mBAAmB;;;;;;wHAAnB,mBAAmB,0EACrB,KAAK,GAAG;AACJ,uBAAW,EAAE,KAAK;SACrB;;;iBAHC,mBAAmB;;oCAKT,GAAG,EAAE;AACb,gBAAI,GAAG,KAAK,QAAQ,EAAE;AAClB,oBAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACtD,oBAAI,CAAC,QAAQ,CAAC,EAAC,WAAW,EAAE,CAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAC,CAAC,CAAC;AACvD,uBAAO;aACV;;AAED,gBAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SAC/B;;;2CACkB;;;AACf,gBAAI,KAAK,GAAG;AACR,sBAAM,EAAE,MAAM;aACjB,CAAC;;AAEF,mBACI;;kBAAG,IAAI,EAAC,oBAAoB;AACzB,uBAAG,EAAC,MAAM;AACV,yBAAK,EAAC,EAAE;AACR,6BAAS,EAAC,uBAAuB;AACjC,yBAAK,EAAE,KAAK,AAAC;AACb,2BAAO,EAAE;+BAAM,OAAK,WAAW,CAAC,MAAM,CAAC;qBAAA,AAAC;;gBAEvC,qCAAG,SAAS,EAAC,oCAAoC,GAAK;aACtD,CACN;SACL;;;8CACqB;;;AAClB,mBACI;;kBAAG,IAAI,EAAC,oBAAoB;AACzB,uBAAG,EAAC,SAAS;AACb,yBAAK,EAAC,EAAE;AACR,6BAAS,EAAC,0BAA0B;AACpC,2BAAO,EAAE;+BAAM,OAAK,WAAW,CAAC,SAAS,CAAC;qBAAA,AAAC;;gBAE1C,qCAAG,SAAS,EAAC,6BAA6B,GAAK;aAC/C,CACN;SACL;;;6CACoB;;;AACjB,mBACI;;kBAAG,IAAI,EAAC,oBAAoB;AACzB,uBAAG,EAAC,QAAQ;AACZ,yBAAK,EAAE,eAAK,CAAC,CAAC,QAAQ,CAAC,AAAC;AACxB,6BAAS,EAAC,yBAAyB;AACnC,2BAAO,EAAE;+BAAM,OAAK,WAAW,CAAC,QAAQ,CAAC;qBAAA,AAAC;;gBAEzC,qCAAG,SAAS,EAAC,4BAA4B,GAAK;aAC9C,CACN;SACL;;;6CACoB;;;AACjB,gBAAI,cAAc,GAAG,0BACjB,WAAW,EACX,EAAE,sBAAsB,EAAE,CAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EACpD,EAAE,wBAAwB,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CACvD,CAAC;;AAEF,mBACI;;kBAAG,IAAI,EAAC,oBAAoB;AACzB,uBAAG,EAAC,QAAQ;AACZ,yBAAK,EAAE,eAAK,CAAC,CAAC,iBAAiB,CAAC,AAAC;AACjC,6BAAS,EAAC,yBAAyB;AACnC,2BAAO,EAAE;+BAAM,OAAK,WAAW,CAAC,QAAQ,CAAC;qBAAA,AAAC;;gBAEzC,qCAAG,SAAS,EAAE,cAAc,AAAC,GAAK;aAClC,CACN;SACL;;;iCACQ;AACL,gBAAI,IAAI,GAAG,IAAI,CAAC;AAChB,gBAAI,OAAO,GAAG,iBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,UAAC,MAAM,EAAK;AAChD,oBAAI,iBAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;AACpB,2BAAO,MAAM,CAAC;iBACjB;AACD,oBAAI,MAAM,KAAK,SAAS,EAAE;AACtB,2BAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBACrC;AACD,oBAAI,MAAM,KAAK,QAAQ,EAAE;AACrB,2BAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;iBACpC;AACD,oBAAI,MAAM,KAAK,QAAQ,EAAE;AACrB,2BAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;iBACpC;aACJ,CAAC,CACD,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;;AAEjC,mBACI;;kBAAK,SAAS,EAAC,iCAAiC;gBAAE,OAAO;aAAO,CAClE;SACL;;;WA9FC,mBAAmB;GAAS,gBAAM,SAAS;;kBAiGlC,mBAAmB;;;ACtGlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QCOI,MAAM;QACN,YAAY;QACZ,aAAa;QACb,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICKV,IAAI;cAAJ,IAAI;;aAAJ,IAAI;;;;;8BAAJ,IAAI;;;;;;wHAAJ,IAAI,0EACN,KAAK,GAAG;AACJ,gBAAI,EAAE,EAAE;AACR,gBAAI,aANR,WAAW,AAMU;AACjB,uBAAW,aATf,iBAAiB,AASiB;AAC9B,sBAAU,EAAE;AACR,iBAAC,EAAE,OAAO;AACV,iBAAC,EAAE,OAAO;AACV,iBAAC,EAAE,OAAO;aACb;AACD,sBAAU,EAAE;AACR,iBAAC,EAAE,OAAO;AACV,iBAAC,EAAE,OAAO;AACV,iBAAC,EAAE,OAAO;aACb;SACJ,QACD,mBAAmB,GAAG;AAClB,iCAAqB,EAAI,mBAAK,yBAAyB,eAAA;AACvD,8BAAkB,EAAI,mBAAK,sBAAsB,eAAA;SACpD;;;iBAnBC,IAAI;;4CAqBc;AAChB,gBAAI,CAAC,SAAS,EAAE,CAAC;AACjB,gBAAI,CAAC,sBAAsB,EAAE,CAAC;SACjC;;;+CACsB;AACnB,gBAAI,CAAC,WAAW,EAAE,CAAC;AACnB,gBAAI,CAAC,yBAAyB,EAAE,CAAC;SACpC;;;8CACqB,SAAS,EAAE,SAAS,EAAE;AACxC,mBAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnE;;;oCACW;;;AACR,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;;AAEvB;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,MAAM,EAAE,UAAC,GAAG,EAAE,IAAI,EAAK;AAChD,wBAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AAClB,2BAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;;AAE9B,wBAAI,CAAC,IAAI,EAAE;AACP,+BAAK,kBAAkB,EAAE,CAAC;qBAC7B;iBACJ,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;SACJ;;;sCACa;AACV,6BAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAC,KAAK,EAAK;AACjC,mCAAO,WAAW,CAAC,KAAK,CAAC,CAAC;aAC7B,CAAC,CAAC;AACH,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SAC1B;;;iDACwB;AACrB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aAClC,CAAC,CAAC;SACN;;;oDAC2B;AACxB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aACnC,CAAC,CAAC;SACN;;;kDACyB,IAAI,EAAE;AAC5B,gBAAI,CAAC,QAAQ,CAAC;AACV,2BAAW,EAAE,IAAI,CAAC,WAAW;AAC7B,0BAAU,EAAE,IAAI,CAAC,UAAU;AAC3B,0BAAU,EAAE,IAAI,CAAC,UAAU;aAC9B,CAAC,CAAC;SACN;;;+CACsB,KAAK,EAAE;AAC1B,gBAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI;;;AAAC,AAG3B,gBAAI,iBAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AAC1B,oBAAI,cA/EZ,aAAa,AA+Ee,CAAC;aACxB;;;AAAA,AAGD,gBAAI,iBAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AAC1B,oBAAI,cAnFZ,WAAW,AAmFe,CAAC;aACtB;;AAED,gBAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;AAC1B,oBAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aACjC;SACJ;;;6CACoB;AACjB,gBAAI,CAAC,QAAQ,CAAC;AACV,2BAAW,aA9FnB,iBAAiB,AA8FqB;AAC9B,0BAAU,EAAE;AACR,qBAAC,EAAE,OAAO;AACV,qBAAC,EAAE,OAAO;AACV,qBAAC,EAAE,OAAO;iBACb;AACD,0BAAU,EAAE;AACR,qBAAC,EAAE,OAAO;AACV,qBAAC,EAAE,OAAO;AACV,qBAAC,EAAE,OAAO;iBACb;aACJ,CAAC,CAAC;SACN;;;qCACY,GAAG,EAAE;AACd,eAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvB,gBAAI,IAAI,CAAC,KAAK,CAAC,IAAI,gBA3GvB,WAAW,AA2G4B,EAAE;AACjC,mBAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA,CAAE,OAAO,CAAC,CAAC,CAAC,CAAC;aAC9B,MAAM;AACH,mBAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAA,CAAE,OAAO,CAAC,CAAC,CAAC,CAAC;aACjC;AACD,mBAAO,EAAE,GAAG,GAAG,CAAC;SACnB;;;iCACQ;;;yBACqD,IAAI,CAAC,KAAK;gBAA9D,IAAI,UAAJ,IAAI;gBAAE,IAAI,UAAJ,IAAI;gBAAE,WAAW,UAAX,WAAW;gBAAE,UAAU,UAAV,UAAU;gBAAE,UAAU,UAAV,UAAU;;AACrD,gBAAI,QAAQ,GAAI,CAAC,CAAC,IAAI,IAAK,WAAW,gBAtH1C,iBAAiB,AAsH+C,AAAC,AAAC,CAAC;;AAE/D,sBAAU,GAAG,iBAAE,SAAS,CAAC,UAAU,EAAE,UAAC,GAAG,EAAE,IAAI;uBAAK,OAAK,YAAY,CAAC,GAAG,CAAC;aAAA,CAAC,CAAC;AAC5E,sBAAU,GAAG,iBAAE,SAAS,CAAC,UAAU,EAAE,UAAC,GAAG,EAAE,IAAI;uBAAK,OAAK,YAAY,CAAC,GAAG,CAAC;aAAA,CAAC,CAAC;;AAE5E,mBACI;;;gBACI;AACI,wBAAI,EAAE,IAAI,AAAC;AACX,wBAAI,EAAE,IAAI,AAAC;AACX,+BAAW,EAAE,WAAW,AAAC;kBAC3B;gBAEF;AACI,wBAAI,EAAE,IAAI,AAAC;AACX,wBAAI,EAAE,IAAI,AAAC;AACX,+BAAW,EAAE,WAAW,AAAC;AACzB,8BAAU,EAAE,UAAU,AAAC;AACvB,8BAAU,EAAE,UAAU,AAAC;kBACzB;gBAEF;AACI,wBAAI,EAAE,IAAI,AAAC;AACX,wBAAI,EAAE,IAAI,AAAC;AACX,+BAAW,EAAE,WAAW,AAAC;AACzB,8BAAU,EAAE,UAAU,AAAC;AACvB,8BAAU,EAAE,UAAU,AAAC;kBACzB;aACA,CACR;SACL;;;WA/IC,IAAI;GAAS,gBAAM,SAAS;;kBAkJnB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICtJb,YAAY;cAAZ,YAAY;;aAAZ,YAAY;;;;;8BAAZ,YAAY;;;;;;wHAAZ,YAAY,0EACd,KAAK,GAAG;AACJ,oBAAQ,aALZ,gBAAgB,AAKc;SAC7B;;;iBAHC,YAAY;;uCAYC,QAAQ,EAAE;AACrB,gBAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,eAhB9C,gBAAgB,AAgBkD,EAAE,CAAC,CAAC;SACrE;;;iCACQ;yBACqD,IAAI,CAAC,KAAK;gBAA9D,IAAI,UAAJ,IAAI;gBAAE,IAAI,UAAJ,IAAI;gBAAE,WAAW,UAAX,WAAW;gBAAE,UAAU,UAAV,UAAU;gBAAE,UAAU,UAAV,UAAU;gBAC/C,QAAQ,GAAK,IAAI,CAAC,KAAK,CAAvB,QAAQ;;AACd,gBAAI,QAAQ,GAAI,CAAC,CAAC,IAAI,IAAK,WAAW,gBAtB1C,iBAAiB,AAsB+C,AAAC,AAAC,CAAC;AAC/D,gBAAI,MAAM,GAAG;AACT,2BAAW,EAAE,EACZ;AACD,8BAAc,EAAE,EACf;aACJ,CAAC;;AAEF,mBACI;;kBAAK,SAAS,EAAC,+BAA+B;gBAC1C;;sBAAK,SAAS,EAAC,eAAe;oBAC1B;;0BAAK,SAAS,EAAC,UAAU;wBACrB;AACI,gCAAI,EAAE,IAAI,AAAC;AACX,gCAAI,EAAE,IAAI,AAAC;AACX,uCAAW,EAAE,WAAW,AAAC;AACzB,oCAAQ,EAAE,QAAQ,AAAC;0BACrB;qBACA;oBACN;;0BAAK,SAAS,EAAC,UAAU;wBACrB;AACI,gCAAI,EAAE,IAAI,AAAC;AACX,gCAAI,EAAE,IAAI,AAAC;AACX,uCAAW,EAAE,WAAW,AAAC;AACzB,sCAAU,EAAE,UAAU,AAAC;AACvB,sCAAU,EAAE,UAAU,AAAC;0BACzB;qBACA;iBACJ;gBACN;;sBAAK,SAAS,EAAC,eAAe;oBAC1B;;0BAAK,SAAS,EAAC,WAAW;wBACtB;AACI,gCAAI,EAAE,IAAI,AAAC;AACX,oCAAQ,EAAI,IAAI,CAAC,cAAc,MAAnB,IAAI,CAAgB;0BAClC;qBACA;iBACJ;aACJ,CACR;SACL;;;WAzDC,YAAY;GAAS,gBAAM,SAAS;;AAApC,YAAY,CAIP,SAAS,GAAG;AACf,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,eAAW,EAAE,gBAAM,SAAS,CAAC,MAAM;AACnC,cAAU,EAAE,gBAAM,SAAS,CAAC,MAAM;AAClC,cAAU,EAAE,gBAAM,SAAS,CAAC,MAAM;CACrC;kBAkDU,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC5DrB,YAAY;cAAZ,YAAY;;aAAZ,YAAY;8BAAZ,YAAY;;sEAAZ,YAAY;;;iBAAZ,YAAY;;qCASD,MAAM,EAAE,QAAQ,EAAE;AAC3B,gBAAI,IAAI,GAAG,QAAQ,CAAC;AACpB,gBAAI,IAAI,EAAE;AACN,qCAAW,OAAO,CAAC,IAAI,CAAC,CAAC;aAC5B;SACJ;;;iCACQ;yBACqD,IAAI,CAAC,KAAK;gBAA9D,IAAI,UAAJ,IAAI;gBAAE,IAAI,UAAJ,IAAI;gBAAE,WAAW,UAAX,WAAW;gBAAE,UAAU,UAAV,UAAU;gBAAE,UAAU,UAAV,UAAU;;AACrD,gBAAI,QAAQ,GAAI,CAAC,CAAC,IAAI,IAAK,WAAW,gBArB1C,iBAAiB,AAqB+C,AAAC,AAAC,CAAC;AAC/D,gBAAI,WAAW,GAAG,AAAC,IAAI,gBArB3B,WAAW,AAqBgC,GAAI,eAAK,CAAC,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AACvE,gBAAI,MAAM,GAAG;AACT,2BAAW,EAAE;AACR,yBAAK,EAAE,AAAC,WAAW,KAAK,OAAO,GAAI,0BAAW,SAAS,CAAC,GAAG,0BAAW,SAAS,CAAC;iBACpF;aACJ,CAAC;;AAEF,mBACI;;kBAAK,SAAS,EAAC,+BAA+B;gBAC1C;;sBAAK,SAAS,EAAC,eAAe;oBAC1B;;0BAAK,SAAS,EAAC,cAAc;wBACxB,eAAK,CAAC,CAAC,eAAe,CAAC;;wBAAO;;8BAAM,KAAK,EAAE,MAAM,CAAC,WAAW,AAAC;4BAAE,WAAW;yBAAQ;qBAClF;oBACN;;0BAAO,SAAS,EAAC,gBAAgB;wBAC7B;;;4BACI;;;gCACI;;;oCAAK,eAAK,CAAC,CAAC,MAAM,CAAC;iCAAM;gCACzB;;;oCAAK,eAAK,CAAC,CAAC,kBAAkB,CAAC;iCAAM;gCACrC;;;oCAAK,eAAK,CAAC,CAAC,kBAAkB,CAAC;iCAAM;gCACrC;;;oCAAK,eAAK,CAAC,CAAC,QAAQ,CAAC;iCAAM;6BAC1B;yBACD;wBACR;;;4BACI;;;gCACI;;sCAAI,SAAS,EAAC,YAAY;;iCAAO;gCACjC;;sCAAI,SAAS,EAAC,eAAe;oCACzB;;0CAAM,SAAS,EAAC,cAAc;wCAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qCAAQ;oCAClE;;0CAAM,SAAS,EAAC,eAAe;;qCAAS;oCACxC;;0CAAM,SAAS,EAAC,iBAAiB;wCAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qCAAQ;oCACrE;;0CAAM,SAAS,EAAC,gBAAgB;wCAAE,WAAW;qCAAQ;iCACpD;gCACL;;sCAAI,SAAS,EAAC,eAAe;oCACzB;;0CAAM,SAAS,EAAC,cAAc;wCAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qCAAQ;oCAClE;;0CAAM,SAAS,EAAC,eAAe;;qCAAS;oCACxC;;0CAAM,SAAS,EAAC,iBAAiB;wCAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qCAAQ;oCACrE;;0CAAM,SAAS,EAAC,gBAAgB;wCAAE,WAAW;qCAAQ;iCACpD;gCACL;;sCAAI,SAAS,EAAC,cAAc;oCACxB;wDAhE3B,cAAc;;AAiEiB,kDAAM,EAAC,IAAI;AACX,mDAAO,EAAC,SAAS;AACjB,iDAAK,EAAC,GAAG;AACT,8CAAE,EAAC,iBAAiB;AACpB,qDAAS,MAAA;AACT,oDAAQ,EAAE,CAAC,QAAQ,AAAC;;wCAEpB;4DAxEf,QAAQ;8CAwEiB,MAAM,MAAA;4CAAE,eAAK,CAAC,CAAC,yBAAyB,CAAC;yCAAY;wCAC/D;4DAzEf,QAAQ;8CAyEiB,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,oCAAoC,CAAC;yCAAY;wCACzI;4DA1Ef,QAAQ;8CA0EiB,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,yCAAyC,CAAC;yCAAY;wCAChJ,8CA3Ef,QAAQ,IA2EiB,OAAO,MAAA,GAAG;wCACpB;4DA5Ef,QAAQ;8CA4EiB,MAAM,MAAA;4CAAE,eAAK,CAAC,CAAC,8BAA8B,CAAC;yCAAY;wCACpE;4DA7Ef,QAAQ;8CA6EiB,QAAQ,EAAC,OAAO,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,mCAAmC,CAAC;yCAAY;wCACvI;4DA9Ef,QAAQ;8CA8EiB,QAAQ,EAAC,eAAe,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,sCAAsC,CAAC;yCAAY;wCAClJ,8CA/Ef,QAAQ,IA+EiB,OAAO,MAAA,GAAG;wCACpB;4DAhFf,QAAQ;8CAgFiB,MAAM,MAAA;4CAAE,eAAK,CAAC,CAAC,iCAAiC,CAAC;yCAAY;wCACvE;4DAjFf,QAAQ;8CAiFiB,QAAQ,EAAC,WAAW,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,0CAA0C,CAAC;yCAAY;qCACrI;iCAChB;6BACJ;4BACL;;;gCACI;;sCAAI,SAAS,EAAC,YAAY;;iCAAO;gCACjC;;sCAAI,SAAS,EAAC,eAAe;oCACzB;;0CAAM,SAAS,EAAC,cAAc;wCAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qCAAQ;oCAClE;;0CAAM,SAAS,EAAC,eAAe;;qCAAS;oCACxC;;0CAAM,SAAS,EAAC,iBAAiB;wCAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qCAAQ;oCACrE;;0CAAM,SAAS,EAAC,gBAAgB;wCAAE,WAAW;qCAAQ;iCACpD;gCACL;;sCAAI,SAAS,EAAC,eAAe;oCACzB;;0CAAM,SAAS,EAAC,cAAc;wCAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qCAAQ;oCAClE;;0CAAM,SAAS,EAAC,eAAe;;qCAAS;oCACxC;;0CAAM,SAAS,EAAC,iBAAiB;wCAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qCAAQ;oCACrE;;0CAAM,SAAS,EAAC,gBAAgB;wCAAE,WAAW;qCAAQ;iCACpD;gCACL;;sCAAI,SAAS,EAAC,cAAc;oCACxB;wDApG3B,cAAc;;AAqGiB,kDAAM,EAAC,IAAI;AACX,mDAAO,EAAC,SAAS;AACjB,iDAAK,EAAC,GAAG;AACT,8CAAE,EAAC,iBAAiB;AACpB,qDAAS,MAAA;AACT,oDAAQ,EAAE,CAAC,QAAQ,AAAC;;wCAEpB;4DA5Gf,QAAQ;8CA4GiB,MAAM,MAAA;4CAAE,eAAK,CAAC,CAAC,yBAAyB,CAAC;yCAAY;wCAC/D;4DA7Gf,QAAQ;8CA6GiB,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,oCAAoC,CAAC;yCAAY;wCACzI;4DA9Gf,QAAQ;8CA8GiB,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,yCAAyC,CAAC;yCAAY;wCAChJ,8CA/Gf,QAAQ,IA+GiB,OAAO,MAAA,GAAG;wCACpB;4DAhHf,QAAQ;8CAgHiB,MAAM,MAAA;4CAAE,eAAK,CAAC,CAAC,8BAA8B,CAAC;yCAAY;wCACpE;4DAjHf,QAAQ;8CAiHiB,QAAQ,EAAC,OAAO,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,mCAAmC,CAAC;yCAAY;wCACvI;4DAlHf,QAAQ;8CAkHiB,QAAQ,EAAC,eAAe,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,sCAAsC,CAAC;yCAAY;wCAClJ,8CAnHf,QAAQ,IAmHiB,OAAO,MAAA,GAAG;wCACpB;4DApHf,QAAQ;8CAoHiB,MAAM,MAAA;4CAAE,eAAK,CAAC,CAAC,iCAAiC,CAAC;yCAAY;wCACvE;4DArHf,QAAQ;8CAqHiB,QAAQ,EAAC,WAAW,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,0CAA0C,CAAC;yCAAY;qCACrI;iCAChB;6BACJ;4BACL;;;gCACI;;sCAAI,SAAS,EAAC,YAAY;;iCAAO;gCACjC;;sCAAI,SAAS,EAAC,eAAe;oCACzB;;0CAAM,SAAS,EAAC,cAAc;wCAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qCAAQ;oCAClE;;0CAAM,SAAS,EAAC,eAAe;;qCAAS;oCACxC;;0CAAM,SAAS,EAAC,iBAAiB;wCAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qCAAQ;oCACrE;;0CAAM,SAAS,EAAC,gBAAgB;wCAAE,WAAW;qCAAQ;iCACpD;gCACL;;sCAAI,SAAS,EAAC,eAAe;oCACzB;;0CAAM,SAAS,EAAC,cAAc;wCAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qCAAQ;oCAClE;;0CAAM,SAAS,EAAC,eAAe;;qCAAS;oCACxC;;0CAAM,SAAS,EAAC,iBAAiB;wCAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qCAAQ;oCACrE;;0CAAM,SAAS,EAAC,gBAAgB;wCAAE,WAAW;qCAAQ;iCACpD;gCACL;;sCAAI,SAAS,EAAC,cAAc;oCACxB;wDAxI3B,cAAc;;AAyIiB,kDAAM,EAAC,IAAI;AACX,mDAAO,EAAC,SAAS;AACjB,iDAAK,EAAC,GAAG;AACT,8CAAE,EAAC,iBAAiB;AACpB,qDAAS,MAAA;AACT,oDAAQ,EAAE,CAAC,QAAQ,AAAC;;wCAEpB;4DAhJf,QAAQ;8CAgJiB,MAAM,MAAA;4CAAE,eAAK,CAAC,CAAC,yBAAyB,CAAC;yCAAY;wCAC/D;4DAjJf,QAAQ;8CAiJiB,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,oCAAoC,CAAC;yCAAY;wCACzI;4DAlJf,QAAQ;8CAkJiB,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,yCAAyC,CAAC;yCAAY;wCAChJ,8CAnJf,QAAQ,IAmJiB,OAAO,MAAA,GAAG;wCACpB;4DApJf,QAAQ;8CAoJiB,MAAM,MAAA;4CAAE,eAAK,CAAC,CAAC,8BAA8B,CAAC;yCAAY;wCACpE;4DArJf,QAAQ;8CAqJiB,QAAQ,EAAC,OAAO,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,mCAAmC,CAAC;yCAAY;wCACvI;4DAtJf,QAAQ;8CAsJiB,QAAQ,EAAC,eAAe,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,sCAAsC,CAAC;yCAAY;wCAClJ,8CAvJf,QAAQ,IAuJiB,OAAO,MAAA,GAAG;wCACpB;4DAxJf,QAAQ;8CAwJiB,MAAM,MAAA;4CAAE,eAAK,CAAC,CAAC,iCAAiC,CAAC;yCAAY;wCACvE;4DAzJf,QAAQ;8CAyJiB,QAAQ,EAAC,WAAW,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4CAAE,eAAK,CAAC,CAAC,0CAA0C,CAAC;yCAAY;qCACrI;iCAChB;6BACJ;yBACD;qBACJ;iBACN;aACJ,CACR;SACL;;;WA1JC,YAAY;GAAS,gBAAM,SAAS;;AAApC,YAAY,CACP,SAAS,GAAG;AACf,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,eAAW,EAAE,gBAAM,SAAS,CAAC,MAAM;AACnC,cAAU,EAAE,gBAAM,SAAS,CAAC,MAAM;AAClC,cAAU,EAAE,gBAAM,SAAS,CAAC,MAAM;CACrC;kBAsJU,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC7JrB,kBAAkB;cAAlB,kBAAkB;;aAAlB,kBAAkB;;;;;8BAAlB,kBAAkB;;;;;;wHAAlB,kBAAkB,0EACpB,KAAK,GAAG;AACJ,oBAAQ,aALZ,gBAAgB,AAKc;SAC7B;;;iBAHC,kBAAkB;;yCASH,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;AAC1B,gBAAI,CAAC,GAAG,GAAG,EAAE;AACT,uBAAO,GAAG,CAAC;aACd;AACD,gBAAI,CAAC,GAAG,GAAG,EAAE;AACT,uBAAO,GAAG,CAAC;aACd;AACD,mBAAO,CAAC,CAAC;SACZ;;;qCACY,KAAK,EAAE;AAChB,gBAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;;AAElC,gBAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtC,gBAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACjC;;;2CACkB;AACf,gBAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cA7BvD,aAAa,AA6B0D,aA9BvE,YAAY,CA8B0E,CAAC;AACnF,gBAAI,MAAM,GAAG,AAAC,IAAI,CAAC,KAAK,CAAC,IAAI,gBAjCjC,WAAW,AAiCsC,GAAI,CAAC,GAAG,CAAC,CAAC;AACvD,gBAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1D,gBAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACjC;;;2CACkB;AACf,gBAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAnCvD,aAAa,AAmC0D,aArCvE,YAAY,CAqC0E,CAAC;AACnF,gBAAI,MAAM,GAAG,AAAC,IAAI,CAAC,KAAK,CAAC,IAAI,gBAvCjC,WAAW,AAuCsC,GAAI,CAAC,GAAG,CAAC,CAAC;AACvD,gBAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1D,gBAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACjC;;;wCACe;AACZ,gBAAI,QAAQ,cAxChB,gBAAgB,AAwCmB,CAAC;AAChC,gBAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtC,gBAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACjC;;;iCACQ;AACL,gBAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,aAhD5D,YAAY,aACZ,YAAY,CA+C6E,CAAC;;AAEtF,mBACI;;kBAAK,SAAS,EAAC,sBAAsB;gBACjC;;sBAAK,SAAS,EAAC,aAAa;oBACxB;;0BAAK,SAAS,EAAC,YAAY;wBACvB;;8BAAK,SAAS,EAAC,4BAA4B;4BACvC;;kCAAK,SAAS,EAAC,mBAAmB;gCAAE,eAAK,CAAC,CAAC,MAAM,CAAC;6BAAO;4BACzD;;kCAAK,SAAS,EAAC,iBAAiB;gCAC5B;AACI,wCAAI,EAAC,QAAQ;AACb,6CAAS,EAAC,cAAc;AACxB,yCAAK,EAAE,EAAC,YAAY,EAAE,CAAC,EAAC,AAAC;AACzB,uCAAG,aA7DnC,YAAY,AA6DsC;AAClB,uCAAG,aA7DnC,YAAY,AA6DsC;AAClB,wCAAI,aA7DpC,aAAa,AA6DuC;AACpB,yCAAK,EAAE,QAAQ,AAAC;AAChB,4CAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc;AAC9B,yCAAK,EAAE,eAAK,CAAC,CAAC,+BAA+B,CAAC,AAAC;kCACjD;gCACF;;sCAAc,SAAS,EAAC,iBAAiB,EAAC,OAAO,EAAI,IAAI,CAAC,gBAAgB,MAArB,IAAI,CAAkB,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,2BAA2B,CAAC,AAAC;oCACnH,wCAAM,SAAS,EAAC,0BAA0B,GAAQ;iCACvC;gCACf;;sCAAc,SAAS,EAAC,iBAAiB,EAAC,OAAO,EAAI,IAAI,CAAC,gBAAgB,MAArB,IAAI,CAAkB,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,2BAA2B,CAAC,AAAC;oCACnH,wCAAM,SAAS,EAAC,2BAA2B,GAAQ;iCACxC;gCACf;;sCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,iBAAiB,EAAC,OAAO,EAAI,IAAI,CAAC,aAAa,MAAlB,IAAI,CAAe,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,OAAO,CAAC,AAAC;oCACpG,wCAAM,SAAS,EAAC,2BAA2B,GAAQ;iCAC9C;6BACP;yBACJ;qBACJ;iBACJ;aACJ,CACR;SACL;;;WA7EC,kBAAkB;GAAS,gBAAM,SAAS;;AAA1C,kBAAkB,CAIb,SAAS,GAAG;AACf,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,YAAQ,EAAE,gBAAM,SAAS,CAAC,IAAI;CACjC;kBAyEU,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICnF3B,kBAAkB;cAAlB,kBAAkB;;aAAlB,kBAAkB;8BAAlB,kBAAkB;;sEAAlB,kBAAkB;;;iBAAlB,kBAAkB;;4BAQhB,MAAM,EAAE;AACR,iCAAW,OAAO,CAAC,KAAK,CAAC;AAAC,AAC1B,gBAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,iCAAW,OAAO,CAAC,KAAK,CAAC;AAAC,SAC7B;;;6BACI,MAAM,EAAE;AACT,kBAAM,GAAG,MAAM,IAAI,EAAE,CAAC;AACtB,gBAAI,CAAC,GAAG,iBAAE,GAAG,CAAC,MAAM,EAAE,UAAC,KAAK,EAAE,MAAM,EAAK;AACrC,uBAAO,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC;aAC9B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;AAEb,iCAAW,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;SACjC;;;iCACQ;;;yBACiC,IAAI,CAAC,KAAK;gBAA1C,IAAI,UAAJ,IAAI;gBAAE,WAAW,UAAX,WAAW;gBAAE,QAAQ,UAAR,QAAQ;;AACjC,gBAAI,QAAQ,GAAI,CAAC,CAAC,IAAI,IAAK,WAAW,gBA1B1C,iBAAiB,AA0B+C,AAAC,AAAC,CAAC;;AAE/D,mBACI;;kBAAK,SAAS,EAAC,sBAAsB;gBACjC;;;oBACI;;;wBACI;;;4BACI;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,+CAA+C;AACzD,+CAAO,EAAE;mDAAM,OAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;yCAAA,AAAC;AACvD,gDAAQ,EAAE,CAAC,QAAQ,AAAC;AACpB,6CAAK,EAAE,eAAK,CAAC,CAAC,YAAY,CAAC,AAAC;;oCAE5B,qCAAG,SAAS,EAAC,mDAAmD,GAAK;iCAChE;6BACR;4BACL;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,mCAAmC;AAC7C,+CAAO,EAAE;mDAAM,OAAK,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;yCAAA,AAAC;AACzC,gDAAQ,EAAE,CAAC,QAAQ,AAAC;AACpB,6CAAK,EAAE,eAAK,CAAC,CAAC,SAAS,CAAC,AAAC;;oCAEzB;;0CAAM,SAAS,EAAC,eAAe;;qCAAU;iCACpC;6BACR;4BACL;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,8CAA8C;AACxD,+CAAO,EAAE;mDAAM,OAAK,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;yCAAA,AAAC;AACtD,gDAAQ,EAAE,CAAC,QAAQ,AAAC;AACpB,6CAAK,EAAE,eAAK,CAAC,CAAC,YAAY,CAAC,AAAC;;oCAE5B,qCAAG,SAAS,EAAC,kDAAkD,GAAK;iCAC/D;6BACR;4BACL;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,mCAAmC;AAC7C,+CAAO,EAAE;mDAAM,OAAK,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;yCAAA,AAAC;AACzC,gDAAQ,EAAE,CAAC,QAAQ,AAAC;AACpB,6CAAK,EAAE,eAAK,CAAC,CAAC,SAAS,CAAC,AAAC;;oCAEzB;;0CAAM,SAAS,EAAC,eAAe;;qCAAU;iCACpC;6BACR;yBACJ;wBACL;;;4BACI;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,oCAAoC;AAC9C,+CAAO,EAAE;mDAAM,OAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;yCAAA,AAAC;AAC1C,gDAAQ,EAAE,CAAC,QAAQ,AAAC;AACpB,6CAAK,EAAE,eAAK,CAAC,CAAC,SAAS,CAAC,AAAC;;oCAEzB;;0CAAM,SAAS,EAAC,eAAe;;qCAAU;iCACpC;6BACR;4BACL;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,oCAAoC;AAC9C,+CAAO,EAAE;mDAAM,OAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;yCAAA,AAAC;AACzC,gDAAQ,EAAE,CAAC,QAAQ,AAAC;AACpB,6CAAK,EAAE,eAAK,CAAC,CAAC,4BAA4B,CAAC,AAAC;;oCAE5C;;0CAAM,SAAS,EAAC,eAAe;;qCAAW;iCACrC;6BACR;4BACL;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,mCAAmC;AAC7C,+CAAO,EAAE;mDAAM,OAAK,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;yCAAA,AAAC;AACzC,gDAAQ,EAAE,CAAC,QAAQ,AAAC;AACpB,6CAAK,EAAE,eAAK,CAAC,CAAC,SAAS,CAAC,AAAC;;oCAEzB;;0CAAM,SAAS,EAAC,eAAe;;qCAAU;iCACpC;6BACR;4BACL;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,mCAAmC;AAC7C,+CAAO,EAAE;mDAAM,OAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;yCAAA,AAAC;AACnC,gDAAQ,EAAE,CAAC,QAAQ,AAAC;AACpB,6CAAK,EAAE,eAAK,CAAC,CAAC,wBAAwB,CAAC,AAAC;;oCAExC;;0CAAM,SAAS,EAAC,eAAe;;qCAAS;iCACnC;6BACR;yBACJ;wBACL;;;4BACI;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,gDAAgD;AAC1D,+CAAO,EAAE;mDAAM,OAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;yCAAA,AAAC;AACxD,gDAAQ,EAAE,CAAC,QAAQ,AAAC;AACpB,6CAAK,EAAE,eAAK,CAAC,CAAC,YAAY,CAAC,AAAC;;oCAE5B,qCAAG,SAAS,EAAC,oDAAoD,GAAK;iCACjE;6BACR;4BACL;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,oCAAoC;AAC9C,+CAAO,EAAE;mDAAM,OAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;yCAAA,AAAC;AAC1C,gDAAQ,EAAE,CAAC,QAAQ,AAAC;AACpB,6CAAK,EAAE,eAAK,CAAC,CAAC,SAAS,CAAC,AAAC;;oCAEzB;;0CAAM,SAAS,EAAC,eAAe;;qCAAU;iCACpC;6BACR;4BACL;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,+CAA+C;AACzD,+CAAO,EAAE;mDAAM,OAAK,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;yCAAA,AAAC;AACvD,gDAAQ,EAAE,CAAC,QAAQ,AAAC;AACpB,6CAAK,EAAE,eAAK,CAAC,CAAC,YAAY,CAAC,AAAC;;oCAE5B,qCAAG,SAAS,EAAC,qDAAqD,GAAK;iCAClE;6BACR;4BACL;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,oCAAoC;AAC9C,+CAAO,EAAE;mDAAM,OAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;yCAAA,AAAC;AAC1C,gDAAQ,EAAE,CAAC,QAAQ,AAAC;AACpB,6CAAK,EAAE,eAAK,CAAC,CAAC,SAAS,CAAC,AAAC;;oCAEzB;;0CAAM,SAAS,EAAC,eAAe;;qCAAU;iCACpC;6BACR;yBACJ;qBACD;iBACJ;aACN,CACR;SACL;;;WA3KC,kBAAkB;GAAS,gBAAM,SAAS;;AAA1C,kBAAkB,CACb,SAAS,GAAG;AACf,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,eAAW,EAAE,gBAAM,SAAS,CAAC,MAAM;AACnC,YAAQ,EAAE,gBAAM,SAAS,CAAC,MAAM;CACnC;kBAwKU,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC7K3B,cAAc;cAAd,cAAc;;aAAd,cAAc;8BAAd,cAAc;;sEAAd,cAAc;;;iBAAd,cAAc;;qCASH,MAAM,EAAE,QAAQ,EAAE;AAC3B,gBAAI,IAAI,GAAG,QAAQ,CAAC;AACpB,gBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;;;6BACI,IAAI,EAAE;AACP,iCAAW,OAAO,CAAC,IAAI,CAAC,CAAC;SAC5B;;;iCACQ;;;yBACyC,IAAI,CAAC,KAAK;gBAAlD,IAAI,UAAJ,IAAI;gBAAE,IAAI,UAAJ,IAAI;gBAAE,WAAW,UAAX,WAAW;gBAAE,UAAU,UAAV,UAAU;;AACzC,gBAAI,QAAQ,GAAI,CAAC,CAAC,IAAI,IAAK,WAAW,gBArB1C,iBAAiB,AAqB+C,AAAC,AAAC,CAAC;;AAE/D,mBACI;;kBAAK,SAAS,EAAC,iBAAiB;gBAC5B;;;oBACI;;;wBACI;;;4BACI;;;gCACI;oDAjCvB,cAAc;;AAkCa,8CAAM,EAAC,IAAI;AACX,+CAAO,EAAC,SAAS;AACjB,6CAAK,EACD;;;4CAAM,qCAAG,SAAS,EAAC,0BAA0B,GAAK;;4CAAO,eAAK,CAAC,CAAC,qBAAqB,CAAC;yCAAQ,AACjG;AACD,0CAAE,EAAC,8BAA8B;AACjC,iDAAS,MAAA;AACT,gDAAQ,EAAE,CAAC,QAAQ,AAAC;;oCAEpB;wDA3CX,QAAQ;0CA2Ca,QAAQ,EAAC,KAAK,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;wCACvE,eAAK,CAAC,CAAC,mCAAmC,CAAC;qCACrC;oCACX;wDA9CX,QAAQ;0CA8Ca,QAAQ,EAAC,KAAK,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;wCACvE,eAAK,CAAC,CAAC,mCAAmC,CAAC;qCACrC;oCACX,8CAjDX,QAAQ,IAiDa,OAAO,MAAA,GAAG;oCACpB;wDAlDX,QAAQ;0CAkDa,QAAQ,EAAC,OAAO,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;wCACzE,eAAK,CAAC,CAAC,mCAAmC,CAAC;qCACrC;oCACX;wDArDX,QAAQ;0CAqDa,QAAQ,EAAC,OAAO,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;wCACzE,eAAK,CAAC,CAAC,mCAAmC,CAAC;qCACrC;iCACE;6BAChB;yBACJ;wBACL;;;4BACI;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,wBAAwB;AAClC,+CAAO,EAAE;mDAAM,OAAK,IAAI,CAAC,aAAa,CAAC;yCAAA,AAAC;AACxC,gDAAQ,EAAE,CAAC,QAAQ,AAAC;;oCAEnB,eAAK,CAAC,CAAC,iBAAiB,CAAC;iCACrB;6BACR;yBACJ;wBACL;;;4BACI;;;gCACI;;;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,wBAAwB;AAClC,+CAAO,EAAE;mDAAM,OAAK,IAAI,CAAC,iBAAiB,CAAC;yCAAA,AAAC;AAC5C,gDAAQ,EAAE,CAAC,QAAQ,AAAC;;oCAEnB,eAAK,CAAC,CAAC,oBAAoB,CAAC;iCACxB;6BACR;yBACJ;qBACD;iBACJ;aACN,CACR;SACL;;;WAhFC,cAAc;GAAS,gBAAM,SAAS;;AAAtC,cAAc,CACT,SAAS,GAAG;AACf,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,eAAW,EAAE,gBAAM,SAAS,CAAC,MAAM;AACnC,cAAU,EAAE,gBAAM,SAAS,CAAC,MAAM;AAClC,cAAU,EAAE,gBAAM,SAAS,CAAC,MAAM;CACrC;kBA4EU,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IClFvB,aAAa;cAAb,aAAa;;aAAb,aAAa;8BAAb,aAAa;;sEAAb,aAAa;;;iBAAb,aAAa;;4CAOK;AAChB,gBAAI,IAAI,CAAC,KAAK,CAAC,IAAI,gBAXvB,WAAW,AAW4B,EAAE;AACjC,qCAAW,OAAO,CAAC,KAAK,CAAC;AAAC,aAC7B,MAAM;AACH,yCAAW,OAAO,CAAC,KAAK,CAAC;AAAC,iBAC7B;SACJ;;;qCACY,MAAM,EAAE,QAAQ,EAAE;AAC3B,gBAAI,IAAI,GAAG,QAAQ,CAAC;AACpB,gBAAI,IAAI,EAAE;AACN,qCAAW,OAAO,CAAC,IAAI,CAAC,CAAC;aAC5B;SACJ;;;iCACQ;yBACuB,IAAI,CAAC,KAAK;gBAAhC,IAAI,UAAJ,IAAI;gBAAE,WAAW,UAAX,WAAW;;AACvB,gBAAI,QAAQ,GAAI,CAAC,CAAC,IAAI,IAAK,WAAW,gBA1B1C,iBAAiB,AA0B+C,AAAC,AAAC,CAAC;;AAE/D,mBACI;;;gBACI;;sBAAK,SAAS,EAAC,0BAA0B;oBACrC;;0BAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,wBAAwB,EAAC,OAAO,EAAI,IAAI,CAAC,iBAAiB,MAAtB,IAAI,CAAmB,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;wBAAE,eAAK,CAAC,CAAC,SAAS,CAAC;qBAAU;oBAC7I;wCApCX,cAAc;;AAqCC,kCAAM,EAAC,IAAI;AACX,mCAAO,EAAC,SAAS;AACjB,iCAAK,EAAC,KAAK;AACX,8BAAE,EAAC,eAAe;AAClB,qCAAS,MAAA;AACT,oCAAQ,EAAE,CAAC,QAAQ,AAAC;;wBAEpB;4CA5CC,QAAQ;8BA4CC,MAAM,MAAA;4BAAE,eAAK,CAAC,CAAC,yBAAyB,CAAC;yBAAY;wBAC/D;4CA7CC,QAAQ;8BA6CC,QAAQ,EAAC,cAAc,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4BAAE,eAAK,CAAC,CAAC,2CAA2C,CAAC;yBAAY;wBACtJ;4CA9CC,QAAQ;8BA8CC,QAAQ,EAAC,gBAAgB,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4BAAE,eAAK,CAAC,CAAC,gDAAgD,CAAC;yBAAY;wBAC7J,8CA/CC,QAAQ,IA+CC,OAAO,MAAA,GAAG;wBACpB;4CAhDC,QAAQ;8BAgDC,MAAM,MAAA;4BAAE,eAAK,CAAC,CAAC,8BAA8B,CAAC;yBAAY;wBACpE;4CAjDC,QAAQ;8BAiDC,QAAQ,EAAC,aAAa,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4BAAE,eAAK,CAAC,CAAC,+BAA+B,CAAC;yBAAY;wBACzI;4CAlDC,QAAQ;8BAkDC,QAAQ,EAAC,qBAAqB,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4BAAE,eAAK,CAAC,CAAC,6CAA6C,CAAC;yBAAY;wBAC/J,8CAnDC,QAAQ,IAmDC,OAAO,MAAA,GAAG;wBACpB;4CApDC,QAAQ;8BAoDC,MAAM,MAAA;4BAAE,eAAK,CAAC,CAAC,iCAAiC,CAAC;yBAAY;wBACvE;4CArDC,QAAQ;8BAqDC,QAAQ,EAAC,iBAAiB,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4BAAE,eAAK,CAAC,CAAC,sCAAsC,CAAC;yBAAY;qBACvI;iBACf;aACJ,CACR;SACL;;;WAlDC,aAAa;GAAS,gBAAM,SAAS;;AAArC,aAAa,CACR,SAAS,GAAG;AACf,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,eAAW,EAAE,gBAAM,SAAS,CAAC,MAAM;CACtC;kBAgDU,aAAa;;;;;;;;AC/DrB,IAAM,aAAa,WAAb,aAAa,GAAG,IAAI,CAAC;AAC3B,IAAM,WAAW,WAAX,WAAW,GAAG,IAAI;;;AAAC,AAGzB,IAAM,YAAY,WAAZ,YAAY,GAAG,CAAC,CAAC;AACvB,IAAM,YAAY,WAAZ,YAAY,GAAG,KAAK,CAAC;AAC3B,IAAM,aAAa,WAAb,aAAa,GAAG,GAAG,CAAC;AAC1B,IAAM,gBAAgB,WAAhB,gBAAgB,GAAG,IAAI;;;AAAC,AAG9B,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,MAAM,CAAC;AACjC,IAAM,gBAAgB,WAAhB,gBAAgB,GAAG,KAAK,CAAC;AAC/B,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,MAAM,CAAC;AACjC,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,MAAM,CAAC;AACjC,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,MAAM,CAAC;AACjC,IAAM,kBAAkB,WAAlB,kBAAkB,GAAG,OAAO,CAAC;AACnC,IAAM,kBAAkB,WAAlB,kBAAkB,GAAG,OAAO,CAAC;;;AChB1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICOM,UAAU;cAAV,UAAU;;aAAV,UAAU;;;;;8BAAV,UAAU;;;;;;wHAAV,UAAU,0EACZ,KAAK,GAAG;AACJ,uBAAW,EAAE,KAAK;SACrB;;;iBAHC,UAAU;;oCAKA,MAAM,EAAE,GAAG,EAAE;AACrB,gBAAI,MAAM,KAAK,QAAQ,EAAE;AACrB,oBAAI,CAAC,QAAQ,CAAC;AACV,+BAAW,EAAE,CAAC,CAAC,GAAG;iBACrB,CAAC,CAAC;aACN;SACJ;;;iCACQ;AACL,gBAAI,KAAK,GAAG,GAAG,CAAC;AAChB,gBAAI,KAAK,GAAG,eAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3B,gBAAI,cAAc,GAAG,CACjB,QAAQ,CACX,CAAC;AACF,gBAAI,kBAAkB,GAAG,0BACrB,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CACvC,CAAC;;AAEF,mBACI;;6BAAS,IAAI,CAAC,KAAK,IAAE,kBAAe,oBAAoB;gBACpD;4BA5BP,MAAM;sBA4BS,KAAK,EAAE,KAAK,AAAC;oBACjB,sCA7BH,YAAY;AA8BL,6BAAK,EAAE,KAAK,AAAC;AACb,sCAAc,EAAE,cAAc,AAAC;AAC/B,mCAAW,EAAI,IAAI,CAAC,WAAW,MAAhB,IAAI,CAAa;sBAClC;oBACF;gCAlCW,aAAa;0BAkCT,SAAS,EAAE,kBAAkB,AAAC;wBACzC,mDAAQ;qBACI;iBACX;aACP,CACR;SACL;;;WApCC,UAAU;GAAS,gBAAM,SAAS;;kBAuCzB,UAAU;;;;;;;;;;;;;;;;;;;;;;;IC5CnB,KAAK;cAAL,KAAK;;aAAL,KAAK;8BAAL,KAAK;;sEAAL,KAAK;;;iBAAL,KAAK;;iCACE;AACL,mBACI;;;gBACK,IAAI,CAAC,KAAK,CAAC,GAAG,IACf;;sBAAK,SAAS,EAAC,4BAA4B,EAAC,KAAK,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,AAAC;oBAChE;;;AACI,gCAAI,EAAC,oBAAoB;AACzB,qCAAS,EAAC,OAAO;AACjB,4CAAa,OAAO;AACpB,0CAAW,OAAO;AAClB,iCAAK,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,AAAC;AAC1B,mCAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,AAAC;;;qBAC1B;oBACL,IAAI,CAAC,KAAK,CAAC,GAAG;iBACb;aAEJ,CACR;SACL;;;WAnBC,KAAK;GAAS,gBAAM,SAAS;;kBAsBpB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICdd,UAAU;cAAV,UAAU;;aAAV,UAAU;;;;;8BAAV,UAAU;;;;;;wHAAV,UAAU,0EACZ,KAAK,GAAG;AACJ,mBAAO,EAAE,KAAK;AACd,iBAAK,EAAE,EAAE;AACT,qBAAS,EAAE,CACP,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,MAAM,CACT;AACD,gBAAI,EAAE,EAAE;AACR,oBAAQ,EAAE,MAAM;AAChB,wBAAY,EAAE,EAAE;SACnB,QACD,mBAAmB,GAAG;AAClB,6BAAiB,EAAI,mBAAK,sBAAsB,eAAA;AAChD,6BAAiB,EAAI,mBAAK,sBAAsB,eAAA;AAChD,8BAAkB,EAAI,mBAAK,uBAAuB,eAAA;AAClD,8BAAkB,EAAI,mBAAK,uBAAuB,eAAA;SACrD;;;iBApBC,UAAU;;6CAsBS;AACjB,gBAAI,CAAC,aAAa,EAAE,CAAC;SACxB;;;4CACmB;AAChB,gBAAI,CAAC,sBAAsB,EAAE,CAAC;SACjC;;;+CACsB;AACnB,gBAAI,CAAC,yBAAyB,EAAE,CAAC;SACpC;;;iDACwB;AACrB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aAClC,CAAC,CAAC;SACN;;;oDAC2B;AACxB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aACnC,CAAC,CAAC;SACN;;;+CACsB,KAAK,EAAE;AAC1B,0BAAI,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;;AAEpC,gBAAI,CAAC,WAAW,EAAE,CAAC;;AAEnB,gBAAI,CAAC,UAAU,EAAE,CAAC;;AAElB,gBAAI,IAAI,GAAG,gBAAM,QAAQ,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC;;AAE3D,gBAAI,iBAAE,QAAQ,CAAC,iBAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE;AAC1C,oBAAI,CAAC,QAAQ,CAAC;AACV,wBAAI,EAAE,IAAI;AACV,yBAAK,EAAE,KAAK;iBACf,CAAC,CAAC;aACN,MAAM;AACH,oBAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;aACnC;SACJ;;;+CACsB,OAAO,EAAE;gBACtB,IAAI,GAAsB,OAAO,CAAjC,IAAI;gBAAE,QAAQ,GAAY,OAAO,CAA3B,QAAQ;gBAAE,KAAK,GAAK,OAAO,CAAjB,KAAK;;AAC3B,gBAAI,KAAK,GAAG,iBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAS,CAAC,EAAE;AAC5C,oBAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;AACjB,2BAAO,CAAC,CAAC;iBACZ;;AAED,uBAAO,iBAAE,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;aACxC,CAAC,CAAC;;AAEH,gBAAI,CAAC,UAAU,EAAE,CAAC;;AAElB,+BAAO,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;;;AAAC,AAG7B,4BAAM,QAAQ,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;;AAEhD,gBAAI,CAAC,QAAQ,CAAC;AACV,0BAAU,EAAE,KAAK;AACjB,yBAAS,EAAE,IAAI;AACf,oBAAI,EAAE,IAAI;AACV,wBAAQ,EAAE,QAAQ;AAClB,qBAAK,EAAE,KAAK;aACf,CAAC,CAAC;;AAEH,0BAAI,KAAK,CAAC,iBAAiB,GAAG,IAAI,GAAG,QAAQ,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;SACnE;;;gDACuB,OAAO,EAAE;gBACvB,IAAI,GAAY,OAAO,CAAvB,IAAI;gBAAE,KAAK,GAAK,OAAO,CAAjB,KAAK;;AAEjB,gBAAI,CAAC,UAAU,EAAE;;;AAAC,AAGlB,+BAAO,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;;AAE3B,gBAAI,CAAC,QAAQ,CAAC;AACV,0BAAU,EAAE,KAAK;AACjB,yBAAS,EAAE,KAAK;aACnB,CAAC,CAAC;;AAEH,0BAAI,KAAK,CAAC,sBAAsB,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC;SACpD;;;gDACuB,OAAO,EAAE;gBACvB,IAAI,GAAK,OAAO,CAAhB,IAAI;;AAEV,gBAAI,CAAC,SAAS,CAAC,6BAA6B,GAAG,IAAI,CAAC;;;AAAC,AAGrD,+BAAO,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;;AAE3B,gBAAI,CAAC,QAAQ,CAAC;AACV,0BAAU,EAAE,KAAK;AACjB,yBAAS,EAAE,KAAK;aACnB,CAAC,CAAC;;AAEH,0BAAI,KAAK,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;SACjD;;;kCACS,GAAG,EAAE;AACX,gBAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;SACxC;;;qCACY;AACT,gBAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;SACvC;;;uCACc;;;AACX,gBAAI,KAAK,GAAG,CAAC,GAAG,IAAI;;AAAC,AAErB,gBAAI,CAAC,QAAQ,CAAC;AACV,uBAAO,EAAE,IAAI;aAChB,CAAC,CAAC;AACH,gBAAI,CAAC,aAAa,GAAG,UAAU,CAAC,YAAM;AAClC,uBAAK,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;aACrC,EAAE,KAAK,CAAC,CAAC;SACb;;;sCACa;AACV,gBAAI,IAAI,CAAC,aAAa,EAAE;AACpB,4BAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACjC,oBAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC7B;AACD,gBAAI,CAAC,QAAQ,CAAC;AACV,uBAAO,EAAE,KAAK;aACjB,CAAC,CAAC;SACN;;;oCACW,IAAI,EAAE;AACd,gBAAI,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAC/B,gBAAI,CAAC,GAAG,iBAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAC5D,mBAAO,CAAC,CAAE,CAAC,CAAC,KAAK,AAAC,CAAC;SACtB;;;wCACe;AACZ,6BAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACpB,gBAAI,CAAC,YAAY,EAAE,CAAC;SACvB;;;mCACU;AACP,gBAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAC3B,gBAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;;AAEnC,gBAAI,CAAC,QAAQ,CAAC;AACV,0BAAU,EAAE,IAAI;aACnB,CAAC,CAAC;AACH,6BAAO,IAAI,CAAC,MAAM,EAAE;AAChB,oBAAI,EAAE,IAAI;AACV,wBAAQ,EAAE,QAAQ;aACrB,CAAC,CAAC;SACN;;;oCACW;AACR,gBAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI;;;AAAC,AAG3B,+BAAO,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;;AAE3B,gBAAI,CAAC,QAAQ,CAAC;AACV,0BAAU,EAAE,KAAK;AACjB,yBAAS,EAAE,KAAK;aACnB,CAAC,CAAC;AACH,6BAAO,IAAI,CAAC,OAAO,EAAE;AACjB,oBAAI,EAAE,IAAI;aACb,CAAC;;;AAAC,AAGH,6BAAO,IAAI,CAAC,MAAM,CAAC,CAAC;SACvB;;;mCACU,KAAK,EAAE;AACd,gBAAI,CAAC,QAAQ,CAAC;AACV,4BAAY,EAAE,EAAE;AAChB,oBAAI,EAAE,KAAK;aACd,CAAC,CAAC;SACN;;;uCACc,KAAK,EAAE;AAClB,gBAAI,CAAC,QAAQ,CAAC;AACV,4BAAY,EAAE,EAAE;AAChB,wBAAQ,EAAE,KAAK;aAClB,CAAC,CAAC;SACN;;;yCACgB,MAAM,EAAE;AACrB,gBAAI,WAAW,GAAG;AACd,0BAAU,EAAE,QAAQ;AACpB,4BAAY,EAAE,UAAU;AACxB,wBAAQ,EAAE,QAAQ;aACrB,CAAC;AACF,gBAAI,SAAS,GAAG;AACZ,wBAAQ,EAAE,MAAM;aACnB,CAAC;;AAEF,mBACI;;kBAAK,KAAK,EAAE,WAAW,AAAC,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,AAAC;gBACzC;;;oBACC,MAAM,CAAC,KAAK,IACT;;;wBAAM,qCAAG,SAAS,EAAC,0BAA0B,GAAK;;qBAAa;oBAElE,MAAM,CAAC,KAAK;iBACP;gBACL,MAAM,CAAC,YAAY,IAChB;;sBAAM,KAAK,EAAE,SAAS,AAAC;oBAClB,eAAK,CAAC,CAAC,eAAe,CAAC;;oBAAQ,MAAM,CAAC,YAAY;iBAChD;aAET,CACR;SACL;;;wCACe,MAAM,EAAE;AACpB,gBAAI,UAAU,GAAG,CAAE,IAAI,CAAC,KAAK,CAAC,OAAO,AAAC,CAAC;AACvC,gBAAI,aAAa,GAAG,UAAU,CAAC;AAC/B,gBAAI,KAAK,GAAG;AACR,qBAAK,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM;AACtC,4BAAY,EAAE,UAAU;AACxB,wBAAQ,EAAE,QAAQ;aACrB,CAAC;AACF,mBACI;;kBAAK,KAAK,EAAE,KAAK,AAAC,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,AAAC;gBAClC,MAAM,CAAC,KAAK,IACT;;;oBAAM,qCAAG,SAAS,EAAC,0BAA0B,GAAK;;iBAAa;gBAElE,MAAM,CAAC,KAAK;aACX,CACR;SACL;;;4CACmB,MAAM,EAAE;AACxB,gBAAI,UAAU,GAAG,CAAE,IAAI,CAAC,KAAK,CAAC,OAAO,AAAC,CAAC;AACvC,gBAAI,QAAQ,GAAG,CAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,AAAC,CAAC;AACpD,gBAAI,iBAAiB,GAAG,UAAU,IAAI,QAAQ,CAAC;AAC/C,gBAAI,KAAK,GAAG;AACR,qBAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM;AAC1C,4BAAY,EAAE,UAAU;AACxB,wBAAQ,EAAE,QAAQ;aACrB,CAAC;AACF,mBACI;;kBAAK,KAAK,EAAE,KAAK,AAAC,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,AAAC;gBAAE,MAAM,CAAC,KAAK;aAAO,CAC9D;SACL;;;iCACQ;AACL,gBAAI,UAAU,GAAG,CAAE,IAAI,CAAC,KAAK,CAAC,OAAO,AAAC,CAAC;AACvC,gBAAI,aAAa,GAAG,CAAE,IAAI,CAAC,KAAK,CAAC,UAAU,AAAC,CAAC;AAC7C,gBAAI,YAAY,GAAG,CAAE,IAAI,CAAC,KAAK,CAAC,SAAS,AAAC,CAAC;AAC3C,gBAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;AACvC,gBAAI,UAAU,GAAG,UAAU,IAAI,YAAY,CAAC;AAC5C,gBAAI,aAAa,GAAG,UAAU,IAAI,YAAY,CAAC;AAC/C,gBAAI,iBAAiB,GAAG,UAAU,IAAI,YAAY,IAAK,CAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,AAAC,AAAC,CAAC;AAC7F,gBAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,aAAa,IAAI,YAAY,CAAC;AAC1F,gBAAI,YAAY,GAAG,WAAW,CAAC;;AAE/B,mBACI;;;gBACI,iDAAO,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,AAAC,EAAC,OAAO,EAAI,IAAI,CAAC,UAAU,MAAf,IAAI,CAAY,GAAG;gBACnE;;sBAAK,SAAS,EAAC,YAAY;oBACvB;;0BAAO,SAAS,EAAC,eAAe;wBAAE,eAAK,CAAC,CAAC,OAAO,CAAC;qBAAS;oBAC1D;;0BAAK,SAAS,EAAC,4BAA4B;wBACvC;AACI,qCAAS,EAAC,IAAI;AACd,gCAAI,EAAC,MAAM;AACX,iCAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,AAAC;AACvB,mCAAO,EAAE,iBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAC,IAAI,EAAK;AACvC,uCAAO;AACH,yCAAK,EAAE,IAAI,CAAC,IAAI;AAChB,yCAAK,EAAE,IAAI,CAAC,IAAI;AAChB,gDAAY,EAAE,IAAI,CAAC,YAAY;AAC/B,yCAAK,EAAE,IAAI,CAAC,KAAK;iCACpB,CAAC;6BACL,CAAC,AAAC;AACH,oCAAQ,EAAE,CAAC,aAAa,AAAC;AACzB,4CAAgB,EAAE,KAAK,AAAC;AACxB,qCAAS,EAAE,KAAK,AAAC;AACjB,sCAAU,EAAE,KAAK,AAAC;AAClB,uCAAW,EAAE,eAAK,CAAC,CAAC,eAAe,CAAC,AAAC;AACrC,yCAAa,EAAE,eAAK,CAAC,CAAC,oBAAoB,CAAC,AAAC;AAC5C,0CAAc,EAAI,IAAI,CAAC,gBAAgB,MAArB,IAAI,CAAkB;AACxC,yCAAa,EAAI,IAAI,CAAC,eAAe,MAApB,IAAI,CAAiB;AACtC,oCAAQ,EAAI,IAAI,CAAC,UAAU,MAAf,IAAI,CAAY;0BAC9B;wBACF;;8BAAK,SAAS,EAAC,iBAAiB;4BAC5B;;kCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,iBAAiB,EAAC,IAAI,EAAC,aAAa,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,SAAS,CAAC,AAAC,EAAC,OAAO,EAAI,IAAI,CAAC,aAAa,MAAlB,IAAI,CAAe,EAAC,QAAQ,EAAE,CAAC,UAAU,AAAC;gCACnJ,UAAU,GACL,qCAAG,SAAS,EAAC,6BAA6B,GAAK,GAC/C,qCAAG,SAAS,EAAC,sCAAsC,GAAK;6BAErD;yBACP;qBACJ;iBACJ;gBACN;;sBAAK,SAAS,EAAC,YAAY;oBACvB;;0BAAO,SAAS,EAAC,eAAe;wBAAE,eAAK,CAAC,CAAC,YAAY,CAAC;qBAAS;oBAC/D;AACI,iCAAS,EAAC,IAAI;AACd,4BAAI,EAAC,UAAU;AACf,6BAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,AAAC;AAC3B,+BAAO,EAAE,iBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAS,QAAQ,EAAE;AACpD,mCAAO;AACH,qCAAK,EAAE,QAAQ;AACf,qCAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;6BACrC,CAAC;yBACL,CAAC,AAAC;AACH,gCAAQ,EAAE,CAAC,iBAAiB,AAAC;AAC7B,wCAAgB,EAAE,KAAK,AAAC;AACxB,iCAAS,EAAE,KAAK,AAAC;AACjB,kCAAU,EAAE,KAAK,AAAC;AAClB,mCAAW,EAAE,eAAK,CAAC,CAAC,oBAAoB,CAAC,AAAC;AAC1C,qCAAa,EAAI,IAAI,CAAC,mBAAmB,MAAxB,IAAI,CAAqB;AAC1C,gCAAQ,EAAI,IAAI,CAAC,cAAc,MAAnB,IAAI,CAAgB;sBAClC;iBACA;gBACN;;sBAAK,SAAS,EAAC,wBAAwB;oBAClC,YAAY,IACT;;;AACI,gCAAI,EAAC,QAAQ;AACb,qCAAS,EAAC,iBAAiB;AAC3B,oCAAQ,EAAE,CAAC,WAAW,AAAC;AACvB,mCAAO,EAAI,IAAI,CAAC,QAAQ,MAAb,IAAI,CAAU;;wBAEzB,qCAAG,SAAS,EAAC,yBAAyB,GAAK;;wBAAO,eAAK,CAAC,CAAC,MAAM,CAAC;qBAC3D;oBAEZ,WAAW,IACR;;;AACI,gCAAI,EAAC,QAAQ;AACb,qCAAS,EAAC,gBAAgB;AAC1B,oCAAQ,EAAE,CAAC,YAAY,AAAC;AACxB,mCAAO,EAAI,IAAI,CAAC,SAAS,MAAd,IAAI,CAAW;;wBAE1B,qCAAG,SAAS,EAAC,yBAAyB,GAAK;;wBAAO,eAAK,CAAC,CAAC,OAAO,CAAC;qBAC5D;iBAEX;aACJ,CACR;SACL;;;WArVC,UAAU;GAAS,gBAAM,SAAS;;kBAwVzB,UAAU;;;AClWzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICOM,gBAAgB;cAAhB,gBAAgB;;aAAhB,gBAAgB;;;;;8BAAhB,gBAAgB;;;;;;wHAAhB,gBAAgB,0EAClB,KAAK,GAAG;AACJ,uBAAW,EAAE,KAAK;SACrB;;;iBAHC,gBAAgB;;oCAKN,MAAM,EAAE,GAAG,EAAE;AACrB,gBAAI,MAAM,KAAK,QAAQ,EAAE;AACrB,oBAAI,CAAC,QAAQ,CAAC;AACV,+BAAW,EAAE,CAAC,CAAC,GAAG;iBACrB,CAAC,CAAC;aACN;SACJ;;;iCACQ;AACL,gBAAI,KAAK,GAAG,GAAG,CAAC;AAChB,gBAAI,KAAK,GAAG,eAAK,CAAC,CAAC,YAAY,CAAC,CAAC;AACjC,gBAAI,cAAc,GAAG,CACjB,QAAQ,CACX,CAAC;AACF,gBAAI,kBAAkB,GAAG,0BACrB,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CACvC,CAAC;;AAEF,mBACI;;6BAAS,IAAI,CAAC,KAAK,IAAE,kBAAe,0BAA0B;gBAC1D;4BA5BP,MAAM;sBA4BS,KAAK,EAAE,KAAK,AAAC;oBACjB,sCA7BH,YAAY;AA8BL,6BAAK,EAAE,KAAK,AAAC;AACb,sCAAc,EAAE,cAAc,AAAC;AAC/B,mCAAW,EAAI,IAAI,CAAC,WAAW,MAAhB,IAAI,CAAa;sBAClC;oBACF;gCAlCW,aAAa;0BAkCT,SAAS,EAAE,kBAAkB,AAAC;wBACzC,yDAAc;qBACF;iBACX;aACP,CACR;SACL;;;WApCC,gBAAgB;GAAS,gBAAM,SAAS;;kBAuC/B,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICnCzB,OAAO;cAAP,OAAO;;aAAP,OAAO;;;;;8BAAP,OAAO;;;;;;wHAAP,OAAO,0EACT,KAAK,GAAG;AACJ,gBAAI,EAAE,EAAE;AACR,mBAAO,EAAE,EAAE;SACd,QAED,OAAO,GAAG,EAAE;;;iBANV,OAAO;;4CAQW;AAChB,gBAAI,CAAC,SAAS,EAAE,CAAC;AACjB,gBAAI,CAAC,mBAAmB,EAAE,CAAC;SAC9B;;;+CACsB;AACnB,gBAAI,CAAC,WAAW,EAAE,CAAC;AACnB,gBAAI,CAAC,sBAAsB,EAAE,CAAC;SACjC;;;oCACW;;;AACR,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;;AAEvB;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,MAAM,EAAE,UAAC,GAAG,EAAE,IAAI,EAAK;AAChD,wBAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AAClB,2BAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;;AAE9B,wBAAI,CAAC,IAAI,EAAE;AACP,+BAAK,KAAK,EAAE,CAAC;qBAChB;iBACJ,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;SACJ;;;sCACa;AACV,6BAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAC,KAAK,EAAK;AACjC,mCAAO,WAAW,CAAC,KAAK,CAAC,CAAC;aAC7B,CAAC,CAAC;AACH,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SAC1B;;;8CACqB;AAClB,iCAAW,EAAE,CAAC,OAAO,EAAI,IAAI,CAAC,iBAAiB,MAAtB,IAAI,EAAmB,CAAC;AACjD,iCAAW,EAAE,CAAC,MAAM,EAAI,IAAI,CAAC,gBAAgB,MAArB,IAAI,EAAkB,CAAC;SAClD;;;6CACoB;AACjB,iCAAW,GAAG,CAAC,OAAO,EAAI,IAAI,CAAC,iBAAiB,MAAtB,IAAI,EAAmB,CAAC;AAClD,iCAAW,GAAG,CAAC,MAAM,EAAI,IAAI,CAAC,gBAAgB,MAArB,IAAI,EAAkB,CAAC;SACnD;;;yCACgB,IAAI,EAAE;AACnB,gBAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACrB;;;0CACiB,IAAI,EAAE;AACpB,gBAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,gBAAI,MAAM,GAAG,sBAAE,KAAK,CAAC,CAChB,OAAO,EAAE,CACT,GAAG,CAAC,UAAC,IAAI;uBAAM,IAAI,GAAG,IAAI;aAAC,CAAC,CAC5B,KAAK,EAAE,CAAC;;AAEb,gBAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACvB;;;+BACM,MAAM,EAAE;AACX,gBAAI,CAAC,OAAO,GAAG,sBAAE,IAAI,CAAC,OAAO,CAAC,CACzB,MAAM,CAAC,MAAM,CAAC,CACd,KAAK,CAAC,CAAC,aA/DhB,kBAAkB,CA+DmB,CAC5B,KAAK,EAAE,CAAC;AACb,gBAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SAC5C;;;gCACO;AACJ,gBAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AAClB,gBAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;SAC5C;;;iCACQ;AACL,mBACI;;;gBACI;AACI,wBAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,AAAC;AACtB,2BAAO,EAAI,IAAI,CAAC,KAAK,MAAV,IAAI,CAAO;kBACxB;gBACF;AACI,2BAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,AAAC;kBAC9B;aACA,CACR;SACL;;;WAhFC,OAAO;GAAS,gBAAM,SAAS;;kBAmFtB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICpFhB,YAAY;cAAZ,YAAY;;aAAZ,YAAY;8BAAZ,YAAY;;sEAAZ,YAAY;;;iBAAZ,YAAY;;sCAMA,CAAC,EAAE;AACb,gBAAI,KAAK,GAAG,EAAE,CAAC;AACf,gBAAI,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE;AACrB,oBAAI,CAAC,UAAU,EAAE,CAAC;aACrB;SACJ;;;qCACY;AACT,gBAAI,EAAE,GAAG,mBAAS,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;AAEjD,gBAAI,EAAE,CAAC,KAAK,KAAK,EAAE,EAAE;AACjB,uBAAO;aACV;;AAED,gBAAI,iBAAE,QAAQ,YAtBlB,sBAAsB,EAsBqB,EAAE,CAAC,KAAK,CAAC,EAAE;AAC9C,qCAAW,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;aAC9B,MAAM;AACH,qCAAW,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;aAChC;;AAED,cAAE,CAAC,KAAK,GAAG,EAAE,CAAC;SACjB;;;sCACa;AACV,gBAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;SACxB;;;iCACQ;gBACC,IAAI,GAAK,IAAI,CAAC,KAAK,CAAnB,IAAI;;AACV,gBAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC;AACtB,gBAAI,OAAO,GAAG,QAAQ,CAAC;AACvB,gBAAI,WAAW,GAAG,QAAQ,CAAC;AAC3B,gBAAI,eAAe,GAAG,QAAQ,CAAC;AAC/B,gBAAI,mBAAmB,GAAG,QAAQ,CAAC;;AAEnC,mBACI;;kBAAK,SAAS,EAAC,eAAe;gBAC1B;;sBAAK,SAAS,EAAC,4BAA4B;oBACvC;AACI,4BAAI,EAAC,MAAM;AACX,iCAAS,EAAC,cAAc;AACxB,iCAAS,EAAI,IAAI,CAAC,aAAa,MAAlB,IAAI,CAAe;AAChC,2BAAG,EAAC,SAAS;AACb,mCAAW,EAAE,eAAK,CAAC,CAAC,0BAA0B,CAAC,AAAC;AAChD,gCAAQ,EAAE,CAAC,QAAQ,AAAC;sBACtB;oBACF;;0BAAK,SAAS,EAAC,iBAAiB;wBAC5B;;;AACI,oCAAI,EAAC,QAAQ;AACb,yCAAS,EAAC,iBAAiB;AAC3B,uCAAO,EAAI,IAAI,CAAC,UAAU,MAAf,IAAI,CAAY;AAC3B,wCAAQ,EAAE,CAAC,OAAO,AAAC;;4BAElB,eAAK,CAAC,CAAC,MAAM,CAAC;yBACV;wBACT;4CAhEf,cAAc;8BAgEiB,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,EAAE,EAAC,EAAE,EAAC,0BAA0B,EAAC,SAAS,MAAA;4BACxE;gDAjEH,QAAQ;kCAiEK,QAAQ,EAAI,IAAI,CAAC,WAAW,MAAhB,IAAI,CAAa,EAAC,QAAQ,EAAE,CAAC,WAAW,AAAC;gCAAE,eAAK,CAAC,CAAC,WAAW,CAAC;6BAAY;yBACnF;qBACf;iBACJ;aACJ,CACR;SACL;;;WAjEC,YAAY;GAAS,gBAAM,SAAS;;AAApC,YAAY,CACP,SAAS,GAAG;AACf,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,WAAO,EAAE,gBAAM,SAAS,CAAC,IAAI;CAChC;kBAgEU,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICzErB,aAAa;cAAb,aAAa;;aAAb,aAAa;8BAAb,aAAa;;sEAAb,aAAa;;;iBAAb,aAAa;;;;;8CAOO;AAClB,gBAAI,IAAI,GAAG,mBAAS,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpD,gBAAI,gBAAgB,GAAG,AAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAI,EAAE,GAAG,CAAC,CAAC;AACvE,gBAAI,CAAC,kBAAkB,GAAI,AAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,GAAG,gBAAgB,IAAK,IAAI,CAAC,YAAY,AAAC,CAAC;SAC5G;;;6CACoB;AACjB,gBAAI,IAAI,GAAG,mBAAS,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpD,gBAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,oBAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;aACtC;SACJ;;;sCACa,OAAO,EAAE;AACnB,mBAAO,iBAAE,GAAG,CAAC,OAAO,EAAE,UAAC,GAAG,EAAE,KAAK,EAAK;AAClC,uBACI;;sBAAK,GAAG,EAAE,KAAK,AAAC,EAAC,SAAS,EAAC,oBAAoB;oBAAE,GAAG;iBAAO,CAC7D;aACL,CAAC,CAAC;SACN;;;iCACQ;gBACC,OAAO,GAAK,IAAI,CAAC,KAAK,CAAtB,OAAO;;AACb,gBAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;;AAE3C,mBACI;;kBAAK,SAAS,EAAC,qBAAqB;gBAChC;;;AACI,uCAAe,EAAE,GAAG,AAAC;AACrB,qCAAa,EAAE,EAAE,AAAC;AAClB,2BAAG,EAAC,UAAU;;oBAEb,QAAQ;iBACF;aACT,CACR;SACL;;;WAxCC,aAAa;GAAS,gBAAM,SAAS;;AAArC,aAAa,CACR,SAAS,GAAG;AACf,WAAO,EAAE,gBAAM,SAAS,CAAC,KAAK;CACjC;kBAwCU,aAAa;;;;;;;;AChDrB,IAAM,kBAAkB,WAAlB,kBAAkB,GAAG,IAAI;AAAC,AAChC,IAAM,sBAAsB,WAAtB,sBAAsB,GAAG,CAClC,GAAG;AACH,GAAG;AACH,GAAG;AACH;AAAM,CACT,CAAC;;;ACNF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICQM,aAAa;cAAb,aAAa;;aAAb,aAAa;;;;;8BAAb,aAAa;;;;;;wHAAb,aAAa,0EACf,KAAK,GAAG;AACJ,uBAAW,EAAE,KAAK;SACrB;;;iBAHC,aAAa;;oCAKH,MAAM,EAAE,GAAG,EAAE;AACrB,gBAAI,MAAM,KAAK,QAAQ,EAAE;AACrB,oBAAI,CAAC,QAAQ,CAAC;AACV,+BAAW,EAAE,CAAC,CAAC,GAAG;iBACrB,CAAC,CAAC;aACN;SACJ;;;iCACQ;AACL,gBAAI,KAAK,GAAG,GAAG,CAAC;AAChB,gBAAI,KAAK,GAAG,eAAK,CAAC,CAAC,SAAS,CAAC,CAAC;AAC9B,gBAAI,cAAc,GAAG,CACjB,QAAQ,CACX,CAAC;AACF,gBAAI,kBAAkB,GAAG,0BACrB,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CACvC,CAAC;;AAEF,mBACI;;6BAAS,IAAI,CAAC,KAAK,IAAE,kBAAe,uBAAuB;gBACvD;4BA5BP,MAAM;sBA4BS,KAAK,EAAE,KAAK,AAAC;oBACjB,sCA7BH,YAAY;AA8BL,6BAAK,EAAE,KAAK,AAAC;AACb,sCAAc,EAAE,cAAc,AAAC;AAC/B,mCAAW,EAAI,IAAI,CAAC,WAAW,MAAhB,IAAI,CAAa;sBAClC;oBACF;gCAlCW,aAAa;0BAkCT,SAAS,EAAE,kBAAkB,AAAC;wBACzC,sDAAW;qBACC;iBACX;aACP,CACR;SACL;;;WApCC,aAAa;GAAS,gBAAM,SAAS;;kBAuC5B,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IChCtB,KAAK;cAAL,KAAK;;aAAL,KAAK;;;;;8BAAL,KAAK;;;;;;wHAAL,KAAK,0EACP,KAAK,GAAG;AACJ,gBAAI,EAAE,EAAE;AACR,gBAAI,aAPR,WAAW,AAOU;AACjB,oBAAQ,EAAE,EAAE;AACZ,wBAAY,EAAE,EAAE;;;AAGhB,uBAAW,EAAE;AACT,wBAAQ,EAAE,CAAC;AACX,qBAAK,EAAE,CAAC;aACX;SACJ,QACD,mBAAmB,GAAG;AAClB,gCAAoB,EAAI,mBAAK,wBAAwB,eAAA;AACrD,8BAAkB,EAAI,mBAAK,sBAAsB,eAAA;SACpD;;;iBAhBC,KAAK;;4CAkBa;AAChB,gBAAI,CAAC,SAAS,EAAE,CAAC;AACjB,gBAAI,CAAC,sBAAsB,EAAE,CAAC;SACjC;;;+CACsB;AACnB,gBAAI,CAAC,yBAAyB,EAAE,CAAC;AACjC,gBAAI,CAAC,WAAW,EAAE,CAAC;SACtB;;;oCACW;;;AACR,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;;AAEvB;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,MAAM,EAAE,UAAC,GAAG,EAAE,IAAI,EAAK;AAChD,wBAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AAClB,2BAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBACjC,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;;AAED;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,YAAY,EAAE,UAAC,GAAG,EAAE,KAAK,EAAK;AACvD,yBAAK,GAAG,KAAK,IAAI,EAAE,CAAC;;AAEpB,qCApDP,SAAS,EAoDQ,KAAK,EAAE,UAAC,GAAG,EAAE,IAAI,EAAK;AAC5B,4BAAI,GAAG,EAAE;AACL,0CAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACf,mCAAO;yBACV;;AAED,4BAAI,QAAQ,GAAG,sBAAE,IAAI,CAAC,CACjB,GAAG,CAAC,UAAC,CAAC,EAAK;AACR,mCAAO;AACH,sCAAM,EAAE,WArDpC,YAAY,CAqDqC,WAAW;AAChC,mCAAG,EAAE,CAAC,CAAC,IAAI;6BACd,CAAC;yBACL,CAAC,CACD,KAAK,EAAE,CAAC;;AAEb,+BAAK,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;qBACzC,CAAC,CAAC;iBACN,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;SACJ;;;sCACa;AACV,6BAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAC,KAAK,EAAK;AACjC,mCAAO,WAAW,CAAC,KAAK,CAAC,CAAC;aAC7B,CAAC,CAAC;AACH,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SAC1B;;;iDACwB;AACrB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aAClC,CAAC,CAAC;SACN;;;oDAC2B;AACxB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aACnC,CAAC,CAAC;SACN;;;iDACwB,IAAI,EAAE;AAC3B,gBAAI,IAAI,GAAG,EAAE,CAAC;AACd,gBAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC3C,gBAAI,EAAE,GAAG,IAAI,CAAC,QAAQ;;;AAAC,AAGvB,iBAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;AAC5B,oBAAI,CAAC,CAAC,CAAC,GAAG;AACN,0BAAM,EAAE;AACJ,4BAAI,EAAE,WA1FtB,YAAY,CA0FuB,WAAW;qBACjC;iBACJ,CAAC;aACL;;;AAAA,AAGD,iBAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;AAC5B,oBAAI,CAAC,CAAC,CAAC,GAAG;AACN,0BAAM,EAAE;AACJ,4BAAI,EAAE,WAnGtB,YAAY,CAmGuB,SAAS;qBAC/B;iBACJ,CAAC;aACL;;AAED,gBAAI,eAAe,GAAG,iCAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACxD,gBAAI,CAAC,QAAQ,CAAC;AACV,wBAAQ,EAAE,eAAe;AACzB,2BAAW,EAAE;AACT,4BAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC/B,yBAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;iBAC5B;aACJ,CAAC,CAAC;SACN;;;+CACsB,KAAK,EAAE;AAC1B,gBAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI;;;AAAC,AAG3B,gBAAI,iBAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AAC1B,oBAAI,cAxHZ,aAAa,AAwHe,CAAC;aACxB;;;AAAA,AAGD,gBAAI,iBAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AAC1B,oBAAI,cA5HZ,WAAW,AA4He,CAAC;aACtB;;AAED,gBAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;AAC1B,oBAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aACjC;SACJ;;;iCACQ;yBAC6B,IAAI,CAAC,KAAK;gBAAtC,IAAI,UAAJ,IAAI;gBAAE,IAAI,UAAJ,IAAI;gBAAE,WAAW,UAAX,WAAW;;AAC7B,gBAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,aAAA,GAAgB,EAAE,cAAA,CAAe;AACtE,gBAAI,WAAW,GAAG,GAAG,CAAC;AACtB,gBAAI,SAAS,GAAG,EAAE,CAAC;AACnB,gBAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;AACtD,gBAAI,QAAQ,GAAI,iBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,AAAC,CAAC;AACjD,gBAAI,SAAS,GAAG,CAAC,QAAQ,CAAC;AAC1B,gBAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CACtB,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA,AAAC,EACxD,WAAW,CAAC,KAAK,CACpB,CAAC;;AAEF,mBACI;;;gBACI;AACI,wBAAI,EAAE,IAAI,AAAC;AACX,4BAAQ,EAAE,WAAW,CAAC,QAAQ,AAAC;AAC/B,yBAAK,EAAE,WAAW,CAAC,KAAK,AAAC;kBAC3B;gBAED,QAAQ,IACT;AACI,yBAAK,EAAE,UAAU,AAAC;AAClB,0BAAM,EAAE,WAAW,AAAC;AACpB,6BAAS,EAAE,SAAS,AAAC;AACrB,wBAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,AAAC;AAC1B,+BAAW,EAAE,WAAW,AAAC;kBAC3B;aAEA,CACR;SACL;;;WA/JC,KAAK;GAAS,gBAAM,SAAS;;kBAkKpB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICrKd,UAAU;cAAV,UAAU;;aAAV,UAAU;;;;;8BAAV,UAAU;;;;;;wHAAV,UAAU,0EAOZ,KAAK,GAAG;AACJ,qBAAS,EAAE,CAAC;AACZ,oBAAQ,EAAE,CAAC;AACX,eAAG,EAAE;AACD,mBAAG,EAAE;AACD,qBAAC,EAAE,CAAC;AACJ,qBAAC,EAAE,CAAC;AACJ,qBAAC,EAAE,CAAC;iBACP;AACD,mBAAG,EAAE;AACD,qBAAC,EAAE,CAAC;AACJ,qBAAC,EAAE,CAAC;AACJ,qBAAC,EAAE,CAAC;iBACP;AACD,qBAAK,EAAE;AACH,qBAAC,EAAE,CAAC;AACJ,qBAAC,EAAE,CAAC;AACJ,qBAAC,EAAE,CAAC;iBACP;aACJ;SACJ;;;iBA3BC,UAAU;;4CA6BQ;AAChB,gBAAI,CAAC,SAAS,EAAE,CAAC;AACjB,gBAAI,CAAC,QAAQ,EAAE,CAAC;SACnB;;;+CACsB;AACnB,gBAAI,CAAC,UAAU,EAAE,CAAC;AAClB,gBAAI,CAAC,WAAW,EAAE,CAAC;SACtB;;;oCACW;;;AACR,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;;AAEvB;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,mBAAmB,EAAE,UAAC,GAAG,EAAE,GAAG,EAAK;AAC5D,wBAAI,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,wBAAI,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,wBAAI,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;;AAE/B,2BAAK,QAAQ,CAAC;AACV,2BAAG,EAAE;AACD,+BAAG,EAAE;AACD,iCAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACZ,iCAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACZ,iCAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;6BACf;AACD,+BAAG,EAAE;AACD,iCAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACZ,iCAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACZ,iCAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;6BACf;AACD,iCAAK,EAAE;AACH,iCAAC,EAAE,EAAE;AACL,iCAAC,EAAE,EAAE;AACL,iCAAC,EAAE,EAAE;6BACR;yBACJ;qBACJ,CAAC,CAAC;iBACN,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;;AAED;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,WAAW,EAAE,UAAC,GAAG,EAAK;AAC/C,wBAAI,GAAG,GAAG,uBAAQ,CAAC,IAAI,EAAE,CAAC;AAC1B,wBAAI,SAAS,GAAG,OAAK,KAAK,CAAC,SAAS,IAAI,GAAG;AAAC,AAC5C,wBAAI,QAAQ,GAAG,AAAC,SAAS,KAAK,GAAG,GAAI,OAAK,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;AAC7D,2BAAK,QAAQ,CAAC;AACV,iCAAS,EAAE,SAAS;AACpB,gCAAQ,EAAE,QAAQ;qBACrB,CAAC,CAAC;iBACN,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;;AAED;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,YAAY,EAAE,UAAC,GAAG,EAAK;AAChD,2BAAK,QAAQ,CAAC;AACV,iCAAS,EAAE,CAAC;AACZ,gCAAQ,EAAE,CAAC;qBACd,CAAC,CAAC;iBACN,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;;AAED;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,cAAc,EAAE,UAAC,GAAG,EAAK;AAClD,2BAAK,QAAQ,CAAC;AACV,iCAAS,EAAE,CAAC;AACZ,gCAAQ,EAAE,CAAC;qBACd,CAAC,CAAC;iBACN,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;SACJ;;;sCACa;AACV,6BAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAC,KAAK,EAAK;AACjC,mCAAO,WAAW,CAAC,KAAK,CAAC,CAAC;aAC7B,CAAC,CAAC;AACH,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SAC1B;;;mCACU;;;AACP,gBAAI,CAAC,KAAK,GAAG,WAAW,CAAC,YAAM;AAC3B,oBAAI,OAAK,KAAK,CAAC,SAAS,KAAK,CAAC,EAAE;AAC5B,2BAAO;iBACV;;AAED,oBAAI,IAAI,GAAG,iBAAO,IAAI,CAAC,OAAK,KAAK,CAAC,SAAS,CAAC,CAAC;AAC7C,oBAAI,EAAE,GAAG,uBAAQ,CAAC;AAClB,oBAAI,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACxC,uBAAK,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;aACzC,EAAE,IAAI,CAAC,CAAC;SACZ;;;qCACY;AACT,gBAAI,IAAI,CAAC,KAAK,EAAE;AACZ,6BAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,oBAAI,CAAC,KAAK,GAAG,IAAI,CAAC;aACrB;SACJ;;;qCACY,GAAG,EAAE;AACd,eAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvB,gBAAI,IAAI,CAAC,KAAK,CAAC,IAAI,gBAnIvB,WAAW,AAmI4B,EAAE;AACjC,mBAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA,CAAE,OAAO,CAAC,CAAC,CAAC,CAAC;aAC9B,MAAM;AACH,mBAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAA,CAAE,OAAO,CAAC,CAAC,CAAC,CAAC;aACjC;AACD,mBAAO,EAAE,GAAG,GAAG,CAAC;SACnB;;;iCACQ;;;yBAC2B,IAAI,CAAC,KAAK;gBAApC,IAAI,UAAJ,IAAI;gBAAE,KAAK,UAAL,KAAK;gBAAE,QAAQ,UAAR,QAAQ;;AAC3B,gBAAI,GAAG,GAAG,iBAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAC,QAAQ,EAAK;AAChD,uBAAO,iBAAE,SAAS,CAAC,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;2BAAK,OAAK,YAAY,CAAC,GAAG,CAAC;iBAAA,CAAC,CAAC;aACvE,CAAC,CAAC;AACH,gBAAI,WAAW,GAAG,AAAC,IAAI,gBA/I3B,WAAW,AA+IgC,GAAI,eAAK,CAAC,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AACvE,gBAAI,SAAS,GAAG,GAAG,CAAC;AACpB,gBAAI,QAAQ,GAAG,GAAG,CAAC;;AAEnB,gBAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE;AAC1B,yBAAS,GAAG,iBAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;aAC/E;AACD,gBAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE;AACzB,oBAAI,CAAC,GAAG,iBAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACxD,oBAAI,KAAK,GAAG,iBAAE,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC,oBAAI,OAAO,GAAG,iBAAE,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7C,oBAAI,OAAO,GAAG,iBAAE,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;;AAE7C,wBAAQ,GAAG,KAAK,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC;aACpD;;AAED,mBACI;;kBAAK,SAAS,EAAC,6BAA6B;gBACxC;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,WAAW;wBACtB;;;4BAAM,eAAK,CAAC,CAAC,YAAY,CAAC;yBAAO;qBAC/B;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,WAAW;wBACtB;;8BAAO,SAAS,EAAC,gBAAgB,EAAC,cAAW,WAAW;4BACpD;;;gCACI;;;oCACI;;0CAAI,SAAS,EAAC,MAAM;wCAAE,eAAK,CAAC,CAAC,MAAM,CAAC;qCAAM;oCAC1C;;;wCAAK,eAAK,CAAC,CAAC,KAAK,CAAC;qCAAM;oCACxB;;;wCAAK,eAAK,CAAC,CAAC,KAAK,CAAC;qCAAM;oCACxB;;;wCAAK,eAAK,CAAC,CAAC,OAAO,CAAC;qCAAM;iCACzB;6BACD;4BACR;;;gCACI;;;oCACI;;0CAAI,SAAS,EAAC,MAAM;;qCAAO;oCAC3B;;;wCAAK,GAAG,CAAC,GAAG,CAAC,CAAC;;wCAAG,WAAW;qCAAM;oCAClC;;;wCAAK,GAAG,CAAC,GAAG,CAAC,CAAC;;wCAAG,WAAW;qCAAM;oCAClC;;;wCAAK,GAAG,CAAC,KAAK,CAAC,CAAC;;wCAAG,WAAW;qCAAM;iCACnC;gCACL;;;oCACI;;0CAAI,SAAS,EAAC,MAAM;;qCAAO;oCAC3B;;;wCAAK,GAAG,CAAC,GAAG,CAAC,CAAC;;wCAAG,WAAW;qCAAM;oCAClC;;;wCAAK,GAAG,CAAC,GAAG,CAAC,CAAC;;wCAAG,WAAW;qCAAM;oCAClC;;;wCAAK,GAAG,CAAC,KAAK,CAAC,CAAC;;wCAAG,WAAW;qCAAM;iCACnC;gCACL;;;oCACI;;0CAAI,SAAS,EAAC,MAAM;;qCAAO;oCAC3B;;;wCAAK,GAAG,CAAC,GAAG,CAAC,CAAC;;wCAAG,WAAW;qCAAM;oCAClC;;;wCAAK,GAAG,CAAC,GAAG,CAAC,CAAC;;wCAAG,WAAW;qCAAM;oCAClC;;;wCAAK,GAAG,CAAC,KAAK,CAAC,CAAC;;wCAAG,WAAW;qCAAM;iCACnC;6BACD;yBACJ;qBACN;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,UAAU;wBAAE,eAAK,CAAC,CAAC,UAAU,CAAC;qBAAO;oBACpD;;0BAAK,SAAS,EAAC,UAAU;wBAAE,eAAK,CAAC,CAAC,OAAO,CAAC;qBAAO;iBAC/C;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,UAAU;wBAAE,QAAQ;qBAAO;oBAC1C;;0BAAK,SAAS,EAAC,UAAU;wBAAE,KAAK;qBAAO;iBACrC;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,UAAU;wBAAE,eAAK,CAAC,CAAC,YAAY,CAAC;qBAAO;oBACtD;;0BAAK,SAAS,EAAC,UAAU;wBAAE,eAAK,CAAC,CAAC,UAAU,CAAC;qBAAO;iBAClD;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,UAAU;wBAAE,SAAS;qBAAO;oBAC3C;;0BAAK,SAAS,EAAC,UAAU;wBAAE,QAAQ;qBAAO;iBACxC;aACJ,CACR;SACL;;;WAvNC,UAAU;GAAS,gBAAM,SAAS;;AAAlC,UAAU,CACL,SAAS,GAAG;AACf,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,YAAQ,EAAE,gBAAM,SAAS,CAAC,MAAM;AAChC,SAAK,EAAE,gBAAM,SAAS,CAAC,MAAM;CAChC;kBAqNU,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9NzB,IAAI,gBAAgB,GAAG,KAAK,CAAC;;IAEvB,UAAU;cAAV,UAAU;;aAAV,UAAU;;;;;8BAAV,UAAU;;;;;;wHAAV,UAAU,0EACZ,KAAK,GAAG;AACJ,iBAAK,EAAE;AACH,qBAAK,EAAE,MAAK,KAAK,CAAC,KAAK;AACvB,sBAAM,EAAE,MAAK,KAAK,CAAC,MAAM;AACzB,uBAAO,EAAE,CACL;AACI,2BAAO,EAAE,QAAQ;AACjB,+BAAW,EAAE,KAAK;AAClB,yBAAK,EAAE,EAAE;AACT,yBAAK,EAAE,QAAQ;AACf,gCAAY,EAAE,sBAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAK;AAC3E,4BAAI,OAAO,GAAG;AACV,gCAAI,EAAE,0BACF,WAAW,EACX,EAAE,cAAc,EAAE,QAAQ,KAAK,WAnBtD,YAAY,CAmBuD,KAAK,EAAE,EACnD,EAAE,kBAAkB,EAAE,QAAQ,KAAK,WApB1D,YAAY,CAoB2D,KAAK,EAAE,CAC1D;yBACJ,CAAC;AACF,4BAAI,MAAM,GAAG;AACT,gCAAI,EAAE;AACF,qCAAK,EAAE,CAAC,YAAM;AACV,wCAAI,KAAK,GAAG,EAAE,CAAC;AACf,yCAAK,CAAC,WA3BjC,YAAY,CA2BkC,KAAK,CAAC,GAAG,SAAS,CAAC;AACtC,yCAAK,CAAC,WA5BjC,YAAY,CA4BkC,WAAW,CAAC,GAAG,MAAM,CAAC;AACzC,yCAAK,CAAC,WA7BjC,YAAY,CA6BkC,WAAW,CAAC,GAAG,MAAM;AAAC,AACzC,yCAAK,CAAC,WA9BjC,YAAY,CA8BkC,SAAS,CAAC,GAAG,MAAM,CAAC;AACvC,2CAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;iCACpC,CAAA,EAAG;6BACP;yBACJ,CAAC;AACF,+BACI,qCAAG,SAAS,EAAE,OAAO,CAAC,IAAI,AAAC,EAAC,KAAK,EAAE,MAAM,CAAC,IAAI,AAAC,GAAK,CACtD;qBACL;iBACJ,EACD;AACI,2BAAO,EAAE,KAAK;AACd,+BAAW,EAAE,IAAI;AACjB,4BAAQ,EAAE,CAAC;AACX,yBAAK,EAAE,GAAG;AACV,gCAAY,EAAE,sBAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAK;AAC3E,+BACI;;8BAAM,SAAS,EAAC,wBAAwB,EAAC,KAAK,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,AAAC;4BAC3D;;kCAAM,SAAS,EAAC,qBAAqB;gCAAE,QAAQ,GAAG,CAAC;6BAAQ;;4BAAE,QAAQ;yBAClE,CACT;qBACL;iBACJ,CACJ;aACJ;SACJ;;;iBAnDC,UAAU;;kCAqDF,KAAK,EAAE;AACb,mBAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;;;8CACqB,aAAa,EAAE;AACjC,gBAAI,CAAE,IAAI,CAAC,KAAK,CAAC,yBAAyB,AAAC,EAAE;AACzC,uBAAO;aACV;AACD,gBAAI,CAAC,KAAK,CAAC,yBAAyB,CAChC,aAAa,EACb,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CACvC,CAAC;SACL;;;kDACyB,cAAc,EAAE,OAAO,EAAE;AAC/C,4BAAgB,GAAG,KAAK,CAAC;AACzB,gBAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;SACrD;;;4CACmB,OAAO,EAAE,cAAc,EAAE;AACzC,gBAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;AACvC,gBAAI,QAAQ,GAAG,iCAAO,IAAI,CAAC,KAAK,EAAE;AAC9B,qBAAK,EAAE;AACH,2BAAO,EAAE;AACL,8BAAM,EAAE,kBAAW;AACf,gCAAI,GAAG,GAAG,iBAAE,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AACnD,mCAAO,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC;AACpC,mCAAO,OAAO,CAAC;yBAClB;qBACJ;iBACJ;aACJ,CAAC,CAAC;AACH,gBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC3B;;;iCACQ;AACL,gBAAI,iBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC7B,uBAAO,IAAI,CAAC,WAAW,EAAE,CAAC;aAC7B,MAAM;AACH,uBAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACpC;SACJ;;;sCACa;AACV,gBAAI,mBAAmB,GACnB,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC;;AAElE,mBACI;;kBAAK,SAAS,EAAC,aAAa;gBACxB;oCAvGP,KAAK;;AAwGM,iCAAS,EAAC,UAAU;AACpB,oCAAY,EAAE,CAAC,AAAC;AAChB,iCAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,AAAC;AACtC,iCAAS,EAAI,IAAI,CAAC,SAAS,MAAd,IAAI,CAAW;AAC5B,iCAAS,EAAE,iBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,AAAC;AACnC,6BAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,AAAC;AAC9B,8BAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,AAAC;AAChC,6CAAqB,EAAI,IAAI,CAAC,qBAAqB,MAA1B,IAAI,CAAuB;AACpD,mCAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,AAAC;AACpC,iCAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,AAAC;AAC1B,kCAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,AAAC;AAC5B,iCAAS,EAAE,mBAAmB,GAAG,QAAQ,GAAG,MAAM,AAAC;AACnD,iCAAS,EAAE,mBAAmB,GAAG,QAAQ,GAAG,MAAM,AAAC;AACnD,wCAAgB,EAAE,gBAAgB,AAAC;AACnC,iDAAyB,EAAI,IAAI,CAAC,yBAAyB,MAA9B,IAAI,CAA2B;;oBAE3D,IAAI,CAAC,kBAAkB,EAAE;iBACtB;aACN,CACR;SACL;;;6CACoB;AACjB,gBAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;AACvC,mBAAO,OAAO,CAAC,GAAG,CAAC,CAAA,UAAS,MAAM,EAAE,GAAG,EAAE;AACrC,uBACI,8CAjIA,MAAM;AAkIF,yBAAK,EAAE,MAAM,CAAC,IAAI,AAAC;AACnB,2BAAO,EAAE,MAAM,CAAC,OAAO,AAAC;AACxB,yBAAK,EAAE,MAAM,CAAC,KAAK,AAAC;AACpB,4BAAQ,EAAE,MAAM,CAAC,QAAQ,AAAC;AAC1B,+BAAW,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,AAAC;AAClC,uBAAG,EAAE,GAAG,AAAC;AACT,yBAAK,EAAE,MAAM,CAAC,KAAK,AAAC;AACpB,mCAAe,EAAE,MAAM,CAAC,eAAe,AAAC;AACxC,kCAAc,EAAE,MAAM,CAAC,cAAc,AAAC;AACtC,iCAAa,EAAE,MAAM,CAAC,aAAa,AAAC;AACpC,gCAAY,EAAE,MAAM,CAAC,YAAY,AAAC;kBACpC,CACJ;aACL,CAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACjB;;;6CACoB;AACjB,mBACI;;kBAAG,SAAS,EAAC,EAAE;gBAAE,eAAK,CAAC,CAAC,oBAAoB,CAAC;aAAK,CACpD;SACL;;;WA/IC,UAAU;GAAS,gBAAM,SAAS;;kBAkJzB,UAAU;;;;;;;;AC5JlB,IAAM,aAAa,WAAb,aAAa,GAAG,IAAI,CAAC;AAC3B,IAAM,WAAW,WAAX,WAAW,GAAG,IAAI,CAAC;AACzB,IAAM,YAAY,WAAZ,YAAY,GAAG;AACxB,SAAK,EAAE,CAAC,CAAC;AACT,eAAW,EAAE,CAAC;AACd,eAAW,EAAE,CAAC;AACd,aAAS,EAAE,CAAC;CACf,CAAC;;;ACPF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICQM,WAAW;cAAX,WAAW;;aAAX,WAAW;;;;;8BAAX,WAAW;;;;;;wHAAX,WAAW,0EACb,KAAK,GAAG;AACJ,uBAAW,EAAE,KAAK;SACrB;;;iBAHC,WAAW;;oCAKD,MAAM,EAAE,GAAG,EAAE;AACrB,gBAAI,MAAM,KAAK,QAAQ,EAAE;AACrB,oBAAI,CAAC,QAAQ,CAAC;AACV,+BAAW,EAAE,CAAC,CAAC,GAAG;iBACrB,CAAC,CAAC;aACN;SACJ;;;iCACQ;AACL,gBAAI,KAAK,GAAG,GAAG,CAAC;AAChB,gBAAI,KAAK,GAAG,eAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC7B,gBAAI,cAAc,GAAG,CACjB,QAAQ,CACX,CAAC;AACF,gBAAI,kBAAkB,GAAG,0BACrB,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CACvC,CAAC;;AAEF,mBACI;;6BAAS,IAAI,CAAC,KAAK,IAAE,kBAAe,qBAAqB;gBACrD;4BA5BP,MAAM;sBA4BS,KAAK,EAAE,KAAK,AAAC;oBACjB,sCA7BH,YAAY;AA8BL,6BAAK,EAAE,KAAK,AAAC;AACb,sCAAc,EAAE,cAAc,AAAC;AAC/B,mCAAW,EAAI,IAAI,CAAC,WAAW,MAAhB,IAAI,CAAa;sBAClC;oBACF;gCAlCW,aAAa;0BAkCT,SAAS,EAAE,kBAAkB,AAAC;wBACzC,iDAAO,KAAK,EAAE,KAAK,AAAC,GAAG;qBACX;iBACX;aACP,CACR;SACL;;;WApCC,WAAW;GAAS,gBAAM,SAAS;;kBAuC1B,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICrCpB,IAAI;cAAJ,IAAI;;aAAJ,IAAI;;;;;8BAAJ,IAAI;;;;;;wHAAJ,IAAI,0EACN,KAAK,GAAG;AACJ,gBAAI,EAAE,EAAE;AACR,iBAAK,EAAE,EACN;SACJ,QACD,mBAAmB,GAAG;AAClB,8BAAkB,EAAI,mBAAK,sBAAsB,eAAA;SACpD;;;iBARC,IAAI;;4CAUc;AAChB,gBAAI,CAAC,SAAS,EAAE,CAAC;AACjB,gBAAI,CAAC,sBAAsB,EAAE,CAAC;SACjC;;;+CACsB;AACnB,gBAAI,CAAC,WAAW,EAAE,CAAC;AACnB,gBAAI,CAAC,yBAAyB,EAAE,CAAC;SACpC;;;oCACW;;;AACR,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;;AAEvB;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,MAAM,EAAE,UAAC,GAAG,EAAE,IAAI,EAAK;AAChD,wBAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AAClB,2BAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;;AAE9B,wBAAI,CAAC,IAAI,EAAE;AACP,4BAAI,KAAK,GAAG,EAAE,CAAC;AACf,+BAAK,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;qBACnC;iBACJ,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;SACJ;;;sCACa;AACV,6BAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAC,KAAK,EAAK;AACjC,mCAAO,WAAW,CAAC,KAAK,CAAC,CAAC;aAC7B,CAAC,CAAC;AACH,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SAC1B;;;iDACwB;AACrB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aAClC,CAAC,CAAC;SACN;;;oDAC2B;AACxB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aACnC,CAAC,CAAC;SACN;;;+CACsB,KAAK,EAAE;AAC1B,gBAAI,KAAK,GAAG,EAAE,CAAC;;AAEf,6BAAE,IAAI,CAAC,KAAK,EAAE,UAAC,IAAI,EAAK;;AAEpB,oBAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACpD,wBAAI,CAAC,GAAG,iBAAE,IAAI,cA1DrB,YAAY,EA0DwB,UAAC,KAAK,EAAK;AACpC,+BAAO,iBAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBACxC,CAAC,CAAC;AACH,wBAAI,CAAC,EAAE;AACH,yCAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBAC1C;iBACJ;;;AAAA,AAGD,oBAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACzB,qCAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3C;;;AAAA,AAGD,oBAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACzB,qCAAE,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/C;;;AAAA,AAGD,oBAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACzB,qCAAE,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9C;aACJ,CAAC,CAAC;;AAEH,gBAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;;AAEhC,0BAAI,KAAK,CAAC,KAAK,CAAC,CAAC;SACpB;;;8CACqB,SAAS,EAAE,SAAS,EAAE;AACxC,mBAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnE;;;iCACQ;yBACiB,IAAI,CAAC,KAAK;gBAA1B,IAAI,UAAJ,IAAI;gBAAE,KAAK,UAAL,KAAK;;AACjB,gBAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC;;AAEtB,mBACI;;;gBACI;;sBAAK,SAAS,EAAC,YAAY;oBACvB;;0BAAK,SAAS,EAAC,+BAA+B,EAAC,IAAI,EAAC,OAAO,EAAC,cAAW,KAAK;wBACxE;4CAtGf,cAAc;8BAsGiB,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,oBAAoB,CAAC,AAAC,EAAC,EAAE,EAAC,mBAAmB;4BACrG;gDAvGH,QAAQ;kCAuGK,QAAQ,EAAE;+CAAM,qBAAW,KAAK,CAAC,GAAG,CAAC;qCAAA,AAAC,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;gCAAE,eAAK,CAAC,CAAC,iBAAiB,CAAC;6BAAY;4BAC5G;gDAxGH,QAAQ;kCAwGK,QAAQ,EAAE;+CAAM,qBAAW,KAAK,CAAC,GAAG,CAAC;qCAAA,AAAC,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;gCAAE,eAAK,CAAC,CAAC,eAAe,CAAC;6BAAY;4BAC1G;gDAzGH,QAAQ;kCAyGK,QAAQ,EAAE;+CAAM,qBAAW,KAAK,CAAC,GAAG,CAAC;qCAAA,AAAC,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;gCAAE,eAAK,CAAC,CAAC,oBAAoB,CAAC;6BAAY;4BAC/G;gDA1GH,QAAQ;kCA0GK,QAAQ,EAAE;+CAAM,qBAAW,KAAK,CAAC,MAAM,CAAC;qCAAA,AAAC,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;gCAAE,eAAK,CAAC,CAAC,qBAAqB,CAAC;6BAAY;yBACtG;wBACjB;4CA5Gf,cAAc;8BA4GiB,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,iBAAiB,CAAC,AAAC,EAAC,EAAE,EAAC,iBAAiB;4BAChG;gDA7GH,QAAQ;kCA6GK,QAAQ,EAAE;+CAAM,qBAAW,OAAO,CAAC,GAAG,CAAC;qCAAA,AAAC,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;gCAAE,eAAK,CAAC,CAAC,eAAe,CAAC;6BAAY;4BAC5G;gDA9GH,QAAQ;kCA8GK,QAAQ,EAAE;+CAAM,qBAAW,OAAO,CAAC,IAAI,CAAC;qCAAA,AAAC,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;gCAAE,eAAK,CAAC,CAAC,oBAAoB,CAAC;6BAAY;4BAClH;gDA/GH,QAAQ;kCA+GK,QAAQ,EAAE;+CAAM,qBAAW,OAAO,CAAC,IAAI,CAAC;qCAAA,AAAC,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;gCAAE,eAAK,CAAC,CAAC,6BAA6B,CAAC;6BAAY;4BAC3H;gDAhHH,QAAQ;kCAgHK,QAAQ,EAAE;+CAAM,qBAAW,OAAO,CAAC,IAAI,CAAC;qCAAA,AAAC,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;gCAAE,eAAK,CAAC,CAAC,+BAA+B,CAAC;6BAAY;4BAC7H;gDAjHH,QAAQ;kCAiHK,QAAQ,EAAE;+CAAM,qBAAW,OAAO,CAAC,IAAI,CAAC;qCAAA,AAAC,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;gCAAE,eAAK,CAAC,CAAC,sBAAsB,CAAC;6BAAY;4BACpH;gDAlHH,QAAQ;kCAkHK,QAAQ,EAAE;+CAAM,qBAAW,OAAO,CAAC,IAAI,CAAC;qCAAA,AAAC,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;gCAAE,eAAK,CAAC,CAAC,0BAA0B,CAAC;6BAAY;4BACxH,8CAnHH,QAAQ,IAmHK,OAAO,MAAA,GAAG;4BACpB;gDApHH,QAAQ;kCAoHK,QAAQ,EAAE;+CAAM,qBAAW,OAAO,CAAC,IAAI,CAAC;qCAAA,AAAC,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;gCAAE,eAAK,CAAC,CAAC,wBAAwB,CAAC;6BAAY;4BACtH;gDArHH,QAAQ;kCAqHK,QAAQ,EAAE;+CAAM,qBAAW,OAAO,CAAC,IAAI,CAAC;qCAAA,AAAC,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;gCAAE,eAAK,CAAC,CAAC,sBAAsB,CAAC;6BAAY;4BACpH;gDAtHH,QAAQ;kCAsHK,QAAQ,EAAE;+CAAM,qBAAW,OAAO,CAAC,IAAI,CAAC;qCAAA,AAAC,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;gCAAE,eAAK,CAAC,CAAC,uBAAuB,CAAC;6BAAY;yBACxG;qBACf;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,cAAc;wBACxB,eAAK,CAAC,CAAC,YAAY,CAAC;qBACnB;oBACN;;0BAAK,SAAS,EAAC,cAAc;wBACxB,iBAAE,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC;qBACvB;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,cAAc;wBACxB,eAAK,CAAC,CAAC,gBAAgB,CAAC;qBACvB;oBACN;;0BAAK,SAAS,EAAC,cAAc;wBACxB,iBAAE,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC;qBACtB;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,cAAc;wBACxB,eAAK,CAAC,CAAC,cAAc,CAAC;qBACrB;oBACN;;0BAAK,SAAS,EAAC,cAAc;wBACxB,iBAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;qBACnB;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,cAAc;wBACxB,eAAK,CAAC,CAAC,cAAc,CAAC;qBACrB;oBACN;;0BAAK,SAAS,EAAC,cAAc;wBACxB,iBAAE,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC;qBAC3B;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,cAAc;wBACxB,eAAK,CAAC,CAAC,2BAA2B,CAAC;qBAClC;oBACN;;0BAAK,SAAS,EAAC,cAAc;wBACxB,iBAAE,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC;qBAC/B;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,cAAc;wBACxB,eAAK,CAAC,CAAC,eAAe,CAAC;qBACtB;oBACN;;0BAAK,SAAS,EAAC,cAAc;wBACxB,iBAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC;qBAC1B;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,cAAc;wBACxB,eAAK,CAAC,CAAC,gBAAgB,CAAC;qBACvB;oBACN;;0BAAK,SAAS,EAAC,cAAc;wBACxB,iBAAE,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC;qBAC7B;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,cAAc;wBACxB,eAAK,CAAC,CAAC,iBAAiB,CAAC;qBACxB;oBACN;;0BAAK,SAAS,EAAC,cAAc;wBACxB,iBAAE,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC;qBAC7B;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,cAAc;wBACxB,eAAK,CAAC,CAAC,aAAa,CAAC;qBACpB;oBACN;;0BAAK,SAAS,EAAC,cAAc;wBACxB,iBAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC;qBAC1B;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,cAAc;wBACxB,eAAK,CAAC,CAAC,eAAe,CAAC;qBACtB;oBACN;;0BAAK,SAAS,EAAC,cAAc;wBACxB,iBAAE,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC;qBAC5B;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,cAAc;wBACxB,eAAK,CAAC,CAAC,gBAAgB,CAAC;qBACvB;oBACN;;0BAAK,SAAS,EAAC,cAAc;wBACxB,iBAAE,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC;qBAC5B;iBACJ;gBACN;;sBAAK,SAAS,EAAC,KAAK;oBAChB;;0BAAK,SAAS,EAAC,cAAc;wBACxB,eAAK,CAAC,CAAC,gBAAgB,CAAC;qBACvB;oBACN;;0BAAK,SAAS,EAAC,cAAc;wBACxB,iBAAE,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC;qBAC5B;iBACJ;aACJ,CACR;SACL;;;WArNC,IAAI;GAAS,gBAAM,SAAS;;kBAwNnB,IAAI;;;AClOnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICQM,UAAU;cAAV,UAAU;;aAAV,UAAU;;;;;8BAAV,UAAU;;;;;;wHAAV,UAAU,0EACZ,KAAK,GAAG;AACJ,uBAAW,EAAE,KAAK;SACrB;;;iBAHC,UAAU;;oCAKA,MAAM,EAAE,GAAG,EAAE;AACrB,gBAAI,MAAM,KAAK,QAAQ,EAAE;AACrB,oBAAI,CAAC,QAAQ,CAAC;AACV,+BAAW,EAAE,CAAC,CAAC,GAAG;iBACrB,CAAC,CAAC;aACN;SACJ;;;iCACQ;AACL,gBAAI,KAAK,GAAG,GAAG,CAAC;AAChB,gBAAI,KAAK,GAAG,eAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3B,gBAAI,cAAc,GAAG,CACjB,QAAQ,CACX,CAAC;AACF,gBAAI,kBAAkB,GAAG,0BACrB,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CACvC,CAAC;;AAEF,mBACI;;6BAAS,IAAI,CAAC,KAAK,IAAE,kBAAe,oBAAoB;gBACpD;4BA5BP,MAAM;sBA4BS,KAAK,EAAE,KAAK,AAAC;oBACjB,sCA7BH,YAAY;AA8BL,6BAAK,EAAE,KAAK,AAAC;AACb,sCAAc,EAAE,cAAc,AAAC;AAC/B,mCAAW,EAAI,IAAI,CAAC,WAAW,MAAhB,IAAI,CAAa;sBAClC;oBACF;gCAlCW,aAAa;0BAkCT,SAAS,EAAE,kBAAkB,AAAC;wBACzC,mDAAQ;qBACI;iBACX;aACP,CACR;SACL;;;WApCC,UAAU;GAAS,gBAAM,SAAS;;kBAuCzB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QCrCrB,UAAU;QACV,gBAAgB;QAChB,aAAa;QACb,WAAW;QACX,UAAU;QACV,WAAW;QACX,aAAa;QACb,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICFd,KAAK;cAAL,KAAK;;aAAL,KAAK;;;;;8BAAL,KAAK;;;;;;wHAAL,KAAK,0EACP,KAAK,GAAG;AACJ,gBAAI,EAAE,EAAE;AACR,gBAAI,aAPR,WAAW,AAOU;AACjB,uBAAW,aAPf,iBAAiB,AAOiB;AAC9B,wBAAY,EAAE,gBAAM,QAAQ,CAAC,4BAA4B,EAAE,OAAO,CAAC;AACnE,sBAAU,EAAE,gBAAM,QAAQ,CAAC,6BAA6B,EAAE,EAAE,CAAC;AAC7D,yBAAa,EAAE,gBAAM,QAAQ,CAAC,gCAAgC,EAAE,EAAE,CAAC;AACnE,eAAG,EAAE,gBAAM,QAAQ,CAAC,sBAAsB,EAAE,EAAE,CAAC;AAC/C,8BAAkB,EAAE,gBAAM,QAAQ,CAAC,qCAAqC,EAAE,CAAC,CAAC;SAC/E,QACD,mBAAmB,GAAG;AAClB,iCAAqB,EAAI,mBAAK,yBAAyB,eAAA;AACvD,8BAAkB,EAAI,mBAAK,sBAAsB,eAAA;SACpD;;;iBAdC,KAAK;;4CAgBa;AAChB,gBAAI,CAAC,SAAS,EAAE,CAAC;AACjB,gBAAI,CAAC,sBAAsB,EAAE,CAAC;SACjC;;;+CACsB;AACnB,gBAAI,CAAC,WAAW,EAAE,CAAC;AACnB,gBAAI,CAAC,yBAAyB,EAAE,CAAC;SACpC;;;8CACqB,SAAS,EAAE,SAAS,EAAE;AACxC,mBAAO,CAAE,iBAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAC7C;;;6CACoB;AACjB,4BAAM,QAAQ,CAAC,4BAA4B,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;;AAEtE,gBAAI,IAAI,CAAC,KAAK,CAAC,IAAI,gBAlCvB,WAAW,AAkC4B,EAAE;AACjC,gCAAM,QAAQ,CAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACrE,gCAAM,QAAQ,CAAC,gCAAgC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAC3E,gCAAM,QAAQ,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvD,gCAAM,QAAQ,CAAC,qCAAqC,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;aACxF;AACD,gBAAI,IAAI,CAAC,KAAK,CAAC,IAAI,gBAzCvB,aAAa,AAyC4B,EAAE;AACnC,gCAAM,QAAQ,CAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACrE,gCAAM,QAAQ,CAAC,gCAAgC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAC3E,gCAAM,QAAQ,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvD,gCAAM,QAAQ,CAAC,qCAAqC,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;aACxF;SACJ;;;oCACW;;;AACR,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;;AAEvB;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,MAAM,EAAE,UAAC,GAAG,EAAE,IAAI,EAAK;AAChD,wBAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AAClB,2BAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBACjC,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;SACJ;;;sCACa;AACV,6BAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAC,KAAK,EAAK;AACjC,mCAAO,WAAW,CAAC,KAAK,CAAC,CAAC;aAC7B,CAAC,CAAC;AACH,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SAC1B;;;iDACwB;AACrB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aAClC,CAAC,CAAC;SACN;;;oDAC2B;AACxB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aACnC,CAAC,CAAC;SACN;;;kDACyB,IAAI,EAAE;AAC5B,gBAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;AAC7C,uBAAO;aACV;;AAED,gBAAI,CAAC,QAAQ,CAAC;AACV,2BAAW,EAAE,IAAI,CAAC,WAAW;aAChC,CAAC,CAAC;SACN;;;+CACsB,KAAK,EAAE;AAC1B,gBAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI;;;AAAC,AAG3B,gBAAI,iBAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AAC1B,oBAAI,cAzFZ,aAAa,AAyFe,CAAC;aACxB;;;AAAA,AAGD,gBAAI,iBAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AAC1B,oBAAI,cA7FZ,WAAW,AA6Fe,CAAC;aACtB;;AAED,gBAAI,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AAC1B,uBAAO;aACV;;AAED,gBAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC1C,gBAAI,KAAK,GAAG,iBAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;;AAE/D,gBAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACxB;;;wCACe,IAAI,EAAE;AAClB,gBAAI,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;;AAE/B,gBAAI,IAAI,gBA5GZ,WAAW,AA4GiB,EAAE;AACtB,uBAAO;AACH,8BAAU,EAAE,gBAAM,QAAQ,CAAC,6BAA6B,EAAE,EAAE,CAAC;AAC7D,iCAAa,EAAE,gBAAM,QAAQ,CAAC,gCAAgC,EAAE,EAAE,CAAC;AACnE,uBAAG,EAAE,gBAAM,QAAQ,CAAC,sBAAsB,EAAE,EAAE,CAAC;AAC/C,sCAAkB,EAAE,gBAAM,QAAQ,CAAC,qCAAqC,EAAE,CAAC,CAAC;iBAC/E,CAAC;aACL;AACD,gBAAI,IAAI,gBArHZ,aAAa,AAqHiB,EAAE;AACxB,uBAAO;AACH,8BAAU,EAAE,gBAAM,QAAQ,CAAC,6BAA6B,EAAE,GAAG,CAAC;AAC9D,iCAAa,EAAE,gBAAM,QAAQ,CAAC,gCAAgC,EAAE,CAAC,CAAC;AAClE,uBAAG,EAAE,gBAAM,QAAQ,CAAC,sBAAsB,EAAE,GAAG,CAAC;AAChD,sCAAkB,EAAE,gBAAM,QAAQ,CAAC,qCAAqC,EAAE,GAAG,CAAC;iBACjF,CAAC;aACL;SACJ;;;2CACkB,KAAK,EAAE;AACtB,gBAAI,CAAC,QAAQ,CAAC;AACV,4BAAY,EAAE,KAAK;aACtB,CAAC,CAAC;SACN;;;+CACsB,KAAK,EAAE;AAC1B,gBAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACpC,gBAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;SAC7C;;;kDACyB,KAAK,EAAE;AAC7B,gBAAI,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACvC,gBAAI,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;SACnD;;;wCACe,KAAK,EAAE;AACnB,gBAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAC7B,gBAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;SAC/B;;;uDAC8B,KAAK,EAAE;AAClC,gBAAI,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAC5C,gBAAI,CAAC,QAAQ,CAAC,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,CAAC;SAC7D;;;kCACS,KAAK,EAAE,MAAM,EAAE;AACrB,gBAAI,CAAC,GAAG,iBAAE,GAAG,CAAC,MAAM,EAAE,UAAC,KAAK,EAAE,MAAM,EAAK;AACrC,uBAAO,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC;aAC9B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACb,gBAAI,GAAG,GAAG,AAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAK,KAAK,GAAG,GAAG,GAAG,CAAC,GAAI,KAAK,CAAC;AACrD,iCAAW,OAAO,CAAC,GAAG,CAAC,CAAC;SAC3B;;;oCACW;yBACmE,IAAI,CAAC,KAAK;gBAA/E,YAAY,UAAZ,YAAY;gBAAE,UAAU,UAAV,UAAU;gBAAE,aAAa,UAAb,aAAa;gBAAE,GAAG,UAAH,GAAG;gBAAE,kBAAkB,UAAlB,kBAAkB;;AAEtE,gBAAI,iBAAE,QAAQ,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE;AAC9C,0BAAU,GAAG,CAAC,UAAU,CAAC;aAC5B;;;AAAA,AAGD,gBAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;;AAAC,AAGtB,gBAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;;AAAC,AAGtB,gBAAI,CAAC,SAAS,CAAC,YAAY,EAAE;AACzB,iBAAC,EAAE,UAAU;AACb,iBAAC,EAAE,aAAa;aACnB,CAAC;;;AAAC,AAGH,gBAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;;AAAC,AAGtB,gBAAI,CAAC,SAAS,CAAC,KAAK,EAAE;AAClB,iBAAC,EAAE,EAAE;AACL,iBAAC,EAAE,CAAC;AACJ,iBAAC,EAAE,CAAC;aACP,CAAC;;;AAAC,AAGH,gBAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AACpB,iBAAC,EAAE,CAAC,GAAG;aACV,CAAC;;;AAAC,AAGH,gBAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;;AAAC,AAGtB,gBAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AACjB,iBAAC,EAAE,kBAAkB;aACxB,CAAC;;;AAAC,AAGH,gBAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACzB;;;0CACiB;AACd,gBAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACtC,gBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC3B;;;iCACQ;;;0BAC6B,IAAI,CAAC,KAAK;gBAAtC,IAAI,WAAJ,IAAI;gBAAE,IAAI,WAAJ,IAAI;gBAAE,WAAW,WAAX,WAAW;0BAC8C,IAAI,CAAC,KAAK;gBAA/E,YAAY,WAAZ,YAAY;gBAAE,UAAU,WAAV,UAAU;gBAAE,aAAa,WAAb,aAAa;gBAAE,GAAG,WAAH,GAAG;gBAAE,kBAAkB,WAAlB,kBAAkB;;AACtE,gBAAI,WAAW,GAAG,AAAC,IAAI,gBA7M3B,WAAW,AA6MgC,GAAI,eAAK,CAAC,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AACvE,gBAAI,YAAY,GAAG,AAAC,IAAI,gBA9M5B,WAAW,AA8MiC,GAAI,eAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,eAAK,CAAC,CAAC,OAAO,CAAC,CAAC;AAC/E,gBAAI,IAAI,GAAG,AAAC,IAAI,gBA/MpB,WAAW,AA+MyB,GAAI,CAAC,GAAG,GAAG,CAAC;AAC5C,gBAAI,QAAQ,GAAI,CAAC,CAAC,IAAI,IAAK,WAAW,gBA/M1C,iBAAiB,AA+M+C,AAAC,AAAC,CAAC;AAC/D,gBAAI,mBAAmB,GAAG,iBAAE,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAC,GAAG,EAAK;AAC3E,uBAAO;AACH,yBAAK,EAAE,GAAG;AACV,yBAAK,EAAE,GAAG;iBACb,CAAC;aACL,CAAC,CAAC;AACH,gBAAI,OAAO,GAAG;AACV,uBAAO,EAAE,0BACL,KAAK,EACL,EAAE,aAAa,EAAE,YAAY,KAAK,OAAO,EAAE,EAC3C,EAAE,aAAa,EAAE,YAAY,KAAK,OAAO,EAAE,CAC9C;AACD,uBAAO,EAAE,0BACL,KAAK,EACL,EAAE,aAAa,EAAE,YAAY,KAAK,OAAO,EAAE,EAC3C,EAAE,aAAa,EAAE,YAAY,KAAK,OAAO,EAAE,CAC9C;AACD,uBAAO,EAAE,0BACL,KAAK,EACL,EAAE,aAAa,EAAE,YAAY,KAAK,OAAO,EAAE,EAC3C,EAAE,aAAa,EAAE,YAAY,KAAK,OAAO,EAAE,CAC9C;AACD,uBAAO,EAAE,0BACL,KAAK,EACL,EAAE,aAAa,EAAE,YAAY,KAAK,OAAO,EAAE,EAC3C,EAAE,aAAa,EAAE,YAAY,KAAK,OAAO,EAAE,CAC9C;aACJ,CAAC;;AAEF,mBACI;;;gBACI;AACI,wBAAI,EAAE,IAAI,AAAC;AACX,+BAAW,EAAE,WAAW,AAAC;kBAC3B;gBACF;;sBAAK,SAAS,EAAC,YAAY;oBACvB;;0BAAO,SAAS,EAAC,eAAe;wBAAE,eAAK,CAAC,CAAC,gBAAgB,CAAC;qBAAS;oBACnE;;0BAAK,SAAS,EAAC,aAAa,EAAC,IAAI,EAAC,SAAS;wBACvC;;8BAAK,SAAS,EAAC,wBAAwB;4BACnC;;;AACI,wCAAI,EAAC,QAAQ;AACb,6CAAS,EAAE,OAAO,CAAC,OAAO,CAAC,AAAC;AAC5B,yCAAK,EAAE,eAAK,CAAC,CAAC,wEAAwE,CAAC,AAAC;AACxF,2CAAO,EAAE;+CAAM,OAAK,kBAAkB,CAAC,OAAO,CAAC;qCAAA,AAAC;;;6BAG3C;4BACT;;;AACI,wCAAI,EAAC,QAAQ;AACb,6CAAS,EAAE,OAAO,CAAC,OAAO,CAAC,AAAC;AAC5B,yCAAK,EAAE,eAAK,CAAC,CAAC,+CAA+C,CAAC,AAAC;AAC/D,2CAAO,EAAE;+CAAM,OAAK,kBAAkB,CAAC,OAAO,CAAC;qCAAA,AAAC;;;6BAG3C;4BACT;;;AACI,wCAAI,EAAC,QAAQ;AACb,6CAAS,EAAE,OAAO,CAAC,OAAO,CAAC,AAAC;AAC5B,yCAAK,EAAE,eAAK,CAAC,CAAC,mFAAmF,CAAC,AAAC;AACnG,2CAAO,EAAE;+CAAM,OAAK,kBAAkB,CAAC,OAAO,CAAC;qCAAA,AAAC;;;6BAG3C;4BACT;;;AACI,wCAAI,EAAC,QAAQ;AACb,6CAAS,EAAE,OAAO,CAAC,OAAO,CAAC,AAAC;AAC5B,yCAAK,EAAE,eAAK,CAAC,CAAC,0DAA0D,CAAC,AAAC;AAC1E,2CAAO,EAAE;+CAAM,OAAK,kBAAkB,CAAC,OAAO,CAAC;qCAAA,AAAC;;;6BAG3C;yBACP;qBACJ;oBACN;;0BAAG,SAAS,EAAC,2BAA2B;wBACvC,YAAY,KAAK,OAAO,IACrB;;;4BAAI,eAAK,CAAC,CAAC,wEAAwE,CAAC;yBAAK;wBAE5F,YAAY,KAAK,OAAO,IACrB;;;4BAAI,eAAK,CAAC,CAAC,+CAA+C,CAAC;yBAAK;wBAEnE,YAAY,KAAK,OAAO,IACrB;;;4BAAI,eAAK,CAAC,CAAC,mFAAmF,CAAC;yBAAK;wBAEvG,YAAY,KAAK,OAAO,IACrB;;;4BAAI,eAAK,CAAC,CAAC,0DAA0D,CAAC;yBAAK;qBAE3E;iBACF;gBACN;;sBAAK,SAAS,EAAC,iBAAiB;oBAC5B;;0BAAK,SAAS,EAAC,6BAA6B;wBACxC;;8BAAK,SAAS,EAAC,UAAU;4BACrB;;kCAAK,SAAS,EAAC,YAAY;gCACvB;;sCAAO,SAAS,EAAC,eAAe;oCAAE,eAAK,CAAC,CAAC,cAAc,CAAC;iCAAS;gCACjE;;sCAAK,SAAS,EAAC,4BAA4B;oCACvC;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,cAAc;AACxB,6CAAK,EAAE,UAAU,AAAC;AAClB,mDAAW,EAAC,MAAM;AAClB,2CAAG,EAAE,CAAC,AAAC;AACP,4CAAI,EAAE,IAAI,AAAC;AACX,iDAAS,EAAE,mBAAC,CAAC;mDAAK,CAAC,CAAC,eAAe,EAAE;yCAAA,AAAC;AACtC,gDAAQ,EAAI,IAAI,CAAC,sBAAsB,MAA3B,IAAI,CAAwB;sCAC1C;oCACF;;0CAAK,SAAS,EAAC,mBAAmB;wCAAE,WAAW;qCAAO;iCACpD;6BACJ;yBACJ;wBACN;;8BAAK,SAAS,EAAC,UAAU;4BACrB;;kCAAK,SAAS,EAAC,YAAY;gCACvB;;sCAAO,SAAS,EAAC,eAAe;oCAAE,eAAK,CAAC,CAAC,iBAAiB,CAAC;iCAAS;gCACpE;;sCAAK,SAAS,EAAC,4BAA4B;oCACvC;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,cAAc;AACxB,6CAAK,EAAE,aAAa,AAAC;AACrB,mDAAW,EAAC,MAAM;AAClB,2CAAG,EAAE,CAAC,AAAC;AACP,4CAAI,EAAE,IAAI,AAAC;AACX,gDAAQ,EAAI,IAAI,CAAC,yBAAyB,MAA9B,IAAI,CAA2B;sCAC7C;oCACF;;0CAAM,SAAS,EAAC,mBAAmB;wCAAE,YAAY;qCAAQ;iCACvD;6BACJ;yBACJ;wBACN;;8BAAK,SAAS,EAAC,UAAU;4BACrB;;kCAAK,SAAS,EAAC,YAAY;gCACvB;;sCAAO,SAAS,EAAC,eAAe;oCAAE,eAAK,CAAC,CAAC,wBAAwB,CAAC;iCAAS;gCAC3E;;sCAAK,SAAS,EAAC,4BAA4B;oCACvC;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,cAAc;AACxB,6CAAK,EAAE,GAAG,AAAC;AACX,mDAAW,EAAC,MAAM;AAClB,2CAAG,EAAE,CAAC,AAAC;AACP,4CAAI,EAAE,IAAI,AAAC;AACX,gDAAQ,EAAI,IAAI,CAAC,eAAe,MAApB,IAAI,CAAiB;sCACnC;oCACF;;0CAAM,SAAS,EAAC,mBAAmB;wCAAE,WAAW;qCAAQ;iCACtD;6BACJ;yBACJ;wBACN;;8BAAK,SAAS,EAAC,UAAU;4BACrB;;kCAAK,SAAS,EAAC,YAAY;gCACvB;;sCAAO,SAAS,EAAC,eAAe;oCAAE,eAAK,CAAC,CAAC,sBAAsB,CAAC;iCAAS;gCACzE;;sCAAK,SAAS,EAAC,4BAA4B;oCACvC;AACI,4CAAI,EAAC,QAAQ;AACb,iDAAS,EAAC,cAAc;AACxB,6CAAK,EAAE,kBAAkB,AAAC;AAC1B,mDAAW,EAAC,MAAM;AAClB,2CAAG,EAAE,CAAC,AAAC;AACP,4CAAI,EAAE,IAAI,AAAC;AACX,gDAAQ,EAAI,IAAI,CAAC,8BAA8B,MAAnC,IAAI,CAAgC;sCAClD;oCACF;;0CAAM,SAAS,EAAC,mBAAmB;wCAAE,WAAW;qCAAQ;iCACtD;6BACJ;yBACJ;qBACJ;oBACN;;0BAAK,SAAS,EAAC,eAAe;wBAC1B;;8BAAK,SAAS,EAAC,WAAW;4BACtB;;kCAAK,SAAS,EAAC,aAAa;gCACxB;;sCAAK,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,OAAO;oCACnC;;;AACI,gDAAI,EAAC,QAAQ;AACb,qDAAS,EAAC,wBAAwB;AAClC,mDAAO,EAAI,IAAI,CAAC,SAAS,MAAd,IAAI,CAAW;AAC1B,oDAAQ,EAAE,CAAC,QAAQ,AAAC;;wCAEnB,eAAK,CAAC,CAAC,aAAa,CAAC;qCACjB;iCACP;gCACN,uCAAK,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,OAAO,GAAO;6BAC5C;yBACJ;qBACJ;iBACJ;aACJ,CACR;SACL;;;WAjYC,KAAK;GAAS,gBAAM,SAAS;;kBAoYpB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC1Yd,aAAa;cAAb,aAAa;;aAAb,aAAa;8BAAb,aAAa;;sEAAb,aAAa;;;iBAAb,aAAa;;qCAMF,MAAM,EAAE,QAAQ,EAAE;AAC3B,gBAAI,IAAI,GAAG,QAAQ,CAAC;AACpB,gBAAI,IAAI,EAAE;AACN,qCAAW,OAAO,CAAC,IAAI,CAAC,CAAC;aAC5B;SACJ;;;iCACQ;yBACuB,IAAI,CAAC,KAAK;gBAAhC,IAAI,UAAJ,IAAI;gBAAE,WAAW,UAAX,WAAW;;AACvB,gBAAI,QAAQ,GAAI,CAAC,CAAC,IAAI,IAAK,WAAW,gBAjB1C,iBAAiB,AAiB+C,AAAC,AAAC,CAAC;;AAE/D,mBACI;;;gBACI;;sBAAK,SAAS,EAAC,0BAA0B;oBACrC;wCA1BX,cAAc;;AA2BC,kCAAM,EAAC,IAAI;AACX,mCAAO,EAAC,SAAS;AACjB,iCAAK,EAAE,eAAK,CAAC,CAAC,MAAM,CAAC,AAAC;AACtB,8BAAE,EAAC,gBAAgB;AACnB,qCAAS,MAAA;AACT,oCAAQ,EAAE,CAAC,QAAQ,AAAC;;wBAEpB;4CAlCC,QAAQ;8BAkCC,QAAQ,EAAC,KAAK,EAAC,QAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;4BAAE,eAAK,CAAC,CAAC,gCAAgC,CAAC;yBAAY;qBACrH;iBACf;aACJ,CACR;SACL;;;WAhCC,aAAa;GAAS,gBAAM,SAAS;;AAArC,aAAa,CACR,SAAS,GAAG;AACf,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,eAAW,EAAE,gBAAM,SAAS,CAAC,MAAM;CACtC;kBA+BU,aAAa;;;;;;;;AC5CrB,IAAM,aAAa,WAAb,aAAa,GAAG,IAAI,CAAC;AAC3B,IAAM,WAAW,WAAX,WAAW,GAAG,IAAI;;;AAAC,AAGzB,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,MAAM,CAAC;AACjC,IAAM,gBAAgB,WAAhB,gBAAgB,GAAG,KAAK,CAAC;AAC/B,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,MAAM,CAAC;AACjC,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,MAAM,CAAC;AACjC,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,MAAM,CAAC;AACjC,IAAM,kBAAkB,WAAlB,kBAAkB,GAAG,OAAO,CAAC;AACnC,IAAM,kBAAkB,WAAlB,kBAAkB,GAAG,OAAO,CAAC;;;ACV1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICOM,WAAW;cAAX,WAAW;;aAAX,WAAW;;;;;8BAAX,WAAW;;;;;;wHAAX,WAAW,0EACb,KAAK,GAAG;AACJ,uBAAW,EAAE,KAAK;SACrB;;;iBAHC,WAAW;;oCAKD,MAAM,EAAE,GAAG,EAAE;AACrB,gBAAI,MAAM,KAAK,QAAQ,EAAE;AACrB,oBAAI,CAAC,QAAQ,CAAC;AACV,+BAAW,EAAE,CAAC,CAAC,GAAG;iBACrB,CAAC,CAAC;aACN;SACJ;;;iCACQ;AACL,gBAAI,KAAK,GAAG,GAAG,CAAC;AAChB,gBAAI,KAAK,GAAG,eAAK,CAAC,CAAC,OAAO,CAAC,CAAC;AAC5B,gBAAI,cAAc,GAAG,CACjB,QAAQ,CACX,CAAC;AACF,gBAAI,kBAAkB,GAAG,0BACrB,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CACvC,CAAC;;AAEF,mBACI;;6BAAS,IAAI,CAAC,KAAK,IAAE,kBAAe,qBAAqB;gBACrD;4BA5BP,MAAM;sBA4BS,KAAK,EAAE,KAAK,AAAC;oBACjB,sCA7BH,YAAY;AA8BL,6BAAK,EAAE,KAAK,AAAC;AACb,sCAAc,EAAE,cAAc,AAAC;AAC/B,mCAAW,EAAI,IAAI,CAAC,WAAW,MAAhB,IAAI,CAAa;sBAClC;oBACF;gCAlCW,aAAa;0BAkCT,SAAS,EAAE,kBAAkB,AAAC;wBACzC,oDAAS;qBACG;iBACX;aACP,CACR;SACL;;;WApCC,WAAW;GAAS,gBAAM,SAAS;;kBAuC1B,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICxCpB,OAAO;cAAP,OAAO;;aAAP,OAAO;;;;;8BAAP,OAAO;;;;;;wHAAP,OAAO,0EACT,KAAK,GAAG;AACJ,gBAAI,EAAE,EAAE;AACR,wBAAY,EAAE,KAAK;AACnB,wBAAY,EAAE,CAAC;SAClB;;;iBALC,OAAO;;4CAOW;AAChB,gBAAI,CAAC,SAAS,EAAE,CAAC;SACpB;;;+CACsB;AACnB,gBAAI,CAAC,WAAW,EAAE,CAAC;SACtB;;;oCACW;;;AACR,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;;AAEvB;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,MAAM,EAAE,UAAC,GAAG,EAAE,IAAI,EAAK;AAChD,wBAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AAClB,2BAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBACjC,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;SACJ;;;sCACa;AACV,6BAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAC,KAAK,EAAK;AACjC,mCAAO,WAAW,CAAC,KAAK,CAAC,CAAC;aAC7B,CAAC,CAAC;AACH,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SAC1B;;;0CACiB;AACd,gBAAI,CAAC,QAAQ,CAAC;AACV,4BAAY,EAAE,CAAE,IAAI,CAAC,KAAK,CAAC,YAAY,AAAC;aAC3C,CAAC,CAAC;SACN;;;iCACQ;AACL,gBAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACjC,gBAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;AAChD,gBAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;;AAE3C,mBACI;;;gBACI;;sBAAK,SAAS,EAAC,aAAa,EAAC,IAAI,EAAC,SAAS;oBACvC;;0BAAK,SAAS,EAAC,wBAAwB,EAAC,IAAI,EAAC,OAAO;wBAChD;;;AACI,oCAAI,EAAC,QAAQ;AACb,yCAAS,EAAC,iBAAiB;AAC3B,uCAAO,EAAE,mBAAM;AACX,wCAAI,YAAY,GAAG,CAAC,EAAE;AAClB,6DAAW,OAAO,CAAC,GAAG,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC;qCACjD,MAAM;AACH,6DAAW,OAAO,CAAC,GAAG,CAAC,CAAC;qCAC3B;iCACJ,AAAC;AACF,qCAAK,EAAE,eAAK,CAAC,CAAC,0CAA0C,CAAC,AAAC;AAC1D,wCAAQ,EAAE,CAAC,QAAQ,AAAC;;4BAEpB,qCAAG,SAAS,EAAC,0BAA0B,GAAK;yBACvC;wBACT;;;AACI,oCAAI,EAAC,QAAQ;AACb,yCAAS,EAAC,iBAAiB;AAC3B,uCAAO,EAAE;2CAAM,qBAAW,OAAO,CAAC,IAAI,CAAC;iCAAA,AAAC;AACxC,qCAAK,EAAE,eAAK,CAAC,CAAC,oCAAoC,CAAC,AAAC;AACpD,wCAAQ,EAAE,CAAC,QAAQ,AAAC;;4BAEpB,qCAAG,SAAS,EAAC,0BAA0B,GAAK;yBACvC;qBACP;iBACJ;gBACN;;sBAAK,SAAS,EAAC,UAAU;oBACrB;;;wBACI,yCAAO,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,AAAC,EAAC,QAAQ,EAAI,IAAI,CAAC,eAAe,MAApB,IAAI,CAAiB,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC,GAAG;;wBAC3G,eAAK,CAAC,CAAC,uBAAuB,CAAC;qBAClC;iBACN;aACJ,CACR;SACL;;;WA9EC,OAAO;GAAS,gBAAM,SAAS;;kBAiFtB,OAAO;;;ACvFtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICOM,aAAa;cAAb,aAAa;;aAAb,aAAa;;;;;8BAAb,aAAa;;;;;;wHAAb,aAAa,0EACf,KAAK,GAAG;AACJ,uBAAW,EAAE,KAAK;SACrB;;;iBAHC,aAAa;;oCAKH,MAAM,EAAE,GAAG,EAAE;AACrB,gBAAI,MAAM,KAAK,QAAQ,EAAE;AACrB,oBAAI,CAAC,QAAQ,CAAC;AACV,+BAAW,EAAE,CAAC,CAAC,GAAG;iBACrB,CAAC,CAAC;aACN;SACJ;;;iCACQ;AACL,gBAAI,KAAK,GAAG,GAAG,CAAC;AAChB,gBAAI,KAAK,GAAG,eAAK,CAAC,CAAC,SAAS,CAAC,CAAC;AAC9B,gBAAI,cAAc,GAAG,CACjB,QAAQ,CACX,CAAC;AACF,gBAAI,kBAAkB,GAAG,0BACrB,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CACvC,CAAC;;AAEF,mBACI;;6BAAS,IAAI,CAAC,KAAK,IAAE,kBAAe,uBAAuB;gBACvD;4BA5BP,MAAM;sBA4BS,KAAK,EAAE,KAAK,AAAC;oBACjB,sCA7BH,YAAY;AA8BL,6BAAK,EAAE,KAAK,AAAC;AACb,sCAAc,EAAE,cAAc,AAAC;AAC/B,mCAAW,EAAI,IAAI,CAAC,WAAW,MAAhB,IAAI,CAAa;sBAClC;oBACF;gCAlCW,aAAa;0BAkCT,SAAS,EAAE,kBAAkB,AAAC;wBACzC,sDAAW;qBACC;iBACX;aACP,CACR;SACL;;;WApCC,aAAa;GAAS,gBAAM,SAAS;;kBAuC5B,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICtCtB,YAAY;cAAZ,YAAY;;aAAZ,YAAY;;;;;8BAAZ,YAAY;;;;;;wHAAZ,YAAY,0EAId,KAAK,GAAG;AACJ,uBAAW,EAAE,KAAK;SACrB;;;iBANC,YAAY;;4CAQM,EACnB;;;+CACsB,EACtB;;;uCACc;;AAEX,gBAAI,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;AACpC,gBAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC9B;;;sCACa;;AAEV,gBAAI,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;AACpC,gBAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACjC;;;qCACY,KAAK,EAAE;;;AAChB,gBAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;gBACzB,IAAI,GAAK,IAAI,CAAC,KAAK,CAAnB,IAAI;;AAEV,gBAAI,CAAC,IAAI,EAAE;AACP,uBAAO;aACV;;AAED,gBAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACpB,gBAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;;AAE9B,kBAAM,CAAC,SAAS,GAAG,UAAC,KAAK,EAAK;AAC1B,oBAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM;oBAC9B,KAAK,GAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;;AAElC,oBAAI,KAAK,EAAE;AACP,kCAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AACjB,2BAAO;iBACV;;AAED,8BAAI,KAAK,CAAC,aAAa,EAAE,iBAAE,IAAI,CAAC,IAAI,EAAE,CAClC,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,CACT,CAAC,CAAC,CAAC;;AAEJ,uBAAK,YAAY,EAAE,CAAC;AACpB,uBAAK,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;;AAErC,qCACK,IAAI,CAAC,kBAAkB,CAAC,CACxB,IAAI,CAAC;AACF,wBAAI,EAAE;AACF,4BAAI,EAAE,IAAI,CAAC,IAAI;AACf,4BAAI,EAAE,IAAI,CAAC,IAAI;AACf,4BAAI,EAAE,IAAI;qBACb;AACD,4BAAQ,EAAE,QAAQ;iBACrB,CAAC,CACD,GAAG,CAAC,UAAC,GAAG,EAAE,GAAG,EAAK;AACf,2BAAK,WAAW,EAAE,CAAC;;AAEnB,wBAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;AAChB,+BAAK,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AACtC,sCAAI,KAAK,CAAC,uBAAuB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC7C,+BAAO;qBACV;;AAED,uCAAO,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;iBAC1C,CAAC,CAAC;aAEV,CAAC;;AAEF,kBAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC3B;;;0CACiB;AACd,gBAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;AAC9B,gBAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;SAC5B;;;iCACQ;;;gBACC,IAAI,GAAK,IAAI,CAAC,KAAK,CAAnB,IAAI;gBACJ,WAAW,GAAK,IAAI,CAAC,KAAK,CAA1B,WAAW;;AACjB,gBAAI,YAAY,GAAG,CAAC,WAAW,CAAC;AAChC,gBAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC;AACtC,gBAAM,eAAe,GAAG;AACpB,oBAAI,EAAE,MAAM;AACZ,qBAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;AAC1B,wBAAQ,EAAE,KAAK;;;AAGf,mBAAG,EAAE,aAAA,EAAE;2BAAI,OAAK,WAAW,GAAG,EAAE;iBAAA;AAChC,wBAAQ,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAa;aAChC,CAAC;;AAEF,mBACI;;kBAAK,SAAS,EAAC,qBAAqB;gBAChC;;sBAAK,SAAS,EAAC,mBAAmB;oBAC9B;;0BAAK,SAAS,EAAC,uBAAuB,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;wBACvD,qCAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,AAAC,EAAC,SAAS,EAAC,4BAA4B,GAAK;wBACvE;;;4BAAK,eAAK,CAAC,CAAC,iDAAiD,CAAC;yBAAM;wBACpE,yCAAM;wBACN;;;AACI,oCAAI,EAAC,QAAQ;AACb,yCAAS,EAAC,iBAAiB;AAC3B,uCAAO,EAAI,IAAI,CAAC,eAAe,MAApB,IAAI,CAAiB;AAChC,wCAAQ,EAAE,CAAC,QAAQ,AAAC;;4BAEnB,eAAK,CAAC,CAAC,eAAe,CAAC;yBACnB;wBACT,uCAAW,eAAe,CAAI;qBAC5B;iBACJ;aACJ,CACR;SACL;;;WAvHC,YAAY;GAAS,gBAAM,SAAS;;AAApC,YAAY,CACP,SAAS,GAAG;AACf,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;CAC/B;kBAuHU,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC9HrB,QAAQ;cAAR,QAAQ;;aAAR,QAAQ;8BAAR,QAAQ;;sEAAR,QAAQ;;;iBAAR,QAAQ;;iCAUD;yBAC0C,IAAI,CAAC,KAAK;gBAAnD,KAAK,UAAL,KAAK;gBAAE,EAAE,UAAF,EAAE;gBAAE,IAAI,UAAJ,IAAI;gBAAE,IAAI,UAAJ,IAAI;gBAAE,KAAK,UAAL,KAAK;gBAAE,MAAM,UAAN,MAAM;;AAC1C,gBAAI,QAAQ,GAAG,KAAK,CAAC;;AAErB,mBACI;;kBAAK,SAAS,EAAC,UAAU;gBACrB;;;oBACI;;;wBACI;;;4BACI,yCAAS;4BACT;;kCAAI,SAAS,EAAC,UAAU;gCACpB;;;AACI,iDAAS,EAAC,iBAAiB;AAC3B,+CAAO,EAAE,EAAE,AAAC;AACZ,6CAAK,EAAE,eAAK,CAAC,CAAC,SAAS,CAAC,AAAC;AACzB,gDAAQ,EAAE,CAAC,QAAQ,AAAC;;oCAEpB,qCAAG,SAAS,EAAC,gCAAgC,GAAK;iCACvC;6BACd;4BACL,yCAAS;yBACR;wBACL;;;4BACI;;kCAAI,SAAS,EAAC,UAAU;gCACpB;;;AACI,iDAAS,EAAC,iBAAiB;AAC3B,+CAAO,EAAE,IAAI,AAAC;AACd,6CAAK,EAAE,eAAK,CAAC,CAAC,WAAW,CAAC,AAAC;AAC3B,gDAAQ,EAAE,CAAC,QAAQ,AAAC;;oCAEpB,qCAAG,SAAS,EAAC,kCAAkC,GAAK;iCACzC;6BACd;4BACL;;kCAAI,SAAS,EAAC,UAAU;gCACpB;;;AACI,iDAAS,EAAC,iBAAiB;AAC3B,+CAAO,EAAE,MAAM,AAAC;AAChB,6CAAK,EAAE,eAAK,CAAC,CAAC,gBAAgB,CAAC,AAAC;AAChC,gDAAQ,EAAE,CAAC,QAAQ,AAAC;;oCAEpB,qCAAG,SAAS,EAAC,+BAA+B,GAAK;iCACtC;6BACd;4BACL;;kCAAI,SAAS,EAAC,UAAU;gCACpB;;;AACI,iDAAS,EAAC,iBAAiB;AAC3B,+CAAO,EAAE,KAAK,AAAC;AACf,6CAAK,EAAE,eAAK,CAAC,CAAC,YAAY,CAAC,AAAC;AAC5B,gDAAQ,EAAE,CAAC,QAAQ,AAAC;;oCAEpB,qCAAG,SAAS,EAAC,mCAAmC,GAAK;iCAC1C;6BACd;yBACJ;wBACL;;;4BACI,yCAAS;4BACT;;kCAAI,SAAS,EAAC,UAAU;gCACpB;;;AACI,iDAAS,EAAC,iBAAiB;AAC3B,+CAAO,EAAE,IAAI,AAAC;AACd,6CAAK,EAAE,eAAK,CAAC,CAAC,WAAW,CAAC,AAAC;AAC3B,gDAAQ,EAAE,CAAC,QAAQ,AAAC;;oCAEpB,qCAAG,SAAS,EAAC,kCAAkC,GAAK;iCACzC;6BACd;4BACL,yCAAS;yBACR;qBACD;iBACJ;aACN,CACR;SACL;;;WAlFC,QAAQ;GAAS,gBAAM,SAAS;;AAAhC,QAAQ,CACH,SAAS,GAAG;AACf,SAAK,EAAE,gBAAM,SAAS,CAAC,IAAI;AAC3B,MAAE,EAAE,gBAAM,SAAS,CAAC,IAAI;AACxB,QAAI,EAAE,gBAAM,SAAS,CAAC,IAAI;AAC1B,QAAI,EAAE,gBAAM,SAAS,CAAC,IAAI;AAC1B,SAAK,EAAE,gBAAM,SAAS,CAAC,IAAI;AAC3B,UAAM,EAAE,gBAAM,SAAS,CAAC,IAAI;CAC/B;kBA6EU,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC5EjB,OAAO;cAAP,OAAO;;aAAP,OAAO;;;;;8BAAP,OAAO;;;;;;wHAAP,OAAO,0EAMT,KAAK,GAAG;AACJ,yBAAa,aAXjB,mBAAmB,AAWmB;AAClC,yBAAa,EAAE,KAAK;SACvB,QACD,mBAAmB,GAAG;AAClB,gCAAoB,EAAI,mBAAK,wBAAwB,eAAA;SACxD;;;iBAZC,OAAO;;4CAcW;AAChB,gBAAI,CAAC,sBAAsB,EAAE,CAAC;SACjC;;;+CACsB;AACnB,gBAAI,CAAC,yBAAyB,EAAE,CAAC;SACpC;;;6CACoB;AACjB,gBAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SACzD;;;kDACyB,SAAS,EAAE;gBAC3B,IAAI,GAAkB,SAAS,CAA/B,IAAI;gBAAE,WAAW,GAAK,SAAS,CAAzB,WAAW;;AAEvB,gBAAI,CAAC,IAAI,EAAE;AACP,oBAAI,CAAC,QAAQ,CAAC,EAAE,aAAa,aA/BrC,mBAAmB,AA+BuC,EAAE,CAAC,CAAC;AACtD,uBAAO;aACV;;AAED,gBAAI,AAAC,IAAI,CAAC,KAAK,CAAC,aAAa,IAAM,WAAW,gBAlClD,iBAAiB,AAkCuD,AAAC,EAAE;AACnE,iCAAO,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAChC,mCAAO,OAAO,CAAC,YAAY,CAAC,CAAC;AAC7B,oBAAI,CAAC,QAAQ,CAAC;AACV,iCAAa,aAvCzB,mBAAmB,AAuC2B;AAClC,iCAAa,EAAE,KAAK;iBACvB,CAAC,CAAC;aACN;SACJ;;;iDACwB;AACrB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aAClC,CAAC,CAAC;SACN;;;oDAC2B;AACxB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aACnC,CAAC,CAAC;SACN;;;iDACwB,IAAI,EAAE;AAC3B,gBAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;AAC7B,oBAAI,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;aAC1C;SACJ;;;oCACW;gBACF,aAAa,GAAK,IAAI,CAAC,KAAK,CAA5B,aAAa;;AACnB,mBAAO,CAAC,MAAM,CAAC,iBAAE,QAAQ,CAAC,YA7D9B,mBAAmB,aADnB,qBAAqB,CA8DqD,EAAE,aAAa,CAAC,CAAC,CAAC;;AAExF,gBAAI,aAAa,gBAhErB,qBAAqB,AAgE0B,EAAE;AACzC,qCAAW,KAAK,CAAC,GAAG,CAAC;AAAC,aACzB;;AAED,6BAAO,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC1C,+BAAO,OAAO,CAAC,WAAW,CAAC,CAAC;;AAE5B,gBAAI,CAAC,QAAQ,CAAC;AACV,6BAAa,aAzErB,sBAAsB,AAyEuB;aACxC,CAAC,CAAC;SACN;;;sCACa;gBACJ,aAAa,GAAK,IAAI,CAAC,KAAK,CAA5B,aAAa;;AACnB,mBAAO,CAAC,MAAM,CAAC,iBAAE,QAAQ,CAAC,YA9E9B,sBAAsB,CA8EgC,EAAE,aAAa,CAAC,CAAC,CAAC;;AAEpE,iCAAW,KAAK,CAAC,GAAG,CAAC;AAAC,AACtB,6BAAO,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5C,+BAAO,OAAO,CAAC,aAAa,CAAC,CAAC;;AAE9B,gBAAI,CAAC,QAAQ,CAAC;AACV,6BAAa,aApFrB,qBAAqB,AAoFuB;aACvC,CAAC,CAAC;SACN;;;qCACY;gBACH,aAAa,GAAK,IAAI,CAAC,KAAK,CAA5B,aAAa;;AACnB,mBAAO,CAAC,MAAM,CAAC,iBAAE,QAAQ,CAAC,YAzF9B,qBAAqB,CAyFgC,EAAE,aAAa,CAAC,CAAC,CAAC;;AAEnE,iCAAW,KAAK,CAAC,MAAM,CAAC;AAAC,AACzB,6BAAO,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3C,+BAAO,OAAO,CAAC,YAAY,CAAC,CAAC;;AAE7B,gBAAI,CAAC,QAAQ,CAAC;AACV,6BAAa,aA/FrB,mBAAmB,AA+FuB;aACrC,CAAC,CAAC;SACN;;;sCACa;gBACJ,aAAa,GAAK,IAAI,CAAC,KAAK,CAA5B,aAAa;;AACnB,mBAAO,CAAC,MAAM,CAAC,iBAAE,QAAQ,CAAC,YApG9B,mBAAmB,CAoGgC,EAAE,aAAa,CAAC,CAAC,CAAC;;AAEjE,6BAAO,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7C,+BAAO,OAAO,CAAC,cAAc,CAAC;;AAAC,AAE/B,gBAAI,CAAC,QAAQ,CAAC;AACV,6BAAa,aA1GrB,mBAAmB,AA0GuB;aACrC,CAAC,CAAC;SACN;;;iCACQ;yBACiB,IAAI,CAAC,KAAK;gBAA1B,IAAI,UAAJ,IAAI;gBAAE,KAAK,UAAL,KAAK;gBACX,aAAa,GAAK,IAAI,CAAC,KAAK,CAA5B,aAAa;;AACnB,gBAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;AAC/B,gBAAI,MAAM,GAAG,QAAQ,IAAI,iBAAE,QAAQ,CAAC,YAjHxC,mBAAmB,aADnB,qBAAqB,CAkH+D,EAAE,aAAa,CAAC,CAAC;AACjG,gBAAI,QAAQ,GAAG,QAAQ,IAAI,iBAAE,QAAQ,CAAC,YApH1C,sBAAsB,CAoH4C,EAAE,aAAa,CAAC,CAAC;AAC/E,gBAAI,OAAO,GAAG,QAAQ,IAAI,iBAAE,QAAQ,CAAC,YApHzC,qBAAqB,CAoH2C,EAAE,aAAa,CAAC,CAAC;AAC7E,gBAAI,QAAQ,GAAG,QAAQ,IAAI,iBAAE,QAAQ,CAAC,YApH1C,mBAAmB,CAoH4C,EAAE,aAAa,CAAC,CAAC;;AAE5E,mBACI;;kBAAK,SAAS,EAAC,aAAa,EAAC,IAAI,EAAC,SAAS;gBACvC;;sBAAK,SAAS,EAAC,wBAAwB,EAAC,IAAI,EAAC,OAAO;oBAChD;;0BAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,KAAK,CAAC,AAAC,EAAC,OAAO,EAAI,IAAI,CAAC,SAAS,MAAd,IAAI,CAAW,EAAC,QAAQ,EAAE,CAAC,MAAM,AAAC;wBACjH,qCAAG,SAAS,EAAC,0BAA0B,GAAK;qBACvC;oBACT;;0BAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,OAAO,CAAC,AAAC,EAAC,OAAO,EAAI,IAAI,CAAC,WAAW,MAAhB,IAAI,CAAa,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;wBACvH,qCAAG,SAAS,EAAC,2BAA2B,GAAK;qBACxC;oBACT;;0BAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,MAAM,CAAC,AAAC,EAAC,OAAO,EAAI,IAAI,CAAC,UAAU,MAAf,IAAI,CAAY,EAAC,QAAQ,EAAE,CAAC,OAAO,AAAC;wBACpH,qCAAG,SAAS,EAAC,0BAA0B,GAAK;qBACvC;oBACT;;0BAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,eAAK,CAAC,CAAC,OAAO,CAAC,AAAC,EAAC,OAAO,EAAI,IAAI,CAAC,WAAW,MAAhB,IAAI,CAAa,EAAC,QAAQ,EAAE,CAAC,QAAQ,AAAC;wBACvH,qCAAG,SAAS,EAAC,2BAA2B,GAAK;qBACxC;iBACP;aACJ,CACR;SACL;;;WApIC,OAAO;GAAS,gBAAM,SAAS;;AAA/B,OAAO,CACF,SAAS,GAAG;AACf,QAAI,EAAE,gBAAM,SAAS,CAAC,MAAM;AAC5B,SAAK,EAAE,gBAAM,SAAS,CAAC,IAAI;AAC3B,eAAW,EAAE,gBAAM,SAAS,CAAC,MAAM;CACtC;kBAkIU,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC9GhB,UAAU;cAAV,UAAU;;aAAV,UAAU;;;;;8BAAV,UAAU;;;;;;wHAAV,UAAU,0EACZ,KAAK,GAAG;AACJ,gBAAI,EAAE,EAAE;AACR,iBAAK,EAAE,KAAK;AACZ,uBAAW,aAlBf,iBAAiB,AAkBiB;AAC9B,yBAAa,aAfjB,mBAAmB,AAemB;AAClC,uBAAW,EAAE;AACT,mBAAG,EAAE;AACD,qBAAC,EAAE,CAAC;AACJ,qBAAC,EAAE,CAAC;AACJ,qBAAC,EAAE,CAAC;iBACP;AACD,mBAAG,EAAE;AACD,qBAAC,EAAE,CAAC;AACJ,qBAAC,EAAE,CAAC;AACJ,qBAAC,EAAE,CAAC;iBACP;aACJ;SACJ,QACD,mBAAmB,GAAG;AAClB,8BAAkB,EAAI,mBAAK,sBAAsB,eAAA;AACjD,iCAAqB,EAAI,mBAAK,yBAAyB,eAAA;AACvD,gCAAoB,EAAI,mBAAK,wBAAwB,eAAA;SACxD;;;iBAvBC,UAAU;;6CAyBS;;AAEjB,gBAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACrB,gBAAI,CAAC,SAAS,GAAG,IAAI;;AAAC,AAEtB,gBAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,gBAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,gBAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,gBAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,gBAAI,CAAC,KAAK,GAAG,IAAI,gBAAM,KAAK,EAAE,CAAC;SAClC;;;4CACmB;;;AAChB,gBAAI,CAAC,SAAS,EAAE,CAAC;AACjB,gBAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9B,gBAAI,CAAC,sBAAsB,EAAE,CAAC;;AAE9B,gBAAI,EAAE,GAAG,mBAAS,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACpD,gBAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACrB,gBAAI,CAAC,cAAc,EAAE,CAAC;;AAEtB,gBAAI,CAAC,UAAU,GAAG,aApEqB,WAAW,CAoEhB;AAC9B,iBAAC,EAAE,CAAC;AACJ,iBAAC,EAAE,CAAC;AACJ,iBAAC,EAAE,CAAC;aACP,EAAE,UAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAK;;AACZ,iCAAE,IAAI,CAAC,OAAK,KAAK,CAAC,QAAQ,EAAE,UAAC,CAAC,EAAK;AAC/B,qBAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAChB,qBAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAChB,qBAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;iBACnB,CAAC;;;AAAC,AAGH,uBAAK,WAAW,EAAE,CAAC;aACtB,CAAC,CAAC;SACN;;;+CACsB;AACnB,gBAAI,CAAC,yBAAyB,EAAE,CAAC;AACjC,gBAAI,CAAC,yBAAyB,EAAE,CAAC;AACjC,gBAAI,CAAC,WAAW,EAAE,CAAC;AACnB,gBAAI,CAAC,UAAU,EAAE,CAAC;SACrB;;;8CACqB,SAAS,EAAE,SAAS,EAAE;AACxC,gBAAI,YAAY,GACZ,AAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,IAClC,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,AAAC,IACrC,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,AAAC,IACjD,SAAS,CAAC,aAAa,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,AAAC,IACtD,CAAE,iBAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,AAAC,CAAC;;AAEhE,mBAAO,YAAY,CAAC;SACvB;;;2CACkB,SAAS,EAAE,SAAS,EAAE;;AAErC,iCAAqB,CAAG,IAAI,CAAC,mBAAmB,MAAxB,IAAI,EAAqB,CAAC;SACrD;;;oCACW;;;AACR,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;;AAEvB;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,MAAM,EAAE,UAAC,GAAG,EAAE,IAAI,EAAK;AAChD,wBAAI,GAAG,IAAI,IAAI,EAAE,CAAC;;AAElB,wBAAI,CAAC,IAAI,EAAE;AACP,2CAAO,OAAO,CAAC,cAAc,CAAC,CAAC;AAC/B,+BAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;qBAC/B,MAAM;AACH,+BAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;qBACjC;iBAEJ,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;;AAED;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,YAAY,EAAE,UAAC,GAAG,EAAE,KAAK,EAAK;AACvD,yBAAK,GAAG,KAAK,IAAI,EAAE,CAAC;;AAEpB,2BAAK,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;;AAAC,AAG/B,8BAAU,CAAC,YAAM;AACb,+BAAK,YAAY,EAAE,CAAC;;AAEpB,+BAAK,SAAS,CAAC,KAAK,EAAE,UAAC,OAAO,EAAK;AAC/B,+CAAO,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;;AAEzD,mCAAK,QAAQ,CAAC;AACV,2CAAW,EAAE,OAAO,CAAC,WAAW;6BACnC,CAAC,CAAC;;AAEH,mCAAK,WAAW,EAAE,CAAC;yBACtB,CAAC,CAAC;qBACN,EAAE,CAAC,CAAC,CAAC;iBACT,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;;AAED;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,cAAc,EAAE,UAAC,GAAG,EAAK;AAClD,2BAAK,WAAW,EAAE,CAAC;AACnB,2BAAK,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;iBACnC,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;;AAED;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,QAAQ,EAAE,UAAC,GAAG,EAAK;AAC5C,2BAAK,cAAc,EAAE,CAAC;iBACzB,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;SACJ;;;sCACa;AACV,6BAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAC,KAAK,EAAK;AACjC,mCAAO,WAAW,CAAC,KAAK,CAAC,CAAC;aAC7B,CAAC,CAAC;AACH,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SAC1B;;;iDACwB;AACrB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aAClC,CAAC,CAAC;SACN;;;oDAC2B;AACxB,6BAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAC,QAAQ,EAAE,SAAS,EAAK;AACtD,iCAAO,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aACnC,CAAC,CAAC;SACN;;;+CACsB,KAAK,EAAE;AAC1B,gBAAI,UAAU,GAAG,EAAE,CAAC;;AAEpB,6BAAE,IAAI,CAAC,KAAK,EAAE,UAAC,IAAI,EAAK;;AAEpB,oBAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACpD,wBAAI,CAAC,GAAG,iBAAE,IAAI,cAjKrB,YAAY,EAiKwB,UAAC,KAAK,EAAK;AACpC,+BAAO,iBAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBACxC,CAAC,CAAC;AACH,wBAAI,CAAC,EAAE;AACH,yCAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBACpC;iBACJ;aACJ,CAAC,CAAC;;AAEH,gBAAI,CAAC,UAAU,GAAG,UAAU,CAAC;SAChC;;;kDACyB,IAAI,EAAE;gBACtB,WAAW,GAAiB,IAAI,CAAhC,WAAW;gBAAE,UAAU,GAAK,IAAI,CAAnB,UAAU;;AAE7B,gBAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE;AACxC,oBAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;aAC/C;AACD,gBAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;;;AAAC,AAG1E,gBAAI,CAAC,WAAW,EAAE,CAAC;SACtB;;;iDACwB,IAAI,EAAE;AAC3B,gBAAI,CAAE,IAAI,CAAC,SAAS,AAAC,EAAE;AACnB,uBAAO;aACV;;AAED,0BAAI,KAAK,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;;AAE7C,gBAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC/B,gBAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SAC5C;;;uCACc;;AAEX,gBAAI,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;AACpC,gBAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC9B;;;sCACa;;AAEV,gBAAI,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;AACpC,gBAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACjC;;;iDACwB;;;;AAErB,gBAAI,CAAE,IAAI,CAAC,QAAQ,AAAC,EAAE;AAClB,oBAAI,CAAC,QAAQ,GAAG,YAAM;AAClB,2BAAK,cAAc,EAAE,CAAC;iBACzB,CAAC;aACL;AACD,gBAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,gBAAI,CAAC,iBAAiB,GAAG,iBAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACvD,kBAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAC7D;;;oDAC2B;;AAExB,kBAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAChE;;;yCACgB;AACb,gBAAI,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAA,AAAC,EAAE;AACjC,uBAAO;aACV;;AAED,gBAAI,EAAE,GAAG,mBAAS,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACpD,gBAAI,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC;AAC3B,gBAAI,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,EAAE,GAAG,CAAC;;;;AAAC,AAIzC,gBAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AACpC,gBAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;;AAErC,gBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;;;AAAC,AAGrC,gBAAI,CAAC,WAAW,EAAE,CAAC;SACtB;;;;;;;;oCAKW,EAAE,EAAE;;;AACZ,gBAAI,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC;AAC3B,gBAAI,MAAM,GAAG,EAAE,CAAC,YAAY;;;;AAAC,AAI7B,gBAAI,CAAC,KAAK,GAAG,IAAI,gBAAM,KAAK,EAAE;;;AAAC,AAG/B,gBAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACnD,cAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;;;AAAC,AAGzC,gBAAI,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;;AAE1D;;AACI,oBAAI,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;AACrD,gCAAgB,CAAC,IAAI,GAAG,kBAAkB,CAAC;AAC3C,oBAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aACpC;;AAED;;AACI,oBAAI,eAAe,GAAG,IAAI;AAAC,AAC3B,oBAAI,SAAS,GAAG,0BAAW,SAAS,CAAC,CAAC;AACtC,oBAAI,QAAQ,GAAG,aA9RU,QAAQ,YAOzC,gBAAgB,aAChB,YAAY,EAsRwD,eAAe,EAAE,SAAS,CAAC,CAAC;AACxF,wBAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;AAC3B,oBAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC5B;;AAED;;AACI,oBAAI,cAAc,GAAG,aApS7B,cAAc,YAMd,gBAAgB,CA8RiD,CAAC;AAC1D,8BAAc,CAAC,IAAI,GAAG,gBAAgB,CAAC;AACvC,oBAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;aAClC;;AAED;;;AACI,wBAAI,KAAK,GAAG,0BAAW,QAAQ,CAAC,CAAC;AACjC,wBAAI,GAAG,GAAG,oCAAoC,CAAC;AAC/C,iCA7S2B,WAAW,EA6S1B,GAAG,EAAE,UAAC,GAAG,EAAE,OAAO,EAAK;AAC/B,4BAAI,eAAe,GAAG,aA7SlB,eAAe,CA6SuB,KAAK,EAAE,OAAO,CAAC,CAAC;AAC1D,uCAAe,CAAC,IAAI,GAAG,iBAAiB,CAAC;AACzC,+BAAK,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC;;;AAAC,AAGhC,+BAAK,WAAW,EAAE,CAAC;qBACtB,CAAC,CAAC;;aACN;;AAED,gBAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;AAE3B,gBAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAChF,gBAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAM;;AAE3C,uBAAK,WAAW,EAAE,CAAC;aACtB,CAAC,CAAC;;AAEH,mBAAO,IAAI,CAAC,KAAK,CAAC;SACrB;;;sCACa;AACV,gBAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACjD;;;qCACY;;;;AAET,gBAAI,YAAY,GAAG,iBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC/C,6BAAE,IAAI,CAAC,YAAY,EAAE,UAAC,GAAG,EAAK;AAC1B,uBAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC1B,CAAC;;;AAAC,AAGH,gBAAI,CAAC,WAAW,EAAE,CAAC;SACtB;;;8CACqB;AAClB,gBAAI,UAAU,GAAG,AAAC,IAAI,CAAC,KAAK,CAAC,WAAW,gBApU5C,gBAAgB,AAoUiD,IAC3C,IAAI,CAAC,KAAK,CAAC,aAAa,gBApU9C,sBAAsB,AAoUmD,AAAC,CAAC;;AAEvE,gBAAI,UAAU,EAAE;;AAEZ,qCAAqB,CAAG,IAAI,CAAC,mBAAmB,MAAxB,IAAI,EAAqB;;;AAAC,AAGlD,oBAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;aACnC,MAAM;;;AAGH,oBAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;aACjC;;AAED,gBAAI,CAAC,WAAW,EAAE,CAAC;SACtB;;;uCACc,KAAK,EAAE,MAAM,EAAE;AAC1B,gBAAI,QAAQ,GAAG,IAAI,gBAAM,aAAa,CAAC;AACnC,8BAAc,EAAE,IAAI;aACvB,CAAC,CAAC;AACH,oBAAQ,CAAC,aAAa,CAAC,IAAI,gBAAM,KAAK,CAAC,0BAAW,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACpE,oBAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAChC,oBAAQ,CAAC,KAAK,EAAE,CAAC;;AAEjB,mBAAO,QAAQ,CAAC;SACnB;;;gDACuB,KAAK,EAAE,MAAM,EAAE;AACnC,gBAAI,GAAG,cA5VX,UAAU,AA4Vc,CAAC;AACrB,gBAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5C,gBAAI,IAAI,cA7VZ,WAAW,AA6Ve,CAAC;AACvB,gBAAI,GAAG,cA7VX,UAAU,AA6Vc,CAAC;AACrB,gBAAI,MAAM,GAAG,IAAI,gBAAM,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;;AAEjE,kBAAM,CAAC,QAAQ,CAAC,CAAC,cA/VrB,iBAAiB,AA+VwB,CAAC;AACtC,kBAAM,CAAC,QAAQ,CAAC,CAAC,cA/VrB,iBAAiB,AA+VwB,CAAC;AACtC,kBAAM,CAAC,QAAQ,CAAC,CAAC,cA/VrB,iBAAiB,AA+VwB,CAAC;;AAEtC,mBAAO,MAAM,CAAC;SACjB;;;;;;4CAGmB,MAAM,EAAE,UAAU,EAAE;AACpC,gBAAI,QAAQ,GAAG,IAAI,gBAAM,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;;AAE3D,6BAAE,MAAM,CAAC,QAAQ,EAAE;AACf,0BAAU,EAAE,KAAK;AACjB,2BAAW,EAAE,GAAG;AAChB,yBAAS,EAAE,GAAG;AACd,wBAAQ,EAAE,GAAG;;;AAGb,6BAAa,EAAE,IAAI;AACnB,6BAAa,EAAE,IAAI;aACtB,CAAC,CAAC;;AAEH,mBAAO,QAAQ,CAAC;SACnB;;;iDACwB;AACrB,gBAAI,gBAAgB,GAAG,IAAI,gBAAM,gBAAgB,CAAC,0BAAW,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;;AAEjF,4BAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5C,4BAAgB,CAAC,UAAU,GAAG,IAAI,CAAC;AACnC,4BAAgB,CAAC,gBAAgB,GAAG,CAAC,CAAC;AACtC,4BAAgB,CAAC,eAAe,GAAG,GAAG,CAAC;AACvC,4BAAgB,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;AACxC,4BAAgB,CAAC,iBAAiB,GAAG,EAAE,CAAC;AACxC,4BAAgB,CAAC,eAAe,GAAG,EAAE,CAAC;AACtC,4BAAgB,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;AAC1C,4BAAgB,CAAC,QAAQ,GAAG,CAAC,CAAC;AAC9B,4BAAgB,CAAC,SAAS,GAAG,GAAG,CAAC;AACjC,4BAAgB,CAAC,eAAe,GAAG,IAAI,CAAC;AACxC,4BAAgB,CAAC,cAAc,GAAG,IAAI,CAAC;;AAEvC,mBAAO,gBAAgB,CAAC;SAC3B;;;;;;;;mDAK0B,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAChC,gBAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;AACpE,gBAAI,CAAC,eAAe,EAAE;AAClB,uBAAO;aACV;;AAED,gBAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AACvC,aAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA,GAAI,UAAU,CAAC,CAAC,CAAC;AACpC,aAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA,GAAI,UAAU,CAAC,CAAC,CAAC;AACpC,aAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA,GAAI,UAAU,CAAC,CAAC,CAAC;;AAEpC,2BAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACzC;;;;;;;gDAIwC;gBAAnB,GAAG,yDAAG,CAAC;gBAAE,GAAG,yDAAG,EAAE;;AACnC,gBAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;AACpE,gBAAI,CAAC,eAAe,EAAE;AAClB,uBAAO;aACV;;AAED,gBAAI,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC;AACpB,gBAAI,OAAO,GAAG,GAAG,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAA,AAAC;AAAC,AAC5C,2BAAe,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,OAAO,CAAA,AAAC,CAAC;AAAC,SAClD;;;kCACS,KAAK,EAAE,QAAQ,EAAE;;;;AAEvB,gBAAI,CAAC,WAAW,EAAE,CAAC;;AAEnB,gBAAI,EAAE,GAAG,mBAAS,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;AAEpD,gBAAI,CAAC,SAAS,GAAG,wBAAc,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AAChE,gBAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AAClB,qBAAK,EAAE,KAAK;AACZ,qBAAK,EAAE,EAAE,CAAC,WAAW;AACrB,sBAAM,EAAE,EAAE,CAAC,YAAY;aAC1B,EAAE,UAAC,UAAU,EAAK;AACf,0BAAU,CAAC,IAAI,GAAG,WAAW,CAAC;AAC9B,uBAAK,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;;AAE3B,oBAAI,IAAI,GAAG,aAxcA,cAAc,EAwcC,UAAU,CAAC,CAAC;AACtC,oBAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,oBAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,oBAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,oBAAI,MAAM,GAAG,IAAI,gBAAM,OAAO,CAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,GAAI,EAAE,GAAG,CAAC,AAAC,EACrB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAI,EAAE,GAAG,CAAC,AAAC,EACrB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAI,EAAE,GAAG,CAAC,AAAC,CACxB;;;AAAC,AAGF,uBAAK,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;;AAElD;;AACI,wBAAI,WAAW,GAAG,EAAE,CAAC;AACrB,wBAAI,YAAY,GAAG,EAAE,CAAC;AACtB,wBAAI,UAAU,GAAG,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;AAErD,iCA1dZ,iBAAiB,EA0da,OAAK,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;;;;AACzE,AAGD,uBAAK,WAAW,EAAE,CAAC;;AAEnB,AAAC,uBAAO,QAAQ,KAAK,UAAU,IAAK,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;aACvE,CAAC,CAAC;SACN;;;sCACa;AACV,gBAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;AACzD,gBAAI,UAAU,EAAE;AACZ,oBAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACjC;;;AAAA,AAGD,gBAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;AAAC,AAG7B,gBAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;;;AAAC,AAGtB,gBAAI,CAAC,WAAW,EAAE,CAAC;SACtB;;;yCACgB,aAAa,EAAE;AAC5B,gBAAI,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;SACnD;;;4BACG,MAAM,EAAE,MAAM,EAAE;AAChB,gBAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;AAC1C,gBAAI,OAAO,GAAG,AAAC,UAAU,KAAK,QAAQ,GAAI,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC;AACvE,gBAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;AACxF,gBAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SAC1B;;;;;qCAEY;AACT,gBAAI,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,AAAC,EAAE;AACrB,uBAAO;aACV;;AAED,gBAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;oBACnB,WAAW,GAAK,IAAI,CAAC,QAAQ,CAA7B,WAAW;;AACjB,oBAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;aAC5B;SACJ;;;uCACc;AACX,gBAAI,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,AAAC,EAAE;AACrB,uBAAO;aACV;;AAED,gBAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;oBACnB,WAAW,GAAK,IAAI,CAAC,QAAQ,CAA7B,WAAW;;AACjB,oBAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;aAC7B;SACJ;;;uCACc;AACX,gBAAI,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,AAAC,EAAE;AACrB,uBAAO;aACV;;AAED,gBAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;oBACnB,WAAW,GAAK,IAAI,CAAC,QAAQ,CAA7B,WAAW;;AACjB,oBAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aAC5B;SACJ;;;wCACe;AACZ,gBAAI,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,AAAC,EAAE;AACrB,uBAAO;aACV;;AAED,gBAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;oBACnB,WAAW,GAAK,IAAI,CAAC,QAAQ,CAA7B,WAAW;;AACjB,oBAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aAC7B;SACJ;;;yCACgB;AACb,gBAAI,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,AAAC,EAAE;AACrB,uBAAO;aACV;;AAED,gBAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;SACzB;;;iCACQ;yBAC8B,IAAI,CAAC,KAAK;gBAAvC,IAAI,UAAJ,IAAI;gBAAE,KAAK,UAAL,KAAK;gBAAE,WAAW,UAAX,WAAW;;AAC9B,gBAAI,SAAS,GAAG,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;AAChC,gBAAI,SAAS,GAAG,CAAC,SAAS,CAAC;;AAE3B,mBACI;;;gBACI;AACI,wBAAI,EAAE,IAAI,AAAC;AACX,yBAAK,EAAE,KAAK,AAAC;AACb,oCAAgB,EAAI,IAAI,CAAC,gBAAgB,MAArB,IAAI,CAAkB;AAC1C,+BAAW,EAAE,WAAW,AAAC;kBAC3B;gBACF;AACI,yBAAK,EAAE,KAAK,AAAC;AACb,sBAAE,EAAI,IAAI,CAAC,UAAU,MAAf,IAAI,CAAY;AACtB,wBAAI,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc;AAC1B,wBAAI,EAAI,IAAI,CAAC,YAAY,MAAjB,IAAI,CAAc;AAC1B,yBAAK,EAAI,IAAI,CAAC,aAAa,MAAlB,IAAI,CAAe;AAC5B,0BAAM,EAAI,IAAI,CAAC,cAAc,MAAnB,IAAI,CAAgB;kBAChC;gBACD,SAAS,IACN,wDAAc,IAAI,EAAE,IAAI,AAAC,GAAG;gBAEhC,uCAAK,GAAG,EAAC,YAAY,EAAC,SAAS,EAAC,YAAY,GAAG;aAC7C,CACR;SACL;;;WA9iBC,UAAU;GAAS,gBAAM,SAAS;;kBAijBzB,UAAU;;;;;;;;ACvlBlB,IAAM,mBAAmB,WAAnB,mBAAmB,GAAG,IAAI,CAAC;AACjC,IAAM,mBAAmB,WAAnB,mBAAmB,GAAG,IAAI,CAAC;AACjC,IAAM,mBAAmB,WAAnB,mBAAmB,GAAG,IAAI,CAAC;AACjC,IAAM,gBAAgB,WAAhB,gBAAgB,GAAG,IAAI,CAAC;AAC9B,IAAM,gBAAgB,WAAhB,gBAAgB,GAAG,IAAI,CAAC;AAC9B,IAAM,YAAY,WAAZ,YAAY,GAAG,EAAE,CAAC;;AAExB,IAAM,UAAU,WAAV,UAAU,GAAG,EAAE,CAAC;AACtB,IAAM,aAAa,WAAb,aAAa,GAAG,CAAC,CAAC;AACxB,IAAM,WAAW,WAAX,WAAW,GAAG,GAAG,CAAC;AACxB,IAAM,UAAU,WAAV,UAAU,GAAG,KAAK,CAAC;AACzB,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,CAAC,CAAC;AAC5B,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,CAAC,CAAC;AAC5B,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,GAAG;AAAC,AAC9B,IAAM,sBAAsB,WAAtB,sBAAsB,GAAG,SAAS,CAAC;AACzC,IAAM,qBAAqB,WAArB,qBAAqB,GAAG,QAAQ,CAAC;AACvC,IAAM,mBAAmB,WAAnB,mBAAmB,GAAG,MAAM;;;AAAC,AAGnC,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,MAAM,CAAC;AACjC,IAAM,gBAAgB,WAAhB,gBAAgB,GAAG,KAAK,CAAC;AAC/B,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,MAAM,CAAC;AACjC,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,MAAM,CAAC;AACjC,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,MAAM,CAAC;AACjC,IAAM,kBAAkB,WAAlB,kBAAkB,GAAG,OAAO,CAAC;AACnC,IAAM,kBAAkB,WAAlB,kBAAkB,GAAG,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;ACtB1C,IAAM,SAAS,GAAG,SAAZ,SAAS,CAAI,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAK;AAC3C,QAAI,QAAQ,GAAG,IAAI,gBAAM,QAAQ,EAAE,CAAC;AACpC,QAAI,QAAQ,YAAA,CAAC;;AAEb,QAAI,MAAM,EAAE;AACR,gBAAQ,GAAG,IAAI,gBAAM,kBAAkB,CAAC;AACpC,qBAAS,EAAE,CAAC;AACZ,iBAAK,EAAE,KAAK;AACZ,oBAAQ,EAAE,CAAC;AACX,mBAAO,EAAE,CAAC;AACV,mBAAO,EAAE,GAAG;AACZ,uBAAW,EAAE,IAAI;SACpB,CAAC,CAAC;KACN,MAAM;AACH,gBAAQ,GAAG,IAAI,gBAAM,iBAAiB,CAAC;AACnC,qBAAS,EAAE,CAAC;AACZ,iBAAK,EAAE,KAAK;AACZ,mBAAO,EAAE,GAAG;AACZ,uBAAW,EAAE,IAAI;SACpB,CAAC,CAAC;KACN;;AAED,YAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AACpC,YAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AACpC,YAAQ,CAAC,oBAAoB,EAAE,CAAC;;AAEhC,WAAO,IAAI,gBAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CAC7C;;;;;AAAC;IAKI,cAAc;;;;;AAMhB,SANE,cAAc,CAMJ,IAAI,EAAE;0BANhB,cAAc;;SAChB,KAAK,GAAG,IAAI,gBAAM,QAAQ,EAAE;;AAMxB,QAAM,GAAG,GAAG,0BAAW,KAAK,CAAC,CAAC;AAC9B,QAAM,KAAK,GAAG,0BAAW,OAAO,CAAC,CAAC;AAClC,QAAM,IAAI,GAAG,0BAAW,MAAM,CAAC,CAAC;;AAEhC,QAAI,CAAC,KAAK,CAAC,GAAG,CACV,SAAS,CAAC,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,gBAAM,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;AAChF,aAAS,CAAC,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,gBAAM,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;AAChF,aAAS,CAAC,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;AAClF,aAAS,CAAC,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;AAClF,aAAS,CAAC,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;AACjF,aAAS,CAAC,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI;AAAC,KACpF,CAAC;;AAEF,WAAO,IAAI,CAAC,KAAK,CAAC;CACrB;;kBAGU,cAAc;;;;;;;;;;;;;;;;;ACzD7B,IAAM,oBAAoB,GAAG,SAAvB,oBAAoB,CAAI,KAAK,EAAE,OAAO,EAAK;AAC7C,QAAI,MAAM,GAAG,IAAI,gBAAM,QAAQ,EAAE,CAAC;AAClC,QAAI,QAAQ,YAAA;QAAE,aAAa,YAAA;QAAE,YAAY,YAAA,CAAC;;AAE1C,QAAM,SAAS,GAAG,GAAG,CAAC;AACtB,QAAM,YAAY,GAAG,GAAG,CAAC;AACzB,QAAM,MAAM,GAAG,EAAE,CAAC;AAClB,QAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,QAAM,cAAc,GAAG,CAAC,CAAC;AACzB,QAAM,SAAS,GAAG,KAAK,CAAC;AACxB,QAAM,UAAU,GAAG,CAAC,CAAC;AACrB,QAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE;;;AAAC,AAGhC,YAAQ,GAAG,IAAI,gBAAM,gBAAgB,CACjC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CACtG;;AAAC,AAEF,YAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;;AAAC,AAE9B,YAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;;;AAAC,AAGrC,iBAAa,GAAG,IAAI,gBAAM,iBAAiB,CAAC;AACxC,aAAK,EAAE,KAAK;AACZ,WAAG,EAAE,OAAO;AACZ,eAAO,EAAE,GAAG;AACZ,eAAO,EAAE,gBAAM,aAAa;AAC5B,YAAI,EAAE,gBAAM,SAAS;AACrB,mBAAW,EAAE,IAAI;KACpB,CAAC,CAAC;AACH,gBAAY,GAAG,IAAI,gBAAM,iBAAiB,CAAC;AACvC,aAAK,EAAE,KAAK;AACZ,WAAG,EAAE,OAAO;AACZ,eAAO,EAAE,GAAG;AACZ,eAAO,EAAE,gBAAM,aAAa;AAC5B,YAAI,EAAE,gBAAM,QAAQ;AACpB,mBAAW,EAAE,IAAI;KACpB,CAAC;;;AAAC,AAGH,QAAI,SAAS,GAAG,IAAI,gBAAM,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AACxD,aAAS,CAAC,WAAW,GAAG,CAAC,CAAC;AAC1B,UAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;;AAEtB,QAAI,QAAQ,GAAG,IAAI,gBAAM,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACtD,UAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;;AAErB,WAAO,MAAM,CAAC;CACjB,CAAC;;IAEI,eAAe,GACjB,SADE,eAAe,CACL,KAAK,EAAE,OAAO,EAAE;0BAD1B,eAAe;;AAEb,WAAO,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;CAC/C;;kBAGU,eAAe;;;;;;;;;;;;;;;;;;;;;ACxD9B,IAAM,SAAS,GAAG,SAAZ,SAAS,CAAI,GAAG,EAAE,GAAG,EAAE,KAAK,EAAK;AACnC,QAAI,QAAQ,GAAG,IAAI,gBAAM,QAAQ,EAAE,CAAC;AACpC,QAAI,QAAQ,GAAG,IAAI,gBAAM,iBAAiB,CAAC;AACvC,aAAK,EAAE,KAAK;AACZ,eAAO,EAAE,GAAG;AACZ,mBAAW,EAAE,IAAI;KACpB,CAAC,CAAC;;AAEH,YAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AACpC,YAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;;AAEpC,WAAO,IAAI,gBAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CAC7C,CAAC;;IAEI,QAAQ,GAGV,SAHE,QAAQ,CAGE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE;;;0BAHlD,QAAQ;;SACV,KAAK,GAAG,IAAI,gBAAM,QAAQ,EAAE;;AAGxB,QAAI,IAAI,GAAG,iBAAE,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;;AAEtC,QAAI,OAAO,eAAe,KAAK,WAAW,EAAE;AACxC,uBAAe,GAAG,QAAQ,CAAC;KAC9B;AACD,QAAI,OAAO,SAAS,KAAK,WAAW,EAAE;AAClC,iBAAS,GAAG,QAAQ,CAAC;KACxB;;AAED,qBAAE,IAAI,CAAC,IAAI,EAAE,UAAC,CAAC,EAAK;AAChB,YAAI,KAAK,GAAG,AAAC,CAAC,KAAK,CAAC,GAAI,eAAe,GAAG,SAAS,CAAC;;AAEpD,YAAI,KAAK,KAAK,IAAI,EAAE;;AAChB,mBAAO;SACV;;AAED,YAAI,KAAK,GAAG,SAAS,CACjB,IAAI,gBAAM,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,IAAI,gBAAM,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAC7B,KAAK,CACR,CAAC;;AAEF,YAAI,KAAK,GAAG,SAAS,CACjB,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAC9B,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAC7B,KAAK,CACR,CAAC;;AAEF,cAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACtB,cAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACzB,CAAC,CAAC;;AAEH,WAAO,IAAI,CAAC,KAAK,CAAC;CACrB;;kBAGU,QAAQ;;;;;;;;;;;;;;;;;;;ICvDF,WAAW;;;;;;;AAM5B,aANiB,WAAW,CAMhB,OAAO,EAAE,QAAQ,EAAE;8BANd,WAAW;;AAOxB,eAAO,GAAG,iBAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;AAExD,eAAO,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnC,eAAO,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnC,eAAO,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;;AAEnC,YAAI,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACvC,YAAI,CAAC,QAAQ,GAAG,iBAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAI,YAAM,EAAE,AAAC,CAAC;;AAE/D,YAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;KAC7C;;;;;AAAA;iBAjBgB,WAAW;;4BAsBxB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACH,UAAU,GAAK,IAAI,CAAnB,UAAU;;AAEhB,aAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnB,aAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnB,aAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;;;AAAC,AAGnB,gBAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAA,AAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAA,AAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAA,AAAC,CAAC,CAAC;;AAE7E,gBAAI,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;SAC1C;;;;;;8BAGK;AACF,mBAAO,IAAI,CAAC,UAAU,CAAC;SAC1B;;;;;gCAEO;gBACE,UAAU,GAAK,IAAI,CAAnB,UAAU;;AAEhB,gBAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;;AAExD,gBAAI,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;SAC1C;;;WA9CgB,WAAW;;;kBAAX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACkBzB,IAAM,iBAAiB,WAAjB,iBAAiB,GAAG,SAApB,iBAAiB,CAAI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAK;AACpE,QAAM,GAAG,GAAG,EAAE,CAAC;;AAEf,WAAO,CAAC,MAAM,CAAC,iBAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,WAAO,CAAC,MAAM,CAAC,iBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AACnC,WAAO,CAAC,MAAM,CAAC,UAAU,YAAY,gBAAM,OAAO,CAAC,CAAC;;AAEpD,QAAI,EAAE,GAAG,AAAC,UAAU,YAAY,gBAAM,OAAO,GAAI,UAAU,GAAG,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACzF,QAAI,EAAE,GAAG,IAAI,gBAAM,OAAO,CACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,EACjB,MAAM,CAAC,QAAQ,CAAC,CAAC,EACjB,MAAM,CAAC,QAAQ,CAAC,CAAC,CACpB,CAAC;AACF,QAAI,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;AAAC,AAC7B,QAAI,MAAM,GAAG,MAAM,CAAC,MAAM;;AAAC,AAE3B,SAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3B,UAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;;AAAC,AAG7B,QAAI,GAAG,GAAG,iBAAE,GAAG,CAAC;;AAEZ,KAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAA,AAAC,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAA,AAAC;;AAEpD,KAAC,GAAG,IAAI,CAAC,IAAI,CAAC,AAAC,KAAK,GAAG,MAAM,IAAK,CAAC,GAAG,IAAI,CAAA,AAAC,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAA,AAAC;;AAE9D,OAAG,CACN,CAAC,CAAC;;AAEH,UAAM,CAAC,GAAG,GAAG,GAAG,CAAC;AACjB,UAAM,CAAC,sBAAsB,EAAE,CAAC;CACnC,CAAC;;AAEK,IAAM,cAAc,WAAd,cAAc,GAAG,SAAjB,cAAc,CAAI,MAAM,EAAK;AACtC,QAAI,GAAG,GAAG,IAAI,gBAAM,IAAI,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACjD,QAAI,WAAW,GAAG;AACd,WAAG,EAAE;AACD,aAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACzC,aAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACzC,aAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;SAC5C;AACD,WAAG,EAAE;AACD,aAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1C,aAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1C,aAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;SAC7C;KACJ,CAAC;;AAEF,WAAO,WAAW,CAAC;CACtB,CAAC;;AAEK,IAAM,WAAW,WAAX,WAAW,GAAG,SAAd,WAAW,CAAI,GAAG,EAAE,QAAQ,EAAK;AAC1C,YAAQ,GAAG,QAAQ,IAAK,UAAC,GAAG,EAAE,OAAO,EAAK,EAAE,AAAC,CAAC;;AAE9C,QAAM,MAAM,GAAG,SAAT,MAAM,CAAI,OAAO,EAAK;AACxB,gBAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC3B,CAAC;AACF,QAAM,UAAU,GAAG,SAAb,UAAU,CAAI,GAAG,EAAK;;KAE3B,CAAC;AACF,QAAM,OAAO,GAAG,SAAV,OAAO,CAAI,GAAG,EAAK;AACrB,gBAAQ,CAAC,IAAI,KAAK,CAAC,sCAAsC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACrF,CAAC;;AAEF,QAAI,MAAM,GAAG,IAAI,gBAAM,aAAa,EAAE,CAAC;AACvC,UAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;CACjD,CAAC;;;;AAIE,iBAAiB,GAAjB,iBAAiB;QACjB,cAAc,GAAd,cAAc;QACd,WAAW,GAAX,WAAW;;;AAEX,cAAc;QACd,eAAe;QACf,QAAQ;QACR,WAAW;;;ACjGf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICKM,gBAAgB;cAAhB,gBAAgB;;aAAhB,gBAAgB;8BAAhB,gBAAgB;;sEAAhB,gBAAgB;;;iBAAhB,gBAAgB;;iCACT;AACL,mBACI;;6BAAS,IAAI,CAAC,KAAK,IAAE,kBAAe,0BAA0B;gBAC1D;4BAPP,MAAM;sBAOS,UAAU,EAAE,IAAI,AAAC;oBACrB;gCARW,aAAa;;wBASpB,yDAAc;qBACF;iBACX;aACP,CACR;SACL;;;WAXC,gBAAgB;GAAS,gBAAM,SAAS;;kBAc/B,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACE/B,IAAM,OAAO,GAAG,CACZ;AACI,MAAE,EAAE,MAAM;AACV,MAAE,EAAE,uCAbR,UAAU,IAaU,WAAQ,MAAM,EAAC,GAAG,EAAC,MAAM,GAAG;CAC/C,EACD;AACI,MAAE,EAAE,YAAY;AAChB,MAAE,EAAE,uCAhBR,gBAAgB,IAgBU,WAAQ,YAAY,EAAC,GAAG,EAAC,YAAY,GAAG;CACjE,EACD;AACI,MAAE,EAAE,SAAS;AACb,MAAE,EAAE,uCAnBR,aAAa,IAmBU,WAAQ,SAAS,EAAC,GAAG,EAAC,SAAS,GAAG;CACxD,EACD;AACI,MAAE,EAAE,OAAO;AACX,MAAE,EAAE,uCAtBR,WAAW,IAsBU,WAAQ,OAAO,EAAC,GAAG,EAAC,OAAO,GAAG;CAClD,EACD;AACI,MAAE,EAAE,MAAM;AACV,MAAE,EAAE,uCAzBR,UAAU,IAyBU,WAAQ,MAAM,EAAC,GAAG,EAAC,MAAM,GAAG;CAC/C,EACD;AACI,MAAE,EAAE,OAAO;AACX,MAAE,EAAE,uCA5BR,WAAW,IA4BU,WAAQ,OAAO,EAAC,GAAG,EAAC,OAAO,GAAG;CAClD,EACD;AACI,MAAE,EAAE,SAAS;AACb,MAAE,EAAE,uCA/BR,aAAa,IA+BU,WAAQ,SAAS,EAAC,GAAG,EAAC,SAAS,GAAG;CACxD,EACD;AACI,MAAE,EAAE,YAAY;AAChB,MAAE,EAAE,uCAlCR,gBAAgB,IAkCU,WAAQ,YAAY,EAAC,GAAG,EAAC,YAAY,GAAG;CACjE,CACJ,CAAC;;AAEF,IAAM,oBAAoB,GAAG,SAAvB,oBAAoB,CAAI,EAAE,EAAK;AACjC,QAAI,MAAM,GAAG,iBAAE,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AACpD,WAAO,MAAM,CAAC,EAAE,CAAC;CACpB,CAAC;;IAEI,SAAS;cAAT,SAAS;;aAAT,SAAS;;;;;8BAAT,SAAS;;;;;;wHAAT,SAAS,0EACX,KAAK,GAAG;AACJ,gBAAI,EAAE,EAAE;AACR,sBAAU,EAAE,KAAK;AACjB,uBAAW,EAAE,KAAK;AAClB,gCAAoB,EAAE,IAAI;AAC1B,kCAAsB,EAAE,IAAI;AAC5B,4BAAgB,EAAE,EAAE;AACpB,4BAAgB,EAAE,EAAE;AACpB,8BAAkB,EAAE,EAAE;SACzB,QACD,aAAa,GAAG;AACZ,mBAAO,EAAE,IAAI;AACb,qBAAS,EAAE,IAAI;SAClB;;;iBAdC,SAAS;;4CAgBS;;;AAChB,gBAAI,CAAC,SAAS,EAAE,CAAC;;AAEjB,gBAAI,CAAC,oBAAoB,EAAE,CAAC;;AAE5B,gBAAI,CAAC,YAAY,CAAC,UAAC,GAAG,EAAE,QAAQ,EAAK;AACjC,oBAAI,GAAG,EAAE;AACL,4BAAQ,GAAG,EAAE,CAAC;iBACjB;;AAED,oBAAI,UAAU,GAAG,iBAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxC,oBAAI,WAAW,GAAG,CAAC,YAAY,CAAC,CAAC;AACjC,oBAAI,cAAc,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACvD,oBAAI,gBAAgB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAC7D,oBAAI,WAAW,GAAG,iBAAE,GAAG,CAAC,QAAQ,EAAE,6BAA6B,CAAC,IAAI,cAAc,CAAC;AACnF,oBAAI,aAAa,GAAG,iBAAE,GAAG,CAAC,QAAQ,EAAE,+BAA+B,CAAC,IAAI,gBAAgB;;;AAAC,AAGzF,2BAAW,GAAG,sBAAE,WAAW;AAAC,iBACvB,IAAI,EAAE,CACN,YAAY,CAAC,UAAU;AAAC,iBACxB,UAAU,CAAC,WAAW;AAAC,iBACvB,KAAK,EAAE;;;AAAC,AAGb,6BAAa,GAAG,sBAAE,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;AAAC,iBAC9C,IAAI,EAAE,CACN,UAAU,CAAC,WAAW;AAAC,iBACvB,UAAU,CAAC,WAAW;AAAC,iBACvB,KAAK,EAAE,CAAC;;AAEb,uBAAK,QAAQ,CAAC;AACV,oCAAgB,EAAE,iBAAE,GAAG,CAAC,WAAW,EAAE,UAAC,EAAE,EAAK;AACzC,+BAAO,oBAAoB,CAAC,EAAE,CAAC,CAAC;qBACnC,CAAC;AACF,oCAAgB,EAAE,iBAAE,GAAG,CAAC,WAAW,EAAE,UAAC,EAAE,EAAK;AACzC,+BAAO,oBAAoB,CAAC,EAAE,CAAC,CAAC;qBACnC,CAAC;AACF,sCAAkB,EAAE,iBAAE,GAAG,CAAC,aAAa,EAAE,UAAC,EAAE,EAAK;AAC7C,+BAAO,oBAAoB,CAAC,EAAE,CAAC,CAAC;qBACnC,CAAC;iBACL,CAAC,CAAC;aACN,CAAC,CAAC;SACN;;;6CACoB;AACjB,gBAAI,CAAC,qBAAqB,EAAE,CAAC;SAChC;;;+CACsB;AACnB,gBAAI,CAAC,qBAAqB,EAAE,CAAC;AAC7B,gBAAI,CAAC,WAAW,EAAE,CAAC;SACtB;;;oCACW;;;AACR,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;;AAEvB;;AACI,oBAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,MAAM,EAAE,UAAC,GAAG,EAAE,IAAI,EAAK;AAChD,wBAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AAClB,2BAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;iBACjC,CAAC,CAAC;AACH,oBAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;SACJ;;;sCACa;AACV,6BAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAC,KAAK,EAAK;AACjC,mCAAO,WAAW,CAAC,KAAK,CAAC,CAAC;aAC7B,CAAC,CAAC;AACH,gBAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SAC1B;;;uCACc;;AAEX,gBAAI,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;AACpC,gBAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC9B;;;sCACa;;AAEV,gBAAI,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;AACpC,gBAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACjC;;;qCACY,QAAQ,EAAE;AACnB,iCACK,GAAG,CAAC,aAAa,CAAC,CAClB,GAAG,CAAC,UAAC,GAAG,EAAE,GAAG,EAAK;AACf,wBAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;aACjC,CAAC,CAAC;SACV;;;qCACY,QAAQ,EAAE,QAAQ,EAAE;AAC7B,oBAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;AAC1B,iCACK,GAAG,CAAC,aAAa,CAAC,CAClB,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CACvC,IAAI,CAAC,QAAQ,CAAC,CACd,GAAG,CAAC,QAAQ,CAAC,CAAC;SACtB;;;+CACsB;;;AACnB,gBAAM,aAAa,GAAG,SAAhB,aAAa,CAAI,GAAG,EAAK;AAC3B,oBAAI,QAAQ,GAAG;AACX,6BAAS,EAAE;AACP,iCAAS,EAAE;AACP,mCAAO,EAAE,OAAK,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;AAChD,qCAAS,EAAE,OAAK,aAAa,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;yBACvD;qBACJ;iBACJ,CAAC;;AAEF,uBAAK,YAAY,CAAC,QAAQ,EAAE,UAAC,GAAG,EAAE,GAAG,EAAK;;AAEtC,uCAAO,OAAO,CAAC,QAAQ,CAAC;;AAAC,AAEzB,wBAAI,GAAG,EAAE;AACL,sCAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpB,+BAAO;qBACV;iBACJ,CAAC,CAAC;aACN,CAAC;;AAEF;;AACI,oBAAI,EAAE,GAAG,mBAAS,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC1D,oBAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,mBAAS,MAAM,CAAC,EAAE,EAAE;AAChD,yBAAK,EAAE;AACH,4BAAI,EAAE,SAAS;AACf,4BAAI,EAAE,IAAI;AACV,2BAAG,EAAE,CAAC,WAAW,CAAC;qBACrB;AACD,0BAAM,EAAE,WAAW;AACnB,8BAAU,EAAE,SAAS;AACrB,yBAAK,EAAE,aAAa;iBACvB,CAAC,CAAC;aACN;;AAED;;AACI,oBAAI,EAAE,GAAG,mBAAS,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC5D,oBAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,mBAAS,MAAM,CAAC,EAAE,EAAE;AAClD,yBAAK,EAAE;AACH,4BAAI,EAAE,WAAW;AACjB,4BAAI,EAAE,IAAI;AACV,2BAAG,EAAE,CAAC,SAAS,CAAC;qBACnB;AACD,0BAAM,EAAE,WAAW;AACnB,8BAAU,EAAE,SAAS;AACrB,yBAAK,EAAE,aAAa;iBACvB,CAAC,CAAC;aACN;SACJ;;;gDACuB;AACpB,gBAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;AACxC,gBAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;SAC7C;;;iDACwB;AACrB,gBAAI,CAAC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;;;AAAC,AAG3E,+BAAO,OAAO,CAAC,QAAQ,CAAC;AAAC,SAC5B;;;mDAC0B;AACvB,gBAAI,CAAC,QAAQ,CAAC,EAAE,sBAAsB,EAAE,CAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;;;AAAC,AAG/E,+BAAO,OAAO,CAAC,QAAQ,CAAC;AAAC,SAC5B;;;gDACuB;AACpB,gBAAI,gBAAgB,GAAG,mBAAS,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACxE,gBAAI,kBAAkB,GAAG,mBAAS,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC5E,gBAAI,kBAAkB,GAAG,mBAAS,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC5E,gBAAI,oBAAoB,GAAG,mBAAS,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAChF,gBAAI,gBAAgB,GAAG,mBAAS,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;;AAExE,4BAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC;AACnG,4BAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC,WAAW,GAAG,oBAAoB,CAAC,WAAW,GAAG,IAAI;;;AAAC,AAGxG,+BAAO,OAAO,CAAC,QAAQ,CAAC;AAAC,SAC5B;;;+BACM,KAAK,EAAE;;;gBACJ,IAAI,GAAK,IAAI,CAAC,KAAK,CAAnB,IAAI;;AAEV,gBAAI,CAAC,IAAI,EAAE;AACP,uBAAO;aACV;;AAED,gBAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACpB,gBAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;;AAE9B,kBAAM,CAAC,SAAS,GAAG,UAAC,KAAK,EAAK;AAC1B,oBAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM;oBAC9B,KAAK,GAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;;AAElC,oBAAI,KAAK,EAAE;AACP,kCAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AACjB,2BAAO;iBACV;;AAED,8BAAI,KAAK,CAAC,aAAa,EAAE,iBAAE,IAAI,CAAC,IAAI,EAAE,CAClC,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,CACT,CAAC,CAAC,CAAC;;AAEJ,uBAAK,YAAY,EAAE,CAAC;AACpB,uBAAK,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;;AAErC,qCACK,IAAI,CAAC,kBAAkB,CAAC,CACxB,IAAI,CAAC;AACF,wBAAI,EAAE;AACF,4BAAI,EAAE,IAAI,CAAC,IAAI;AACf,4BAAI,EAAE,IAAI,CAAC,IAAI;AACf,4BAAI,EAAE,IAAI;qBACb;AACD,4BAAQ,EAAE,QAAQ;iBACrB,CAAC,CACD,GAAG,CAAC,UAAC,GAAG,EAAE,GAAG,EAAK;AACf,2BAAK,WAAW,EAAE,CAAC;AACnB,2BAAK,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;;AAEtC,wBAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;AAChB,sCAAI,KAAK,CAAC,uBAAuB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC7C,+BAAO;qBACV;;AAED,uCAAO,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;iBAC1C,CAAC,CAAC;aACV,CAAC;;AAEF,kBAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC3B;;;iCACQ;;;yBAC6B,IAAI,CAAC,KAAK;gBAAtC,UAAU,UAAV,UAAU;gBAAE,WAAW,UAAX,WAAW;;AAC7B,gBAAI,WAAW,GAAG,CAAC,UAAU,CAAC;AAC9B,gBAAI,OAAO,GAAG;AACV,gCAAgB,EAAE,0BACd,mBAAmB,EACnB,EAAE,QAAQ,EAAE,CAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAClD;AACD,kCAAkB,EAAE,0BAChB,qBAAqB,EACrB,EAAE,QAAQ,EAAE,CAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CACpD;AACD,gCAAgB,EAAE,0BACd,gBAAgB,EAChB,OAAO,CACV;AACD,+BAAe,EAAE,0BACb,kBAAkB,EAClB,EAAE,QAAQ,EAAE,WAAW,EAAE,CAC5B;aACJ,CAAC;;AAEF,mBACI;;kBAAK,SAAS,EAAC,iBAAiB,EAAC,kBAAe,WAAW;gBACvD;;sBAAK,SAAS,EAAC,qBAAqB;oBAChC,uCAAK,SAAS,EAAE,OAAO,CAAC,eAAe,AAAC,GAAO;oBAC/C;;;AACI,+BAAG,EAAC,UAAU;AACd,qCAAS,EAAC,UAAU;AACpB,wCAAY,EAAE,IAAI,AAAC;AACnB,oCAAQ,EAAE,KAAK,AAAC;AAChB,uCAAW,EAAE,uBAAM;AACf,uCAAK,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;6BACvC,AAAC;AACF,uCAAW,EAAE,uBAAM;AACf,uCAAK,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;6BACxC,AAAC;AACF,kCAAM,EAAE,gBAAC,KAAK,EAAK;AACf,uCAAK,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AACrC,uCAAK,MAAM,CAAC,KAAK,CAAC,CAAC;6BACtB,AAAC;;wBAEF;;8BAAK,SAAS,EAAC,iBAAiB;4BAC5B;;kCAAK,SAAS,EAAC,qBAAqB;gCAChC;;sCAAK,SAAS,EAAE,OAAO,CAAC,gBAAgB,AAAC,EAAC,GAAG,EAAC,kBAAkB;oCAC3D,IAAI,CAAC,KAAK,CAAC,gBAAgB;iCAC1B;gCACN,uCAAK,SAAS,EAAC,sBAAsB,EAAC,GAAG,EAAC,oBAAoB,EAAC,OAAO,EAAI,IAAI,CAAC,sBAAsB,MAA3B,IAAI,CAAwB,GAAO;gCAC7G;;sCAAK,SAAS,EAAE,OAAO,CAAC,gBAAgB,AAAC,EAAC,GAAG,EAAC,kBAAkB;oCAC3D,IAAI,CAAC,KAAK,CAAC,gBAAgB;iCAC1B;gCACN,uCAAK,SAAS,EAAC,wBAAwB,EAAC,GAAG,EAAC,sBAAsB,EAAC,OAAO,EAAI,IAAI,CAAC,wBAAwB,MAA7B,IAAI,CAA0B,GAAO;gCACnH;;sCAAK,SAAS,EAAE,OAAO,CAAC,kBAAkB,AAAC,EAAC,GAAG,EAAC,oBAAoB;oCAC/D,IAAI,CAAC,KAAK,CAAC,kBAAkB;iCAC5B;6BACJ;yBACJ;qBACC;iBACT;aACJ,CACR;SACL;;;WAjTC,SAAS;GAAS,gBAAM,SAAS;;kBAoTxB,SAAS;;;ACjXxB;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACfA,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;;AAEvB,OAAO,CAAC,MAAM,CAAC,QAAO,IAAI,CAAC,GAAG,CAAC,MAAM,MAAK,QAAQ,EAAE,kCAAkC,CAAC,CAAC;;AAExF,IAAI,QAAQ,GAAG;AACX,WAAO,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO;AAChC,WAAO,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO;AAChC,OAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG;AACxB,QAAI,EAAE,QAAQ;AACd,OAAG,EAAE;AACD,aAAK,EAAE,OAAO;AACd,cAAM,EAAE,SAAS;AACjB,cAAM,EAAE,EAAE;KACb;AACD,iBAAa,EAAE,CACX,IAAI;AACJ,QAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,CACV;AACD,WAAO,EAAE;;;;;;;;;;;;AAYL,eAAO,EAAE,EAAE;;;AAGX,oBAAY,EAAE,IAAI;;;;AAIlB,mBAAW,EAAE,MAAM;;;AAGnB,iBAAS,EAAE,IAAI;;;AAGf,kBAAU,EAAE,MAAM;;;AAGlB,mBAAW,EAAE,IAAI;;;;;AAKjB,YAAI,EAAE,SAAS;;;;AAIf,uBAAe,EAAE,KAAK;AACtB,kCAA0B,EAAE,CAAC,GAAC,EAAE,GAAC,EAAE,GAAC,EAAE,GAAC,IAAI;;;AAG3C,aAAK,EAAE,KAAK;;;;;;;AAOZ,kBAAU,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,0BAA0B;;;AAGhE,gBAAQ,EAAE,KAAK;;;AAGf,mBAAW,EAAE,KAAK;AAClB,qBAAa,EAAE,KAAK;AACpB,mBAAW,EAAE,qCAAqC;AAClD,gBAAQ,EAAE,MAAM;AAChB,iBAAS,EAAE,IAAI;;AAEf,mBAAW,EAAE,GAAG;AAChB,oBAAY,EAAE,GAAG;;AAEjB,2BAAmB,EAAE,IAAI;AACzB,2BAAmB,EAAE,IAAI;;;AAGzB,UAAE,EAAE;AACA,sBAAU,EAAE,CACR,QAAQ;AACR;AAAU,aACb;AACD,qBAAS,EAAE,UAAU;SACxB;KACJ;CACJ,CAAC;;kBAEa,QAAQ;;;;;;;;;;ACnGhB,IAAM,YAAY,WAAZ,YAAY,GAAG,CACxB;AACI,SAAK,EAAE,QAAQ;AACf,SAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC;CAC7E,EACD;AACI,SAAK,EAAE,YAAY;AACnB,SAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;CACpD,EACD;AACI,SAAK,EAAE,OAAO;AACd,SAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;CAC/B,EACD;AACI,SAAK,EAAE,OAAO;AACd,SAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CACxB,EACD;AACI,SAAK,EAAE,UAAU;AACjB,SAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CACxB,EACD;AACI,SAAK,EAAE,UAAU;AACjB,SAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CACxB,EACD;AACI,SAAK,EAAE,SAAS;AAChB,SAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;CACnC,EACD;AACI,SAAK,EAAE,SAAS;AAChB,SAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;CAC5B,EACD;AACI,SAAK,EAAE,SAAS;AAChB,SAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;CAC5B,CACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;ICpCI,GAAG;cAAH,GAAG;;aAAH,GAAG;8BAAH,GAAG;;sEAAH,GAAG;;;iBAAH,GAAG;;iCACI;AACL,mBACI;;;gBACI,qDAAU;gBACT,IAAI,CAAC,KAAK,CAAC,QAAQ;aAClB,CACR;SACL;;;WARC,GAAG;GAAS,gBAAM,SAAS;;kBAWlB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAlB,IAAM,YAAY,GAAG,CAAC,UAAC,EAAE,EAAK;AAC1B,MAAE,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACtB,QAAI,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACf,UAAE,GAAG,GAAG,GAAG,EAAE,CAAC;KACjB;AACD,QAAI,GAAG,GAAG,oBAAQ,EAAE,CAAC,CAAC;AACtB,QAAI,GAAG,GAAG,iBAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAC,GAAG,EAAE,IAAI,EAAK;AAC9C,YAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,WAAG,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACrC,eAAO,GAAG,CAAC;KACd,EAAE,EAAE,CAAC,CAAC;;AAEP,WAAO,GAAG,CAAC;CACd,CAAA,CAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;;;AAAC,AAGtC,IAAM,UAAU,GAAG,SAAb,UAAU,CAAI,GAAG,EAAK;AACxB,QAAK,CAAE,GAAG,EAAE;AACR,eAAO,IAAI,CAAC;KACf;AACD,WAAO,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,6BAA6B,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;CAC7L,CAAC;;AAEF,IAAM,WAAW,GAAG,SAAd,WAAW,CAAI,IAAI,EAAK;AAC1B,QAAI,GAAG,YAAA;;;AAAC,AAGR,OAAG,GAAG,YAAY,CAAC,mBAAS,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE;;;AAAC,AAGvD,OAAG,GAAG,GAAG,IAAK,CAAA,UAAS,GAAG,EAAE;AACxB,YAAI,mBAAS,OAAO,CAAC,SAAS,EAAE;AAC5B,mBAAO,UAAU,CAAC,mBAAS,OAAO,CAAC,UAAU,CAAC,CAAC;SAClD;AACD,eAAO,GAAG,CAAC;KACd,CAAA,CAAC,GAAG,CAAC,AAAC;;;AAAC,AAGR,OAAG,GAAG,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;;AAAC,AAGpC,OAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAA,CAAE,WAAW,EAAE,CAAC;;AAEhC,QAAI,mBAAS,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC1C,2BAAS,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;KAC9B,MAAM;AACH,2BAAS,OAAO,CAAC,GAAG,GAAG,mBAAS,OAAO,CAAC,WAAW,IAAI,mBAAS,aAAa,CAAC,CAAC,CAAC,CAAC;KACpF;;AAED,mBAAK,IAAI,CAAC,mBAAS,OAAO,EAAE,UAAC,CAAC,EAAK;AAC/B,YAAI,EAAE,CAAC;KACV,CAAC,CAAC;CACN,CAAC;;AAEF,IAAM,OAAO,GAAG,SAAV,OAAO,CAAI,IAAI,EAAK;AACtB,QAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,mBAAS,GAAG,CAAC,KAAK,CAAC;AAClE,QAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,mBAAS,GAAG,CAAC,MAAM,CAAC;AACrE,QAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,mBAAS,GAAG,CAAC,MAAM,CAAC;;AAErE,kBAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;AACxB,kBAAI,SAAS,CAAC,UAAU,CAAC,CAAC;AAC1B,kBAAI,SAAS,CAAC,UAAU,CAAC,CAAC;;AAE1B,QAAI,GAAG,GAAG,CACN,UAAU,GAAG,mBAAS,OAAO,EAC7B,UAAU,GAAG,mBAAS,OAAO,EAC7B,MAAM,GAAG,mBAAS,GAAG,CACxB,CAAC;AACF,kBAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;;AAExB,QAAI,EAAE,CAAC;CACV,CAAC;;AAEF,gBAAM,MAAM,CAAC,CACT,WAAW,EACX,OAAO,CACV,EAAE,UAAC,GAAG,EAAE,OAAO,EAAK;;AAEjB;;;AAEI,cAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAC,CAAC,EAAK;AACvC,aAAC,GAAG,CAAC,IAAI,KAAK,CAAC;AACf,aAAC,CAAC,cAAc,EAAE,CAAC;SACtB,EAAE,KAAK,CAAC,CAAC;;AAEV,cAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAC,CAAC,EAAK;AACnC,aAAC,GAAG,CAAC,IAAI,KAAK,CAAC;AACf,aAAC,CAAC,cAAc,EAAE,CAAC;SACtB,EAAE,KAAK,CAAC,CAAC;KACb;;AAED;;AACI,YAAI,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACjD,YAAI,OAAO,EAAE;AACT,mBAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SAClC;KACJ;;AAED,uBAAS,MAAM,CACX;qBA5GC,MAAM;;QA6GH;yBA7GK,KAAK;cA6GH,IAAI,EAAC,GAAG,EAAC,SAAS,eAAM;YAC3B,2CA9GQ,UAAU,IA8GN,SAAS,qBAAY,GAAG;SAChC;KACH,EACT,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CACvC,CAAC;CACL,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClHH,IAAM,IAAI,GAAG,SAAP,IAAI,GAAS,EAAE,CAAC;;AAEtB,IAAM,YAAY,GAAG,IAAI,gBAAM,KAAK,CAAC,0BAAW,UAAU,CAAC,CAAC,CAAC;AAC7D,IAAM,WAAW,GAAG;AAChB,QAAI,EAAE,IAAI,gBAAM,KAAK,CAAC,SAAS,CAAC;AAChC,QAAI,EAAE,IAAI,gBAAM,KAAK,CAAC,SAAS,CAAC;AAChC,QAAI,EAAE,IAAI,gBAAM,KAAK,CAAC,SAAS,CAAC;AAChC,QAAI,EAAE,IAAI,gBAAM,KAAK,CAAC,SAAS,CAAC;CACnC,CAAC;;IAEI,SAAS;AACX,aADE,SAAS,CACC,OAAO,EAAE;8BADnB,SAAS;;AAEP,eAAO,GAAG,OAAO,IAAI,EAAE,CAAC;;AAExB,sBAAI,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;;AAEjC,YAAI,CAAC,OAAO,GAAG,OAAO,CAAC;;AAEvB,YAAI,CAAC,KAAK,GAAG,IAAI,gBAAM,QAAQ,EAAE,CAAC;AAClC,YAAI,CAAC,QAAQ,GAAG,IAAI,gBAAM,QAAQ,EAAE;;;;;;;;;AAAC,AASrC,YAAI,CAAC,MAAM,GAAG,EAAE;AAAC,AACjB,YAAI,CAAC,UAAU,GAAG,CAAC,CAAC;KACvB;;iBApBC,SAAS;;iCAqBF,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE;gBACjB,MAAM,GAAK,UAAU,CAArB,MAAM;;AACd,gBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,gBAAM,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,gBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,gBAAM,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;AAEjE,gBAAI,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;AAChD,gBAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,gBAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC;;;;;;;;;qCAMY,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;gBACzB,MAAM,GAAY,UAAU,CAA5B,MAAM;gBAAE,KAAK,GAAK,UAAU,CAApB,KAAK;;AACrB,gBAAI,WAAW,GAAI,MAAM,KAAK,IAAI,AAAC,CAAC;AACpC,gBAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAClB,IAAI,CAAC,GAAG,CAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAG,CAAC,CAAC,CAC1D,CAAC;AACF,gBAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACtD,gBAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,gBAAI,QAAQ,GAAG,IAAI,gBAAM,QAAQ,CAC7B,EAAE,CAAC,CAAC;AACJ,cAAE,CAAC,CAAC;AACJ,kBAAM;AACN,sBAAU;AACV,oBAAQ;AACR,aAAC,CAAC,WAAW;AAAA,aAChB,CAAC;AACF,gBAAI,SAAS,GAAG,EAAE,CAAC;AACnB,gBAAI,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC3C,gBAAI,QAAQ,GAAG,EAAE,CAAC;;AAElB,iBAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AACpC,oBAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACtB,oBAAI,CAAC,GAAG,AAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,GAAI,MAAM,CAAC,MAAM,GAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;;AAEnD,oBAAI,KAAK,KAAK,KAAK,EAAE;;AACjB,4BAAQ,CAAC,IAAI,CAAC,IAAI,gBAAM,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACzD,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE;;AACxB,4BAAQ,CAAC,IAAI,CAAC,IAAI,gBAAM,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzD,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE;;AACxB,4BAAQ,CAAC,IAAI,CAAC,IAAI,gBAAM,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzD;aACJ;;AAED,gBAAI,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;AAChD,gBAAI,MAAM,GAAG,iBAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;;AAEnD,gBAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjE,gBAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC9D;;;+BACM,OAAO,EAAE,QAAQ,EAAE;;;AACtB,mBAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AACxB,oBAAQ,GAAG,iBAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC;;AAEpD,gBAAI,MAAM,GAAG,0BAAgB;AACzB,0BAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;AACnC,wBAAQ,EAAE,kBAAC,UAAU,EAAE,EAAE,EAAE,EAAE,EAAK;AAC9B,0BAAK,QAAQ,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;iBACrC;AACD,4BAAY,EAAE,sBAAC,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAK;AACtC,0BAAK,YAAY,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;iBAC7C;aACJ,CAAC,CAAC;AACH,kBAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,IAAI,EAAK;AACxB,sBAAK,MAAM,CAAC,IAAI,CAAC;AACb,wBAAI,EAAE,IAAI;AACV,+BAAW,EAAE,MAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM;AAAA,iBAC7C,CAAC,CAAC;aACN,CAAC,CAAC;;AAEH,kBAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,UAAC,GAAG,EAAE,OAAO,EAAK;AAClD,sBAAK,MAAM,EAAE,CAAC;;AAEd,8BAAI,KAAK,CAAC;AACN,4BAAQ,EAAE,MAAK,QAAQ;AACvB,0BAAM,EAAE,MAAK,MAAM;AACnB,8BAAU,EAAE,MAAK,UAAU;iBAC9B,CAAC,CAAC;;AAEH,wBAAQ,CAAC,MAAK,KAAK,CAAC,CAAC;aACxB,CAAC,CAAC;SACN;;;iCACQ;AACL,mBAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACnC,oBAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAClC,oBAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxB,oBAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aAC3B;;AAED;;AACI,oBAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC7B,oBAAI,QAAQ,GAAG,IAAI,gBAAM,iBAAiB,CAAC;AACvC,yBAAK,EAAE,IAAI,gBAAM,KAAK,CAAC,0BAAW,UAAU,CAAC,CAAC;AAC9C,6BAAS,EAAE,CAAC;AACZ,gCAAY,EAAE,gBAAM,YAAY;AAChC,2BAAO,EAAE,GAAG;AACZ,+BAAW,EAAE,IAAI;iBACpB,CAAC,CAAC;AACH,oBAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,gBAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;aACtD;;AAED;;AACI,oBAAI,QAAQ,GAAG,IAAI,gBAAM,QAAQ,EAAE,CAAC;AACpC,oBAAI,QAAQ,GAAG,IAAI,gBAAM,iBAAiB,CAAC;AACvC,yBAAK,EAAE,IAAI,gBAAM,KAAK,CAAC,0BAAW,SAAS,CAAC,CAAC;AAC7C,6BAAS,EAAE,CAAC;AACZ,2BAAO,EAAE,GAAG;AACZ,+BAAW,EAAE,IAAI;iBACpB,CAAC,CAAC;AACH,oBAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACtD,wBAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;AAC9E,oBAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,gBAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;aACtD;SACJ;;;sCACa,UAAU,EAAE;AACtB,sBAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1D,sBAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;;AAErC,gBAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,gBAAI,CAAC,MAAM,EAAE,CAAC;SACjB;;;WAhJC,SAAS;;;kBAmJA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;AC/JxB,IAAM,KAAK,GAAG,SAAR,KAAK,CAAI,CAAC;WAAK,CAAC,GAAG,IAAI;CAAA,CAAC;AAC9B,IAAM,KAAK,GAAG,SAAR,KAAK,CAAI,CAAC;WAAK,CAAC,GAAG,IAAI;CAAA,CAAC;;AAE9B,IAAM,IAAI,GAAG,SAAP,IAAI,GAAS,EAAE,CAAC;;AAEtB,IAAM,iBAAiB,GAAG,SAApB,iBAAiB,CAAI,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAK;AAC3D,YAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;AACtB,eAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAClC,QAAI,iBAAE,KAAK,CAAC,WAAW,CAAC,EAAE;AACtB,eAAO,QAAQ,CAAC;KACnB;AACD,WAAO,QAAQ,GAAI,QAAQ,GAAG,WAAW,GAAI,WAAW,CAAC;CAC5D,CAAC;;IAEI,WAAW;;;;;;;;;;AA6Wb,aA7WE,WAAW,CA6WD,OAAO,EAAE;;;8BA7WnB,WAAW;;aACb,QAAQ,GAAG;AACP,aAAC,EAAE,CAAC;AACJ,aAAC,EAAE,CAAC;AACJ,aAAC,EAAE,CAAC;SACP;aAID,UAAU,GAAG;AACT,kBAAM,EAAE,IAAI;AACZ,sBAAU,EAAE,KAAK;AACjB,iBAAK,EAAE,KAAK;AACZ,iBAAK,EAAE,KAAK;AACZ,oBAAQ,EAAE,KAAK;AACf,oBAAQ,EAAE,KAAK;AACf,mBAAO,EAAE,IAAI;AACb,mBAAO,EAAE,IAAI;AACb,mBAAO,EAAE,IAAI;SAChB;aAED,QAAQ,GAAG;;AAEP,gBAAI,EAAE,YAAC,MAAM,EAAK;AACd,sBAAK,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;;AAEvC,oBAAI,EAAE,GAAG;AACL,qBAAC,EAAE,MAAK,QAAQ,CAAC,CAAC;AAClB,qBAAC,EAAE,MAAK,QAAQ,CAAC,CAAC;AAClB,qBAAC,EAAE,MAAK,QAAQ,CAAC,CAAC;iBACrB,CAAC;AACF,oBAAI,EAAE,GAAG;AACL,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC/B,CAAC;AACF,oBAAM,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;;AAErD,sBAAK,EAAE,CAAC,QAAQ,CAAC,MAAK,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC;;;AAAC,AAG1C,sBAAK,WAAW,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;aAC1E;;;;;;;;;;;;;;;AAeD,gBAAI,EAAE,YAAC,MAAM,EAAK;AACd,sBAAK,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;;AAEvC,oBAAI,EAAE,GAAG;AACL,qBAAC,EAAE,MAAK,QAAQ,CAAC,CAAC;AAClB,qBAAC,EAAE,MAAK,QAAQ,CAAC,CAAC;AAClB,qBAAC,EAAE,MAAK,QAAQ,CAAC,CAAC;iBACrB,CAAC;AACF,oBAAI,EAAE,GAAG;AACL,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC/B,CAAC;AACF,oBAAM,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;;AAErD,sBAAK,EAAE,CAAC,QAAQ,CAAC,MAAK,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC;;;AAAC,AAG1C,sBAAK,WAAW,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;aAC1E;;;;;;;;;;;;;;;;;;;AAmBD,gBAAI,EAAE,YAAC,MAAM,EAAK;AACd,sBAAK,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;;AAEvC,oBAAI,EAAE,GAAG;AACL,qBAAC,EAAE,MAAK,QAAQ,CAAC,CAAC;AAClB,qBAAC,EAAE,MAAK,QAAQ,CAAC,CAAC;AAClB,qBAAC,EAAE,MAAK,QAAQ,CAAC,CAAC;iBACrB,CAAC;AACF,oBAAI,EAAE,GAAG;AACL,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC/B,CAAC;AACF,oBAAI,EAAE,GAAG;AACL,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC/B,CAAC;AACF,oBAAM,WAAW,GAAG,IAAI,CAAC;AACzB,oBAAM,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;;AAErD,oBAAI,MAAK,SAAS,EAAE,EAAE;+BACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;gCACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;gCACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;iBACrB,MAAM,IAAI,MAAK,SAAS,EAAE,EAAE;gCACF,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;gCACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;gCACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;iBACrB,MAAM,IAAI,MAAK,SAAS,EAAE,EAAE;gCACF,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;gCACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;gCACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;iBACrB,MAAM;AACH,2BAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,MAAK,UAAU,CAAC,KAAK,CAAC,CAAC;AAClE,2BAAO;iBACV;;AAED,oBAAI,MAAM,CAAC,CAAC,EAAE;AACV,wBAAI,MAAM,GAAG,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACvC,wBAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACpB,wBAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACpB,wBAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,wBAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;;AAEhE,wBAAI,WAAW,EAAE;AACb,8BAAM,GAAG,CAAC,MAAM,CAAC;qBACpB;AACD,wBAAI,MAAM,GAAG,CAAC,EAAE;AACZ,8BAAM,GAAG,CAAC,MAAM,CAAC;qBACpB;;AAED,wBAAI,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC5C,wBAAI,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;;AAE5C,sBAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;AACtB,sBAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;iBACzB;;AAED,sBAAK,EAAE,CAAC,YAAY,CAAC,MAAK,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;;;AAAC,AAGlD,sBAAK,WAAW,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;aAC1E;AACD,gBAAI,EAAE,YAAC,MAAM,EAAK;AACd,sBAAK,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;;AAEvC,oBAAI,EAAE,GAAG;AACL,qBAAC,EAAE,MAAK,QAAQ,CAAC,CAAC;AAClB,qBAAC,EAAE,MAAK,QAAQ,CAAC,CAAC;AAClB,qBAAC,EAAE,MAAK,QAAQ,CAAC,CAAC;iBACrB,CAAC;AACF,oBAAI,EAAE,GAAG;AACL,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC/B,CAAC;AACF,oBAAI,EAAE,GAAG;AACL,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC/B,CAAC;AACF,oBAAM,WAAW,GAAG,KAAK,CAAC;AAC1B,oBAAM,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;;AAErD,oBAAI,MAAK,SAAS,EAAE,EAAE;iCACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;iCACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;iCACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;iBACrB,MAAM,IAAI,MAAK,SAAS,EAAE,EAAE;iCACF,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;iCACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;iCACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;iBACrB,MAAM,IAAI,MAAK,SAAS,EAAE,EAAE;iCACF,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;iCACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;iCACK,CAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE;AAAzC,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;AAAE,sBAAE,CAAC,CAAC;iBACrB,MAAM;AACH,2BAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,MAAK,UAAU,CAAC,KAAK,CAAC,CAAC;AAClE,2BAAO;iBACV;;AAED,oBAAI,MAAM,CAAC,CAAC,EAAE;AACV,wBAAI,MAAM,GAAG,MAAK,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,wBAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACpB,wBAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACpB,wBAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,wBAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;;AAEhE,wBAAI,WAAW,EAAE;AACb,8BAAM,GAAG,CAAC,MAAM,CAAC;qBACpB;AACD,wBAAI,MAAM,GAAG,CAAC,EAAE;AACZ,8BAAM,GAAG,CAAC,MAAM,CAAC;qBACpB;;AAED,wBAAI,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC5C,wBAAI,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;;AAE5C,sBAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;AACtB,sBAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC;iBACzB;;AAED,sBAAK,EAAE,CAAC,YAAY,CAAC,MAAK,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;;;AAAC,AAGlD,sBAAK,WAAW,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;aAC1E;;;;;;;AAOD,gBAAI,EAAE,YAAC,MAAM,EAAK;AACd,oBAAI,KAAK,GAAG,CAAC,CAAC;;AAEd,oBAAI,OAAO,MAAM,CAAC,CAAC,KAAK,WAAW,EAAE;AACjC,yBAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;AAAC,iBACnC;;AAED,oBAAI,OAAO,MAAM,CAAC,CAAC,KAAK,WAAW,EAAE;AACjC,yBAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAAC,iBAC5B;aACJ;;AAED,iBAAK,EAAE,aAAC,MAAM,EAAK,EAClB;;;AAGD,iBAAK,EAAE,aAAC,MAAM,EAAK;AACf,sBAAK,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;aAC1C;;AAED,iBAAK,EAAE,aAAC,MAAM,EAAK;AACf,sBAAK,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;aAC1C;;AAED,iBAAK,EAAE,aAAC,MAAM,EAAK;AACf,sBAAK,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;aAC1C;;AAED,iBAAK,EAAE,aAAC,MAAM,EAAK;AACf,sBAAK,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;aAC1C;;AAED,iBAAK,EAAE,aAAC,MAAM,EAAK;AACf,sBAAK,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;aAC1C;;;AAGD,mBAAO,EAAE,cAAC,MAAM,EAAK;AACjB,sBAAK,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;aAC7C;;AAED,mBAAO,EAAE,eAAC,MAAM,EAAK;AACjB,sBAAK,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;aAC7C;;AAED,mBAAO,EAAE,cAAC,MAAM,EAAK;AACjB,sBAAK,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;aAC7C;;AAED,mBAAO,EAAE,cAAC,MAAM,EAAK;AACjB,sBAAK,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;aAC7C;;AAED,iBAAK,EAAE,eAAM;AACT,sBAAK,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/C;AACD,iBAAK,EAAE,eAAM;AACT,sBAAK,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/C;AACD,iBAAK,EAAE,eAAM;AACT,sBAAK,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/C;AACD,iBAAK,EAAE,eAAM;AACT,sBAAK,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/C;AACD,iBAAK,EAAE,eAAM;AACT,sBAAK,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/C;AACD,iBAAK,EAAE,eAAM;AACT,sBAAK,aAAa,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;aAC/C;;AAED,iBAAK,EAAE,eAAM;AACT,sBAAK,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;aAC3C;;;;;AAKD,iBAAK,EAAE,eAAM;AACT,sBAAK,aAAa,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;aAC7C;;;;;AAKD,iBAAK,EAAE,eAAM;AACT,sBAAK,aAAa,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;aAC7C;;;;;;;;;;;;AAYD,iBAAK,EAAE,aAAC,MAAM,EAAK;AACf,oBAAI,EAAE,GAAG;AACL,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;AACnC,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;AACnC,qBAAC,EAAE,MAAK,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;iBACtC;;;AAAC,AAGF,oBAAI,iBAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,iBAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,iBAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;AAC/E,sBAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC1B;;;AAAA,AAGD,sBAAK,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aACtC;;;;;AAKD,iBAAK,EAAE,eAAM;AACT,sBAAK,aAAa,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;aAC7C;;;;;;AAMD,iBAAK,EAAE,eAAM;AACT,sBAAK,aAAa,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;aAC7C;SACJ;;AAOG,eAAO,GAAG,OAAO,IAAI,EAAE,CAAC;;AAExB,sBAAI,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;;AAEnC,YAAI,CAAC,UAAU,GAAG,iBAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;;AAEpE,YAAI,CAAC,EAAE,GAAG;AACN,oBAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;AAClC,wBAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;SAC7C,CAAC;;AAEF,eAAO,sBA1YN,gBAAgB,CA0YW,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC5D;;iBA1XC,WAAW;;wCA2XG;;AACZ,mBAAO,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC;SAC1C;;;0CACiB;;AACd,mBAAO,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC;SAC1C;;;6CACoB;AACjB,mBAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,KAAK,CAAC;SAC7C;;;6CACoB;AACjB,mBAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,KAAK,CAAC;SAC7C;;;oCACW;AACR,mBAAO,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC;SAC1C;;;oCACW;AACR,mBAAO,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC;SAC1C;;;oCACW;AACR,mBAAO,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC;SAC1C;;;oDAC2B;AACxB,mBAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,KAAK,CAAC;SAC7C;;;uDAC8B;AAC3B,mBAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,KAAK,CAAC;SAC7C;;;oCACW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACjB,gBAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,iBAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,gBAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,iBAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,gBAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,iBAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;SACzD;;;sCACa,UAAU,EAAE;AACtB,6BAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;SACzC;;;mCACU,CAAC,EAAE,QAAQ,EAAE;AACpB,gBAAI,iBAAE,WAAW,CAAC,QAAQ,CAAC,EAAE;AACzB,wBAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACxC;AACD,aAAC,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,mBAAO,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC5D;;;mCACU,CAAC,EAAE,QAAQ,EAAE;AACpB,gBAAI,iBAAE,WAAW,CAAC,QAAQ,CAAC,EAAE;AACzB,wBAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACxC;AACD,aAAC,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,mBAAO,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC5D;;;mCACU,CAAC,EAAE,QAAQ,EAAE;AACpB,gBAAI,iBAAE,WAAW,CAAC,QAAQ,CAAC,EAAE;AACzB,wBAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACxC;AACD,aAAC,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,mBAAO,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC5D;;;mCACU,CAAC,EAAE;AACV,mBAAO,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SACnC;;;mCACU,CAAC,EAAE;AACV,mBAAO,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SACnC;;;mCACU,CAAC,EAAE;AACV,mBAAO,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SACnC;;;mCACU,CAAC,EAAE;AACV,aAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACd,gBAAI,iBAAE,KAAK,CAAC,CAAC,CAAC,EAAE;AACZ,uBAAO,CAAC,CAAC;aACZ;AACD,mBAAO,IAAI,CAAC,eAAe,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAChD;;;WAlcC,WAAW;;;kBAqcF,WAAW;;;;;ACvd1B,IAAI,OAAO,GAAG;AACV,YAAQ,EAAE,oBAAW;AACjB,eAAO,AAAC,SAAQ,CAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,AAAC,gBAAgB,CAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;UAAC;KAC5F;AACD,WAAO,EAAE,mBAAW;AAChB,eAAO,AAAC,MAAK,CAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,AAAC,OAAO,CAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;UAAC;KAChF;AACD,aAAS,EAAE,qBAAW;AAClB,eAAO,AAAC,UAAS,CAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;UAAC;KAChD;;;;AAID,YAAQ,EAAE,oBAAW;AACjB,eAAO,AAAC,SAAS,CAAC,OAAO,KAAK,UAAU,IAAK,AAAC,aAAa,CAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KAC1F;AACD,QAAI,EAAE,gBAAW;AACb,eAAQ,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAE;KACvC;;;AAGD,gBAAY,EAAE,wBAAW;AACrB,YAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AACZ,YAAI,EAAE,EAAE,EAAE,CAAC;AACX,YAAI,SAAS,CAAC,OAAO,KAAK,6BAA6B,EAAE;AACrD,cAAE,GAAG,SAAS,CAAC,SAAS,CAAC;AACzB,cAAE,GAAI,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAAC;AAChD,gBAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE;AACtB,kBAAE,GAAG,UAAU,CAAE,MAAM,CAAC,EAAE,CAAE,CAAC;aAChC;SACJ,MAAM,IAAI,SAAS,CAAC,OAAO,KAAK,UAAU,EAAE;AACzC,cAAE,GAAG,SAAS,CAAC,SAAS,CAAC;AACzB,cAAE,GAAI,IAAI,MAAM,CAAC,sCAAsC,CAAC,CAAC;AACzD,gBAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE;AACtB,kBAAE,GAAG,UAAU,CAAE,MAAM,CAAC,EAAE,CAAE,CAAC;aAChC;SACJ;AACD,eAAO,EAAE,CAAC;KACb;CACJ;;;;AAAC,AAIF,OAAO,CAAC,OAAO,GAAG;;AAEd,YAAQ,EAAE,EAAG,OAAO,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA,AAAC;CAC7D,CAAC;;AAEF,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;;;;;;;;;;;;;;;;;;;AC7CzB,kBAAK,CAAC,GAAG,YAAW;AAChB,QAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACjD,QAAI,AAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAM,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,AAAC,EAAE;AACzD,0BAAK,CAAC,CAAC,KAAK,oBAAO,IAAI,CAAC,CAAC;AACzB,eAAO;KACV;;AAED,QAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,QAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5B,QAAI,GAAG,GAAG,mBAAK,KAAK,CAAC,CAAC;AACtB,QAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;;AAEhB,WAAO,CAAC,YAAY,GAAG,KAAK,CAAC;;AAE7B,WAAO,kBAAK,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;;;;;;;;;;ACfF,IAAI,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;;;;;AAAC,AAK5C,IAAI,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;;;AAAC,AAGnC,IAAI,KAAK,GAAG,CAAC;IACT,KAAK,GAAG,CAAC;IACT,IAAI,GAAG,CAAC;IACR,IAAI,GAAG,CAAC;IACR,KAAK,GAAG,CAAC;IACT,IAAI,GAAG,CAAC;IACR,SAAS,GAAG,IAAI,CAAC;;AAErB,IAAI,aAAa,GAAG,SAAhB,aAAa,GAAc;AAC3B,QAAI,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACzE,QAAK,CAAE,CAAC,EAAE;AACN,eAAO,KAAK,CAAC;KAChB;AACD,WAAO,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,AAAC,CAAC;CACpE,CAAC;;AAEF,IAAI,YAAY,GAAG,SAAf,YAAY,GAAc;AAC1B,QAAI,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAClD,QAAK,CAAE,CAAC,EAAE;AACN,eAAO,KAAK,CAAC;KAChB;AACD,WAAO,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CACnC,CAAC;;AAEF,IAAI,cAAc,GAAG,SAAjB,cAAc,GAAc;AAC5B,WAAO,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;CAC7D,CAAC;;AAEF,IAAI,cAAc,GAAG,SAAjB,cAAc,CAAY,CAAC,EAAE;AAC7B,QAAI,OAAO,CAAC,KAAK,WAAW,EAAE;AAC1B,SAAC,GAAG,IAAI,IAAI,EAAE,CAAC;KAClB;;AAED,aAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE;AACzB,YAAI,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC;AACtB,eAAO,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE;AACxB,eAAG,GAAG,GAAG,GAAG,GAAG,CAAC;SACnB;AACD,eAAO,GAAG,CAAC;KACd;;AAED,aAAS,qBAAqB,CAAC,CAAC,EAAE;AAC9B,YAAI,SAAS,GAAG,CAAC,CAAC,iBAAiB,EAAE,CAAC;AACtC,YAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,YAAI,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,iBAAS,GAAG,CAAC,AAAC,SAAS,GAAG,CAAC,GAAI,GAAG,GAAG,GAAG,CAAA,GAAI,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;AAChE,eAAO,SAAS,CAAC;KACpB;;AAED,WAAQ,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,GAClF,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,GAClF,qBAAqB,CAAC,CAAC,CAAC,CAAE;CACrC,CAAC;;AAEF,IAAI,aAAa,GAAG,SAAhB,aAAa,CAAY,MAAM,EAAE;AACjC,UAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,MAAM,KAAK,WAAW,EAAE,qBAAqB,CAAC,CAAC;AAC5E,UAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,0BAA0B,CAAC,CAAC;AACvF,UAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,uBAAuB,CAAC,CAAC;;AAEjF,QAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;;AAE7B,QAAK,CAAE,OAAO,EAAE;AACZ,eAAO;KACV;;AAED,QAAI,IAAI,GAAG,EAAE,CAAC;AACd,QAAI,OAAO,CAAC,IAAI,EAAE,IACd,OAAO,CAAC,SAAS,EAAE,IAAI,CAAE,cAAc,EAAE,AAAC,IAC1C,OAAO,CAAC,OAAO,EAAE,IAAI,CAAE,YAAY,EAAE,AAAC,IACtC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAE,aAAa,EAAE,AAAC,EAAE;AAC1C,YAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;AACjC,YAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;KACjC,MAAM;AACH,YAAI,MAAM,GAAG;AACT,oBAAQ,EAAE,6FAA6F;AACvG,iBAAK,EAAE;AACH,mBAAG,EAAE,gHAAgH;AACrH,mBAAG,EAAE,6GAA6G;AAClH,mBAAG,EAAE,gHAAgH;AACrH,mBAAG,EAAE,gHAAgH;AACrH,mBAAG,EAAE,gHAAgH;aACxH;SACJ,CAAC;AACF,YAAI,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;AAClE,YAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC3B,YAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,YAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5C,YAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACjB;;AAED,QAAI,MAAM,CAAC,MAAM,EAAE;AACf,YAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KAC5B;AACD,QAAI,MAAM,CAAC,IAAI,EAAE;AACb,YAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACnC;AACD,QAAI,MAAM,CAAC,UAAU,EAAE;AACnB,YAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KACnC;;AAED,QAAI;;;;;AAKA,YAAI,AAAC,OAAO,CAAC,IAAI,EAAE,IAAK,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,AAAC,IAC/C,OAAO,CAAC,SAAS,EAAE,IAAI,CAAE,cAAc,EAAE,AAAC,EAAE;AAC7C,gBAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7B,mBAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACrB,mBAAO;SACV;;AAED,YAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE;AAC3F,mBAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACpC;KACJ,CACD,OAAO,CAAC,EAAE;AACN,eAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACpB;CACJ,CAAC;;AAEF,IAAI,GAAG,GAAG,SAAN,GAAG,GAAc;AACjB,QAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAI,CAAC,OAAO,GAAG,aAAa,CAAC;;AAE7B,WAAO,IAAI,CAAC;CACf,CAAC;;AAEF,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,UAAS,KAAK,EAAE,IAAI,EAAE;AACvC,QAAI,UAAU,GAAG,eAAe,CAAC;;;AAG7B,aAAK,EAAE,KAAK;KACf,CAAC,CAAC;AACH,QAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACnB,QAAI,CAAC,OAAO,CAAC;AACT,gBAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;AAC3B,aAAK,EAAE,KAAK;AACZ,cAAM,EAAE,IAAI,CAAC,SAAS,EAAE;AACxB,YAAI,EAAE,IAAI;AACV,kBAAU,EAAE,UAAU;KACzB,CAAC,CAAC;CACN,CAAC;;AAEF,GAAG,CAAC,SAAS,CAAC,SAAS,GAAG,UAAS,MAAM,EAAE;AACvC,QAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AAC/B,YAAI,CAAC,OAAO,GAAG,MAAM,CAAC;KACzB,MAAM;AACH,YAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACxB;CACJ,CAAC;;AAEF,GAAG,CAAC,SAAS,CAAC,SAAS,GAAG,YAAW;AACjC,WAAO,AAAC,IAAI,CAAC,OAAO,KAAK,KAAK,GAAI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;CACvD,CAAC;;AAEF,GAAG,CAAC,SAAS,CAAC,SAAS,GAAG,UAAS,MAAM,EAAE;AACvC,QAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;AAC/D,YAAI,CAAC,OAAO,GAAG,MAAM,CAAC;KACzB,MAAM,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACpE,YAAI,WAAW,GAAG;AACd,qBAAS,EAAE,aAAa;SAC3B,CAAC;AACF,YAAI,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;;AAEnC,YAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;AACrC,gBAAI,CAAC,OAAO,GAAG,SAAS,UAAU,CAAC,MAAM,EAAE,EAAG;AAAC,SAClD;KACJ;CACJ,CAAC;;AAEF,GAAG,CAAC,SAAS,CAAC,SAAS,GAAG,YAAW;AACjC,WAAO,IAAI,CAAC,OAAO,CAAC;CACvB,CAAC;;AAEF,GAAG,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAS,KAAK,EAAE;AACrC,QAAI,OAAO,KAAK,KAAK,WAAW,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3D,YAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACvB,MAAM,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAClE,YAAI,UAAU,GAAG;AACb,mBAAO,EAAE,KAAK;AACd,mBAAO,EAAE,KAAK;AACd,kBAAM,EAAE,IAAI;AACZ,kBAAM,EAAE,IAAI;AACZ,mBAAO,EAAE,KAAK;SACjB,CAAC;AACF,YAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAChC,YAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;AACpC,gBAAI,CAAC,MAAM,GAAG,IAAI;AAAC,SACtB;KACJ;CACJ,CAAC;;AAEF,GAAG,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAW;AAChC,WAAO,IAAI,CAAC,MAAM,CAAC;CACtB,CAAC;;AAEF,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,YAAW;AAC3B,QAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;CACxD,CAAC;;AAEF,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,YAAW;AAC7B,QAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AACxB,QAAI,KAAK,IAAI,KAAK,EAAE;AAChB,YAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACzD;CACJ,CAAC;;AAEF,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,YAAW;AAC7B,QAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;AACtB,YAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACzD;CACJ,CAAC;;AAEF,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,YAAW;AAC5B,QAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;AACrB,YAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACzD;CACJ,CAAC;;AAEF,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,YAAW;AAC5B,QAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;AACrB,YAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACzD;CACJ,CAAC;;AAEF,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,YAAW;AAC7B,QAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;AACtB,YAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACzD;CACJ,CAAC;;AAEF,IAAI,IAAG,GAAG,IAAI,GAAG,EAAE,CAAC;;AAEpB,MAAM,CAAC,OAAO,GAAG;AACb,YAAQ,EAAE,oBAAW;AACjB,YAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KAClE;AACD,YAAQ,EAAE,oBAAW;AACjB,eAAO,IAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACzE;AACD,aAAS,EAAE,qBAAW;AAClB,YAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACnE;AACD,aAAS,EAAE,qBAAW;AAClB,eAAO,IAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KAC1E;AACD,aAAS,EAAE,qBAAW;AAClB,YAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACnE;AACD,aAAS,EAAE,qBAAW;AAClB,eAAO,IAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KAC1E;AACD,OAAG,EAAE,eAAW;AACZ,eAAO,IAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACpE;AACD,SAAK,EAAE,iBAAW;AACd,eAAO,IAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACtE;AACD,SAAK,EAAE,iBAAW;AACd,eAAO,IAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACtE;AACD,QAAI,EAAE,gBAAW;AACb,eAAO,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACrE;AACD,QAAI,EAAE,gBAAW;AACb,eAAO,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACrE;AACD,SAAK,EAAE,iBAAW;AACd,eAAO,IAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAG,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KACtE;CACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;ACvRF,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,IAAI,SAAS,GAAG;AACZ,WAAO,EAAE,EAAE;CACd,CAAC;;AAEF,mBAAO,SAAS,CAAC,MAAM,EAAE,UAAC,GAAG,EAAE,KAAK,EAAK;AACrC,QAAI,GAAG,KAAK,IAAI,IAAI,CAAC;CACxB,CAAC,CAAC;;AAEH,IAAI,EAAE,GAAG,SAAL,EAAE,CAAI,GAAG,EAAE,QAAQ,EAAK;AACxB,QAAI,CAAE,iBAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,AAAC,EAAE;AACvC,eAAO;KACV;;AAED,QAAI,CAAE,iBAAE,UAAU,CAAC,QAAQ,CAAC,AAAC,EAAE;AAC3B,eAAO;KACV;;AAED,QAAI,GAAG,KAAK,MAAM,EAAE;AAChB,yBAAO,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;KAC1C,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE;AACxB,YAAI,KAAK,GAAG,mBAAO,SAAS,CAAC,kBAAkB,EAAE,UAAC,GAAG,EAAE,IAAI,EAAK;AAC5D,oBAAQ,CAAC,IAAI,CAAC,CAAC;SAClB,CAAC,CAAC;AACH,iBAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AACpB,iBAAK,EAAE,KAAK;AACZ,oBAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;KACN;CACJ,CAAC;;AAEF,IAAI,GAAG,GAAG,SAAN,GAAG,CAAI,GAAG,EAAE,QAAQ,EAAK;AACzB,QAAI,CAAE,iBAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,AAAC,EAAE;AACvC,eAAO;KACV;;AAED,QAAI,GAAG,KAAK,MAAM,EAAE;AAChB,yBAAO,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;KAC3C,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE;AACxB,iBAAS,CAAC,OAAO,CAAC,GAAG,iBAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,UAAC,CAAC,EAAK;AACrD,gBAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACzB,mCAAO,WAAW,CAAC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aACnD;AACD,mBAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;SAClC,CAAC,CAAC;KACN;CACJ,CAAC;;AAEF,IAAI,KAAK,GAAG,SAAR,KAAK,CAAI,MAAM,EAAK;AACpB,QAAI,CAAC,IAAI,EAAE;AACP,eAAO;KACV;;AAED,uBAAO,WAAW,CAAC,KAAK,qBAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;;AAE/D,qBAAO,IAAI,CAAC,KAAK,mBAAS,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;CACjE,CAAC;;AAEF,IAAI,OAAO,GAAG,SAAV,OAAO,CAAI,MAAM,EAAK;AACtB,QAAI,CAAC,IAAI,EAAE;AACP,eAAO;KACV;;AAED,UAAM,GAAG,CAAC,EAAE,GAAG,MAAM,CAAA,CAAE,IAAI,EAAE,GAAG,IAAI,CAAC;;AAErC,uBAAO,WAAW,CAAC,KAAK,qBAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;;AAE/D,qBAAO,IAAI,CAAC,KAAK,mBAAS,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;CACjE,CAAC;;kBAEa;AACX,MAAE,EAAF,EAAE;AACF,OAAG,EAAH,GAAG;AACH,SAAK,EAAL,KAAK;AACL,WAAO,EAAP,OAAO;CACV;;;;;;;;;;;;;;;AC7ED,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;;AAEjC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,YAAM;AACvB,kBAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;CACrC,CAAC,CAAC;AACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,YAAM;AACrB,kBAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC9B,UAAM,CAAC,OAAO,EAAE,CAAC;CACpB,CAAC,CAAC;AACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,YAAM;AACrB,kBAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;CAClC,CAAC,CAAC;;kBAEY,MAAM;;;;;;;;ACZrB,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;AAAC,AAW7B,AAAE,CAAA,YAAY;;AAEb,UAAS,eAAe,CAAG,MAAM,EAAG;;AAEnC,MAAI,CAAC,MAAM,GAAG,MAAM;;;;AAAC,AAIrB,MAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;;;AAAC,AAGlC,MAAI,CAAC,WAAW,GAAG,CAAC,CAAC;AACrB,MAAI,CAAC,WAAW,GAAG,QAAQ;;;AAAC,AAG5B,MAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AACjB,MAAI,CAAC,OAAO,GAAG,QAAQ;;;;AAAC,AAIxB,MAAI,CAAC,aAAa,GAAG,CAAC;AAAC,AACvB,MAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE;;;;AAAC,AAI7B,MAAI,CAAC,eAAe,GAAG,CAAE,QAAQ;AAAC,AAClC,MAAI,CAAC,eAAe,GAAG,QAAQ;;;;AAAC,AAIhC,MAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,MAAI,CAAC,aAAa,GAAG,IAAI;;;;;AAAC,AAK1B,MAAI,KAAK,GAAG,IAAI,CAAC;;AAEjB,MAAI,GAAG,GAAG,QAAQ;;;AAAC,AAGnB,MAAI,KAAK,CAAC;AACV,MAAI,GAAG;;;AAAC,AAGR,MAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,MAAI,UAAU,GAAG,CAAC,CAAC;AACnB,MAAI,KAAK,GAAG,CAAC,CAAC;AACd,MAAI,SAAS,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AACpC,MAAI,WAAW,GAAG,KAAK;;;;AAAC,AAIxB,MAAI,CAAC,aAAa,GAAG,YAAY;;AAEhC,UAAO,GAAG,CAAC;GAEX,CAAC;;AAEF,MAAI,CAAC,iBAAiB,GAAG,YAAY;;AAEpC,UAAO,KAAK,CAAC;GAEb,CAAC;;AAEF,MAAI,CAAC,UAAU,GAAG,UAAW,KAAK,EAAG;;AAEpC,aAAU,IAAI,KAAK,CAAC;GAEpB,CAAC;;AAEF,MAAI,CAAC,QAAQ,GAAG,UAAW,KAAK,EAAG;;AAElC,WAAQ,IAAI,KAAK,CAAC;GAElB;;;AAAC,AAGF,MAAI,CAAC,OAAO,GAAG,CAAA,YAAW;;AAEzB,OAAI,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;;AAE5B,UAAO,SAAS,OAAO,CAAG,QAAQ,EAAG;;AAEpC,QAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;;;AAAC,AAGrC,KAAC,CAAC,GAAG,CAAE,EAAE,CAAE,CAAC,CAAE,EAAE,EAAE,CAAE,CAAC,CAAE,EAAE,EAAE,CAAE,CAAC,CAAE,CAAE,CAAC;AACnC,KAAC,CAAC,cAAc,CAAE,CAAE,QAAQ,CAAE,CAAC;;AAE/B,aAAS,CAAC,GAAG,CAAE,CAAC,CAAE,CAAC;IAEnB,CAAC;GAEF,CAAA,EAAE;;;AAAC,AAGJ,MAAI,CAAC,KAAK,GAAG,CAAA,YAAW;;AAEvB,OAAI,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;;AAE5B,UAAO,SAAS,KAAK,CAAG,QAAQ,EAAG;;AAElC,QAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ;;;AAAC,AAGrC,KAAC,CAAC,GAAG,CAAE,EAAE,CAAE,CAAC,CAAE,EAAE,EAAE,CAAE,CAAC,CAAE,EAAE,EAAE,CAAE,CAAC,CAAE,CAAE,CAAC;AACnC,KAAC,CAAC,cAAc,CAAE,QAAQ,CAAE,CAAC;;AAE7B,aAAS,CAAC,GAAG,CAAE,CAAC,CAAE,CAAC;IAEnB,CAAC;GAEF,CAAA,EAAE;;;;AAAC,AAIJ,MAAI,CAAC,GAAG,GAAG,UAAW,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAG;;AAEjE,OAAK,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,iBAAiB,EAAG;;;AAGtD,QAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;AACrC,QAAI,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,CAAE,KAAK,CAAC,MAAM,CAAE,CAAC;AAClD,QAAI,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE;;;AAAC,AAGrC,kBAAc,IAAI,IAAI,CAAC,GAAG,CAAE,AAAE,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAK,IAAI,CAAC,EAAE,GAAG,KAAK,CAAE;;;AAAC,AAGzE,SAAK,CAAC,OAAO,CAAE,CAAC,GAAG,MAAM,GAAG,cAAc,GAAG,YAAY,CAAE,CAAC;AAC5D,SAAK,CAAC,KAAK,CAAE,CAAC,GAAG,MAAM,GAAG,cAAc,GAAG,YAAY,CAAE,CAAC;IAE1D,MAAM,IAAK,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,kBAAkB,EAAG;;;AAG9D,SAAK,CAAC,OAAO,CAAE,MAAM,IAAK,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAA,AAAE,GAAG,WAAW,CAAE,CAAC;AACnF,SAAK,CAAC,KAAK,CAAE,MAAM,IAAK,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA,AAAE,GAAG,YAAY,CAAE,CAAC;IAElF,MAAM;;;AAGN,WAAO,CAAC,IAAI,CAAE,8EAA8E,CAAE,CAAC;IAE/F;GAED,CAAC;;AAEF,MAAI,CAAC,OAAO,GAAG,UAAW,UAAU,EAAG;;AAEtC,OAAK,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,iBAAiB,EAAG;;AAEtD,SAAK,IAAI,UAAU,CAAC;IAEpB,MAAM,IAAK,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,kBAAkB,EAAG;;AAE9D,SAAK,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAE,CAAE,CAAC;AACtG,SAAK,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;AACtC,eAAW,GAAG,IAAI,CAAC;IAEnB,MAAM;;AAEN,WAAO,CAAC,IAAI,CAAE,qFAAqF,CAAE,CAAC;IAEtG;GAED,CAAC;;AAEF,MAAI,CAAC,QAAQ,GAAG,UAAW,UAAU,EAAG;;AAEvC,OAAK,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,iBAAiB,EAAG;;AAEtD,SAAK,IAAI,UAAU,CAAC;IAEpB,MAAM,IAAK,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,kBAAkB,EAAG;;AAE9D,SAAK,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAE,CAAE,CAAC;AACtG,SAAK,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;AACtC,eAAW,GAAG,IAAI,CAAC;IAEnB,MAAM;;AAEN,WAAO,CAAC,IAAI,CAAE,qFAAqF,CAAE,CAAC;IAEtG;GAED,CAAC;;AAEF,MAAI,CAAC,MAAM,GAAG,CAAA,YAAW;;AAExB,OAAI,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;;;AAAC,AAGjC,OAAI,IAAI,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC,kBAAkB,CAAE,MAAM,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,OAAO,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAAE,CAAC;AAChG,OAAI,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;;AAEzC,OAAI,YAAY,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AACvC,OAAI,cAAc,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;;AAE5C,UAAO,YAAY;;AAElB,QAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;;AAEpC,UAAM,CAAC,IAAI,CAAE,QAAQ,CAAE,CAAC,GAAG,CAAE,IAAI,CAAC,MAAM,CAAE;;;AAAC,AAG3C,UAAM,CAAC,eAAe,CAAE,IAAI,CAAE;;;;AAAC,AAI/B,SAAK,GAAG,IAAI,CAAC,KAAK,CAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAE;;;;AAAC,AAIzC,OAAG,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,IAAI,CAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC;;AAErF,SAAK,IAAI,UAAU,CAAC;AACpB,OAAG,IAAI,QAAQ;;;AAAC,AAGhB,SAAK,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAE,CAAE;;;AAAC,AAGlF,OAAG,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,aAAa,EAAE,GAAG,CAAE,CAAE;;;AAAC,AAG1E,OAAG,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,CAAE,CAAE,CAAC;;AAEtD,QAAI,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,KAAK;;;AAAC,AAGrC,UAAM,GAAG,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAE,CAAE;;;AAAC,AAG5E,QAAI,CAAC,MAAM,CAAC,GAAG,CAAE,SAAS,CAAE,CAAC;;AAE7B,UAAM,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,CAAE,GAAG,IAAI,CAAC,GAAG,CAAE,KAAK,CAAE,CAAC;AACxD,UAAM,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,CAAE,CAAC;AACpC,UAAM,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,CAAE,GAAG,IAAI,CAAC,GAAG,CAAE,KAAK,CAAE;;;AAAC,AAGxD,UAAM,CAAC,eAAe,CAAE,WAAW,CAAE,CAAC;;AAEtC,YAAQ,CAAC,IAAI,CAAE,IAAI,CAAC,MAAM,CAAE,CAAC,GAAG,CAAE,MAAM,CAAE,CAAC;;AAE3C,QAAI,CAAC,MAAM,CAAC,MAAM,CAAE,IAAI,CAAC,MAAM,CAAE,CAAC;;AAElC,QAAK,IAAI,CAAC,aAAa,KAAK,IAAI,EAAG;;AAElC,eAAU,IAAM,CAAC,GAAG,IAAI,CAAC,aAAa,AAAE,CAAC;AACzC,aAAQ,IAAM,CAAC,GAAG,IAAI,CAAC,aAAa,AAAE,CAAC;KAEvC,MAAM;;AAEN,eAAU,GAAG,CAAC,CAAC;AACf,aAAQ,GAAG,CAAC,CAAC;KAEb;;AAED,SAAK,GAAG,CAAC,CAAC;AACV,aAAS,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE;;;;;;AAAC,AAMzB,QAAK,WAAW,IACd,YAAY,CAAC,iBAAiB,CAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAE,GAAG,GAAG,IAC1D,CAAC,IAAK,CAAC,GAAG,cAAc,CAAC,GAAG,CAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAE,CAAA,AAAE,GAAG,GAAG,EAAG;;AAEpE,iBAAY,CAAC,IAAI,CAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC;AAC1C,mBAAc,CAAC,IAAI,CAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAE,CAAC;AAC9C,gBAAW,GAAG,KAAK,CAAC;;AAEpB,YAAO,IAAI,CAAC;KAEZ;;AAED,WAAO,KAAK,CAAC;IAEb,CAAC;GAEF,CAAA,EAAE,CAAC;EAEJ;;;;;;;;;;AAAC,AAWF,MAAK,CAAC,aAAa,GAAG,UAAW,MAAM,EAAE,UAAU,EAAG;;AAErD,MAAI,UAAU,GAAG,IAAI,eAAe,CAAE,MAAM,CAAE,CAAC;;AAE/C,MAAI,CAAC,UAAU,GAAG,AAAE,UAAU,KAAK,SAAS,GAAK,UAAU,GAAG,QAAQ;;;;AAAC,AAIvE,QAAM,CAAC,cAAc,CAAE,IAAI,EAAE,YAAY,EAAE;;AAE1C,MAAG,EAAE,eAAW;;AAEf,WAAO,UAAU,CAAC;IAElB;;GAED,CAAE,CAAC;;AAEJ,MAAI,CAAC,aAAa,GAAG,YAAY;;AAEhC,UAAO,UAAU,CAAC,aAAa,EAAE,CAAC;GAElC,CAAC;;AAEF,MAAI,CAAC,iBAAiB,GAAG,YAAY;;AAEpC,UAAO,UAAU,CAAC,iBAAiB,EAAE,CAAC;GAEtC;;;AAAC,AAGF,MAAI,CAAC,OAAO,GAAG,IAAI;;;AAAC,AAGpB,MAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;;;;;AAAC,AAK1B,MAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,MAAI,CAAC,SAAS,GAAG,GAAG;;;AAAC,AAGrB,MAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,MAAI,CAAC,WAAW,GAAG,GAAG;;;AAAC,AAGvB,MAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,MAAI,CAAC,WAAW,GAAG,GAAG;;;;AAAC,AAIvB,MAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,MAAI,CAAC,eAAe,GAAG,GAAG;;;AAAC,AAG3B,MAAI,CAAC,UAAU,GAAG,IAAI;;;AAAC,AAGvB,MAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;;;AAAC,AAGxD,MAAI,CAAC,YAAY,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;;;;;AAAC,AAKlG,MAAI,KAAK,GAAG,IAAI,CAAC;;AAEjB,MAAI,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AACtC,MAAI,SAAS,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AACpC,MAAI,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;;AAEtC,MAAI,QAAQ,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AACnC,MAAI,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AACjC,MAAI,QAAQ,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;;AAEnC,MAAI,UAAU,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AACrC,MAAI,QAAQ,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AACnC,MAAI,UAAU,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;;AAErC,MAAI,KAAK,GAAG,EAAE,IAAI,EAAG,CAAE,CAAC,EAAE,MAAM,EAAG,CAAC,EAAE,KAAK,EAAG,CAAC,EAAE,GAAG,EAAG,CAAC,EAAE,YAAY,EAAG,CAAC,EAAE,WAAW,EAAG,CAAC,EAAE,SAAS,EAAG,CAAC,EAAE,CAAC;;AAE7G,MAAI,KAAK,GAAG,KAAK,CAAC,IAAI;;;;AAAC,AAIvB,MAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AACnC,MAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AAC9C,MAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI;;;;AAAC,AAI9B,MAAI,WAAW,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACrC,MAAI,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACnC,MAAI,QAAQ,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;;;;AAAC,AAI/B,WAAS,GAAG,CAAE,MAAM,EAAE,MAAM,EAAG;;AAE9B,OAAI,OAAO,GAAG,KAAK,CAAC,UAAU,KAAK,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;;AAEvF,aAAU,CAAC,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAE,CAAC;GAE5E;;AAED,MAAI,CAAC,MAAM,GAAG,YAAY;;AAEzB,OAAK,IAAI,CAAC,UAAU,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAG;;AAE9C,cAAU,CAAC,UAAU,CAAE,oBAAoB,EAAE,CAAE,CAAC;IAEhD;;AAED,OAAK,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,EAAG;;AAEnC,QAAI,CAAC,aAAa,CAAE,WAAW,CAAE,CAAC;IAElC;GAED,CAAC;;AAEF,MAAI,CAAC,KAAK,GAAG,YAAY;;AAExB,QAAK,GAAG,KAAK,CAAC,IAAI,CAAC;;AAEnB,OAAI,CAAC,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,OAAO,CAAE,CAAC;AACjC,OAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAE,IAAI,CAAC,SAAS,CAAE,CAAC;AAC5C,OAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;;AAE9B,OAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;AACrC,OAAI,CAAC,aAAa,CAAE,WAAW,CAAE,CAAC;;AAElC,OAAI,CAAC,MAAM,EAAE,CAAC;GAEd,CAAC;;AAEF,WAAS,oBAAoB,GAAG;;AAE/B,UAAO,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC;GAErD;;AAED,WAAS,YAAY,GAAG;;AAEvB,UAAO,IAAI,CAAC,GAAG,CAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAE,CAAC;GAEzC;;AAED,WAAS,WAAW,CAAE,KAAK,EAAG;;AAE7B,OAAK,KAAK,CAAC,OAAO,KAAK,KAAK,EAAG,OAAO;;AAEtC,QAAK,CAAC,cAAc,EAAE,CAAC;;AAEvB,OAAK,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC,KAAK,EAAG;;AAEhD,QAAK,KAAK,CAAC,YAAY,KAAK,KAAK,EAAG,OAAO;;AAE3C,SAAK,GAAG,KAAK,CAAC,MAAM,CAAC;;AAErB,eAAW,CAAC,GAAG,CAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAE,CAAC;IAEhD,MAAM,IAAK,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC,IAAI,EAAG;;AAEtD,QAAK,KAAK,CAAC,UAAU,KAAK,KAAK,EAAG,OAAO;;AAEzC,SAAK,GAAG,KAAK,CAAC,KAAK,CAAC;;AAEpB,cAAU,CAAC,GAAG,CAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAE,CAAC;IAE/C,MAAM,IAAK,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC,GAAG,EAAG;;AAErD,QAAK,KAAK,CAAC,SAAS,KAAK,KAAK,EAAG,OAAO;;AAExC,SAAK,GAAG,KAAK,CAAC,GAAG,CAAC;;AAElB,YAAQ,CAAC,GAAG,CAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAE,CAAC;IAE7C;;AAED,OAAK,KAAK,KAAK,KAAK,CAAC,IAAI,EAAG;;AAE3B,YAAQ,CAAC,gBAAgB,CAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAE,CAAC;AAC7D,YAAQ,CAAC,gBAAgB,CAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAE,CAAC;AACzD,SAAK,CAAC,aAAa,CAAE,UAAU,CAAE,CAAC;IAElC;GAED;;AAED,WAAS,WAAW,CAAE,KAAK,EAAG;;AAE7B,OAAK,KAAK,CAAC,OAAO,KAAK,KAAK,EAAG,OAAO;;AAEtC,QAAK,CAAC,cAAc,EAAE,CAAC;;AAEvB,OAAI,OAAO,GAAG,KAAK,CAAC,UAAU,KAAK,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;;AAEvF,OAAK,KAAK,KAAK,KAAK,CAAC,MAAM,EAAG;;AAE7B,QAAK,KAAK,CAAC,YAAY,KAAK,KAAK,EAAG,OAAO;;AAE3C,aAAS,CAAC,GAAG,CAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAE,CAAC;AAC9C,eAAW,CAAC,UAAU,CAAE,SAAS,EAAE,WAAW,CAAE;;;AAAC,AAGjD,cAAU,CAAC,UAAU,CAAE,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAE;;;AAAC,AAG/F,cAAU,CAAC,QAAQ,CAAE,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAE,CAAC;;AAE9F,eAAW,CAAC,IAAI,CAAE,SAAS,CAAE,CAAC;IAE9B,MAAM,IAAK,KAAK,KAAK,KAAK,CAAC,KAAK,EAAG;;AAEnC,QAAK,KAAK,CAAC,UAAU,KAAK,KAAK,EAAG,OAAO;;AAEzC,YAAQ,CAAC,GAAG,CAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAE,CAAC;AAC7C,cAAU,CAAC,UAAU,CAAE,QAAQ,EAAE,UAAU,CAAE,CAAC;;AAE9C,QAAK,UAAU,CAAC,CAAC,GAAG,CAAC,EAAG;;AAEvB,eAAU,CAAC,OAAO,CAAE,YAAY,EAAE,CAAE,CAAC;KAErC,MAAM,IAAK,UAAU,CAAC,CAAC,GAAG,CAAC,EAAG;;AAE9B,eAAU,CAAC,QAAQ,CAAE,YAAY,EAAE,CAAE,CAAC;KAEtC;;AAED,cAAU,CAAC,IAAI,CAAE,QAAQ,CAAE,CAAC;IAE5B,MAAM,IAAK,KAAK,KAAK,KAAK,CAAC,GAAG,EAAG;;AAEjC,QAAK,KAAK,CAAC,SAAS,KAAK,KAAK,EAAG,OAAO;;AAExC,UAAM,CAAC,GAAG,CAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAE,CAAC;AAC3C,YAAQ,CAAC,UAAU,CAAE,MAAM,EAAE,QAAQ,CAAE,CAAC;;AAExC,OAAG,CAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC;;AAE9B,YAAQ,CAAC,IAAI,CAAE,MAAM,CAAE,CAAC;IAExB;;AAED,OAAK,KAAK,KAAK,KAAK,CAAC,IAAI,EAAG,KAAK,CAAC,MAAM,EAAE,CAAC;GAE3C;;AAED,WAAS,SAAS,cAAgB;;AAEjC,OAAK,KAAK,CAAC,OAAO,KAAK,KAAK,EAAG,OAAO;;AAEtC,WAAQ,CAAC,mBAAmB,CAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAE,CAAC;AAChE,WAAQ,CAAC,mBAAmB,CAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAE,CAAC;AAC5D,QAAK,CAAC,aAAa,CAAE,QAAQ,CAAE,CAAC;AAChC,QAAK,GAAG,KAAK,CAAC,IAAI,CAAC;GAEnB;;AAED,WAAS,YAAY,CAAE,KAAK,EAAG;;AAE9B,OAAK,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAG,OAAO;;AAE5F,QAAK,CAAC,cAAc,EAAE,CAAC;AACvB,QAAK,CAAC,eAAe,EAAE,CAAC;;AAExB,OAAI,KAAK,GAAG,CAAC,CAAC;;AAEd,OAAK,KAAK,CAAC,UAAU,KAAK,SAAS,EAAG;;;;AAIrC,SAAK,GAAG,KAAK,CAAC,UAAU,CAAC;IAEzB,MAAM,IAAK,KAAK,CAAC,MAAM,KAAK,SAAS,EAAG;;;;AAIxC,SAAK,GAAG,CAAE,KAAK,CAAC,MAAM,CAAC;IAEvB;;AAED,OAAK,KAAK,GAAG,CAAC,EAAG;;AAEhB,cAAU,CAAC,QAAQ,CAAE,YAAY,EAAE,CAAE,CAAC;IAEtC,MAAM,IAAK,KAAK,GAAG,CAAC,EAAG;;AAEvB,cAAU,CAAC,OAAO,CAAE,YAAY,EAAE,CAAE,CAAC;IAErC;;AAED,QAAK,CAAC,MAAM,EAAE,CAAC;AACf,QAAK,CAAC,aAAa,CAAE,UAAU,CAAE,CAAC;AAClC,QAAK,CAAC,aAAa,CAAE,QAAQ,CAAE,CAAC;GAEhC;;AAED,WAAS,SAAS,CAAE,KAAK,EAAG;;AAE3B,OAAK,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAG,OAAO;;AAEjG,WAAS,KAAK,CAAC,OAAO;;AAErB,SAAK,KAAK,CAAC,IAAI,CAAC,EAAE;AACjB,QAAG,CAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAE,CAAC;AAC5B,UAAK,CAAC,MAAM,EAAE,CAAC;AACf,WAAM;;AAAA,AAEP,SAAK,KAAK,CAAC,IAAI,CAAC,MAAM;AACrB,QAAG,CAAE,CAAC,EAAE,CAAE,KAAK,CAAC,WAAW,CAAE,CAAC;AAC9B,UAAK,CAAC,MAAM,EAAE,CAAC;AACf,WAAM;;AAAA,AAEP,SAAK,KAAK,CAAC,IAAI,CAAC,IAAI;AACnB,QAAG,CAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAE,CAAC;AAC5B,UAAK,CAAC,MAAM,EAAE,CAAC;AACf,WAAM;;AAAA,AAEP,SAAK,KAAK,CAAC,IAAI,CAAC,KAAK;AACpB,QAAG,CAAE,CAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAE,CAAC;AAC9B,UAAK,CAAC,MAAM,EAAE,CAAC;AACf,WAAM;;AAAA,IAEP;GAED;;AAED,WAAS,UAAU,CAAE,KAAK,EAAG;;AAE5B,OAAK,KAAK,CAAC,OAAO,KAAK,KAAK,EAAG,OAAO;;AAEtC,WAAS,KAAK,CAAC,OAAO,CAAC,MAAM;;AAE5B,SAAK,CAAC;;;AAEL,SAAK,KAAK,CAAC,YAAY,KAAK,KAAK,EAAG,OAAO;;AAE3C,UAAK,GAAG,KAAK,CAAC,YAAY,CAAC;;AAE3B,gBAAW,CAAC,GAAG,CAAE,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,CAAE,CAAC;AACtE,WAAM;;AAAA,AAEP,SAAK,CAAC;;;AAEL,SAAK,KAAK,CAAC,UAAU,KAAK,KAAK,EAAG,OAAO;;AAEzC,UAAK,GAAG,KAAK,CAAC,WAAW,CAAC;;AAE1B,SAAI,EAAE,GAAG,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,CAAC;AAC7D,SAAI,EAAE,GAAG,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,CAAC;AAC7D,SAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAE,CAAC;AAC9C,eAAU,CAAC,GAAG,CAAE,CAAC,EAAE,QAAQ,CAAE,CAAC;AAC9B,WAAM;;AAAA,AAEP,SAAK,CAAC;;;AAEL,SAAK,KAAK,CAAC,SAAS,KAAK,KAAK,EAAG,OAAO;;AAExC,UAAK,GAAG,KAAK,CAAC,SAAS,CAAC;;AAExB,aAAQ,CAAC,GAAG,CAAE,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,CAAE,CAAC;AACnE,WAAM;;AAAA,AAEP;;AAEC,UAAK,GAAG,KAAK,CAAC,IAAI,CAAC;;AAAA,IAEpB;;AAED,OAAK,KAAK,KAAK,KAAK,CAAC,IAAI,EAAG,KAAK,CAAC,aAAa,CAAE,UAAU,CAAE,CAAC;GAE9D;;AAED,WAAS,SAAS,CAAE,KAAK,EAAG;;AAE3B,OAAK,KAAK,CAAC,OAAO,KAAK,KAAK,EAAG,OAAO;;AAEtC,QAAK,CAAC,cAAc,EAAE,CAAC;AACvB,QAAK,CAAC,eAAe,EAAE,CAAC;;AAExB,OAAI,OAAO,GAAG,KAAK,CAAC,UAAU,KAAK,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;;AAEvF,WAAS,KAAK,CAAC,OAAO,CAAC,MAAM;;AAE5B,SAAK,CAAC;;;AAEL,SAAK,KAAK,CAAC,YAAY,KAAK,KAAK,EAAG,OAAO;AAC3C,SAAK,KAAK,KAAK,KAAK,CAAC,YAAY,EAAG,OAAO;;AAE3C,cAAS,CAAC,GAAG,CAAE,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,CAAE,CAAC;AACpE,gBAAW,CAAC,UAAU,CAAE,SAAS,EAAE,WAAW,CAAE;;;AAAC,AAGjD,eAAU,CAAC,UAAU,CAAE,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAE;;AAAC,AAE/F,eAAU,CAAC,QAAQ,CAAE,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAE,CAAC;;AAE9F,gBAAW,CAAC,IAAI,CAAE,SAAS,CAAE,CAAC;;AAE9B,UAAK,CAAC,MAAM,EAAE,CAAC;AACf,WAAM;;AAAA,AAEP,SAAK,CAAC;;;AAEL,SAAK,KAAK,CAAC,UAAU,KAAK,KAAK,EAAG,OAAO;AACzC,SAAK,KAAK,KAAK,KAAK,CAAC,WAAW,EAAG,OAAO;;AAE1C,SAAI,EAAE,GAAG,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,CAAC;AAC7D,SAAI,EAAE,GAAG,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,CAAC;AAC7D,SAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAE,CAAC;;AAE9C,aAAQ,CAAC,GAAG,CAAE,CAAC,EAAE,QAAQ,CAAE,CAAC;AAC5B,eAAU,CAAC,UAAU,CAAE,QAAQ,EAAE,UAAU,CAAE,CAAC;;AAE9C,SAAK,UAAU,CAAC,CAAC,GAAG,CAAC,EAAG;;AAEvB,gBAAU,CAAC,QAAQ,CAAE,YAAY,EAAE,CAAE,CAAC;MAEtC,MAAM,IAAK,UAAU,CAAC,CAAC,GAAG,CAAC,EAAG;;AAE9B,gBAAU,CAAC,OAAO,CAAE,YAAY,EAAE,CAAE,CAAC;MAErC;;AAED,eAAU,CAAC,IAAI,CAAE,QAAQ,CAAE,CAAC;;AAE5B,UAAK,CAAC,MAAM,EAAE,CAAC;AACf,WAAM;;AAAA,AAEP,SAAK,CAAC;;;AAEL,SAAK,KAAK,CAAC,SAAS,KAAK,KAAK,EAAG,OAAO;AACxC,SAAK,KAAK,KAAK,KAAK,CAAC,SAAS,EAAG,OAAO;;AAExC,WAAM,CAAC,GAAG,CAAE,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAE,CAAC,CAAE,CAAC,KAAK,CAAE,CAAC;AACjE,aAAQ,CAAC,UAAU,CAAE,MAAM,EAAE,QAAQ,CAAE,CAAC;;AAExC,QAAG,CAAE,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC;;AAE9B,aAAQ,CAAC,IAAI,CAAE,MAAM,CAAE,CAAC;;AAExB,UAAK,CAAC,MAAM,EAAE,CAAC;AACf,WAAM;;AAAA,AAEP;;AAEC,UAAK,GAAG,KAAK,CAAC,IAAI,CAAC;;AAAA,IAEpB;GAED;;AAED,WAAS,QAAQ,cAAgB;;AAEhC,OAAK,KAAK,CAAC,OAAO,KAAK,KAAK,EAAG,OAAO;;AAEtC,QAAK,CAAC,aAAa,CAAE,QAAQ,CAAE,CAAC;AAChC,QAAK,GAAG,KAAK,CAAC,IAAI,CAAC;GAEnB;;AAED,WAAS,WAAW,CAAE,KAAK,EAAG;;AAE7B,QAAK,CAAC,cAAc,EAAE,CAAC;GAEvB;;AAED,MAAI,CAAC,OAAO,GAAG,YAAW;;AAEzB,OAAI,CAAC,UAAU,CAAC,mBAAmB,CAAE,aAAa,EAAE,WAAW,EAAE,KAAK,CAAE,CAAC;AACzE,OAAI,CAAC,UAAU,CAAC,mBAAmB,CAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAE,CAAC;AACvE,OAAI,CAAC,UAAU,CAAC,mBAAmB,CAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAE,CAAC;AACzE,OAAI,CAAC,UAAU,CAAC,mBAAmB,CAAE,qBAAqB,EAAE,YAAY,EAAE,KAAK,CAAE;;AAAC,AAElF,OAAI,CAAC,UAAU,CAAC,mBAAmB,CAAE,YAAY,EAAE,UAAU,EAAE,KAAK,CAAE,CAAC;AACvE,OAAI,CAAC,UAAU,CAAC,mBAAmB,CAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAE,CAAC;AACnE,OAAI,CAAC,UAAU,CAAC,mBAAmB,CAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAE,CAAC;;AAErE,WAAQ,CAAC,mBAAmB,CAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAE,CAAC;AAChE,WAAQ,CAAC,mBAAmB,CAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAE,CAAC;;AAE5D,SAAM,CAAC,mBAAmB,CAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAE,CAAC;GAE1D,CAAA;;AAED,MAAI,CAAC,UAAU,CAAC,gBAAgB,CAAE,aAAa,EAAE,WAAW,EAAE,KAAK,CAAE,CAAC;;AAEtE,MAAI,CAAC,UAAU,CAAC,gBAAgB,CAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAE,CAAC;AACpE,MAAI,CAAC,UAAU,CAAC,gBAAgB,CAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAE,CAAC;AACtE,MAAI,CAAC,UAAU,CAAC,gBAAgB,CAAE,qBAAqB,EAAE,YAAY,EAAE,KAAK,CAAE;;AAAC,AAE/E,MAAI,CAAC,UAAU,CAAC,gBAAgB,CAAE,YAAY,EAAE,UAAU,EAAE,KAAK,CAAE,CAAC;AACpE,MAAI,CAAC,UAAU,CAAC,gBAAgB,CAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAE,CAAC;AAChE,MAAI,CAAC,UAAU,CAAC,gBAAgB,CAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAE,CAAC;;AAElE,QAAM,CAAC,gBAAgB,CAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAE;;;AAAC,AAGvD,MAAI,CAAC,MAAM,EAAE,CAAC;EAEd,CAAC;;AAEF,MAAK,CAAC,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAE,KAAK,CAAC,eAAe,CAAC,SAAS,CAAE,CAAC;AACjF,MAAK,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC;;AAEhE,OAAM,CAAC,gBAAgB,CAAE,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;;AAEvD,QAAM,EAAE;;AAEP,MAAG,EAAE,eAAY;;AAEhB,WAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAE9B;;GAED;;AAED,QAAM,EAAE;;AAEP,MAAG,EAAE,eAAY;;AAEhB,WAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAE9B;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,WAAO,CAAC,IAAI,CAAE,yEAAyE,CAAE,CAAC;AAC1F,QAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;IAErC;;GAED;;AAED,aAAW,EAAG;;AAEb,MAAG,EAAE,eAAY;;AAEhB,WAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IAEnC;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,QAAI,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;IAEpC;;GAED;;AAED,aAAW,EAAG;;AAEb,MAAG,EAAE,eAAY;;AAEhB,WAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IAEnC;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,QAAI,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;IAEpC;;GAED;;AAED,SAAO,EAAG;;AAET,MAAG,EAAE,eAAY;;AAEhB,WAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IAE/B;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,QAAI,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;IAEhC;;GAED;;AAED,SAAO,EAAG;;AAET,MAAG,EAAE,eAAY;;AAEhB,WAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IAE/B;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,QAAI,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;IAEhC;;GAED;;AAED,eAAa,EAAG;;AAEf,MAAG,EAAE,eAAY;;AAEhB,WAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IAErC;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,QAAI,CAAC,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC;IAEtC;;GAED;;AAED,eAAa,EAAG;;AAEf,MAAG,EAAE,eAAY;;AAEhB,WAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IAErC;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,QAAI,CAAC,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC;IAEtC;;GAED;;AAED,iBAAe,EAAG;;AAEjB,MAAG,EAAE,eAAY;;AAEhB,WAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;IAEvC;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,QAAI,CAAC,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC;IAExC;;GAED;;AAED,iBAAe,EAAG;;AAEjB,MAAG,EAAE,eAAY;;AAEhB,WAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;IAEvC;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,QAAI,CAAC,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC;IAExC;;GAED;;AAED,eAAa,EAAG;;AAEf,MAAG,EAAE,eAAY;;AAEhB,WAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IAErC;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,QAAI,CAAC,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC;IAEtC;;GAED;;AAED,eAAa,EAAG;;AAEf,MAAG,EAAE,eAAY;;AAEhB,WAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IAErC;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,QAAI,CAAC,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC;IAEtC;;GAED;;;;AAID,QAAM,EAAE;;AAEP,MAAG,EAAE,eAAY;;AAEhB,WAAO,CAAC,IAAI,CAAE,4EAA4E,CAAE,CAAC;AAC7F,WAAO,CAAE,IAAI,CAAC,UAAU,CAAC;IAEzB;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,WAAO,CAAC,IAAI,CAAE,4EAA4E,CAAE,CAAC;AAC7F,QAAI,CAAC,UAAU,GAAG,CAAE,KAAK,CAAC;IAE1B;;GAED;;AAED,UAAQ,EAAE;;AAET,MAAG,EAAE,eAAY;;AAEhB,WAAO,CAAC,IAAI,CAAE,gFAAgF,CAAE,CAAC;AACjG,WAAO,CAAE,IAAI,CAAC,YAAY,CAAC;IAE3B;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,WAAO,CAAC,IAAI,CAAE,gFAAgF,CAAE,CAAC;AACjG,QAAI,CAAC,YAAY,GAAG,CAAE,KAAK,CAAC;IAE5B;;GAED;;AAED,OAAK,EAAE;;AAEN,MAAG,EAAE,eAAY;;AAEhB,WAAO,CAAC,IAAI,CAAE,0EAA0E,CAAE,CAAC;AAC3F,WAAO,CAAE,IAAI,CAAC,SAAS,CAAC;IAExB;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,WAAO,CAAC,IAAI,CAAE,0EAA0E,CAAE,CAAC;AAC3F,QAAI,CAAC,SAAS,GAAG,CAAE,KAAK,CAAC;IAEzB;;GAED;;AAED,QAAM,EAAE;;AAEP,MAAG,EAAE,eAAY;;AAEhB,WAAO,CAAC,IAAI,CAAE,4EAA4E,CAAE,CAAC;AAC7F,WAAO,CAAE,IAAI,CAAC,UAAU,CAAC;IAEzB;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,WAAO,CAAC,IAAI,CAAE,4EAA4E,CAAE,CAAC;AAC7F,QAAI,CAAC,UAAU,GAAG,CAAE,KAAK,CAAC;IAE1B;;GAED;;AAED,cAAY,EAAG;;AAEd,MAAG,EAAE,eAAY;;AAEhB,WAAO,CAAC,IAAI,CAAE,qFAAqF,CAAE,CAAC;AACtG,WAAO,CAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IAEvC;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,WAAO,CAAC,IAAI,CAAE,qFAAqF,CAAE,CAAC;AACtG,QAAI,CAAC,UAAU,CAAC,aAAa,GAAG,CAAE,KAAK,CAAC;IAExC;;GAED;;AAED,sBAAoB,EAAG;;AAEtB,MAAG,EAAE,eAAY;;AAEhB,WAAO,CAAC,IAAI,CAAE,0FAA0F,CAAE,CAAC;AAC3G,WAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IAErC;;AAED,MAAG,EAAE,aAAW,KAAK,EAAG;;AAEvB,WAAO,CAAC,IAAI,CAAE,0FAA0F,CAAE,CAAC;AAC3G,QAAI,CAAC,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC;IAEtC;;GAED;;EAED,CAAE,CAAC;CAEJ,CAAA,EAAE,CAAG;;AAEN,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;AC/lCzC,IAAI,KAAK,YAAA,CAAC;;AAEV,IAAI;AACA,SAAK,GAAG,iBAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;CACzE,CACD,OAAM,GAAG,EAAE;AACP,SAAK,GAAG,EAAE,CAAC;CACd;;AAED,IAAM,QAAQ,GAAG,SAAX,QAAQ,CAAI,GAAG,EAAE,KAAK,EAAK;AAC7B,QAAI,MAAM,GAAG,iBAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACtC,gBAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,WAAO,MAAM,CAAC;CACjB,CAAC;;AAEF,IAAM,QAAQ,GAAG,SAAX,QAAQ,CAAI,GAAG,EAAE,YAAY,EAAK;AACpC,QAAI,KAAK,GAAG,iBAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC9B,WAAO,AAAC,OAAO,KAAK,KAAK,WAAW,GAAI,KAAK,GAAG,YAAY,CAAC;CAChE,CAAC;;AAEF,IAAM,UAAU,GAAG,SAAb,UAAU,GAAS;AACrB,gBAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;CACrD,CAAC;;kBAEa;AACX,YAAQ,EAAE,QAAQ;AAClB,YAAQ,EAAE,QAAQ;AAClB,cAAU,EAAE,UAAU;CACzB;;;AC9BD;;ACAA", "file": "generated.js", "sourceRoot": "", "sourcesContent": [ @@ -99,8 +98,6 @@ "'use strict';\n// For more information about browser field, check out the browser field at https://github.com/substack/browserify-handbook#browser-field.\n\nmodule.exports = {\n // Create a tag with optional data attributes\n createLink: function(href, attributes) {\n var head = document.head || document.getElementsByTagName('head')[0];\n var link = document.createElement('link');\n\n link.href = href;\n link.rel = 'stylesheet';\n\n for (var key in attributes) {\n if ( ! attributes.hasOwnProperty(key)) {\n continue;\n }\n var value = attributes[key];\n link.setAttribute('data-' + key, value);\n }\n\n head.appendChild(link);\n },\n // Create a