/* jQuery v1.6.4 http://jquery.com/ | http://jquery.org/license */
(function(a,b){function cu(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cr(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement){ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close()}d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cq(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cp(){cn=b}function co(){setTimeout(cp,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1){for(h in a.converters){typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h])}}l=k,k=d[g];if(k==="*"){k=l}else{if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g){i in d&&(c[g[i]]=d[i])}while(f[0]==="*"){f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"))}if(h){for(i in e){if(e[i]&&e[i].test(h)){f.unshift(i);break}}}if(f[0] in d){j=f[0]}else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b)){f.each(b,function(b,e){c||bA.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)})}else{if(!c&&b!=null&&typeof b=="object"){for(var e in b){bY(a+"["+e+"]",b[e],c,d)}}else{d(a,b)}}}function bX(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c){c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d])}e&&f.extend(!0,a,e)}function bW(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bP,l;for(;i<j&&(k||!l);i++){l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bW(a,c,d,e,l,g)))}(k||!l)&&!g["*"]&&(l=bW(a,c,d,e,"*",g));return l}function bV(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bL),e=0,g=d.length,h,i,j;for(;e<g;e++){h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}}function by(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bt:bu;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bv(a,b,b);if(d<0||d==null){d=a.style[b]||0}d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bd,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bk(a){f.nodeName(a,"input")?bj(a):"getElementsByTagName" in a&&f.grep(a.getElementsByTagName("input"),bj)}function bj(a){if(a.type==="checkbox"||a.type==="radio"){a.defaultChecked=a.checked}}function bi(a){return"getElementsByTagName" in a?a.getElementsByTagName("*"):"querySelectorAll" in a?a.querySelectorAll("*"):[]}function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object"){b.outerHTML=a.outerHTML}else{if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option"){b.selected=a.defaultSelected}else{if(c==="input"||c==="textarea"){b.defaultValue=a.defaultValue}}}else{a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)}}b.removeAttribute(f.expando)}}function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g){for(var i=0,j=g[h].length;i<j;i++){f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}}}function bf(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function V(a,b,c){b=b||0;if(f.isFunction(b)){return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c})}if(b.nodeType){return f.grep(a,function(a,d){return a===b===c})}if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(Q.test(b)){return f.filter(b,d,!c)}b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function U(a){return !a||!a.parentNode||a.parentNode.nodeType===11}function M(a,b){return(a&&a!=="*"?a+".":"")+b.replace(y,"`").replace(z,"&")}function L(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++){g=s[i],g.origType.replace(w,"")===a.type?q.push(g.selector):s.splice(i--,1)}e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave"){a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h)}(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c){break}a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped()){break}}}return b}}function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function D(){return !0}function C(){return !1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a){if(b!=="toJSON"){return !1}}return !0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else{d=b}}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return }e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a){return this}if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2]){return f.find(a)}this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return !d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a)){return f.ready(a)}a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.4",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++){if((a=arguments[j])!=null){for(c in a){d=i[c],f=a[c];if(i===f){continue}l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}}}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body){return setTimeout(e.ready,1)}e.isReady=!0;if(a!==!0&&--e.readyWait>0){return }B.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e._Deferred();if(c.readyState==="complete"){return setTimeout(e.ready,1)}if(c.addEventListener){c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1)}else{if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval" in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a)){return !1}try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf")){return !1}}catch(c){return !1}var d;for(d in a){}return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a){return !1}return !0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b){return null}b=e.trim(b);if(a.JSON&&a.JSON.parse){return a.JSON.parse(b)}if(o.test(b.replace(p,"@").replace(q,"]").replace(r,""))){return(new Function("return "+b))()}e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a){if(c.apply(a[f],d)===!1){break}}}else{for(;g<h;){if(c.apply(a[g++],d)===!1){break}}}}else{if(i){for(f in a){if(c.call(a[f],f,a[f])===!1){break}}}else{for(;g<h;){if(c.call(a[g],g,a[g++])===!1){break}}}}return a},trim:H?function(a){return a==null?"":H.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?F.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(!b){return -1}if(I){return I.call(b,a)}for(var c=0,d=b.length;c<d;c++){if(b[c]===a){return c}}return -1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number"){for(var f=c.length;e<f;e++){a[d++]=c[e]}}else{while(c[e]!==b){a[d++]=c[e++]}}a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++){e=!!b(a[f],f),c!==e&&d.push(a[f])}return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k){for(;i<j;i++){f=c(a[i],i,d),f!=null&&(h[h.length]=f)}}else{for(g in a){f=c(a[g],g,d),f!=null&&(h[h.length]=f)}}return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a)){return b}var f=G.call(arguments,2),g=function(){return a.apply(c,f.concat(G.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c){e.access(a,j,c[j],f,g,d)}return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++){g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h)}return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){J["[object "+b+"]"]=b.toLowerCase()}),A=e.uaMatch(z),A.browser&&(e.browser[A.browser]=!0,e.browser.version=A.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?C=function(){c.removeEventListener("DOMContentLoaded",C,!1),e.ready()}:c.attachEvent&&(C=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",C),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++){i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i)}k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0]){a.shift().apply(e,f)}}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return !!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g+"With"](this===b?d:this,[h])}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d){return d}d=a={}}var c=g.length;while(c--){a[g[c]]=b[g[c]]}return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++){b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e}e||g.resolveWith(g,b)}else{g!==a&&g.resolveWith(g,d?[a]:[])}return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e){return{}}g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-1000px",top:"-1000px"});for(t in p){o.style[t]=p[t]}o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom" in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent){for(t in {submit:1,change:1,focusin:1}){s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u}}o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return !!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i=f.expando,j=typeof c=="string",k=a.nodeType,l=k?f.cache:a,m=k?a[f.expando]:a[f.expando]&&f.expando;if((!m||e&&m&&l[m]&&!l[m][i])&&j&&d===b){return }m||(k?a[f.expando]=m=++f.uuid:m=f.expando),l[m]||(l[m]={},k||(l[m].toJSON=f.noop));if(typeof c=="object"||typeof c=="function"){e?l[m][i]=f.extend(l[m][i],c):l[m]=f.extend(l[m],c)}g=l[m],e&&(g[i]||(g[i]={}),g=g[i]),d!==b&&(g[f.camelCase(c)]=d);if(c==="events"&&!g[c]){return g[i]&&g[i].events}j?(h=g[c],h==null&&(h=g[f.camelCase(c)])):h=g;return h}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e=f.expando,g=a.nodeType,h=g?f.cache:a,i=g?a[f.expando]:f.expando;if(!h[i]){return }if(b){d=c?h[i][e]:h[i];if(d){d[b]||(b=f.camelCase(b)),delete d[b];if(!l(d)){return }}}if(c){delete h[i][e];if(!l(h[i])){return }}var j=h[i][e];f.support.deleteExpando||!h.setInterval?delete h[i]:h[i]=null,j?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=j):g&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b){return b!==!0&&a.getAttribute("classid")===b}}return !0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++){g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}}return d}if(typeof a=="object"){return this.each(function(){f.data(this,a)})}var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b){return f.queue(this[0],a)}return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--){if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0)){h++,l.done(m)}}m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u,v;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a)){return this.each(function(b){f(this).addClass(a.call(this,b,this.className))})}if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1){if(!e.className&&b.length===1){e.className=a}else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++){~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ")}e.className=f.trim(g)}}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a)){return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))})}if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className){if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++){h=h.replace(" "+c[i]+" "," ")}g.className=f.trim(h)}else{g.className=""}}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a)){return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)})}return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++]){i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}}else{if(c==="undefined"||c==="boolean"){this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""}}})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++){if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(n," ").indexOf(b)>-1){return !0}}return !1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get" in c&&(d=c.get(e,"value"))!==b){return d}d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set" in c)||c.set(this,h,"value")===b){this.value=h}}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return !b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0){return null}for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g){return b}d.push(b)}}if(g&&!d.length&&e.length){return f(e[c]).val()}return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2){return b}if(e&&c in f.attrFn){return f(a)[c](d)}if(!("getAttribute" in a)){return f.prop(a,c,d)}var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=v:u&&(i=u)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set" in i&&j&&(h=i.set(a,d,c))!==b){return h}a.setAttribute(c,""+d);return d}if(i&&"get" in i&&j&&(h=i.get(a,c))!==null){return h}h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.attr(a,b,""),a.removeAttribute(b),t.test(b)&&(c=f.propFix[b]||b) in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode){f.error("type property can't be changed")}else{if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}}},value:{get:function(a,b){if(u&&f.nodeName(a,"button")){return u.get(a,b)}return b in a?a.value:null},set:function(a,b,c){if(u&&f.nodeName(a,"button")){return u.set(a,b,c)}a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2){return b}var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set" in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get" in h&&(g=h.get(a,c))!==null?g:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabIndex=f.propHooks.tabIndex,v={get:function(a,c){var d;return f.prop(a,c)===!0||(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(u=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b)){return a.checked=f.inArray(f(a).val(),b)>=0}}})});var w=/\.(.*)$/,x=/^(?:textarea|input|select)$/i,y=/\./g,z=/ /g,A=/[^\w\s.|`]/g,B=function(a){return a.replace(A,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1){d=C}else{if(!d){return }}var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i){return }var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1){a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=C);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t){return }c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t){f.event.remove(a,h+c)}return }c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),B).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p){continue}if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace)){f.event.remove(a,r,q.handler,j),p.splice(j--,1)}}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace)){e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q)}if(e!=null){break}}}if(p.length===0||e!=null&&p.length===1){(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e){c.preventDefault(),c.stopPropagation()}if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return }if(e.nodeType===3||e.nodeType===8){return }c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped()){break}}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando]){return a}var d=a;a=f.Event(d);for(var e=this.props.length,g;e;){g=this.props[--e],a[g]=d[g]}a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:100000000,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,M(a.origType,a.selector),f.extend({},a,{handler:L,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,M(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault){return new f.Event(a,b)}a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?D:C):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=D;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=D;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=D,this.stopPropagation()},isDefaultPrevented:C,isPropagationStopped:C,isImmediatePropagationStopped:C};var E=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},F=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?F:E,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?F:E)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form")){f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="submit"||c==="image")&&f(b).closest("form").length&&J("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&J("submit",this,arguments)})}else{return !1}},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var G,H=function(a){var b=f.nodeName(a,"input")?a.type:"",c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},I=function(c){var d=c.target,e,g;if(!!x.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=H(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e){return }if(e!=null||g){c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}}};f.event.special.change={filters:{focusout:I,beforedeactivate:I,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&I.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&I.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",H(b))}},setup:function(a,b){if(this.type==="file"){return !1}for(var c in G){f.event.add(this,c+".specialChange",G[c])}return x.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return x.test(this.nodeName)}},G=f.event.special.change.filters,G.focus=G.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a){this[c](h,d,a[h],e)}return this}if(arguments.length===2||d===!1){e=d,d=b}c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one"){this.one(a,d,e)}else{for(var i=0,j=this.length;i<j;i++){f.event.add(this[i],a,g,d)}}return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault){for(var c in a){this.unbind(c,a[c])}}else{for(var d=0,e=this.length;d<e;d++){f.event.remove(this[d],a,b)}}return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){return f.event.trigger(a,b,this[0],!0)}},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length){b[d++].guid=c}return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var K={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a){n[c](o,d,a[o],m)}return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d)){e=d||C,d=b}a=(a||"").split(" ");while((h=a[i++])!=null){j=w.exec(h),k="",j&&(k=j[0],h=h.replace(w,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,K[h]?(a.push(K[h]+k),h=h+k):h=(K[h]||h)+k;if(c==="live"){for(var p=0,q=n.length;p<q;p++){f.event.add(n[p],"live."+M(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l})}}else{n.unbind("live."+M(h,m),e)}}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else{if(k.filter(b,[i]).length>0){j=i;break}}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9){return[]}if(!b||typeof b!="string"){return f}var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b)){if(x.length===2&&l.relative[x[0]]){j=v(x[0]+x[1],d)}else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length){b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}}}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length){r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}}else{n=x=[]}}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]"){if(!u){f.push.apply(f,n)}else{if(d&&d.nodeType===1){for(t=0;n[t]!=null;t++){n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t])}}else{for(t=0;n[t]!=null;t++){n[t]&&n[t].nodeType===1&&f.push(j[t])}}}}else{p(n,f)}o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g){for(var b=1;b<a.length;b++){a[b]===a[b-1]&&a.splice(b--,1)}}}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a){return[]}for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter){if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\"){continue}j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f){g=o=!0}else{if(f===!0){continue}}}if(f){for(var s=0;(p=j[s])!=null;s++){if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}}}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g){return[]}break}}}if(a===h){if(g==null){k.error(a)}else{break}}h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++){if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1){}a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++){c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b)}d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++){d[e].getAttribute("name")===a[1]&&c.push(d[e])}return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined"){return b.getElementsByTagName(a[1])}}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f){return a}for(var g=0,h;(h=b[g])!=null;g++){h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1))}return !1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else{a[2]&&k.error(a[0])}a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not"){if((a.exec(b[3])||"").length>1||/^\w/.test(b[3])){b[3]=k(b[3],null,null,c)}else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return !1}}else{if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0])){return !0}}return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return !!a.firstChild},empty:function(a){return !a.firstChild},has:function(a,b,c){return !!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f){return f(a,c,b,d)}if(e==="contains"){return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0}if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++){if(g[h]===a){return !1}}return !0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling){if(d.nodeType===1){return !1}}if(c==="first"){return !0}d=a;case"last":while(d=d.nextSibling){if(d.nodeType===1){return !1}}return !0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0){return !0}var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling){d.nodeType===1&&(d.nodeIndex=++i)}h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f){return f(a,c,b,d)}}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match){l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n))}var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]"){Array.prototype.push.apply(d,a)}else{if(typeof a.length=="number"){for(var f=a.length;c<f;c++){d.push(a[c])}}else{for(;a[c];c++){d.push(a[c])}}}return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition){return a.compareDocumentPosition?-1:1}return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex){return a.sourceIndex-b.sourceIndex}var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i){return s(a,b)}if(!h){return -1}if(!i){return 1}while(j){e.unshift(j),j=j.parentNode}j=i;while(j){f.unshift(j),j=j.parentNode}c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++){if(e[k]!==f[k]){return s(e[k],f[k])}}return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b){return c}var d=a.nextSibling;while(d){if(d===b){return -1}d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++){c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes))}return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++){c[e].nodeType===1&&d.push(c[e])}c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1]){return p(e.getElementsByTagName(b),f)}if(h[2]&&l.find.CLASS&&e.getElementsByClassName){return p(e.getElementsByClassName(h[2]),f)}}if(e.nodeType===9){if(b==="body"&&e.body){return p([e.body],f)}if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode){return p([],f)}if(i.id===h[3]){return p([i],f)}}try{return p(e.querySelectorAll(b),f)}catch(j){}}else{if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q){return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}}catch(s){}finally{n||m.removeAttribute("id")}}}}return a(b,e,f,g)};for(var e in a){k[e]=a[e]}b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a)){try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11){return f}}}catch(g){}}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1){return }l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c){return b.getElementsByClassName(a[1])}},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return !!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return !1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a)){e+=c[0],a=a.replace(l.match.PSEUDO,"")}a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++){k(a,f[g],d)}return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var N=/Until$/,O=/^(?:parents|prevUntil|prevAll)/,P=/,/,Q=/^.[^:#\[\.,]*$/,R=Array.prototype.slice,S=f.expr.match.POS,T={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string"){return f(a).filter(function(){for(c=0,d=b.length;c<d;c++){if(f.contains(b[c],this)){return !0}}})}var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0){for(h=g;h<e.length;h++){for(i=0;i<g;i++){if(e[i]===e[h]){e.splice(h--,1);break}}}}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++){if(f.contains(this,b[a])){return !0}}})},not:function(a){return this.pushStack(V(this,a,!1),"not",a)},filter:function(a){return this.pushStack(V(this,a,!0),"filter",a)},is:function(a){return !!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++){i=a[d],j[i]||(j[i]=S.test(i)?f(i,b||this.context):i)}while(g&&g.ownerDocument&&g!==b){for(i in j){h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k})}g=g.parentNode,k++}}return c}var l=S.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11){break}}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a){return this[0]&&this[0].parentNode?this.prevAll().length:-1}if(typeof a=="string"){return f.inArray(this[0],f(a))}return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(U(c[0])||U(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=R.call(arguments);N.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!T[a]?f.unique(e):e,(this.length>1||P.test(d))&&O.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d))){g.nodeType===1&&e.push(g),g=g[c]}return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c]){if(a.nodeType===1&&++e===b){break}}return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling){a.nodeType===1&&a!==b&&c.push(a)}return c}});var W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|object|embed|option|style)/i,bb=/checked\s*(?:[^=]|=\s*.checked.)/i,bc=/\/(java|ecma)script/i,bd=/^\s*<!(?:\[CDATA\[|\-\-)/,be={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a)){return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))})}if(typeof a!="object"&&a!==b){return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))}return f.text(this)},wrapAll:function(a){if(f.isFunction(a)){return this.each(function(b){f(this).wrapAll(a.call(this,b))})}if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1){a=a.firstChild}return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a)){return this.each(function(b){f(this).wrapInner(a.call(this,b))})}return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)})}if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)})}if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++){if(!a||f.filter(a,[d]).length){!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d)}}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild){b.removeChild(b.firstChild)}}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null}if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!be[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++){this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}}catch(e){this.empty().append(a)}}else{f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a)}return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a)){return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))})}typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bb.test(j)){return this.each(function(){f(this).domManip(a,c,d,!0)})}if(f.isFunction(j)){return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)})}if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++){d.call(c?bf(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}}k.length&&f.each(k,bl)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!ba.test(a[0])&&(f.support.checkClone||!bb.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h){g[h]&&bh(e[h],g[h])}}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h){bg(e[h],g[h])}}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k){continue}if(typeof k=="string"){if(!_.test(k)){k=b.createTextNode(k)}else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=be[l]||be._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--){o=o.lastChild}if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i){f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}}var r;if(!f.support.appendChecked){if(k[0]&&typeof (r=k.length)=="number"){for(i=0;i<r;i++){bk(k[i])}}else{bk(k)}}k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return !a.type||bc.test(a.type)};for(j=0;h[j];j++){if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript")){e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j])}else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()]){continue}c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events){g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle)}b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bm=/alpha\([^)]*\)/i,bn=/opacity=([^)]*)/,bo=/([A-Z]|^ms)/g,bp=/^-?\d+(?:px)?$/i,bq=/^-?\d/,br=/^([\-+])=([\-+.\de]+)/,bs={position:"absolute",visibility:"hidden",display:"block"},bt=["Left","Right"],bu=["Top","Bottom"],bv,bw,bx;f.fn.css=function(a,c){if(arguments.length===2&&c===b){return this}return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bv(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get" in k&&(g=k.get(a,!1,e))!==b){return g}return j[c]}h=typeof d,h==="string"&&(g=br.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d)){return }h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set" in k)||(d=k.set(a,d))!==b){try{j[c]=d}catch(l){}}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get" in g&&(e=g.get(a,!0,d))!==b){return e}if(bv){return bv(a,c)}},swap:function(a,b,c){var d={};for(var e in b){d[e]=a.style[e],a.style[e]=b[e]}c.call(a);for(e in b){a.style[e]=d[e]}}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0){return by(a,b,d)}f.swap(a,bs,function(){e=by(a,b,d)});return e}},set:function(a,b){if(!bp.test(b)){return b}b=parseFloat(b);if(b>=0){return b+"px"}}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bm,""))===""){c.removeAttribute("filter");if(d&&!d.filter){return }}c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bv(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bw=function(a,c){var d,e,g;c=c.replace(bo,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView)){return b}if(g=e.getComputedStyle(a,null)){d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c))}return d}),c.documentElement.currentStyle&&(bx=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bp.test(d)&&bq.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bv=bw||bx,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return !f.expr.filters.hidden(a)});var bz=/%20/g,bA=/\[\]$/,bB=/\r?\n/g,bC=/#.*$/,bD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bE=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bF=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bG=/^(?:GET|HEAD)$/,bH=/^\/\//,bI=/\?/,bJ=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bK=/^(?:select|textarea)/i,bL=/\s+/,bM=/([?&])_=[^&]*/,bN=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bO=f.fn.load,bP={},bQ={},bR,bS,bT=["*/"]+["*"];try{bR=e.href}catch(bU){bR=c.createElement("a"),bR.href="",bR=bR.href}bS=bN.exec(bR.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bO){return bO.apply(this,arguments)}if(!this.length){return this}var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bJ,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bK.test(this.nodeName)||bE.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bB,"\r\n")}}):{name:b.name,value:c.replace(bB,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?bX(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),bX(a,b);return a},ajaxSettings:{url:bR,isLocal:bF.test(bS[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bT},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bV(bP),ajaxTransport:bV(bQ),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?bZ(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified")){f.lastModified[k]=y}if(z=v.getResponseHeader("Etag")){f.etag[k]=z}}if(a===304){w="notmodified",o=!0}else{try{r=b$(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}}else{u=w;if(!w||a){w="error",a<0&&(a=0)}}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bD.exec(n)){o[c[1].toLowerCase()]=c[2]}}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2){for(b in a){j[b]=[j[b],a[b]]}}else{b=a[v.status],v.then(b,b)}}return this},d.url=((a||d.url)+"").replace(bC,"").replace(bH,bS[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bL),d.crossDomain==null&&(r=bN.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bS[1]&&r[2]==bS[2]&&(r[3]||(r[1]==="http:"?80:443))==(bS[3]||(bS[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bW(bP,d,c,v);if(s===2){return !1}t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bG.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bI.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bM,"$1_="+x);d.url=y+(y===d.url?(bI.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bT+"; q=0.01":""):d.accepts["*"]);for(u in d.headers){v.setRequestHeader(u,d.headers[u])}if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return !1}for(u in {success:1,error:1,complete:1}){v[u](d[u])}p=bW(bQ,d,c,v);if(!p){w(-1,"No Transport")}else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a)){f.each(a,function(){e(this.name,this.value)})}else{for(var g in a){bY(g,a[g],c,e)}}return d.join("&").replace(bz,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState)){d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")}},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd){cd[a](0,1)}}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return !this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials" in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields){for(j in c.xhrFields){h[j]=c.xhrFields[j]}}c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e){h.setRequestHeader(j,e[j])}}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e){h.readyState!==4&&h.abort()}else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0){return this.animate(cq("show",3),a,b,c)}for(var g=0,h=this.length;g<h;g++){d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cr(d.nodeName)))}for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none"){d.style.display=f._data(d,"olddisplay")||""}}}return this},hide:function(a,b,c){if(a||a===0){return this.animate(cq("hide",3),a,b,c)}for(var d=0,e=this.length;d<e;d++){if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}}for(d=0;d<e;d++){this[d].style&&(this[d].style.display="none")}return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cq("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a)){return this.each(e.complete,[!1])}a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d){return b.complete.call(this)}c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cr(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a){k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""))}return !0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--){a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}}),b||this.dequeue();return this}}),f.each({slideDown:cq("show",1),slideUp:cq("hide",1),slideToggle:cq("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+0.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return d.step(a)}var d=this,e=f.fx;this.startTime=cn||co(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&f.timers.push(g)&&!cl&&(cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||co(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties){e.animatedProperties[g]!==!0&&(c=!1)}if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show){for(var i in e.animatedProperties){f.style(d,i,e.orig[i])}}e.complete.call(d)}return !1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return !0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b){a[b]()||a.splice(b--,1)}a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cs=/^t(?:able|d|h)$/i,ct=/^(?:body|html)$/i;"getBoundingClientRect" in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a){return this.each(function(b){f.offset.setOffset(this,a,b)})}if(!b||!b.ownerDocument){return null}if(b===b.ownerDocument.body){return f.offset.bodyOffset(b)}try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b)){return c?{top:c.top,left:c.left}:{top:0,left:0}}var h=e.body,i=cu(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a){return this.each(function(b){f.offset.setOffset(this,a,b)})}if(!b||!b.ownerDocument){return null}if(b===b.ownerDocument.body){return f.offset.bodyOffset(b)}f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed"){break}c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cs.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static"){l+=i.offsetTop,m+=i.offsetLeft}f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using" in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0]){return null}var a=this[0],b=this.offsetParent(),c=this.offset(),d=ct.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!ct.test(a.nodeName)&&f.css(a,"position")==="static"){a=a.offsetParent}return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e){return null}g=cu(e);return g?"pageXOffset" in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cu(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e){return a==null?null:this}if(f.isFunction(a)){return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))})}if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9){return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c])}if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNaN(j)?i:j}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);
/* jQuery Mobile v1.0 jquerymobile.com | jquery.org/license */
(function(B,C){if(B.cleanData){var A=B.cleanData;B.cleanData=function(F){for(var G=0,E;(E=F[G])!=null;G++){B(E).triggerHandler("remove")}A(F)}}else{var D=B.fn.remove;B.fn.remove=function(E,F){return this.each(function(){F||(!E||B.filter(E,[this]).length)&&B("*",this).add([this]).each(function(){B(this).triggerHandler("remove")});return D.call(B(this),E,F)})}}B.widget=function(E,I,F){var H=E.split(".")[0],G,E=E.split(".")[1];G=H+"-"+E;if(!F){F=I,I=B.Widget}B.expr[":"][G]=function(J){return !!B.data(J,E)};B[H]=B[H]||{};B[H][E]=function(K,J){arguments.length&&this._createWidget(K,J)};I=new I;I.options=B.extend(true,{},I.options);B[H][E].prototype=B.extend(true,I,{namespace:H,widgetName:E,widgetEventPrefix:B[H][E].prototype.widgetEventPrefix||E,widgetBaseClass:G},F);B.widget.bridge(E,B[H][E])};B.widget.bridge=function(E,F){B.fn[E]=function(J){var I=typeof J==="string",H=Array.prototype.slice.call(arguments,1),G=this,J=!I&&H.length?B.extend.apply(null,[true,J].concat(H)):J;if(I&&J.charAt(0)==="_"){return G}I?this.each(function(){var L=B.data(this,E);if(!L){throw"cannot call methods on "+E+" prior to initialization; attempted to call method '"+J+"'"}if(!B.isFunction(L[J])){throw"no such method '"+J+"' for "+E+" widget instance"}var K=L[J].apply(L,H);if(K!==L&&K!==C){return G=K,false}}):this.each(function(){var K=B.data(this,E);K?K.option(J||{})._init():B.data(this,E,new F(J,this))});return G}};B.Widget=function(F,E){arguments.length&&this._createWidget(F,E)};B.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(E,G){B.data(G,this.widgetName,this);this.element=B(G);this.options=B.extend(true,{},this.options,this._getCreateOptions(),E);var F=this;this.element.bind("remove."+this.widgetName,function(){F.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){var E={};B.metadata&&(E=B.metadata.get(element)[this.widgetName]);return E},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(E,G){var F=E;if(arguments.length===0){return B.extend({},this.options)}if(typeof E==="string"){if(G===C){return this.options[E]}F={};F[E]=G}this._setOptions(F);return this},_setOptions:function(E){var F=this;B.each(E,function(H,G){F._setOption(H,G)});return this},_setOption:function(F,E){this.options[F]=E;F==="disabled"&&this.widget()[E?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",E);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(E,I,H){var G=this.options[E],I=B.Event(I);I.type=(E===this.widgetEventPrefix?E:this.widgetEventPrefix+E).toLowerCase();H=H||{};if(I.originalEvent){for(var E=B.event.props.length,F;E;){F=B.event.props[--E],I[F]=I.originalEvent[F]}}this.element.trigger(I,H);return !(B.isFunction(G)&&G.call(this.element[0],I,H)===false||I.isDefaultPrevented())}}})(jQuery);(function(A,B){A.widget("mobile.widget",{_createWidget:function(){A.Widget.prototype._createWidget.apply(this,arguments);this._trigger("init")},_getCreateOptions:function(){var C=this.element,D={};A.each(this.options,function(E){var F=C.jqmData(E.replace(/[A-Z]/g,function(G){return"-"+G.toLowerCase()}));F!==B&&(D[E]=F)});return D},enhanceWithin:function(C){var D=A(C).closest(":jqmData(role='page')").data("page"),D=D&&D.keepNativeSelector()||"";A(this.options.initSelector,C).not(D)[this.widgetName]()}})})(jQuery);(function(A){A(window);var B=A("html");A.mobile.media=function(){var C={},E=A("<div id='jquery-mediatest'>"),D=A("<body>").append(E);return function(F){if(!(F in C)){var G=document.createElement("style"),H="@media "+F+" { #jquery-mediatest { position:absolute; } }";G.type="text/css";G.styleSheet?G.styleSheet.cssText=H:G.appendChild(document.createTextNode(H));B.prepend(D).prepend(G);C[F]=E.css("position")==="absolute";D.add(G).remove()}return C[F]}}()})(jQuery);(function(I,E){function H(K){var J=K.charAt(0).toUpperCase()+K.substr(1),K=(K+" "+G.join(J+" ")+J).split(" "),L;for(L in K){if(D[K[L]]!==E){return true}}}var F=I("<body>").prependTo("html"),D=F[0].style,G=["Webkit","Moz","O"],B="palmGetResource" in window,C=window.operamini&&{}.toString.call(window.operamini)==="[object OperaMini]",A=window.blackberry;I.mobile.browser={};I.mobile.browser.ie=function(){for(var K=3,J=document.createElement("div"),L=J.all||[];J.innerHTML="<!--[if gt IE "+ ++K+"]><br><![endif]-->",L[0];){}return K>4?K:!K}();I.extend(I.support,{orientation:"orientation" in window&&"onorientationchange" in window,touch:"ontouchend" in document,cssTransitions:"WebKitTransitionEvent" in window,pushState:"pushState" in history&&"replaceState" in history,mediaquery:I.mobile.media("only all"),cssPseudoElement:!!H("content"),touchOverflow:!!H("overflowScrolling"),boxShadow:!!H("boxShadow")&&!A,scrollTop:("pageXOffset" in window||"scrollTop" in document.documentElement||"scrollTop" in F[0])&&!B&&!C,dynamicBaseTag:function(){var J=location.protocol+"//"+location.host+location.pathname+"ui-dir/",N=I("head base"),L=null,M="",K;N.length?M=N.attr("href"):N=L=I("<base>",{href:J}).appendTo("head");K=I("<a href='testurl' />").prependTo(F)[0].href;N[0].href=M||location.pathname;L&&L.remove();return K.indexOf(J)===0}()});F.remove();B=function(){var J=window.navigator.userAgent;return J.indexOf("Nokia")>-1&&(J.indexOf("Symbian/3")>-1||J.indexOf("Series60/5")>-1)&&J.indexOf("AppleWebKit")>-1&&J.match(/(BrowserNG|NokiaBrowser)\/7\.[0-3]/)}();I.mobile.ajaxBlacklist=window.blackberry&&!window.WebKitPoint||C||B;B&&I(function(){I("head link[rel='stylesheet']").attr("rel","alternate stylesheet").attr("rel","stylesheet")});I.support.boxShadow||I("html").addClass("ui-mobile-nosupport-boxshadow")})(jQuery);(function(AL,AH,AK,AI){function AG(A){for(;A&&typeof A.originalEvent!=="undefined";){A=A.originalEvent}return A}function AJ(A){for(var D={},B,C;A;){B=AL.data(A,Y);for(C in B){if(B[C]){D[C]=D.hasVirtualBinding=true}}A=A.parentNode}return D}function AE(){K&&(clearTimeout(K),K=0);K=setTimeout(function(){N=K=0;M.length=0;P=false;H=true},AL.vmouse.resetTimerDuration)}function AF(A,a,E){var F,C;if(!(C=E&&E[A])){if(E=!E){AL:{for(E=a.target;E;){if((C=AL.data(E,Y))&&(!A||C[A])){break AL}E=E.parentNode}E=null}}C=E}if(C){F=a;var E=F.type,B,D;F=AL.Event(F);F.type=A;C=F.originalEvent;B=AL.event.props;if(C){for(D=B.length;D;){A=B[--D],F[A]=C[A]}}if(E.search(/mouse(down|up)|click/)>-1&&!F.which){F.which=1}if(E.search(/^touch/)!==-1&&(A=AG(C),E=A.touches,A=A.changedTouches,E=E&&E.length?E[0]:A&&A.length?A[0]:AI)){for(C=0,len=G.length;C<len;C++){A=G[C],F[A]=E[A]}}AL(a.target).trigger(F)}return F}function AD(A){var B=AL.data(A.target,V);if(!P&&(!N||N!==B)){if(B=AF("v"+A.type,A)){B.isDefaultPrevented()&&A.preventDefault(),B.isPropagationStopped()&&A.stopPropagation(),B.isImmediatePropagationStopped()&&A.stopImmediatePropagation()}}}function AB(A){var C=AG(A).touches,B;if(C&&C.length===1&&(B=A.target,C=AJ(B),C.hasVirtualBinding)){N=R++,AL.data(B,V,N),K&&(clearTimeout(K),K=0),J=H=false,B=AG(A).touches[0],I=B.pageX,O=B.pageY,AF("vmouseover",A,C),AF("vmousedown",A,C)}}function AA(A){H||(J||AF("vmousecancel",A,AJ(A.target)),J=true,AE())}function X(A){if(!H){var D=AG(A).touches[0],B=J,C=AL.vmouse.moveDistanceThreshold;J=J||Math.abs(D.pageX-I)>C||Math.abs(D.pageY-O)>C;flags=AJ(A.target);J&&!B&&AF("vmousecancel",A,flags);AF("vmousemove",A,flags);AE()}}function Z(B){if(!H){H=true;var A=AJ(B.target),C;AF("vmouseup",B,A);if(!J&&(C=AF("vclick",B,A))&&C.isDefaultPrevented()){C=AG(B).changedTouches[0],M.push({touchID:N,x:C.clientX,y:C.clientY}),P=true}AF("vmouseout",B,A);J=false;AE()}}function W(A){var A=AL.data(A,Y),B;if(A){for(B in A){if(A[B]){return true}}}return false}function AC(){}function U(A){var B=A.substr(1);return{setup:function(){W(this)||AL.data(this,Y,{});AL.data(this,Y)[A]=true;Q[A]=(Q[A]||0)+1;Q[A]===1&&T.bind(B,AD);AL(this).bind(B,AC);if(S){Q.touchstart=(Q.touchstart||0)+1,Q.touchstart===1&&T.bind("touchstart",AB).bind("touchend",Z).bind("touchmove",X).bind("scroll",AA)}},teardown:function(){--Q[A];Q[A]||T.unbind(B,AD);S&&(--Q.touchstart,Q.touchstart||T.unbind("touchstart",AB).unbind("touchmove",X).unbind("touchend",Z).unbind("scroll",AA));var D=AL(this),C=AL.data(this,Y);C&&(C[A]=false);D.unbind(B,AC);W(this)||D.removeData(Y)}}}var Y="virtualMouseBindings",V="virtualTouchID",AH="vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "),G="clientX clientY pageX pageY screenX screenY".split(" "),Q={},K=0,I=0,O=0,J=false,M=[],P=false,H=false,S="addEventListener" in AK,T=AL(AK),R=1,N=0;AL.vmouse={moveDistanceThreshold:10,clickDistanceThreshold:10,resetTimerDuration:1500};for(var L=0;L<AH.length;L++){AL.event.special[AH[L]]=U(AH[L])}S&&AK.addEventListener("click",function(A){var g=M.length,a=A.target,E,D,F,C,B;if(g){E=A.clientX;D=A.clientY;threshold=AL.vmouse.clickDistanceThreshold;for(F=a;F;){for(C=0;C<g;C++){if(B=M[C],F===a&&Math.abs(B.x-E)<threshold&&Math.abs(B.y-D)<threshold||AL.data(F,V)===B.touchID){A.preventDefault();A.stopPropagation();return }}F=F.parentNode}}},true)})(jQuery,window,document);(function(B,F,A){function G(I,L,K){var J=K.type;K.type=L;B.event.handle.call(I,K);K.type=J}B.each("touchstart touchmove touchend orientationchange throttledresize tap taphold swipe swipeleft swiperight scrollstart scrollstop".split(" "),function(I,J){B.fn[J]=function(K){return K?this.bind(J,K):this.trigger(J)};B.attrFn[J]=true});var E=B.support.touch,H=E?"touchstart":"mousedown",C=E?"touchend":"mouseup",D=E?"touchmove":"mousemove";B.event.special.scrollstart={enabled:true,setup:function(){function I(M,N){J=N;G(L,J?"scrollstart":"scrollstop",M)}var L=this,J,K;B(L).bind("touchmove scroll",function(M){B.event.special.scrollstart.enabled&&(J||I(M,true),clearTimeout(K),K=setTimeout(function(){I(M,false)},50))})}};B.event.special.tap={setup:function(){var I=this,J=B(I);J.bind("vmousedown",function(O){function P(){clearTimeout(N)}function L(){P();J.unbind("vclick",M).unbind("vmouseup",P).unbind("vmousecancel",L)}function M(Q){L();K==Q.target&&G(I,"tap",Q)}if(O.which&&O.which!==1){return false}var K=O.target,N;J.bind("vmousecancel",L).bind("vmouseup",P).bind("vclick",M);N=setTimeout(function(){G(I,"taphold",B.Event("taphold"))},750)})}};B.event.special.swipe={scrollSupressionThreshold:10,durationThreshold:1000,horizontalDistanceThreshold:30,verticalDistanceThreshold:75,setup:function(){var I=B(this);I.bind(H,function(N){function K(O){if(J){var P=O.originalEvent.touches?O.originalEvent.touches[0]:O;L={time:(new Date).getTime(),coords:[P.pageX,P.pageY]};Math.abs(J.coords[0]-L.coords[0])>B.event.special.swipe.scrollSupressionThreshold&&O.preventDefault()}}var M=N.originalEvent.touches?N.originalEvent.touches[0]:N,J={time:(new Date).getTime(),coords:[M.pageX,M.pageY],origin:B(N.target)},L;I.bind(D,K).one(C,function(){I.unbind(D,K);J&&L&&L.time-J.time<B.event.special.swipe.durationThreshold&&Math.abs(J.coords[0]-L.coords[0])>B.event.special.swipe.horizontalDistanceThreshold&&Math.abs(J.coords[1]-L.coords[1])<B.event.special.swipe.verticalDistanceThreshold&&J.origin.trigger("swipe").trigger(J.coords[0]>L.coords[0]?"swipeleft":"swiperight");J=L=A})})}};(function(J,I){function N(){var O=K();O!==L&&(L=O,M.trigger("orientationchange"))}var M=J(I),K,L;J.event.special.orientationchange={setup:function(){if(J.support.orientation&&J.mobile.orientationChangeEnabled){return false}L=K();M.bind("throttledresize",N)},teardown:function(){if(J.support.orientation&&J.mobile.orientationChangeEnabled){return false}M.unbind("throttledresize",N)},add:function(P){var O=P.handler;P.handler=function(Q){Q.orientation=K();return O.apply(this,arguments)}}};J.event.special.orientationchange.orientation=K=function(){var O=true,O=document.documentElement;return(O=J.support.orientation?I.orientation%180==0:O&&O.clientWidth/O.clientHeight<1.1)?"portrait":"landscape"}})(jQuery,F);(function(){B.event.special.throttledresize={setup:function(){B(this).bind("resize",I)},teardown:function(){B(this).unbind("resize",I)}};var I=function(){J=(new Date).getTime();K=J-M;K>=250?(M=J,B(this).trigger("throttledresize")):(L&&clearTimeout(L),L=setTimeout(I,250-K))},M=0,L,J,K})();B.each({scrollstop:"scrollstart",taphold:"tap",swipeleft:"swipe",swiperight:"swipe"},function(I,J){B.event.special[I]={setup:function(){B(this).bind(J,B.noop)}}})})(jQuery,this);(function(J,F,I){function G(K){K=K||location.href;return"#"+K.replace(/^[^#]*#?(.*)$/,"$1")}var E="hashchange",H=document,C,D=J.event.special,B=H.documentMode,A="on"+E in F&&(B===I||B>7);J.fn[E]=function(K){return K?this.bind(E,K):this.trigger(E)};J.fn[E].delay=50;D[E]=J.extend(D[E],{setup:function(){if(A){return false}J(C.start)},teardown:function(){if(A){return false}J(C.stop)}});C=function(){function M(){var R=G(),S=Q(P);if(R!==P){O(P=R,S),J(F).trigger(E)}else{if(S!==P){location.href=location.href.replace(/#.*/,"")+S}}L=setTimeout(M,J.fn[E].delay)}var N={},L,P=G(),K=function(R){return R},O=K,Q=K;N.start=function(){L||M()};N.stop=function(){L&&clearTimeout(L);L=I};J.browser.msie&&!A&&function(){var R,S;N.start=function(){if(!R){S=(S=J.fn[E].src)&&S+G(),R=J('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){S||O(G());M()}).attr("src",S||"javascript:0").insertAfter("body")[0].contentWindow,H.onpropertychange=function(){try{if(event.propertyName==="title"){R.document.title=H.title}}catch(T){}}}};N.stop=K;Q=function(){return G(R.location.href)};O=function(W,V){var T=R.document,U=J.fn[E].domain;if(W!==V){T.title=H.title,T.open(),U&&T.write('<script>document.domain="'+U+'"<\/script>'),T.close(),R.location.hash=W}}}();return N}()})(jQuery,this);(function(A){A.widget("mobile.page",A.mobile.widget,{options:{theme:"c",domCache:false,keepNativeDefault:":jqmData(role='none'), :jqmData(role='nojs')"},_create:function(){this._trigger("beforecreate");this.element.attr("tabindex","0").addClass("ui-page ui-body-"+this.options.theme)},keepNativeSelector:function(){var B=this.options;return B.keepNative&&A.trim(B.keepNative)&&B.keepNative!==B.keepNativeDefault?[B.keepNative,B.keepNativeDefault].join(", "):B.keepNativeDefault}})})(jQuery);(function(B,D){var A={};B.extend(B.mobile,{ns:"",subPageUrlKey:"ui-page",activePageClass:"ui-page-active",activeBtnClass:"ui-btn-active",ajaxEnabled:true,hashListeningEnabled:true,linkBindingEnabled:true,defaultPageTransition:"slide",minScrollBack:250,defaultDialogTransition:"pop",loadingMessage:"loading",pageLoadErrorMessage:"Error Loading Page",autoInitializePage:true,pushStateEnabled:true,orientationChangeEnabled:true,gradeA:function(){return B.support.mediaquery||B.mobile.browser.ie&&B.mobile.browser.ie>=7},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91},silentScroll:function(F){if(B.type(F)!=="number"){F=B.mobile.defaultHomeScroll}B.event.special.scrollstart.enabled=false;setTimeout(function(){D.scrollTo(0,F);B(document).trigger("silentscroll",{x:0,y:F})},20);setTimeout(function(){B.event.special.scrollstart.enabled=true},150)},nsNormalizeDict:A,nsNormalize:function(F){return !F?void 0:A[F]||(A[F]=B.camelCase(B.mobile.ns+F))},getInheritedTheme:function(H,F){for(var L=H[0],I="",J=/ui-(bar|body)-([a-z])\b/,G,K;L;){G=L.className||"";if((K=J.exec(G))&&(I=K[2])){break}L=L.parentNode}return I||F||"a"}});B.fn.jqmData=function(F,H){var G;typeof F!="undefined"&&(G=this.data(F?B.mobile.nsNormalize(F):F,H));return G};B.jqmData=function(F,I,G){var H;typeof I!="undefined"&&(H=B.data(F,I?B.mobile.nsNormalize(I):I,G));return H};B.fn.jqmRemoveData=function(F){return this.removeData(B.mobile.nsNormalize(F))};B.jqmRemoveData=function(F,G){return B.removeData(F,B.mobile.nsNormalize(G))};B.fn.removeWithDependents=function(){B.removeWithDependents(this)};B.removeWithDependents=function(F){F=B(F);(F.jqmData("dependents")||B()).remove();F.remove()};B.fn.addDependents=function(F){B.addDependents(B(this),F)};B.addDependents=function(F,H){var G=B(F).jqmData("dependents")||B();B(F).jqmData("dependents",B.merge(G,H))};B.fn.getEncodedText=function(){return B("<div/>").text(B(this).text()).html()};var E=B.find,C=/:jqmData\(([^)]*)\)/g;B.find=function(F,I,H,G){F=F.replace(C,"[data-"+(B.mobile.ns||"")+"$1]");return E.call(this,F,I,H,G)};B.extend(B.find,E);B.find.matches=function(F,G){return B.find(F,null,null,G)};B.find.matchesSelector=function(F,G){return B.find(G,null,null,[F]).length>0}})(jQuery,this);(function(AF,AB){function AE(B){var A=B.find(".ui-title:eq(0)");A.length?A.focus():B.focus()}function AC(A){P&&(!P.closest(".ui-page-active").length||A)&&P.removeClass(AF.mobile.activeBtnClass);P=null}function AA(){E=false;Q.length>0&&AF.mobile.changePage.apply(null,Q.pop())}function AD(h,b,D,a){var C=AF.mobile.urlHistory.getActive(),A=AF.support.touchOverflow&&AF.mobile.touchOverflowEnabled,B=C.lastScroll||(A?0:AF.mobile.defaultHomeScroll),C=Z();window.scrollTo(0,AF.mobile.defaultHomeScroll);b&&b.data("page")._trigger("beforehide",null,{nextPage:h});A||h.height(C+B);h.data("page")._trigger("beforeshow",null,{prevPage:b||AF("")});AF.mobile.hidePageLoadingMsg();A&&B&&(h.addClass("ui-mobile-pre-transition"),AE(h),h.is(".ui-native-fixed")?h.find(".ui-content").scrollTop(B):h.scrollTop(B));D=(AF.mobile.transitionHandlers[D||"none"]||AF.mobile.defaultTransitionHandler)(D,a,h,b);D.done(function(){A||(h.height(""),AE(h));A||AF.mobile.silentScroll(B);b&&(A||b.height(""),b.data("page")._trigger("hide",null,{nextPage:h}));h.data("page")._trigger("show",null,{prevPage:b||AF("")})});return D}function Z(){var A=AF.event.special.orientationchange.orientation()==="portrait",B=A?screen.availHeight:screen.availWidth,A=Math.max(A?480:320,AF(window).height());return Math.min(B,A)}function r(){(!AF.support.touchOverflow||!AF.mobile.touchOverflowEnabled)&&AF("."+AF.mobile.activePageClass).css("min-height",Z())}function Y(A,B){B&&A.attr("data-"+AF.mobile.ns+"role",B);A.page()}function W(A){for(;A;){if(typeof A.nodeName==="string"&&A.nodeName.toLowerCase()=="a"){break}A=A.parentNode}return A}function V(A){var A=AF(A).closest(".ui-page").jqmData("url"),B=K.hrefNoHash;if(!A||!X.isPath(A)){A=B}return X.makeUrlAbsolute(A,B)}var S=AF(window),U=AF("html"),R=AF("head"),X={urlParseRE:/^(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/,parseUrl:function(A){if(AF.type(A)==="object"){return A}A=X.urlParseRE.exec(A||"")||[];return{href:A[0]||"",hrefNoHash:A[1]||"",hrefNoSearch:A[2]||"",domain:A[3]||"",protocol:A[4]||"",doubleSlash:A[5]||"",authority:A[6]||"",username:A[8]||"",password:A[9]||"",host:A[10]||"",hostname:A[11]||"",port:A[12]||"",pathname:A[13]||"",directory:A[14]||"",filename:A[15]||"",search:A[16]||"",hash:A[17]||""}},makePathAbsolute:function(B,A){if(B&&B.charAt(0)==="/"){return B}for(var B=B||"",h=(A=A?A.replace(/^\/|(\/[^\/]*|[^\/]+)$/g,""):"")?A.split("/"):[],g=B.split("/"),C=0;C<g.length;C++){var D=g[C];switch(D){case".":break;case"..":h.length&&h.pop();break;default:h.push(D)}}return"/"+h.join("/")},isSameDomain:function(B,A){return X.parseUrl(B).domain===X.parseUrl(A).domain},isRelativeUrl:function(A){return X.parseUrl(A).protocol===""},isAbsoluteUrl:function(A){return X.parseUrl(A).protocol!==""},makeUrlAbsolute:function(o,n){if(!X.isRelativeUrl(o)){return o}var m=X.parseUrl(o),l=X.parseUrl(n),D=m.protocol||l.protocol,j=m.protocol?m.doubleSlash:m.doubleSlash||l.doubleSlash,B=m.authority||l.authority,C=m.pathname!=="",A=X.makePathAbsolute(m.pathname||l.filename,l.pathname);return D+j+B+A+(m.search||!C&&l.search||"")+m.hash},addSearchParams:function(A,a){var D=X.parseUrl(A),B=typeof a==="object"?AF.param(a):a,C=D.search||"?";return D.hrefNoSearch+C+(C.charAt(C.length-1)!=="?"?"&":"")+B+(D.hash||"")},convertUrlToDataUrl:function(B){var A=X.parseUrl(B);if(X.isEmbeddedPage(A)){return A.hash.split(M)[0].replace(/^#/,"")}else{if(X.isSameDomain(A,K)){return A.hrefNoHash.replace(K.domain,"")}}return B},get:function(A){if(A===AB){A=location.hash}return X.stripHash(A).replace(/[^\/]*\.[^\/*]+$/,"")},getFilePath:function(A){var B="&"+AF.mobile.subPageUrlKey;return A&&A.split(B)[0].split(M)[0]},set:function(A){location.hash=A},isPath:function(A){return/\//.test(A)},clean:function(A){return A.replace(K.domain,"")},stripHash:function(A){return A.replace(/^#/,"")},cleanHash:function(A){return X.stripHash(A.replace(/\?.*$/,"").replace(M,""))},isExternal:function(A){A=X.parseUrl(A);return A.protocol&&A.domain!==G.domain?true:false},hasProtocol:function(A){return/^(:?\w+:)/.test(A)},isFirstPageUrl:function(A){var A=X.parseUrl(X.makeUrlAbsolute(A,K)),B=AF.mobile.firstPage,B=B&&B[0]?B[0].id:AB;return(A.hrefNoHash===G.hrefNoHash||H&&A.hrefNoHash===K.hrefNoHash)&&(!A.hash||A.hash==="#"||B&&A.hash.replace(/^#/,"")===B)},isEmbeddedPage:function(A){A=X.parseUrl(A);return A.protocol!==""?A.hash&&(A.hrefNoHash===G.hrefNoHash||H&&A.hrefNoHash===K.hrefNoHash):/^#/.test(A.href)}},P=null,T={stack:[],activeIndex:0,getActive:function(){return T.stack[T.activeIndex]},getPrev:function(){return T.stack[T.activeIndex-1]},getNext:function(){return T.stack[T.activeIndex+1]},addNew:function(B,A,e,D,C){T.getNext()&&T.clearForward();T.stack.push({url:B,transition:A,title:e,pageUrl:D,role:C});T.activeIndex=T.stack.length-1},clearForward:function(){T.stack=T.stack.slice(0,T.activeIndex+1)},directHashChange:function(A){var D,C,B;this.getActive();AF.each(T.stack,function(b,c){A.currentUrl===c.url&&(D=b<T.activeIndex,C=!D,B=b)});this.activeIndex=B!==AB?B:this.activeIndex;D?(A.either||A.isBack)(true):C&&(A.either||A.isForward)(false)},ignoreNextHashChange:false},Q=[],E=false,M="&ui-state=dialog",I=R.children("base"),G=X.parseUrl(location.href),K=I.length?X.parseUrl(X.makeUrlAbsolute(I.attr("href"),G.href)):G,H=G.hrefNoHash!==K.hrefNoHash,J=AF.support.dynamicBaseTag?{element:I.length?I:AF("<base>",{href:K.hrefNoHash}).prependTo(R),set:function(A){J.element.attr("href",X.makeUrlAbsolute(A,K))},reset:function(){J.element.attr("href",K.hrefNoHash)}}:AB,L=true,F,N,O;F=function(){var A=S;AF.support.touchOverflow&&AF.mobile.touchOverflowEnabled&&(A=AF(".ui-page-active"),A=A.is(".ui-native-fixed")?A.find(".ui-content"):A);return A};N=function(A){if(L){var B=AF.mobile.urlHistory.getActive();if(B){A=A&&A.scrollTop(),B.lastScroll=A<AF.mobile.minScrollBack?AF.mobile.defaultHomeScroll:A}}};O=function(){setTimeout(N,100,AF(this))};S.bind(AF.support.pushState?"popstate":"hashchange",function(){L=false});S.one(AF.support.pushState?"popstate":"hashchange",function(){L=true});S.one("pagecontainercreate",function(){AF.mobile.pageContainer.bind("pagechange",function(){var A=F();L=true;A.unbind("scrollstop",O);A.bind("scrollstop",O)})});F().bind("scrollstop",O);AF.mobile.getScreenHeight=Z;AF.fn.animationComplete=function(A){return AF.support.cssTransitions?AF(this).one("webkitAnimationEnd",A):(setTimeout(A,0),AF(this))};AF.mobile.path=X;AF.mobile.base=J;AF.mobile.urlHistory=T;AF.mobile.dialogHashKey=M;AF.mobile.noneTransitionHandler=function(A,D,C,B){B&&B.removeClass(AF.mobile.activePageClass);C.addClass(AF.mobile.activePageClass);return AF.Deferred().resolve(A,D,C,B).promise()};AF.mobile.defaultTransitionHandler=AF.mobile.noneTransitionHandler;AF.mobile.transitionHandlers={none:AF.mobile.defaultTransitionHandler};AF.mobile.allowCrossDomainPages=false;AF.mobile.getDocumentUrl=function(A){return A?AF.extend({},G):G.href};AF.mobile.getDocumentBase=function(A){return A?AF.extend({},K):K.href};AF.mobile._bindPageRemove=function(){var A=AF(this);!A.data("page").options.domCache&&A.is(":jqmData(external-page='true')")&&A.bind("pagehide.remove",function(){var B=AF(this),C=new AF.Event("pageremove");B.trigger(C);C.isDefaultPrevented()||B.removeWithDependents()})};AF.mobile.loadPage=function(t,o){var l=AF.Deferred(),j=AF.extend({},AF.mobile.loadPage.defaults,o),e=null,i=null,D=X.makeUrlAbsolute(t,AF.mobile.activePage&&V(AF.mobile.activePage)||K.hrefNoHash);if(j.data&&j.type==="get"){D=X.addSearchParams(D,j.data),j.data=AB}if(j.data&&j.type==="post"){j.reloadPage=true}var w=X.getFilePath(D),B=X.convertUrlToDataUrl(D);j.pageContainer=j.pageContainer||AF.mobile.pageContainer;e=j.pageContainer.children(":jqmData(url='"+B+"')");e.length===0&&B&&!X.isPath(B)&&(e=j.pageContainer.children("#"+B).attr("data-"+AF.mobile.ns+"url",B));if(e.length===0){if(AF.mobile.firstPage&&X.isFirstPageUrl(w)){AF.mobile.firstPage.parent().length&&(e=AF(AF.mobile.firstPage))}else{if(X.isEmbeddedPage(w)){return l.reject(D,o),l.promise()}}}J&&J.reset();if(e.length){if(!j.reloadPage){return Y(e,j.role),l.resolve(D,o,e),l.promise()}i=e}var C=j.pageContainer,a=new AF.Event("pagebeforeload"),A={url:t,absUrl:D,dataUrl:B,deferred:l,options:j};C.trigger(a,A);if(a.isDefaultPrevented()){return l.promise()}if(j.showLoadMsg){var u=setTimeout(function(){AF.mobile.showPageLoadingMsg()},j.loadMsgDelay)}!AF.mobile.allowCrossDomainPages&&!X.isSameDomain(G,D)?l.reject(D,o):AF.ajax({url:w,type:j.type,data:j.data,dataType:"html",success:function(g,m,d){var h=AF("<div></div>"),c=g.match(/<title[^>]*>([^<]*)/)&&RegExp.$1,f=RegExp("\\bdata-"+AF.mobile.ns+"url=[\"']?([^\"'>]*)[\"']?");RegExp("(<[^>]+\\bdata-"+AF.mobile.ns+"role=[\"']?page[\"']?[^>]*>)").test(g)&&RegExp.$1&&f.test(RegExp.$1)&&RegExp.$1&&(t=w=X.getFilePath(RegExp.$1));J&&J.set(w);h.get(0).innerHTML=g;e=h.find(":jqmData(role='page'), :jqmData(role='dialog')").first();e.length||(e=AF("<div data-"+AF.mobile.ns+"role='page'>"+g.split(/<\/?body[^>]*>/gmi)[1]+"</div>"));c&&!e.jqmData("title")&&(~c.indexOf("&")&&(c=AF("<div>"+c+"</div>").text()),e.jqmData("title",c));if(!AF.support.dynamicBaseTag){var b=X.get(w);e.find("[src], link[href], a[rel='external'], :jqmData(ajax='false'), a[target]").each(function(){var n=AF(this).is("[href]")?"href":AF(this).is("[src]")?"src":"action",p=AF(this).attr(n),p=p.replace(location.protocol+"//"+location.host+location.pathname,"");/^(\w+:|#|\/)/.test(p)||AF(this).attr(n,b+p)})}e.attr("data-"+AF.mobile.ns+"url",X.convertUrlToDataUrl(w)).attr("data-"+AF.mobile.ns+"external-page",true).appendTo(j.pageContainer);e.one("pagecreate",AF.mobile._bindPageRemove);Y(e,j.role);D.indexOf("&"+AF.mobile.subPageUrlKey)>-1&&(e=j.pageContainer.children(":jqmData(url='"+B+"')"));j.showLoadMsg&&(clearTimeout(u),AF.mobile.hidePageLoadingMsg());A.xhr=d;A.textStatus=m;A.page=e;j.pageContainer.trigger("pageload",A);l.resolve(D,o,e,i)},error:function(c,f,d){J&&J.set(X.get());A.xhr=c;A.textStatus=f;A.errorThrown=d;c=new AF.Event("pageloadfailed");j.pageContainer.trigger(c,A);c.isDefaultPrevented()||(j.showLoadMsg&&(clearTimeout(u),AF.mobile.hidePageLoadingMsg(),AF("<div class='ui-loader ui-overlay-shadow ui-body-e ui-corner-all'><h1>"+AF.mobile.pageLoadErrorMessage+"</h1></div>").css({display:"block",opacity:0.96,top:S.scrollTop()+100}).appendTo(j.pageContainer).delay(800).fadeOut(400,function(){AF(this).remove()})),l.reject(D,o))}});return l.promise()};AF.mobile.loadPage.defaults={type:"get",data:AB,reloadPage:false,role:AB,showLoadMsg:false,pageContainer:AB,loadMsgDelay:50};AF.mobile.changePage=function(n,i){if(E){Q.unshift(arguments)}else{var j=AF.extend({},AF.mobile.changePage.defaults,i);j.pageContainer=j.pageContainer||AF.mobile.pageContainer;j.fromPage=j.fromPage||AF.mobile.activePage;var c=j.pageContainer,f=new AF.Event("pagebeforechange"),D={toPage:n,options:j};c.trigger(f,D);if(!f.isDefaultPrevented()){if(n=D.toPage,E=true,typeof n=="string"){AF.mobile.loadPage(n,j).done(function(B,h,g,C){E=false;h.duplicateCachedPage=C;AF.mobile.changePage(g,h)}).fail(function(){E=false;AC(true);AA();j.pageContainer.trigger("pagechangefailed",D)})}else{if(n[0]===AF.mobile.firstPage[0]&&!j.dataUrl){j.dataUrl=G.hrefNoHash}var f=j.fromPage,e=j.dataUrl&&X.convertUrlToDataUrl(j.dataUrl)||n.jqmData("url"),x=e;X.getFilePath(e);var d=T.getActive(),AG=T.activeIndex===0,s=0,z=document.title,m=j.role==="dialog"||n.jqmData("role")==="dialog";if(f&&f[0]===n[0]&&!j.allowSamePageTransition){E=false,c.trigger("pagechange",D)}else{Y(n,j.role);j.fromHashChange&&T.directHashChange({currentUrl:e,isBack:function(){s=-1},isForward:function(){s=1}});try{document.activeElement&&document.activeElement.nodeName.toLowerCase()!="body"?AF(document.activeElement).blur():AF("input:focus, textarea:focus, select:focus").blur()}catch(a){}m&&d&&(e=(d.url||"")+M);if(j.changeHash!==false&&e){T.ignoreNextHashChange=true,X.set(e)}var A=!d?z:n.jqmData("title")||n.children(":jqmData(role='header')").find(".ui-title").getEncodedText();A&&z==document.title&&(z=A);n.jqmData("title")||n.jqmData("title",z);j.transition=j.transition||(s&&!AG?d.transition:AB)||(m?AF.mobile.defaultDialogTransition:AF.mobile.defaultPageTransition);s||T.addNew(e,j.transition,z,x,j.role);document.title=T.getActive().title;AF.mobile.activePage=n;j.reverse=j.reverse||s<0;AD(n,f,j.transition,j.reverse).done(function(){AC();j.duplicateCachedPage&&j.duplicateCachedPage.remove();U.removeClass("ui-mobile-rendering");AA();c.trigger("pagechange",D)})}}}}};AF.mobile.changePage.defaults={transition:AB,reverse:false,changeHash:true,fromHashChange:false,role:AB,duplicateCachedPage:AB,pageContainer:AB,showLoadMsg:true,dataUrl:AB,fromPage:AB,allowSamePageTransition:false};AF.mobile._registerInternalEvents=function(){AF("form").live("submit",function(A){var a=AF(this);if(AF.mobile.ajaxEnabled&&!a.is(":jqmData(ajax='false')")){var D=a.attr("method"),B=a.attr("target"),C=a.attr("action");if(!C&&(C=V(a),C===K.hrefNoHash)){C=G.hrefNoSearch}C=X.makeUrlAbsolute(C,V(a));!X.isExternal(C)&&!B&&(AF.mobile.changePage(C,{type:D&&D.length&&D.toLowerCase()||"get",data:a.serialize(),transition:a.jqmData("transition"),direction:a.jqmData("direction"),reloadPage:true}),A.preventDefault())}});AF(document).bind("vclick",function(A){if(!(A.which>1)&&AF.mobile.linkBindingEnabled&&(A=W(A.target))&&X.parseUrl(A.getAttribute("href")||"#").hash!=="#"){AC(true),P=AF(A).closest(".ui-btn").not(".ui-disabled"),P.addClass(AF.mobile.activeBtnClass),AF("."+AF.mobile.activePageClass+" .ui-btn").not(A).blur()}});AF(document).bind("click",function(A){if(AF.mobile.linkBindingEnabled){var d=W(A.target);if(d&&!(A.which>1)){var a=AF(d),C=function(){window.setTimeout(function(){AC(true)},200)};if(a.is(":jqmData(rel='back')")){return window.history.back(),false}var D=V(a),d=X.makeUrlAbsolute(a.attr("href")||"#",D);if(!AF.mobile.ajaxEnabled&&!X.isEmbeddedPage(d)){C()}else{if(d.search("#")!=-1){if(d=d.replace(/[^#]*#/,"")){d=X.isPath(d)?X.makeUrlAbsolute(d,D):X.makeUrlAbsolute("#"+d,G.hrefNoHash)}else{A.preventDefault();return }}var D=a.is("[rel='external']")||a.is(":jqmData(ajax='false')")||a.is("[target]"),B=AF.mobile.allowCrossDomainPages&&G.protocol==="file:"&&d.search(/^https?:/)!=-1;D||X.isExternal(d)&&!B?C():(C=a.jqmData("transition"),D=(D=a.jqmData("direction"))&&D==="reverse"||a.jqmData("back"),a=a.attr("data-"+AF.mobile.ns+"rel")||AB,AF.mobile.changePage(d,{transition:C,reverse:D,role:a}),A.preventDefault())}}}});AF(".ui-page").live("pageshow.prefetch",function(){var A=[];AF(this).find("a:jqmData(prefetch)").each(function(){var C=AF(this),B=C.attr("href");B&&AF.inArray(B,A)===-1&&(A.push(B),AF.mobile.loadPage(B,{role:C.attr("data-"+AF.mobile.ns+"rel")}))})});AF.mobile._handleHashChange=function(A){var C=X.stripHash(A),B={transition:AF.mobile.urlHistory.stack.length===0?"none":AB,changeHash:false,fromHashChange:true};if(!AF.mobile.hashListeningEnabled||T.ignoreNextHashChange){T.ignoreNextHashChange=false}else{if(T.stack.length>1&&C.indexOf(M)>-1){if(AF.mobile.activePage.is(".ui-dialog")){T.directHashChange({currentUrl:C,either:function(D){var a=AF.mobile.urlHistory.getActive();C=a.pageUrl;AF.extend(B,{role:a.role,transition:a.transition,reverse:D})}})}else{T.directHashChange({currentUrl:C,isBack:function(){window.history.back()},isForward:function(){window.history.forward()}});return }}C?(C=typeof C==="string"&&!X.isPath(C)?X.makeUrlAbsolute("#"+C,K):C,AF.mobile.changePage(C,B)):AF.mobile.changePage(AF.mobile.firstPage,B)}};S.bind("hashchange",function(){AF.mobile._handleHashChange(location.hash)});AF(document).bind("pageshow",r);AF(window).bind("throttledresize",r)}})(jQuery);(function(B,D){var A={},E=B(D),C=B.mobile.path.parseUrl(location.href);B.extend(A,{initialFilePath:C.pathname+C.search,initialHref:C.hrefNoHash,hashchangeFired:false,state:function(){return{hash:location.hash||"#"+A.initialFilePath,title:document.title,initialHref:A.initialHref}},resetUIKeys:function(F){var G="&"+B.mobile.subPageUrlKey,H=F.indexOf(B.mobile.dialogHashKey);H>-1?F=F.slice(0,H)+"#"+F.slice(H):F.indexOf(G)>-1&&(F=F.split(G).join("#"+G));return F},nextHashChangePrevented:function(F){B.mobile.urlHistory.ignoreNextHashChange=F;A.onHashChangeDisabled=F},onHashChange:function(){if(!A.onHashChangeDisabled){var I,F;I=location.hash;var H=B.mobile.path.isPath(I),G=H?location.href:B.mobile.getDocumentUrl();I=H?I.replace("#",""):I;F=A.state();I=B.mobile.path.makeUrlAbsolute(I,G);H&&(I=A.resetUIKeys(I));history.replaceState(F,document.title,I)}},onPopState:function(G){var F=G.originalEvent.state;F&&(A.nextHashChangePrevented(true),setTimeout(function(){A.nextHashChangePrevented(false);B.mobile._handleHashChange(F.hash)},100))},init:function(){E.bind("hashchange",A.onHashChange);E.bind("popstate",A.onPopState);location.hash===""&&history.replaceState(A.state(),document.title,location.href)}});B(function(){B.mobile.pushStateEnabled&&B.support.pushState&&A.init()})})(jQuery,this);(function(A){function B(C,H,F,I){var G=new A.Deferred,E=H?" reverse":"",D="ui-mobile-viewport-transitioning viewport-"+C;F.animationComplete(function(){F.add(I).removeClass("out in reverse "+C);I&&I[0]!==F[0]&&I.removeClass(A.mobile.activePageClass);F.parent().removeClass(D);G.resolve(C,H,F,I)});F.parent().addClass(D);I&&I.addClass(C+" out"+E);F.addClass(A.mobile.activePageClass+" "+C+" in"+E);return G.promise()}A.mobile.css3TransitionHandler=B;if(A.mobile.defaultTransitionHandler===A.mobile.noneTransitionHandler){A.mobile.defaultTransitionHandler=B}})(jQuery,this);(function(A){A.mobile.page.prototype.options.degradeInputs={color:false,date:false,datetime:false,"datetime-local":false,email:false,month:false,number:false,range:"number",search:"text",tel:false,time:false,url:false,week:false};A(document).bind("pagecreate create",function(C){var B=A(C.target).closest(':jqmData(role="page")').data("page"),D;if(B){D=B.options,A(C.target).find("input").not(B.keepNativeSelector()).each(function(){var E=A(this),I=this.getAttribute("type"),H=D.degradeInputs[I]||"text";if(D.degradeInputs[I]){var G=A("<div>").html(E.clone()).html(),F=G.indexOf(" type=")>-1;E.replaceWith(G.replace(F?/\s+type=["']?\w+['"]?/:/\/?>/,' type="'+H+'" data-'+A.mobile.ns+'type="'+I+'"'+(F?"":">")))}})}})})(jQuery);(function(A,B){A.widget("mobile.dialog",A.mobile.widget,{options:{closeBtnText:"Close",overlayTheme:"a",initSelector:":jqmData(role='dialog')"},_create:function(){var C=this,E=this.element,D=A("<a href='#' data-"+A.mobile.ns+"icon='delete' data-"+A.mobile.ns+"iconpos='notext'>"+this.options.closeBtnText+"</a>");E.addClass("ui-overlay-"+this.options.overlayTheme);E.attr("role","dialog").addClass("ui-dialog").find(":jqmData(role='header')").addClass("ui-corner-top ui-overlay-shadow").prepend(D).end().find(":jqmData(role='content'),:jqmData(role='footer')").addClass("ui-overlay-shadow").last().addClass("ui-corner-bottom");D.bind("vclick",function(){C.close()});E.bind("vclick submit",function(F){var F=A(F.target).closest(F.type==="vclick"?"a":"form"),G;F.length&&!F.jqmData("transition")&&(G=A.mobile.urlHistory.getActive()||{},F.attr("data-"+A.mobile.ns+"transition",G.transition||A.mobile.defaultDialogTransition).attr("data-"+A.mobile.ns+"direction","reverse"))}).bind("pagehide",function(){A(this).find("."+A.mobile.activeBtnClass).removeClass(A.mobile.activeBtnClass)})},close:function(){B.history.back()}});A(A.mobile.dialog.prototype.options.initSelector).live("pagecreate",function(){A(this).dialog()})})(jQuery,this);(function(A){A.mobile.page.prototype.options.backBtnText="Back";A.mobile.page.prototype.options.addBackBtn=false;A.mobile.page.prototype.options.backBtnTheme=null;A.mobile.page.prototype.options.headerTheme="a";A.mobile.page.prototype.options.footerTheme="a";A.mobile.page.prototype.options.contentTheme=null;A(":jqmData(role='page'), :jqmData(role='dialog')").live("pagecreate",function(){var D=A(this),B=D.data("page").options,E=D.jqmData("role"),C=B.theme;A(":jqmData(role='header'), :jqmData(role='footer'), :jqmData(role='content')",this).each(function(){var K=A(this),J=K.jqmData("role"),I=K.jqmData("theme"),H=I||B.contentTheme||E==="dialog"&&C,G;K.addClass("ui-"+J);if(J==="header"||J==="footer"){var F=I||(J==="header"?B.headerTheme:B.footerTheme)||C;K.addClass("ui-bar-"+F).attr("role",J==="header"?"banner":"contentinfo");I=K.children("a");H=I.hasClass("ui-btn-left");G=I.hasClass("ui-btn-right");H=H||I.eq(0).not(".ui-btn-right").addClass("ui-btn-left").length;G||I.eq(1).addClass("ui-btn-right");B.addBackBtn&&J==="header"&&A(".ui-page").length>1&&K.jqmData("url")!==A.mobile.path.stripHash(location.hash)&&!H&&A("<a href='#' class='ui-btn-left' data-"+A.mobile.ns+"rel='back' data-"+A.mobile.ns+"icon='arrow-l'>"+B.backBtnText+"</a>").attr("data-"+A.mobile.ns+"theme",B.backBtnTheme||F).prependTo(K);K.children("h1, h2, h3, h4, h5, h6").addClass("ui-title").attr({tabindex:"0",role:"heading","aria-level":"1"})}else{J==="content"&&(H&&K.addClass("ui-body-"+H),K.attr("role","main"))}})})})(jQuery);(function(A){A.widget("mobile.collapsible",A.mobile.widget,{options:{expandCueText:" click to expand contents",collapseCueText:" click to collapse contents",collapsed:true,heading:"h1,h2,h3,h4,h5,h6,legend",theme:null,contentTheme:null,iconTheme:"d",initSelector:":jqmData(role='collapsible')"},_create:function(){var E=this.element,B=this.options,F=E.addClass("ui-collapsible"),D=E.children(B.heading).first(),G=F.wrapInner("<div class='ui-collapsible-content'></div>").find(".ui-collapsible-content"),C=E.closest(":jqmData(role='collapsible-set')").addClass("ui-collapsible-set"),E=C.children(":jqmData(role='collapsible')");D.is("legend")&&(D=A("<div role='heading'>"+D.html()+"</div>").insertBefore(D),D.next().remove());if(C.length){if(!B.theme){B.theme=C.jqmData("theme")}if(!B.contentTheme){B.contentTheme=C.jqmData("content-theme")}}G.addClass(B.contentTheme?"ui-body-"+B.contentTheme:"");D.insertBefore(G).addClass("ui-collapsible-heading").append("<span class='ui-collapsible-heading-status'></span>").wrapInner("<a href='#' class='ui-collapsible-heading-toggle'></a>").find("a").first().buttonMarkup({shadow:false,corners:false,iconPos:"left",icon:"plus",theme:B.theme});C.length?(C.jqmData("collapsiblebound")||C.jqmData("collapsiblebound",true).bind("expand",function(H){A(H.target).closest(".ui-collapsible").siblings(".ui-collapsible").trigger("collapse")}),E.first().find("a").first().addClass("ui-corner-top").find(".ui-btn-inner").addClass("ui-corner-top"),E.last().jqmData("collapsible-last",true).find("a").first().addClass("ui-corner-bottom").find(".ui-btn-inner").addClass("ui-corner-bottom"),F.jqmData("collapsible-last")&&D.find("a").first().add(D.find(".ui-btn-inner")).addClass("ui-corner-bottom")):D.find("a").first().add(D.find(".ui-btn-inner")).addClass("ui-corner-top ui-corner-bottom");F.bind("expand collapse",function(J){if(!J.isDefaultPrevented()){J.preventDefault();var I=A(this),J=J.type==="collapse",H=B.contentTheme;D.toggleClass("ui-collapsible-heading-collapsed",J).find(".ui-collapsible-heading-status").text(J?B.expandCueText:B.collapseCueText).end().find(".ui-icon").toggleClass("ui-icon-minus",!J).toggleClass("ui-icon-plus",J);I.toggleClass("ui-collapsible-collapsed",J);G.toggleClass("ui-collapsible-content-collapsed",J).attr("aria-hidden",J);if(H&&(!C.length||F.jqmData("collapsible-last"))){D.find("a").first().add(D.find(".ui-btn-inner")).toggleClass("ui-corner-bottom",J),G.toggleClass("ui-corner-bottom",!J)}G.trigger("updatelayout")}}).trigger(B.collapsed?"collapse":"expand");D.bind("click",function(I){var H=D.is(".ui-collapsible-heading-collapsed")?"expand":"collapse";F.trigger(H);I.preventDefault()})}});A(document).bind("pagecreate create",function(B){A(A.mobile.collapsible.prototype.options.initSelector,B.target).collapsible()})})(jQuery);(function(A){A.fn.fieldcontain=function(){return this.addClass("ui-field-contain ui-body ui-br")};A(document).bind("pagecreate create",function(B){A(":jqmData(role='fieldcontain')",B.target).fieldcontain()})})(jQuery);(function(A){A.fn.grid=function(B){return this.each(function(){var C=A(this),F=A.extend({grid:null},B),E=C.children(),G={solo:1,a:2,b:3,c:4,d:5},F=F.grid;if(!F){if(E.length<=5){for(var D in G){G[D]===E.length&&(F=D)}}else{F="a"}}G=G[F];C.addClass("ui-grid-"+F);E.filter(":nth-child("+G+"n+1)").addClass("ui-block-a");G>1&&E.filter(":nth-child("+G+"n+2)").addClass("ui-block-b");G>2&&E.filter(":nth-child(3n+3)").addClass("ui-block-c");G>3&&E.filter(":nth-child(4n+4)").addClass("ui-block-d");G>4&&E.filter(":nth-child(5n+5)").addClass("ui-block-e")})}})(jQuery);(function(A,B){A.widget("mobile.navbar",A.mobile.widget,{options:{iconpos:"top",grid:null,initSelector:":jqmData(role='navbar')"},_create:function(){var C=this.element,E=C.find("a"),D=E.filter(":jqmData(icon)").length?this.options.iconpos:B;C.addClass("ui-navbar").attr("role","navigation").find("ul").grid({grid:this.options.grid});D||C.addClass("ui-navbar-noicons");E.buttonMarkup({corners:false,shadow:false,iconpos:D});C.delegate("a","vclick",function(){E.not(".ui-state-persist").removeClass(A.mobile.activeBtnClass);A(this).addClass(A.mobile.activeBtnClass)})}});A(document).bind("pagecreate create",function(C){A(A.mobile.navbar.prototype.options.initSelector,C.target).navbar()})})(jQuery);(function(A){var B={};A.widget("mobile.listview",A.mobile.widget,{options:{theme:null,countTheme:"c",headerTheme:"b",dividerTheme:"b",splitIcon:"arrow-r",splitTheme:"b",inset:false,initSelector:":jqmData(role='listview')"},_create:function(){var C=this;C.element.addClass(function(E,D){return D+" ui-listview "+(C.options.inset?" ui-listview-inset ui-corner-all ui-shadow ":"")});C.refresh(true)},_removeCorners:function(C,D){C=C.add(C.find(".ui-btn-inner, .ui-li-link-alt, .ui-li-thumb"));D==="top"?C.removeClass("ui-corner-top ui-corner-tr ui-corner-tl"):D==="bottom"?C.removeClass("ui-corner-bottom ui-corner-br ui-corner-bl"):C.removeClass("ui-corner-top ui-corner-tr ui-corner-tl ui-corner-bottom ui-corner-br ui-corner-bl")},_refreshCorners:function(C){var E,D;this.options.inset&&(E=this.element.children("li"),D=C?E.not(".ui-screen-hidden"):E.filter(":visible"),this._removeCorners(E),E=D.first().addClass("ui-corner-top"),E.add(E.find(".ui-btn-inner").not(".ui-li-link-alt span:first-child")).addClass("ui-corner-top").end().find(".ui-li-link-alt, .ui-li-link-alt span:first-child").addClass("ui-corner-tr").end().find(".ui-li-thumb").not(".ui-li-icon").addClass("ui-corner-tl"),D=D.last().addClass("ui-corner-bottom"),D.add(D.find(".ui-btn-inner")).find(".ui-li-link-alt").addClass("ui-corner-br").end().find(".ui-li-thumb").not(".ui-li-icon").addClass("ui-corner-bl"));C||this.element.trigger("updatelayout")},_findFirstElementByTagName:function(C,F,D,G){var E={};for(E[D]=E[G]=true;C;){if(E[C.nodeName]){return C}C=C[F]}return null},_getChildrenByTagName:function(C,F,D){var G=[],E={};E[F]=E[D]=true;for(C=C.firstChild;C;){E[C.nodeName]&&G.push(C),C=C.nextSibling}return A(G)},_addThumbClasses:function(C){var E,D,F=C.length;for(E=0;E<F;E++){D=A(this._findFirstElementByTagName(C[E].firstChild,"nextSibling","img","IMG")),D.length&&(D.addClass("ui-li-thumb"),A(this._findFirstElementByTagName(D[0].parentNode,"parentNode","li","LI")).addClass(D.is(".ui-li-icon")?"ui-li-has-icon":"ui-li-has-thumb"))}},refresh:function(R){this.parentPage=this.element.closest(".ui-page");this._createSubPages();var P=this.options,N=this.element,Q=N.jqmData("dividertheme")||P.dividerTheme,O=N.jqmData("splittheme"),M=N.jqmData("spliticon"),L=this._getChildrenByTagName(N[0],"li","LI"),J=A.support.cssPseudoElement||!A.nodeName(N[0],"ol")?0:1,I={},F,H,D,K,C;J&&N.find(".ui-li-dec").remove();if(!P.theme){P.theme=A.mobile.getInheritedTheme(this.element,"c")}for(var G=0,E=L.length;G<E;G++){F=L.eq(G);H="ui-li";if(R||!F.hasClass("ui-li")){D=F.jqmData("theme")||P.theme,K=this._getChildrenByTagName(F[0],"a","A"),K.length?(C=F.jqmData("icon"),F.buttonMarkup({wrapperEls:"div",shadow:false,corners:false,iconpos:"right",icon:K.length>1||C===false?false:C||"arrow-r",theme:D}),C!=false&&K.length==1&&F.addClass("ui-li-has-arrow"),K.first().addClass("ui-link-inherit"),K.length>1&&(H+=" ui-li-has-alt",K=K.last(),C=O||K.jqmData("theme")||P.splitTheme,K.appendTo(F).attr("title",K.getEncodedText()).addClass("ui-li-link-alt").empty().buttonMarkup({shadow:false,corners:false,theme:D,icon:false,iconpos:false}).find(".ui-btn-inner").append(A(document.createElement("span")).buttonMarkup({shadow:true,corners:true,theme:C,iconpos:"notext",icon:M||K.jqmData("icon")||P.splitIcon})))):F.jqmData("role")==="list-divider"?(H+=" ui-li-divider ui-btn ui-bar-"+Q,F.attr("role","heading"),J&&(J=1)):H+=" ui-li-static ui-body-"+D}J&&H.indexOf("ui-li-divider")<0&&(D=F.is(".ui-li-static:first")?F:F.find(".ui-link-inherit"),D.addClass("ui-li-jsnumbering").prepend("<span class='ui-li-dec'>"+J+++". </span>"));I[H]||(I[H]=[]);I[H].push(F[0])}for(H in I){A(I[H]).addClass(H).children(".ui-btn-inner").addClass(H)}N.find("h1, h2, h3, h4, h5, h6").addClass("ui-li-heading").end().find("p, dl").addClass("ui-li-desc").end().find(".ui-li-aside").each(function(){var S=A(this);S.prependTo(S.parent())}).end().find(".ui-li-count").each(function(){A(this).closest("li").addClass("ui-li-has-count")}).addClass("ui-btn-up-"+(N.jqmData("counttheme")||this.options.countTheme)+" ui-btn-corner-all");this._addThumbClasses(L);this._addThumbClasses(N.find(".ui-link-inherit"));this._refreshCorners(R)},_idStringEscape:function(C){return C.replace(/[^a-zA-Z0-9]/g,"-")},_createSubPages:function(){var L=this.element,J=L.closest(".ui-page"),I=J.jqmData("url"),K=I||J[0][A.expando],G=L.attr("id"),H=this.options,F="data-"+A.mobile.ns,E=this,D=J.find(":jqmData(role='footer')").jqmData("id"),C;typeof B[K]==="undefined"&&(B[K]=-1);G=G||++B[K];A(L.find("li>ul, li>ol").toArray().reverse()).each(function(S){var Q=A(this),O=Q.attr("id")||G+"-"+S,S=Q.parent(),N=A(Q.prevAll().toArray().reverse()),N=N.length?N:A("<span>"+A.trim(S.contents()[0].nodeValue)+"</span>"),R=N.first().getEncodedText(),O=(I||"")+"&"+A.mobile.subPageUrlKey+"="+O,M=Q.jqmData("theme")||H.theme,P=Q.jqmData("counttheme")||L.jqmData("counttheme")||H.countTheme;C=true;Q.detach().wrap("<div "+F+"role='page' "+F+"url='"+O+"' "+F+"theme='"+M+"' "+F+"count-theme='"+P+"'><div "+F+"role='content'></div></div>").parent().before("<div "+F+"role='header' "+F+"theme='"+H.headerTheme+"'><div class='ui-title'>"+R+"</div></div>").after(D?A("<div "+F+"role='footer' "+F+"id='"+D+"'>"):"").parent().appendTo(A.mobile.pageContainer).page();Q=S.find("a:first");Q.length||(Q=A("<a/>").html(N||R).prependTo(S.empty()));Q.attr("href","#"+O)}).listview();C&&J.is(":jqmData(external-page='true')")&&J.data("page").options.domCache===false&&J.unbind("pagehide.remove").bind("pagehide.remove",function(M,O){var N=O.nextPage;O.nextPage&&(N=N.jqmData("url"),N.indexOf(I+"&"+A.mobile.subPageUrlKey)!==0&&(E.childPages().remove(),J.remove()))})},childPages:function(){var C=this.parentPage.jqmData("url");return A(":jqmData(url^='"+C+"&"+A.mobile.subPageUrlKey+"')")}});A(document).bind("pagecreate create",function(C){A(A.mobile.listview.prototype.options.initSelector,C.target).listview()})})(jQuery);(function(A){A.mobile.listview.prototype.options.filter=false;A.mobile.listview.prototype.options.filterPlaceholder="Filter items...";A.mobile.listview.prototype.options.filterTheme="c";A.mobile.listview.prototype.options.filterCallback=function(C,B){return C.toLowerCase().indexOf(B)===-1};A(":jqmData(role='listview')").live("listviewcreate",function(){var C=A(this),B=C.data("listview");if(B.options.filter){var D=A("<form>",{"class":"ui-listview-filter ui-bar-"+B.options.filterTheme,role:"search"});A("<input>",{placeholder:B.options.filterPlaceholder}).attr("data-"+A.mobile.ns+"type","search").jqmData("lastval","").bind("keyup change",function(){var I=A(this),J=this.value.toLowerCase(),G=null,G=I.jqmData("lastval")+"",H=false,F="";I.jqmData("lastval",J);F=J.substr(0,G.length-1).replace(G,"");G=J.length<G.length||F.length!=J.length-G.length?C.children():C.children(":not(.ui-screen-hidden)");if(J){for(var E=G.length-1;E>=0;E--){I=A(G[E]),F=I.jqmData("filtertext")||I.text(),I.is("li:jqmData(role=list-divider)")?(I.toggleClass("ui-filter-hidequeue",!H),H=false):B.options.filterCallback(F,J)?I.toggleClass("ui-filter-hidequeue",true):H=true}G.filter(":not(.ui-filter-hidequeue)").toggleClass("ui-screen-hidden",false);G.filter(".ui-filter-hidequeue").toggleClass("ui-screen-hidden",true).toggleClass("ui-filter-hidequeue",false)}else{G.toggleClass("ui-screen-hidden",false)}B._refreshCorners()}).appendTo(D).textinput();A(this).jqmData("inset")&&D.addClass("ui-listview-filter-inset");D.bind("submit",function(){return false}).insertBefore(C)}})})(jQuery);(function(A){A(document).bind("pagecreate create",function(B){A(":jqmData(role='nojs')",B.target).addClass("ui-nojs")})})(jQuery);(function(A,B){A.widget("mobile.checkboxradio",A.mobile.widget,{options:{theme:null,initSelector:"input[type='checkbox'],input[type='radio']"},_create:function(){var C=this,H=this.element,G=H.closest("form,fieldset,:jqmData(role='page')").find("label[for='"+H[0].id+"']"),I=H.attr("type"),E=I+"-on",F=I+"-off",D=H.parents(":jqmData(type='horizontal')").length?B:F;if(!(I!=="checkbox"&&I!=="radio")){A.extend(this,{label:G,inputtype:I,checkedClass:"ui-"+E+(D?"":" "+A.mobile.activeBtnClass),uncheckedClass:"ui-"+F,checkedicon:"ui-icon-"+E,uncheckedicon:"ui-icon-"+F});if(!this.options.theme){this.options.theme=this.element.jqmData("theme")}G.buttonMarkup({theme:this.options.theme,icon:D,shadow:false});H.add(G).wrapAll("<div class='ui-"+I+"'></div>");G.bind({vmouseover:function(J){A(this).parent().is(".ui-disabled")&&J.stopPropagation()},vclick:function(J){if(H.is(":disabled")){J.preventDefault()}else{return C._cacheVals(),H.prop("checked",I==="radio"&&true||!H.prop("checked")),H.triggerHandler("click"),C._getInputSet().not(H).prop("checked",false),C._updateAll(),false}}});H.bind({vmousedown:function(){C._cacheVals()},vclick:function(){var J=A(this);J.is(":checked")?(J.prop("checked",true),C._getInputSet().not(J).prop("checked",false)):J.prop("checked",false);C._updateAll()},focus:function(){G.addClass("ui-focus")},blur:function(){G.removeClass("ui-focus")}});this.refresh()}},_cacheVals:function(){this._getInputSet().each(function(){var C=A(this);C.jqmData("cacheVal",C.is(":checked"))})},_getInputSet:function(){return this.inputtype=="checkbox"?this.element:this.element.closest("form,fieldset,:jqmData(role='page')").find("input[name='"+this.element.attr("name")+"'][type='"+this.inputtype+"']")},_updateAll:function(){var C=this;this._getInputSet().each(function(){var D=A(this);(D.is(":checked")||C.inputtype==="checkbox")&&D.trigger("change")}).checkboxradio("refresh")},refresh:function(){var C=this.element,E=this.label,D=E.find(".ui-icon");A(C[0]).prop("checked")?(E.addClass(this.checkedClass).removeClass(this.uncheckedClass),D.addClass(this.checkedicon).removeClass(this.uncheckedicon)):(E.removeClass(this.checkedClass).addClass(this.uncheckedClass),D.removeClass(this.checkedicon).addClass(this.uncheckedicon));C.is(":disabled")?this.disable():this.enable()},disable:function(){this.element.prop("disabled",true).parent().addClass("ui-disabled")},enable:function(){this.element.prop("disabled",false).parent().removeClass("ui-disabled")}});A(document).bind("pagecreate create",function(C){A.mobile.checkboxradio.prototype.enhanceWithin(C.target)})})(jQuery);(function(A,B){A.widget("mobile.button",A.mobile.widget,{options:{theme:null,icon:null,iconpos:null,inline:null,corners:true,shadow:true,iconshadow:true,initSelector:"button, [type='button'], [type='submit'], [type='reset'], [type='image']"},_create:function(){var C=this.element,E=this.options,D,F;this.button=A("<div></div>").text(C.text()||C.val()).insertBefore(C).buttonMarkup({theme:E.theme,icon:E.icon,iconpos:E.iconpos,inline:E.inline,corners:E.corners,shadow:E.shadow,iconshadow:E.iconshadow}).append(C.addClass("ui-btn-hidden"));E=C.attr("type");D=C.attr("name");E!=="button"&&E!=="reset"&&D&&C.bind("vclick",function(){F===B&&(F=A("<input>",{type:"hidden",name:C.attr("name"),value:C.attr("value")}).insertBefore(C),A(document).one("submit",function(){F.remove();F=B}))});this.refresh()},enable:function(){this.element.attr("disabled",false);this.button.removeClass("ui-disabled").attr("aria-disabled",false);return this._setOption("disabled",false)},disable:function(){this.element.attr("disabled",true);this.button.addClass("ui-disabled").attr("aria-disabled",true);return this._setOption("disabled",true)},refresh:function(){var C=this.element;C.prop("disabled")?this.disable():this.enable();this.button.data("textWrapper").text(C.text()||C.val())}});A(document).bind("pagecreate create",function(C){A.mobile.button.prototype.enhanceWithin(C.target)})})(jQuery);(function(A,B){A.widget("mobile.slider",A.mobile.widget,{options:{theme:null,trackTheme:null,disabled:false,initSelector:"input[type='range'], :jqmData(type='range'), :jqmData(role='slider')"},_create:function(){var P=this,N=this.element,M=A.mobile.getInheritedTheme(N,"c"),O=this.options.theme||M,K=this.options.trackTheme||M,L=N[0].nodeName.toLowerCase(),M=L=="select"?"ui-slider-switch":"",J=N.attr("id"),H=J+"-label",J=A("[for='"+J+"']").attr("id",H),G=function(){return L=="input"?parseFloat(N.val()):N[0].selectedIndex},E=L=="input"?parseFloat(N.attr("min")):0,F=L=="input"?parseFloat(N.attr("max")):N.find("option").length-1,D=window.parseFloat(N.attr("step")||1),I=A("<div class='ui-slider "+M+" ui-btn-down-"+K+" ui-btn-corner-all' role='application'></div>"),C=A("<a href='#' class='ui-slider-handle'></a>").appendTo(I).buttonMarkup({corners:true,theme:O,shadow:true}).attr({role:"slider","aria-valuemin":E,"aria-valuemax":F,"aria-valuenow":G(),"aria-valuetext":G(),title:G(),"aria-labelledby":H});A.extend(this,{slider:I,handle:C,dragging:false,beforeStart:null,userModified:false,mouseMoved:false});L=="select"&&(I.wrapInner("<div class='ui-slider-inneroffset'></div>"),C.addClass("ui-slider-handle-snapping"),N.find("option"),N.find("option").each(function(Q){var S=!Q?"b":"a",R=!Q?"right":"left",Q=!Q?" ui-btn-down-"+K:" "+A.mobile.activeBtnClass;A("<div class='ui-slider-labelbg ui-slider-labelbg-"+S+Q+" ui-btn-corner-"+R+"'></div>").prependTo(I);A("<span class='ui-slider-label ui-slider-label-"+S+Q+" ui-btn-corner-"+R+"' role='img'>"+A(this).getEncodedText()+"</span>").prependTo(C)}));J.addClass("ui-slider");N.addClass(L==="input"?"ui-slider-input":"ui-slider-switch").change(function(){P.mouseMoved||P.refresh(G(),true)}).keyup(function(){P.refresh(G(),true,true)}).blur(function(){P.refresh(G(),true)});A(document).bind("vmousemove",function(Q){if(P.dragging){return P.mouseMoved=true,L==="select"&&C.removeClass("ui-slider-handle-snapping"),P.refresh(Q),P.userModified=P.beforeStart!==N[0].selectedIndex,false}});I.bind("vmousedown",function(Q){P.dragging=true;P.userModified=false;P.mouseMoved=false;if(L==="select"){P.beforeStart=N[0].selectedIndex}P.refresh(Q);return false});I.add(document).bind("vmouseup",function(){if(P.dragging){return P.dragging=false,L==="select"&&(C.addClass("ui-slider-handle-snapping"),P.mouseMoved?P.userModified?P.refresh(P.beforeStart==0?1:0):P.refresh(P.beforeStart):P.refresh(P.beforeStart==0?1:0)),P.mouseMoved=false}});I.insertAfter(N);this.handle.bind("vmousedown",function(){A(this).focus()}).bind("vclick",false);this.handle.bind("keydown",function(R){var Q=G();if(!P.options.disabled){switch(R.keyCode){case A.mobile.keyCode.HOME:case A.mobile.keyCode.END:case A.mobile.keyCode.PAGE_UP:case A.mobile.keyCode.PAGE_DOWN:case A.mobile.keyCode.UP:case A.mobile.keyCode.RIGHT:case A.mobile.keyCode.DOWN:case A.mobile.keyCode.LEFT:if(R.preventDefault(),!P._keySliding){P._keySliding=true,A(this).addClass("ui-state-active")}}switch(R.keyCode){case A.mobile.keyCode.HOME:P.refresh(E);break;case A.mobile.keyCode.END:P.refresh(F);break;case A.mobile.keyCode.PAGE_UP:case A.mobile.keyCode.UP:case A.mobile.keyCode.RIGHT:P.refresh(Q+D);break;case A.mobile.keyCode.PAGE_DOWN:case A.mobile.keyCode.DOWN:case A.mobile.keyCode.LEFT:P.refresh(Q-D)}}}).keyup(function(){if(P._keySliding){P._keySliding=false,A(this).removeClass("ui-state-active")}});this.refresh(B,B,true)},refresh:function(C,I,G){(this.options.disabled||this.element.attr("disabled"))&&this.disable();var J=this.element,H,F=J[0].nodeName.toLowerCase(),E=F==="input"?parseFloat(J.attr("min")):0,D=F==="input"?parseFloat(J.attr("max")):J.find("option").length-1;if(typeof C==="object"){if(!this.dragging||C.pageX<this.slider.offset().left-8||C.pageX>this.slider.offset().left+this.slider.width()+8){return }H=Math.round((C.pageX-this.slider.offset().left)/this.slider.width()*100)}else{C==null&&(C=F==="input"?parseFloat(J.val()):J[0].selectedIndex),H=(parseFloat(C)-E)/(D-E)*100}if(!isNaN(H)&&(H<0&&(H=0),H>100&&(H=100),C=Math.round(H/100*(D-E))+E,C<E&&(C=E),C>D&&(C=D),this.handle.css("left",H+"%"),this.handle.attr({"aria-valuenow":F==="input"?C:J.find("option").eq(C).attr("value"),"aria-valuetext":F==="input"?C:J.find("option").eq(C).getEncodedText(),title:C}),F==="select"&&(C===0?this.slider.addClass("ui-slider-switch-a").removeClass("ui-slider-switch-b"):this.slider.addClass("ui-slider-switch-b").removeClass("ui-slider-switch-a")),!G)){G=false,F==="input"?(G=J.val()!==C,J.val(C)):(G=J[0].selectedIndex!==C,J[0].selectedIndex=C),!I&&G&&J.trigger("change")}},enable:function(){this.element.attr("disabled",false);this.slider.removeClass("ui-disabled").attr("aria-disabled",false);return this._setOption("disabled",false)},disable:function(){this.element.attr("disabled",true);this.slider.addClass("ui-disabled").attr("aria-disabled",true);return this._setOption("disabled",true)}});A(document).bind("pagecreate create",function(C){A.mobile.slider.prototype.enhanceWithin(C.target)})})(jQuery);(function(A){A.widget("mobile.textinput",A.mobile.widget,{options:{theme:null,initSelector:"input[type='text'], input[type='search'], :jqmData(type='search'), input[type='number'], :jqmData(type='number'), input[type='password'], input[type='email'], input[type='url'], input[type='tel'], textarea, input[type='time'], input[type='date'], input[type='month'], input[type='week'], input[type='datetime'], input[type='datetime-local'], input[type='color'], input:not([type])"},_create:function(){var F=this.element,B=this.options.theme||A.mobile.getInheritedTheme(this.element,"c"),G=" ui-body-"+B,E,H;A("label[for='"+F.attr("id")+"']").addClass("ui-input-text");E=F.addClass("ui-input-text ui-body-"+B);typeof F[0].autocorrect!=="undefined"&&!A.support.touchOverflow&&(F[0].setAttribute("autocorrect","off"),F[0].setAttribute("autocomplete","off"));F.is("[type='search'],:jqmData(type='search')")?(E=F.wrap("<div class='ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-searchfield"+G+"'></div>").parent(),H=A("<a href='#' class='ui-input-clear' title='clear text'>clear text</a>").tap(function(I){F.val("").focus();F.trigger("change");H.addClass("ui-input-clear-hidden");I.preventDefault()}).appendTo(E).buttonMarkup({icon:"delete",iconpos:"notext",corners:true,shadow:true}),B=function(){setTimeout(function(){H.toggleClass("ui-input-clear-hidden",!F.val())},0)},B(),F.bind("paste cut keyup focus change blur",B)):F.addClass("ui-corner-all ui-shadow-inset"+G);F.focus(function(){E.addClass("ui-focus")}).blur(function(){E.removeClass("ui-focus")});if(F.is("textarea")){var C=function(){var I=F[0].scrollHeight;F[0].clientHeight<I&&F.height(I+15)},D;F.keyup(function(){clearTimeout(D);D=setTimeout(C,100)});A.trim(F.val())&&(A(window).load(C),A(document).one("pagechange",C))}},disable:function(){(this.element.attr("disabled",true).is("[type='search'],:jqmData(type='search')")?this.element.parent():this.element).addClass("ui-disabled")},enable:function(){(this.element.attr("disabled",false).is("[type='search'],:jqmData(type='search')")?this.element.parent():this.element).removeClass("ui-disabled")}});A(document).bind("pagecreate create",function(B){A.mobile.textinput.prototype.enhanceWithin(B.target)})})(jQuery);(function(A){var B=function(S){var P=S.selectID,N=S.label,R=S.select.closest(".ui-page"),O=A("<div>",{"class":"ui-selectmenu-screen ui-screen-hidden"}).appendTo(R),M=S._selectOptions(),L=S.isMultiple=S.select[0].multiple,J=P+"-button",I=P+"-menu",F=A("<div data-"+A.mobile.ns+"role='dialog' data-"+A.mobile.ns+"theme='"+S.options.theme+"' data-"+A.mobile.ns+"overlay-theme='"+S.options.overlayTheme+"'><div data-"+A.mobile.ns+"role='header'><div class='ui-title'>"+N.getEncodedText()+"</div></div><div data-"+A.mobile.ns+"role='content'></div></div>").appendTo(A.mobile.pageContainer).page(),H=A("<div>",{"class":"ui-selectmenu ui-selectmenu-hidden ui-overlay-shadow ui-corner-all ui-body-"+S.options.overlayTheme+" "+A.mobile.defaultDialogTransition}).insertAfter(O),D=A("<ul>",{"class":"ui-selectmenu-list",id:I,role:"listbox","aria-labelledby":J}).attr("data-"+A.mobile.ns+"theme",S.options.theme).appendTo(H),K=A("<div>",{"class":"ui-header ui-bar-"+S.options.theme}).prependTo(H),C=A("<h1>",{"class":"ui-title"}).appendTo(K),G=A("<a>",{text:S.options.closeText,href:"#","class":"ui-btn-left"}).attr("data-"+A.mobile.ns+"iconpos","notext").attr("data-"+A.mobile.ns+"icon","delete").appendTo(K).buttonMarkup(),E=F.find(".ui-content"),Q=F.find(".ui-header a");A.extend(S,{select:S.select,selectID:P,buttonId:J,menuId:I,thisPage:R,menuPage:F,label:N,screen:O,selectOptions:M,isMultiple:L,theme:S.options.theme,listbox:H,list:D,header:K,headerTitle:C,headerClose:G,menuPageContent:E,menuPageClose:Q,placeholder:"",build:function(){var T=this;T.refresh();T.select.attr("tabindex","-1").focus(function(){A(this).blur();T.button.focus()});T.button.bind("vclick keydown",function(U){if(U.type=="vclick"||U.keyCode&&(U.keyCode===A.mobile.keyCode.ENTER||U.keyCode===A.mobile.keyCode.SPACE)){T.open(),U.preventDefault()}});T.list.attr("role","listbox").delegate(".ui-li>a","focusin",function(){A(this).attr("tabindex","0")}).delegate(".ui-li>a","focusout",function(){A(this).attr("tabindex","-1")}).delegate("li:not(.ui-disabled, .ui-li-divider)","click",function(X){var W=T.select[0].selectedIndex,U=T.list.find("li:not(.ui-li-divider)").index(this),V=T._selectOptions().eq(U)[0];V.selected=T.isMultiple?!V.selected:true;T.isMultiple&&A(this).find(".ui-icon").toggleClass("ui-icon-checkbox-on",V.selected).toggleClass("ui-icon-checkbox-off",!V.selected);(T.isMultiple||W!==U)&&T.select.trigger("change");T.isMultiple||T.close();X.preventDefault()}).keydown(function(U){var W=A(U.target),V=W.closest("li");switch(U.keyCode){case 38:return U=V.prev(),U.length&&(W.blur().attr("tabindex","-1"),U.find("a").first().focus()),false;case 40:return U=V.next(),U.length&&(W.blur().attr("tabindex","-1"),U.find("a").first().focus()),false;case 13:case 32:return W.trigger("click"),false}});T.menuPage.bind("pagehide",function(){T.list.appendTo(T.listbox);T._focusButton();A.mobile._bindPageRemove.call(T.thisPage)});T.screen.bind("vclick",function(){T.close()});T.headerClose.click(function(){if(T.menuType=="overlay"){return T.close(),false}});T.thisPage.addDependents(this.menuPage)},_isRebuildRequired:function(){var T=this.list.find("li");return this._selectOptions().text()!==T.text()},refresh:function(T){var V=this;this._selectOptions();this.selected();var U=this.selectedIndices();(T||this._isRebuildRequired())&&V._buildList();V.setButtonText();V.setButtonCount();V.list.find("li:not(.ui-li-divider)").removeClass(A.mobile.activeBtnClass).attr("aria-selected",false).each(function(W){A.inArray(W,U)>-1&&(W=A(this),W.attr("aria-selected",true),V.isMultiple?W.find(".ui-icon").removeClass("ui-icon-checkbox-off").addClass("ui-icon-checkbox-on"):W.addClass(A.mobile.activeBtnClass))})},close:function(){if(!this.options.disabled&&this.isOpen){this.menuType=="page"?window.history.back():(this.screen.addClass("ui-screen-hidden"),this.listbox.addClass("ui-selectmenu-hidden").removeAttr("style").removeClass("in"),this.list.appendTo(this.listbox),this._focusButton()),this.isOpen=false}},open:function(){if(!this.options.disabled){var T=this,Z=T.list.parent().outerHeight(),Y=T.list.parent().outerWidth(),W=A(".ui-page-active"),X=A.support.touchOverflow&&A.mobile.touchOverflowEnabled,W=W.is(".ui-native-fixed")?W.find(".ui-content"):W;scrollTop=X?W.scrollTop():A(window).scrollTop();btnOffset=T.button.offset().top;screenHeight=window.innerHeight;screenWidth=window.innerWidth;T.button.addClass(A.mobile.activeBtnClass);setTimeout(function(){T.button.removeClass(A.mobile.activeBtnClass)},300);if(Z>screenHeight-80||!A.support.scrollTop){T.thisPage.unbind("pagehide.remove");if(scrollTop==0&&btnOffset>screenHeight){T.thisPage.one("pagehide",function(){A(this).jqmData("lastScroll",btnOffset)})}T.menuPage.one("pageshow",function(){A(window).one("silentscroll",function(){T.list.find(A.mobile.activeBtnClass).focus()});T.isOpen=true});T.menuType="page";T.menuPageContent.append(T.list);T.menuPage.find("div .ui-title").text(T.label.text());A.mobile.changePage(T.menuPage,{transition:A.mobile.defaultDialogTransition})}else{T.menuType="overlay";T.screen.height(A(document).height()).removeClass("ui-screen-hidden");var W=btnOffset-scrollTop,U=scrollTop+screenHeight-btnOffset,V=Z/2,X=parseFloat(T.list.parent().css("max-width")),Z=W>Z/2&&U>Z/2?btnOffset+T.button.outerHeight()/2-V:W>U?scrollTop+screenHeight-Z-30:scrollTop+30;Y<X?X=(screenWidth-Y)/2:(X=T.button.offset().left+T.button.outerWidth()/2-Y/2,X<30?X=30:X+Y>screenWidth&&(X=screenWidth-Y-30));T.listbox.append(T.list).removeClass("ui-selectmenu-hidden").css({top:Z,left:X}).addClass("in");T.list.find(A.mobile.activeBtnClass).focus();T.isOpen=true}}},_buildList:function(){var T=this,Y=this.options,X=this.placeholder,V=[],W=[],U=T.isMultiple?"checkbox-off":"false";T.list.empty().filter(".ui-listview").listview("destroy");T.select.find("option").each(function(d){var b=A(this),c=b.parent(),Z=b.getEncodedText(),e="<a href='#'>"+Z+"</a>",a=[],f=[];c.is("optgroup")&&(c=c.attr("label"),A.inArray(c,V)===-1&&(W.push("<li data-"+A.mobile.ns+"role='list-divider'>"+c+"</li>"),V.push(c)));if(!this.getAttribute("value")||Z.length==0||b.jqmData("placeholder")){Y.hidePlaceholderMenuItems&&a.push("ui-selectmenu-placeholder"),X=T.placeholder=Z}this.disabled&&(a.push("ui-disabled"),f.push("aria-disabled='true'"));W.push("<li data-"+A.mobile.ns+"option-index='"+d+"' data-"+A.mobile.ns+"icon='"+U+"' class='"+a.join(" ")+"' "+f.join(" ")+">"+e+"</li>")});T.list.html(W.join(" "));T.list.find("li").attr({role:"option",tabindex:"-1"}).first().attr("tabindex","0");this.isMultiple||this.headerClose.hide();!this.isMultiple&&!X.length?this.header.hide():this.headerTitle.text(this.placeholder);T.list.listview()},_button:function(){return A("<a>",{href:"#",role:"button",id:this.buttonId,"aria-haspopup":"true","aria-owns":this.menuId})}})};A("select").live("selectmenubeforecreate",function(){var C=A(this).data("selectmenu");C.options.nativeMenu||B(C)})})(jQuery);(function(A){A.widget("mobile.selectmenu",A.mobile.widget,{options:{theme:null,disabled:false,icon:"arrow-d",iconpos:"right",inline:null,corners:true,shadow:true,iconshadow:true,menuPageTheme:"b",overlayTheme:"a",hidePlaceholderMenuItems:true,closeText:"Close",nativeMenu:true,initSelector:"select:not(:jqmData(role='slider'))"},_button:function(){return A("<div/>")},_setDisabled:function(B){this.element.attr("disabled",B);this.button.attr("aria-disabled",B);return this._setOption("disabled",B)},_focusButton:function(){var B=this;setTimeout(function(){B.button.focus()},40)},_selectOptions:function(){return this.select.find("option")},_preExtension:function(){this.select=this.element.wrap("<div class='ui-select'>");this.selectID=this.select.attr("id");this.label=A("label[for='"+this.selectID+"']").addClass("ui-select");this.isMultiple=this.select[0].multiple;if(!this.options.theme){this.options.theme=A.mobile.getInheritedTheme(this.select,"c")}},_create:function(){this._preExtension();this._trigger("beforeCreate");this.button=this._button();var C=this,B=this.options,D=this.button.text(A(this.select[0].options.item(this.select[0].selectedIndex==-1?0:this.select[0].selectedIndex)).text()).insertBefore(this.select).buttonMarkup({theme:B.theme,icon:B.icon,iconpos:B.iconpos,inline:B.inline,corners:B.corners,shadow:B.shadow,iconshadow:B.iconshadow});B.nativeMenu&&window.opera&&window.opera.version&&this.select.addClass("ui-select-nativeonly");if(this.isMultiple){this.buttonCount=A("<span>").addClass("ui-li-count ui-btn-up-c ui-btn-corner-all").hide().appendTo(D.addClass("ui-li-has-count"))}(B.disabled||this.element.attr("disabled"))&&this.disable();this.select.change(function(){C.refresh()});this.build()},build:function(){var B=this;this.select.appendTo(B.button).bind("vmousedown",function(){B.button.addClass(A.mobile.activeBtnClass)}).bind("focus vmouseover",function(){B.button.trigger("vmouseover")}).bind("vmousemove",function(){B.button.removeClass(A.mobile.activeBtnClass)}).bind("change blur vmouseout",function(){B.button.trigger("vmouseout").removeClass(A.mobile.activeBtnClass)}).bind("change blur",function(){B.button.removeClass("ui-btn-down-"+B.options.theme)})},selected:function(){return this._selectOptions().filter(":selected")},selectedIndices:function(){var B=this;return this.selected().map(function(){return B._selectOptions().index(this)}).get()},setButtonText:function(){var C=this,B=this.selected();this.button.find(".ui-btn-text").text(function(){return !C.isMultiple?B.text():B.length?B.map(function(){return A(this).text()}).get().join(", "):C.placeholder})},setButtonCount:function(){var B=this.selected();this.isMultiple&&this.buttonCount[B.length>1?"show":"hide"]().text(B.length)},refresh:function(){this.setButtonText();this.setButtonCount()},open:A.noop,close:A.noop,disable:function(){this._setDisabled(true);this.button.addClass("ui-disabled")},enable:function(){this._setDisabled(false);this.button.removeClass("ui-disabled")}});A(document).bind("pagecreate create",function(B){A.mobile.selectmenu.prototype.enhanceWithin(B.target)})})(jQuery);(function(B,C){function A(E){for(var F;E;){if((F=typeof E.className==="string"&&E.className.split(" "))&&B.inArray("ui-btn",F)>-1&&B.inArray("ui-disabled",F)<0){break}E=E.parentNode}return E}B.fn.buttonMarkup=function(O){for(var O=O||{},N=0;N<this.length;N++){var L=this.eq(N),M=L[0],K=B.extend({},B.fn.buttonMarkup.defaults,{icon:O.icon!==C?O.icon:L.jqmData("icon"),iconpos:O.iconpos!==C?O.iconpos:L.jqmData("iconpos"),theme:O.theme!==C?O.theme:L.jqmData("theme"),inline:O.inline!==C?O.inline:L.jqmData("inline"),shadow:O.shadow!==C?O.shadow:L.jqmData("shadow"),corners:O.corners!==C?O.corners:L.jqmData("corners"),iconshadow:O.iconshadow!==C?O.iconshadow:L.jqmData("iconshadow")},O),I="ui-btn-inner",H,F,G=document.createElement(K.wrapperEls),E=document.createElement(K.wrapperEls),J=K.icon?document.createElement("span"):null;D&&D();if(!K.theme){K.theme=B.mobile.getInheritedTheme(L,"c")}H="ui-btn ui-btn-up-"+K.theme;K.inline&&(H+=" ui-btn-inline");if(K.icon){K.icon="ui-icon-"+K.icon,K.iconpos=K.iconpos||"left",F="ui-icon "+K.icon,K.iconshadow&&(F+=" ui-icon-shadow")}K.iconpos&&(H+=" ui-btn-icon-"+K.iconpos,K.iconpos=="notext"&&!L.attr("title")&&L.attr("title",L.getEncodedText()));K.corners&&(H+=" ui-btn-corner-all",I+=" ui-btn-corner-all");K.shadow&&(H+=" ui-shadow");M.setAttribute("data-"+B.mobile.ns+"theme",K.theme);L.addClass(H);G.className=I;G.setAttribute("aria-hidden","true");E.className="ui-btn-text";G.appendChild(E);if(J){J.className=F,G.appendChild(J)}for(;M.firstChild;){E.appendChild(M.firstChild)}M.appendChild(G);B.data(M,"textWrapper",B(E))}return this};B.fn.buttonMarkup.defaults={corners:true,shadow:true,iconshadow:true,inline:false,wrapperEls:"span"};var D=function(){B(document).bind({vmousedown:function(E){var E=A(E.target),F;E&&(E=B(E),F=E.attr("data-"+B.mobile.ns+"theme"),E.removeClass("ui-btn-up-"+F).addClass("ui-btn-down-"+F))},"vmousecancel vmouseup":function(E){var E=A(E.target),F;E&&(E=B(E),F=E.attr("data-"+B.mobile.ns+"theme"),E.removeClass("ui-btn-down-"+F).addClass("ui-btn-up-"+F))},"vmouseover focus":function(E){var E=A(E.target),F;E&&(E=B(E),F=E.attr("data-"+B.mobile.ns+"theme"),E.removeClass("ui-btn-up-"+F).addClass("ui-btn-hover-"+F))},"vmouseout blur":function(E){var E=A(E.target),F;E&&(E=B(E),F=E.attr("data-"+B.mobile.ns+"theme"),E.removeClass("ui-btn-hover-"+F+" ui-btn-down-"+F).addClass("ui-btn-up-"+F))}});D=null};B(document).bind("pagecreate create",function(E){B(":jqmData(role='button'), .ui-bar > a, .ui-header > a, .ui-footer > a, .ui-bar > :jqmData(role='controlgroup') > a",E.target).not(".ui-btn, :jqmData(role='none'), :jqmData(role='nojs')").buttonMarkup()})})(jQuery);(function(A){A.fn.controlgroup=function(B){return this.each(function(){function C(H){H.removeClass("ui-btn-corner-all ui-shadow").eq(0).addClass(D[0]).end().last().addClass(D[1]).addClass("ui-controlgroup-last")}var F=A(this),E=A.extend({direction:F.jqmData("type")||"vertical",shadow:false,excludeInvisible:true},B),G=F.children("legend"),D=E.direction=="horizontal"?["ui-corner-left","ui-corner-right"]:["ui-corner-top","ui-corner-bottom"];F.find("input").first().attr("type");G.length&&(F.wrapInner("<div class='ui-controlgroup-controls'></div>"),A("<div role='heading' class='ui-controlgroup-label'>"+G.html()+"</div>").insertBefore(F.children(0)),G.remove());F.addClass("ui-corner-all ui-controlgroup ui-controlgroup-"+E.direction);C(F.find(".ui-btn"+(E.excludeInvisible?":visible":"")));C(F.find(".ui-btn-inner"));E.shadow&&F.addClass("ui-shadow")})};A(document).bind("pagecreate create",function(B){A(":jqmData(role='controlgroup')",B.target).controlgroup({excludeInvisible:false})})})(jQuery);(function(A){A(document).bind("pagecreate create",function(B){A(B.target).find("a").not(".ui-btn, .ui-link-inherit, :jqmData(role='none'), :jqmData(role='nojs')").addClass("ui-link")})})(jQuery);(function(A,B){A.fn.fixHeaderFooter=function(){return !A.support.scrollTop||A.support.touchOverflow&&A.mobile.touchOverflowEnabled?this:this.each(function(){var C=A(this);C.jqmData("fullscreen")&&C.addClass("ui-page-fullscreen");C.find(".ui-header:jqmData(position='fixed')").addClass("ui-header-fixed ui-fixed-inline fade");C.find(".ui-footer:jqmData(position='fixed')").addClass("ui-footer-fixed ui-fixed-inline fade")})};A.mobile.fixedToolbars=function(){function L(){!F&&H==="overlay"&&(G||A.mobile.fixedToolbars.hide(true),A.mobile.fixedToolbars.startShowTimer())}function J(N){var M=0,P,O;if(N){O=document.body;P=N.offsetParent;for(M=N.offsetTop;N&&N!=O;){M+=N.scrollTop||0;if(N==P){M+=P.offsetTop,P=N.offsetParent}N=N.parentNode}}return M}function I(M){var S=A(window).scrollTop(),R=J(M[0]),Q=M.css("top")=="auto"?0:parseFloat(M.css("top")),O=window.innerHeight,P=M.outerHeight(),N=M.parents(".ui-page:not(.ui-page-fullscreen)").length;return M.is(".ui-header-fixed")?(Q=S-R+Q,Q<R&&(Q=0),M.css("top",N?Q:S)):M.css("top",N?S+O-P-(R-Q):S+O-P)}if(A.support.scrollTop&&(!A.support.touchOverflow||!A.mobile.touchOverflowEnabled)){var K,G,H="inline",F=false,E=null,D=false,C=true;A(function(){var N=A(document),M=A(window);N.bind("vmousedown",function(){C&&(E=H)}).bind("vclick",function(O){C&&!A(O.target).closest("a,input,textarea,select,button,label,.ui-header-fixed,.ui-footer-fixed").length&&!D&&(A.mobile.fixedToolbars.toggle(E),E=null)}).bind("silentscroll",L);(N.scrollTop()===0?M:N).bind("scrollstart",function(){D=true;E===null&&(E=H);var O=E=="overlay";if(F=O||!!G){A.mobile.fixedToolbars.clearShowTimer(),O&&A.mobile.fixedToolbars.hide(true)}}).bind("scrollstop",function(O){A(O.target).closest("a,input,textarea,select,button,label,.ui-header-fixed,.ui-footer-fixed").length||(D=false,F&&(A.mobile.fixedToolbars.startShowTimer(),F=false),E=null)});M.bind("resize updatelayout",L)});A(".ui-page").live("pagebeforeshow",function(M,Q){var P=A(M.target).find(":jqmData(role='footer')"),N=P.data("id"),O=Q.prevPage,O=O&&O.find(":jqmData(role='footer')"),O=O.length&&O.jqmData("id")===N;N&&O&&(K=P,I(K.removeClass("fade in out").appendTo(A.mobile.pageContainer)))}).live("pageshow",function(){var M=A(this);K&&K.length&&setTimeout(function(){I(K.appendTo(M).addClass("fade"));K=null},500);A.mobile.fixedToolbars.show(true,this)});A(".ui-collapsible-contain").live("collapse expand",L);return{show:function(M,N){A.mobile.fixedToolbars.clearShowTimer();H="overlay";return(N?A(N):A.mobile.activePage?A.mobile.activePage:A(".ui-page-active")).children(".ui-header-fixed:first, .ui-footer-fixed:not(.ui-footer-duplicate):last").each(function(){var S=A(this),R=A(window).scrollTop(),P=J(S[0]),Q=window.innerHeight,O=S.outerHeight(),R=S.is(".ui-header-fixed")&&R<=P+O||S.is(".ui-footer-fixed")&&P<=R+Q;S.addClass("ui-fixed-overlay").removeClass("ui-fixed-inline");!R&&!M&&S.animationComplete(function(){S.removeClass("in")}).addClass("in");I(S)})},hide:function(M){H="inline";return(A.mobile.activePage?A.mobile.activePage:A(".ui-page-active")).children(".ui-header-fixed:first, .ui-footer-fixed:not(.ui-footer-duplicate):last").each(function(){var O=A(this),N=O.css("top"),N=N=="auto"?0:parseFloat(N);O.addClass("ui-fixed-inline").removeClass("ui-fixed-overlay");if(N<0||O.is(".ui-header-fixed")&&N!==0){M?O.css("top",0):O.css("top")!=="auto"&&parseFloat(O.css("top"))!==0&&O.animationComplete(function(){O.removeClass("out reverse").css("top",0)}).addClass("out reverse")}})},startShowTimer:function(){A.mobile.fixedToolbars.clearShowTimer();var M=[].slice.call(arguments);G=setTimeout(function(){G=B;A.mobile.fixedToolbars.show.apply(null,M)},100)},clearShowTimer:function(){G&&clearTimeout(G);G=B},toggle:function(M){M&&(H=M);return H==="overlay"?A.mobile.fixedToolbars.hide():A.mobile.fixedToolbars.show()},setTouchToggleEnabled:function(M){C=M}}}}();A(document).bind("pagecreate create",function(C){A(":jqmData(position='fixed')",C.target).length&&A(C.target).each(function(){if(!A.support.scrollTop||A.support.touchOverflow&&A.mobile.touchOverflowEnabled){return this}var D=A(this);D.jqmData("fullscreen")&&D.addClass("ui-page-fullscreen");D.find(".ui-header:jqmData(position='fixed')").addClass("ui-header-fixed ui-fixed-inline fade");D.find(".ui-footer:jqmData(position='fixed')").addClass("ui-footer-fixed ui-fixed-inline fade")})})})(jQuery);(function(A){A.mobile.touchOverflowEnabled=false;A.mobile.touchOverflowZoomEnabled=false;A(document).bind("pagecreate",function(B){A.support.touchOverflow&&A.mobile.touchOverflowEnabled&&(B=A(B.target),B.is(":jqmData(role='page')")&&B.each(function(){var C=A(this),E=C.find(":jqmData(role='header'), :jqmData(role='footer')").filter(":jqmData(position='fixed')"),D=C.jqmData("fullscreen"),F=E.length?C.find(".ui-content"):C;C.addClass("ui-mobile-touch-overflow");F.bind("scrollstop",function(){F.scrollTop()>0&&window.scrollTo(0,A.mobile.defaultHomeScroll)});E.length&&(C.addClass("ui-native-fixed"),D&&(C.addClass("ui-native-fullscreen"),E.addClass("fade in"),A(document).bind("vclick",function(){E.removeClass("ui-native-bars-hidden").toggleClass("in out").animationComplete(function(){A(this).not(".in").addClass("ui-native-bars-hidden")})})))}))})})(jQuery);(function(B,D){function A(){var G=B("meta[name='viewport']");G.length?G.attr("content",G.attr("content")+", user-scalable=no"):B("head").prepend("<meta>",{name:"viewport",content:"user-scalable=no"})}var E=B("html");B("head");var C=B(D);B(D.document).trigger("mobileinit");if(B.mobile.gradeA()){if(B.mobile.ajaxBlacklist){B.mobile.ajaxEnabled=false}E.addClass("ui-mobile ui-mobile-rendering");var F=B("<div class='ui-loader ui-body-a ui-corner-all'><span class='ui-icon ui-icon-loading spin'></span><h1></h1></div>");B.extend(B.mobile,{showPageLoadingMsg:function(){if(B.mobile.loadingMessage){var G=B("."+B.mobile.activeBtnClass).first();F.find("h1").text(B.mobile.loadingMessage).end().appendTo(B.mobile.pageContainer).css({top:B.support.scrollTop&&C.scrollTop()+C.height()/2||G.length&&G.offset().top||100})}E.addClass("ui-loading")},hidePageLoadingMsg:function(){E.removeClass("ui-loading")},initializePage:function(){var G=B(":jqmData(role='page')");G.length||(G=B("body").wrapInner("<div data-"+B.mobile.ns+"role='page'></div>").children(0));G.add(":jqmData(role='dialog')").each(function(){var H=B(this);H.jqmData("url")||H.attr("data-"+B.mobile.ns+"url",H.attr("id")||location.pathname+location.search)});B.mobile.firstPage=G.first();B.mobile.pageContainer=G.first().parent().addClass("ui-mobile-viewport");C.trigger("pagecontainercreate");B.mobile.showPageLoadingMsg();!B.mobile.hashListeningEnabled||!B.mobile.path.stripHash(location.hash)?B.mobile.changePage(B.mobile.firstPage,{transition:"none",reverse:true,changeHash:false,fromHashChange:true}):C.trigger("hashchange",[true])}});B.support.touchOverflow&&B.mobile.touchOverflowEnabled&&!B.mobile.touchOverflowZoomEnabled&&A();B.mobile._registerInternalEvents();B(function(){D.scrollTo(0,1);B.mobile.defaultHomeScroll=!B.support.scrollTop||B(D).scrollTop()===1?0:1;B.mobile.autoInitializePage&&B.mobile.initializePage();C.load(B.mobile.silentScroll)})}})(jQuery,this);(function(D){var C="keypad";function B(){this._curInst=null;this._disabledFields=[];this._keypadShowing=false;this._keyCode=0;this._specialKeys=[];this.addKeyDef("CLOSE","close",function(E){D.keypad._curInst=(E._inline?E:D.keypad._curInst);D.keypad._hideKeypad()});this.addKeyDef("CLEAR","clear",function(E){D.keypad._clearValue(E)});this.addKeyDef("BACK","back",function(E){D.keypad._backValue(E)});this.addKeyDef("SHIFT","shift",function(E){D.keypad._shiftKeypad(E)});this.addKeyDef("SPACE_BAR","spacebar",function(E){D.keypad._selectValue(E," ")},true);this.addKeyDef("SPACE","space");this.addKeyDef("HALF_SPACE","half-space");this.addKeyDef("ENTER","enter",function(E){D.keypad._selectValue(E,"\x0D")},true);this.addKeyDef("TAB","tab",function(E){D.keypad._selectValue(E,"\x09")},true);this.qwertyAlphabetic=["qwertyuiop","asdfghjkl","zxcvbnm"];this.qwertyLayout=["!@#$%^&*()_="+this.HALF_SPACE+this.SPACE+this.CLOSE,this.HALF_SPACE+"`~[]{}<>\\|/"+this.SPACE+"789","qwertyuiop'\""+this.HALF_SPACE+"456",this.HALF_SPACE+"asdfghjkl;:"+this.SPACE+"123",this.SPACE+"zxcvbnm,.?"+this.SPACE+this.HALF_SPACE+"-0+",""+this.TAB+this.ENTER+this.SPACE_BAR+this.SHIFT+this.HALF_SPACE+this.BACK+this.CLEAR];this.regional=[];this.regional[""]={buttonText:"...",buttonStatus:"Open the keypad",closeText:"Close",closeStatus:"Close the keypad",clearText:"Clear",clearStatus:"Erase all the text",backText:"Back",backStatus:"Erase the previous character",spacebarText:"&nbsp;",spacebarStatus:"Space",enterText:"Enter",enterStatus:"Carriage return",tabText:"?",tabStatus:"Horizontal tab",shiftText:"Shift",shiftStatus:"Toggle upper/lower case characters",alphabeticLayout:this.qwertyAlphabetic,fullLayout:this.qwertyLayout,isAlphabetic:this.isAlphabetic,isNumeric:this.isNumeric,isRTL:false};this._defaults={showOn:"focus",buttonImage:"",buttonImageOnly:false,showAnim:"show",showOptions:{},duration:"normal",appendText:"",useThemeRoller:false,keypadClass:"",prompt:"",layout:["123"+this.CLOSE,"456"+this.CLEAR,"789"+this.BACK,this.SPACE+"0"],separator:"",target:null,keypadOnly:true,randomiseAlphabetic:false,randomiseNumeric:false,randomiseOther:false,randomiseAll:false,beforeShow:null,onKeypress:null,onClose:null};D.extend(this._defaults,this.regional[""]);this.mainDiv=D('<div class="'+this._mainDivClass+'" style="display: none;"></div>')}D.extend(B.prototype,{markerClassName:"hasKeypad",_mainDivClass:"keypad-popup",_inlineClass:"keypad-inline",_appendClass:"keypad-append",_triggerClass:"keypad-trigger",_disableClass:"keypad-disabled",_inlineEntryClass:"keypad-keyentry",_coverClass:"keypad-cover",setDefaults:function(E){A(this._defaults,E||{});return this},addKeyDef:function(F,E,H,G){if(this._keyCode==32){throw"Only 32 special keys allowed"}this[F]=String.fromCharCode(this._keyCode++);this._specialKeys.push({code:this[F],id:F,name:E,action:H,noHighlight:G});return this},_attachKeypad:function(F,E){var H=(F.nodeName.toLowerCase()!="input"&&F.nodeName.toLowerCase()!="textarea");var G={_inline:H,_mainDiv:(H?D('<div class="'+this._inlineClass+'"></div>'):D.keypad.mainDiv),ucase:false};G.settings=D.extend({},E||{});this._setInput(F,G);this._connectKeypad(F,G);if(H){D(F).append(G._mainDiv).bind("click.keypad",function(){G._input.focus()});this._updateKeypad(G)}else{if(D(F).is(":disabled")){this._disableKeypad(F)}}},_setInput:function(F,E){E._input=D(!E._inline?F:this._get(E,"target")||'<input type="text" class="'+this._inlineEntryClass+'" disabled="disabled"/>');if(E._inline){F=D(F);F.find("input").remove();if(!this._get(E,"target")){F.append(E._input)}}},_connectKeypad:function(N,M){var L=D(N);if(L.hasClass(this.markerClassName)){return }var K=this._get(M,"appendText");var J=this._get(M,"isRTL");if(K){L[J?"before":"after"]('<span class="'+this._appendClass+'">'+K+"</span>")}if(!M._inline){var I=this._get(M,"showOn");if(I=="focus"||I=="both"){L.focus(this._showKeypad).keydown(this._doKeyDown)}if(I=="button"||I=="both"){var H=this._get(M,"buttonText");var G=this._get(M,"buttonStatus");var F=this._get(M,"buttonImage");var E=D(this._get(M,"buttonImageOnly")?D('<img src="'+F+'" alt="'+G+'" title="'+G+'"/>'):D('<button type="button" title="'+G+'"></button>').html(F==""?H:D('<img src="'+F+'" alt="'+G+'" title="'+G+'"/>')));L[J?"before":"after"](E);E.addClass(this._triggerClass).click(function(){if(D.keypad._keypadShowing&&D.keypad._lastField==N){D.keypad._hideKeypad()}else{D.keypad._showKeypad(N)}return false})}}M.saveReadonly=L.attr("readonly");L.addClass(this.markerClassName)[this._get(M,"keypadOnly")?"attr":"removeAttr"]("readonly",true).bind("setData.keypad",function(P,O,Q){M.settings[O]=Q}).bind("getData.keypad",function(P,O){return this._get(M,O)});D.data(N,C,M)},_destroyKeypad:function(F){var E=D(F);if(!E.hasClass(this.markerClassName)){return }var G=D.data(F,C);if(this._curInst==G){this._hideKeypad()}E.siblings("."+this._appendClass).remove().end().siblings("."+this._triggerClass).remove().end().prev("."+this._inlineEntryClass).remove();E.empty().unbind("focus",this._showKeypad).removeClass(this.markerClassName)[G.saveReadonly?"attr":"removeAttr"]("readonly",true);D.removeData(G._input[0],C);D.removeData(F,C)},_enableKeypad:function(E){var H=D(E);if(!H.hasClass(this.markerClassName)){return }var G=E.nodeName.toLowerCase();if(G=="input"||G=="textarea"){E.disabled=false;H.siblings("button."+this._triggerClass).each(function(){this.disabled=false}).end().siblings("img."+this._triggerClass).css({opacity:"1.0",cursor:""})}else{if(G=="div"||G=="span"){H.children("."+this._disableClass).remove();var F=D.data(E,C);F._mainDiv.find("button").attr("disabled","")}}this._disabledFields=D.map(this._disabledFields,function(I){return(I==E?null:I)})},_disableKeypad:function(E){var K=D(E);if(!K.hasClass(this.markerClassName)){return }var J=E.nodeName.toLowerCase();if(J=="input"||J=="textarea"){E.disabled=true;K.siblings("button."+this._triggerClass).each(function(){this.disabled=true}).end().siblings("img."+this._triggerClass).css({opacity:"0.5",cursor:"default"})}else{if(J=="div"||J=="span"){var I=K.children("."+this._inlineClass);var H=I.offset();var G={left:0,top:0};I.parents().each(function(){if(D(this).css("position")=="relative"){G=D(this).offset();return false}});K.prepend('<div class="'+this._disableClass+'" style="width: '+I.outerWidth()+"px; height: "+I.outerHeight()+"px; left: "+(H.left-G.left)+"px; top: "+(H.top-G.top)+'px;"></div>');var F=D.data(E,C);F._mainDiv.find("button").attr("disabled","disabled")}}this._disabledFields=D.map(this._disabledFields,function(L){return(L==E?null:L)});this._disabledFields[this._disabledFields.length]=E},_isDisabledKeypad:function(E){return(E&&D.inArray(E,this._disabledFields)>-1)},_changeKeypad:function(F,E,I){var H=E||{};if(typeof E=="string"){H={};H[E]=I}var G=D.data(F,C);if(G){if(this._curInst==G){this._hideKeypad()}A(G.settings,H);this._setInput(D(F),G);this._updateKeypad(G)}},_showKeypad:function(M){M=M.target||M;if(D.keypad._isDisabledKeypad(M)||D.keypad._lastField==M){return }var L=D.data(M,C);D.keypad._hideKeypad(null,"");D.keypad._lastField=M;D.keypad._pos=D.keypad._findPos(M);D.keypad._pos[1]+=M.offsetHeight;var K=false;D(M).parents().each(function(){K|=D(this).css("position")=="fixed";return !K});if(K&&D.browser.opera){D.keypad._pos[0]-=document.documentElement.scrollLeft;D.keypad._pos[1]-=document.documentElement.scrollTop}var J={left:D.keypad._pos[0],top:D.keypad._pos[1]};D.keypad._pos=null;L._mainDiv.css({position:"absolute",display:"block",top:"-1000px",left:"0px",width:(D.browser.opera?"1000px":"auto")});D.keypad._updateKeypad(L);J=D.keypad._checkOffset(L,J,K);L._mainDiv.css({position:(K?"fixed":"absolute"),display:"none",left:J.left+"px",top:J.top+"px"});var I=D.keypad._get(L,"showAnim");var H=D.keypad._get(L,"duration");H=(H=="normal"&&D.ui&&D.ui.version>="1.8"?"_default":H);var G=function(){D.keypad._keypadShowing=true;var N=D.keypad._getBorders(L._mainDiv);L._mainDiv.find("iframe."+D.keypad._coverClass).css({left:-N[0],top:-N[1],width:L._mainDiv.outerWidth(),height:L._mainDiv.outerHeight()})};if(D.effects&&D.effects[I]){var F=L._mainDiv.data();for(var E in F){if(E.match(/^ec\.storage\./)){F[E]=L._mainDiv.css(E.replace(/ec\.storage\./,""))}}L._mainDiv.data(F).show(I,D.keypad._get(L,"showOptions"),H,G)}else{L._mainDiv[I||"show"]((I?H:""),G)}if(!I){G()}if(L._input[0].type!="hidden"){L._input[0].blur()}D.keypad._curInst=L},_updateKeypad:function(F){var E=this._getBorders(F._mainDiv);F._mainDiv.empty().append(this._generateHTML(F)).find("iframe."+this._coverClass).css({left:-E[0],top:-E[1],width:F._mainDiv.outerWidth(),height:F._mainDiv.outerHeight()});F._mainDiv.removeClass().addClass(this._get(F,"keypadClass")+(this._get(F,"useThemeRoller")?" ui-widget ui-widget-content":"")+(this._get(F,"isRTL")?" keypad-rtl":"")+" "+(F._inline?this._inlineClass:this._mainDivClass));var G=this._get(F,"beforeShow");if(G){G.apply((F._input?F._input[0]:null),[F._mainDiv,F])}},_getBorders:function(F){var E=function(H){var G=(D.browser.msie?1:0);return{thin:1+G,medium:3+G,thick:5+G}[H]||H};return[parseFloat(E(F.css("border-left-width"))),parseFloat(E(F.css("border-top-width")))]},_checkOffset:function(M,L,K){var J=M._input?this._findPos(M._input[0]):null;var I=window.innerWidth||document.documentElement.clientWidth;var H=window.innerHeight||document.documentElement.clientHeight;var G=document.documentElement.scrollLeft||document.body.scrollLeft;var F=document.documentElement.scrollTop||document.body.scrollTop;if((D.browser.msie&&parseInt(D.browser.version,10)<7)||D.browser.opera){var E=0;M._mainDiv.find(":not(div,iframe)").each(function(){E=Math.max(E,this.offsetLeft+D(this).outerWidth()+parseInt(D(this).css("margin-right"),10))});M._mainDiv.css("width",E)}if(this._get(M,"isRTL")||(L.left+M._mainDiv.outerWidth()-G)>I){L.left=Math.max((K?0:G),J[0]+(M._input?M._input.outerWidth():0)-(K?G:0)-M._mainDiv.outerWidth()-(K&&D.browser.opera?document.documentElement.scrollLeft:0))}else{L.left-=(K?G:0)}if((L.top+M._mainDiv.outerHeight()-F)>H){L.top=Math.max((K?0:F),J[1]-(K?F:0)-M._mainDiv.outerHeight()-(K&&D.browser.opera?document.documentElement.scrollTop:0))}else{L.top-=(K?F:0)}return L},_findPos:function(F){while(F&&(F.type=="hidden"||F.nodeType!=1)){F=F.nextSibling}var E=D(F).offset();return[E.left,E.top]},_hideKeypad:function(F,E){var I=this._curInst;if(!I||(F&&I!=D.data(F,C))){return }if(this._keypadShowing){E=(E!=null?E:this._get(I,"duration"));E=(E=="normal"&&D.ui&&D.ui.version>="1.8"?"_default":E);var H=this._get(I,"showAnim");if(D.effects&&D.effects[H]){I._mainDiv.hide(H,this._get(I,"showOptions"),E)}else{I._mainDiv[(H=="slideDown"?"slideUp":(H=="fadeIn"?"fadeOut":"hide"))](H?E:"")}}var G=this._get(I,"onClose");if(G){G.apply((I._input?I._input[0]:null),[I._input.val(),I])}if(this._keypadShowing){this._keypadShowing=false;this._lastField=null}if(I._inline){I._input.val("")}this._curInst=null},_doKeyDown:function(E){if(E.keyCode==9){D.keypad.mainDiv.stop(true,true);D.keypad._hideKeypad()}},_checkExternalClick:function(F){if(!D.keypad._curInst){return }var E=D(F.target);if(!E.parents().andSelf().is("."+D.keypad._mainDivClass)&&!E.hasClass(D.keypad.markerClassName)&&!E.parents().andSelf().hasClass(D.keypad._triggerClass)&&D.keypad._keypadShowing){D.keypad._hideKeypad()}},_shiftKeypad:function(E){E.ucase=!E.ucase;this._updateKeypad(E);E._input.focus()},_clearValue:function(E){this._setValue(E,"",0);this._notifyKeypress(E,D.keypad.DEL)},_backValue:function(F){var E=F._input[0];var H=F._input.val();var G=[H.length,H.length];if(E.setSelectionRange){G=(F._input.attr("readonly")||F._input.attr("disabled")?G:[E.selectionStart,E.selectionEnd])}else{if(E.createTextRange){G=(F._input.attr("readonly")||F._input.attr("disabled")?G:this._getIERange(E))}}this._setValue(F,(H.length==0?"":H.substr(0,G[0]-1)+H.substr(G[1])),G[0]-1);this._notifyKeypress(F,D.keypad.BS)},_selectValue:function(F,E){this.insertValue(F._input[0],E);this._setValue(F,F._input.val());this._notifyKeypress(F,E)},insertValue:function(F,E){F=(F.jquery?F:D(F));var I=F[0];var H=F.val();var G=[H.length,H.length];if(I.setSelectionRange){G=(F.attr("readonly")||F.attr("disabled")?G:[I.selectionStart,I.selectionEnd])}else{if(I.createTextRange){G=(F.attr("readonly")||F.attr("disabled")?G:this._getIERange(I))}}F.val(H.substr(0,G[0])+E+H.substr(G[1]));pos=G[0]+E.length;if(F.is(":visible")){}if(I.setSelectionRange){if(F.is(":visible")){I.setSelectionRange(pos,pos)}}else{if(I.createTextRange){G=I.createTextRange();G.move("character",pos);G.select()}}},_getIERange:function(J){J.focus();var I=document.selection.createRange().duplicate();var H=this._getIETextRange(J);H.setEndPoint("EndToStart",I);var G=function(L){var K=L.text;var N=K;var M=false;while(true){if(L.compareEndPoints("StartToEnd",L)==0){break}else{L.moveEnd("character",-1);if(L.text==K){N+="\r\n"}else{break}}}return N};var F=G(H);var E=G(I);return[F.length,F.length+E.length]},_getIETextRange:function(F){var E=(F.nodeName.toLowerCase()=="input");var G=(E?F.createTextRange():document.body.createTextRange());if(!E){G.moveToElementText(F)}return G},_setValue:function(F,E){var G=F._input.attr("maxlength");if(G>-1){E=E.substr(0,G)}F._input.val(E);if(!this._get(F,"onKeypress")){F._input.trigger("change")}},_notifyKeypress:function(F,E){var G=this._get(F,"onKeypress");if(G){G.apply((F._input?F._input[0]:null),[E,F._input.val(),F])}},_get:function(F,E){return F.settings[E]!==undefined?F.settings[E]:this._defaults[E]},_generateHTML:function(Q){var P=this._get(Q,"useThemeRoller");var O=this._get(Q,"isRTL");var N=this._get(Q,"prompt");var M=this._get(Q,"separator");var L=(!N?"":'<div class="keypad-prompt'+(P?" ui-widget-header ui-corner-all":"")+'">'+N+"</div>");var K=this._randomiseLayout(Q);for(var J=0;J<K.length;J++){L+='<div class="keypad-row">';var H=K[J].split(M);for(var I=0;I<H.length;I++){if(Q.ucase){H[I]=H[I].toUpperCase()}var G=this._specialKeys[H[I].charCodeAt(0)];if(G){L+=(G.action?'<button type="button" class="keypad-special keypad-'+G.name+(P?" ui-corner-all ui-state-default"+(G.noHighlight?"":" ui-state-highlight"):"")+'" title="'+this._get(Q,G.name+"Status")+'">'+(this._get(Q,G.name+"Text")||"&nbsp;")+"</button>":'<div class="keypad-'+G.name+'"></div>')}else{L+='<button type="button" class="keypad-key'+(P?" ui-corner-all ui-state-default":"")+'">'+(H[I]==" "?"&nbsp;":H[I])+"</button>"}}L+="</div>"}L+='<div style="clear: both;"></div>'+(!Q._inline&&D.browser.msie&&parseInt(D.browser.version,10)<7?'<iframe src="javascript:false;" class="'+D.keypad._coverClass+'"></iframe>':"");L=D(L);var F=Q;var E="keypad-key-down"+(P?" ui-state-active":"");L.find("button").mousedown(function(){D(this).addClass(E)}).touchstart(function(){D(this).addClass(E)}).mouseup(function(){D(this).removeClass(E)}).touchend(function(){D(this).removeClass(E)}).mouseout(function(){D(this).removeClass(E)}).filter(".keypad-key").click(function(){D.keypad._selectValue(F,D(this).text())});D.each(this._specialKeys,function(S,R){L.find(".keypad-"+R.name).click(function(){R.action.apply(F._input,[F])})});return L},_randomiseLayout:function(V){var U=this._get(V,"randomiseNumeric");var T=this._get(V,"randomiseAlphabetic");var S=this._get(V,"randomiseOther");var R=this._get(V,"randomiseAll");var Q=this._get(V,"layout");if(!U&&!T&&!S&&!R){return Q}var P=this._get(V,"isNumeric");var M=this._get(V,"isAlphabetic");var L=this._get(V,"separator");var K=[];var H=[];var G=[];var F=[];for(var O=0;O<Q.length;O++){F[O]="";var E=Q[O].split(L);for(var N=0;N<E.length;N++){if(this._isControl(E[N])){continue}if(R){G.push(E[N])}else{if(P(E[N])){K.push(E[N])}else{if(M(E[N])){H.push(E[N])}else{G.push(E[N])}}}}}if(U){this._shuffle(K)}if(T){this._shuffle(H)}if(S||R){this._shuffle(G)}var J=0;var W=0;var I=0;for(var O=0;O<Q.length;O++){var E=Q[O].split(L);for(var N=0;N<E.length;N++){F[O]+=(this._isControl(E[N])?E[N]:(R?G[I++]:(P(E[N])?K[J++]:(M(E[N])?H[W++]:G[I++]))))+L}}return F},_isControl:function(E){return E<" "},isAlphabetic:function(E){return(E>="A"&&E<="Z")||(E>="a"&&E<="z")},isNumeric:function(E){return(E>="0"&&E<="9")},_shuffle:function(F){for(var H=F.length-1;H>0;H--){var G=Math.floor(Math.random()*F.length);var E=F[H];F[H]=F[G];F[G]=E}}});function A(F,E){D.extend(F,E);for(var G in E){if(E[G]==null||E[G]==undefined){F[G]=E[G]}}return F}D.fn.keypad=function(F){var E=Array.prototype.slice.call(arguments,1);if(F=="isDisabled"){return D.keypad["_"+F+"Keypad"].apply(D.keypad,[this[0]].concat(E))}return this.each(function(){typeof F=="string"?D.keypad["_"+F+"Keypad"].apply(D.keypad,[this].concat(E)):D.keypad._attachKeypad(this,F)})};D.keypad=new B();D(function(){D(document.body).append(D.keypad.mainDiv).mousedown(D.keypad._checkExternalClick)})})(jQuery);
/*
 * Paper.js v0.22
 *
 * This file is part of Paper.js, a JavaScript Vector Graphics Library,
 * based on Scriptographer.org and designed to be largely API compatible.
 * http://paperjs.org/
 * http://scriptographer.org/
 *
 * Copyright (c) 2011, Juerg Lehni & Jonathan Puckey
 * http://lehni.org/ & http://jonathanpuckey.com/
 *
 * Distributed under the MIT license. See LICENSE file for details.
 *
 * All rights reserved.
 *
 * Date: Thu Nov 10 19:19:25 2011 +0100
 *
 ***
 *
 * Bootstrap.js JavaScript Framework.
 * http://bootstrapjs.org/
 *
 * Copyright (c) 2006 - 2011 Juerg Lehni
 * http://lehni.org/
 *
 * Distributed under the MIT license.
 *
 ***
 *
 * Parse-js
 *
 * A JavaScript tokenizer / parser / generator, originally written in Lisp.
 * Copyright (c) Marijn Haverbeke <marijnh@gmail.com>
 * http://marijn.haverbeke.nl/parse-js/
 *
 * Ported by to JavaScript by Mihai Bazon
 * Copyright (c) 2010, Mihai Bazon <mihai.bazon@gmail.com>
 * http://mihai.bazon.net/blog/
 *
 * Modifications and adaptions to browser (c) 2011, Juerg Lehni
 * http://lehni.org/
 *
 * Distributed under the BSD license.
 */
var paper=new function(){var Base=new function(){var fix=!this.__proto__,hidden=/^(statics|generics|preserve|enumerable|prototype|__proto__|toString|valueOf)$/,proto=Object.prototype,has=fix?function(name){return name!=="__proto__"&&this.hasOwnProperty(name)}:proto.hasOwnProperty,toString=proto.toString,proto=Array.prototype,isArray=Array.isArray=Array.isArray||function(obj){return toString.call(obj)==="[object Array]"},slice=proto.slice,forEach=proto.forEach=proto.forEach||function(iter,bind){for(var i=0,l=this.length;i<l;i++){iter.call(bind,this[i],i,this)}},forIn=function(iter,bind){for(var i in this){if(this.hasOwnProperty(i)){iter.call(bind,this[i],i,this)}}},_define=Object.defineProperty,_describe=Object.getOwnPropertyDescriptor;function define(obj,name,desc){if(_define){try{delete obj[name];return _define(obj,name,desc)}catch(e){}}if((desc.get||desc.set)&&obj.__defineGetter__){desc.get&&obj.__defineGetter__(name,desc.get);desc.set&&obj.__defineSetter__(name,desc.set)}else{obj[name]=desc.value}return obj}function describe(obj,name){if(_describe){try{return _describe(obj,name)}catch(e){}}var get=obj.__lookupGetter__&&obj.__lookupGetter__(name);return get?{get:get,set:obj.__lookupSetter__(name),enumerable:true,configurable:true}:has.call(obj,name)?{value:obj[name],enumerable:true,configurable:true,writable:true}:null}function inject(dest,src,enumerable,base,preserve,generics){var beans,bean;function field(name,val,dontCheck,generics){var val=val||(val=describe(src,name))&&(val.get?val:val.value),func=typeof val==="function",res=val,prev=preserve||func?(val&&val.get?name in dest:dest[name]):null;if(generics&&func&&(!preserve||!generics[name])){generics[name]=function(bind){return bind&&dest[name].apply(bind,slice.call(arguments,1))}}if((dontCheck||val!==undefined&&has.call(src,name))&&(!preserve||!prev)){if(func){if(prev&&/\bthis\.base\b/.test(val)){var fromBase=base&&base[name]==prev;res=function(){var tmp=describe(this,"base");define(this,"base",{value:fromBase?base[name]:prev,configurable:true});try{return val.apply(this,arguments)}finally{tmp?define(this,"base",tmp):delete this.base}};res.toString=function(){return val.toString()};res.valueOf=function(){return val.valueOf()}}if(beans&&val.length==0&&(bean=name.match(/^(get|is)(([A-Z])(.*))$/))){beans.push([bean[3].toLowerCase()+bean[4],bean[2]])}}if(!res||func||!res.get&&!res.set){res={value:res,writable:true}}if((describe(dest,name)||{configurable:true}).configurable){res.configurable=true;res.enumerable=enumerable}define(dest,name,res)}}if(src){beans=[];for(var name in src){if(has.call(src,name)&&!hidden.test(name)){field(name,null,true,generics)}}field("toString");field("valueOf");for(var i=0,l=beans&&beans.length;i<l;i++){try{var bean=beans[i],part=bean[1];field(bean[0],{get:dest["get"+part]||dest["is"+part],set:dest["set"+part]},true)}catch(e){}}}return dest}function extend(obj){var ctor=function(dont){if(fix){define(this,"__proto__",{value:obj})}if(this.initialize&&dont!==ctor.dont){return this.initialize.apply(this,arguments)}};ctor.prototype=obj;ctor.toString=function(){return(this.prototype.initialize||function(){}).toString()};return ctor}function iterator(iter){return !iter?function(val){return val}:typeof iter!=="function"?function(val){return val==iter}:iter}function each(obj,iter,bind,asArray){try{if(obj){(asArray||asArray===undefined&&isArray(obj)?forEach:forIn).call(obj,iterator(iter),bind=bind||obj)}}catch(e){if(e!==Base.stop){throw e}}return bind}function clone(obj){return each(obj,function(val,i){this[i]=val},new obj.constructor())}return inject(function(){},{inject:function(src){if(src){var proto=this.prototype,base=proto.__proto__&&proto.__proto__.constructor,statics=src.statics==true?src:src.statics;if(statics!=src){inject(proto,src,src.enumerable,base&&base.prototype,src.preserve,src.generics&&this)}inject(this,statics,true,base,src.preserve)}for(var i=1,l=arguments.length;i<l;i++){this.inject(arguments[i])}return this},extend:function(src){var proto=new this(this.dont),ctor=extend(proto);define(proto,"constructor",{value:ctor,writable:true,configurable:true});ctor.dont={};inject(ctor,this,true);return arguments.length?this.inject.apply(ctor,arguments):ctor}},true).inject({has:has,each:each,inject:function(){for(var i=0,l=arguments.length;i<l;i++){inject(this,arguments[i])}return this},extend:function(){var res=new (extend(this));return res.inject.apply(res,arguments)},each:function(iter,bind){return each(this,iter,bind)},clone:function(){return clone(this)},statics:{each:each,clone:clone,define:define,describe:describe,iterator:iterator,has:function(obj,name){return has.call(obj,name)},type:function(obj){return(obj||obj===0)&&(obj._type||typeof obj)||null},check:function(obj){return !!(obj||obj===0)},pick:function(){for(var i=0,l=arguments.length;i<l;i++){if(arguments[i]!==undefined){return arguments[i]}}return null},stop:{}}})};this.Base=Base.inject({generics:true,clone:function(){return new this.constructor(this)},toString:function(){return"{ "+Base.each(this,function(value,key){if(key.charAt(0)!="_"){var type=typeof value;this.push(key+": "+(type==="number"?Base.formatNumber(value):type==="string"?"'"+value+"'":value))}},[]).join(", ")+" }"},statics:{read:function(list,start,length){var start=start||0,length=length||list.length-start;var obj=list[start];if(obj instanceof this||this.prototype._readNull&&obj==null&&length<=1){return obj}obj=new this(this.dont);return obj.initialize.apply(obj,start>0||length<list.length?Array.prototype.slice.call(list,start,start+length):list)||obj},readAll:function(list,start){var res=[],entry;for(var i=start||0,l=list.length;i<l;i++){res.push(Array.isArray(entry=list[i])?this.read(entry,0):this.read(list,i,1))}return res},splice:function(list,items,index,remove){var amount=items&&items.length,append=index===undefined;index=append?list.length:index;for(var i=0;i<amount;i++){items[i]._index=index+i}if(append){list.push.apply(list,items);return[]}else{var args=[index,remove];if(items){args.push.apply(args,items)}var removed=list.splice.apply(list,args);for(var i=0,l=removed.length;i<l;i++){delete removed[i]._index}for(var i=index+amount,l=list.length;i<l;i++){list[i]._index=i}return removed}},merge:function(){return Base.each(arguments,function(hash){Base.each(hash,function(value,key){this[key]=value},this)},new Base(),true)},capitalize:function(str){return str.replace(/\b[a-z]/g,function(match){return match.toUpperCase()})},camelize:function(str){return str.replace(/-(\w)/g,function(all,chr){return chr.toUpperCase()})},hyphenate:function(str){return str.replace(/[a-z][A-Z0-9]|[0-9][a-zA-Z]|[A-Z]{2}[a-z]/g,function(match){return match.charAt(0)+"-"+match.substring(1)}).toLowerCase()},formatNumber:function(num){return(Math.round(num*100000)/100000).toString()}}});var PaperScope=this.PaperScope=Base.extend({initialize:function(script){paper=this;this.view=null;this.views=[];this.project=null;this.projects=[];this.tool=null;this.tools=[];this._id=script&&(script.getAttribute("id")||script.src)||("paperscope-"+(PaperScope._id++));if(script){script.setAttribute("id",this._id)}PaperScope._scopes[this._id]=this},version:0.22,evaluate:function(code){var res=PaperScript.evaluate(code,this);View.updateFocus();return res},install:function(scope){var that=this;Base.each(["project","view","tool"],function(key){Base.define(scope,key,{configurable:true,writable:true,get:function(){return that[key]}})});for(var key in this){if(!/^(version|_id|load)/.test(key)&&!(key in scope)){scope[key]=this[key]}}},setup:function(canvas){paper=this;this.project=new Project();if(canvas){this.view=new View(canvas)}},clear:function(){for(var i=this.projects.length-1;i>=0;i--){this.projects[i].remove()}for(var i=this.views.length-1;i>=0;i--){this.views[i].remove()}for(var i=this.tools.length-1;i>=0;i--){this.tools[i].remove()}},remove:function(){this.clear();delete PaperScope._scopes[this._id]},_needsRedraw:function(){if(!this._redrawNotified){for(var i=this.views.length-1;i>=0;i--){this.views[i]._redrawNeeded=true}this._redrawNotified=true}},statics:{_scopes:{},_id:0,get:function(id){if(typeof id==="object"){id=id.getAttribute("id")}return this._scopes[id]||null},each:function(iter){Base.each(this._scopes,iter)}}});var PaperScopeItem=Base.extend({initialize:function(activate){this._scope=paper;this._index=this._scope[this._list].push(this)-1;if(activate||!this._scope[this._reference]){this.activate()}},activate:function(){if(!this._scope){return false}this._scope[this._reference]=this;return true},remove:function(){if(this._index==null){return false}Base.splice(this._scope[this._list],null,this._index,1);if(this._scope[this._reference]==this){this._scope[this._reference]=null}this._scope=null;return true}});var Point=this.Point=Base.extend({initialize:function(arg0,arg1){if(arg1!==undefined){this.x=arg0;this.y=arg1}else{if(arg0!==undefined){if(arg0==null){this.x=this.y=0}else{if(arg0.x!==undefined){this.x=arg0.x;this.y=arg0.y}else{if(arg0.width!==undefined){this.x=arg0.width;this.y=arg0.height}else{if(Array.isArray(arg0)){this.x=arg0[0];this.y=arg0.length>1?arg0[1]:arg0[0]}else{if(arg0.angle!==undefined){this.x=arg0.length;this.y=0;this.setAngle(arg0.angle)}else{if(typeof arg0==="number"){this.x=this.y=arg0}else{this.x=this.y=0}}}}}}}else{this.x=this.y=0}}},set:function(x,y){this.x=x;this.y=y;return this},clone:function(){return Point.create(this.x,this.y)},toString:function(){var format=Base.formatNumber;return"{ x: "+format(this.x)+", y: "+format(this.y)+" }"},add:function(point){point=Point.read(arguments);return Point.create(this.x+point.x,this.y+point.y)},subtract:function(point){point=Point.read(arguments);return Point.create(this.x-point.x,this.y-point.y)},multiply:function(point){point=Point.read(arguments);return Point.create(this.x*point.x,this.y*point.y)},divide:function(point){point=Point.read(arguments);return Point.create(this.x/point.x,this.y/point.y)},modulo:function(point){point=Point.read(arguments);return Point.create(this.x%point.x,this.y%point.y)},negate:function(){return Point.create(-this.x,-this.y)},transform:function(matrix){return matrix?matrix._transformPoint(this):this},getDistance:function(point,squared){point=Point.read(arguments);var x=point.x-this.x,y=point.y-this.y,d=x*x+y*y;return squared?d:Math.sqrt(d)},getLength:function(){var l=this.x*this.x+this.y*this.y;return arguments[0]?l:Math.sqrt(l)},setLength:function(length){if(this.isZero()){var angle=this._angle||0;this.set(Math.cos(angle)*length,Math.sin(angle)*length)}else{var scale=length/this.getLength();if(scale==0){this.getAngle()}this.set(this.x*scale,this.y*scale)}return this},normalize:function(length){if(length===undefined){length=1}var current=this.getLength(),scale=current!=0?length/current:0,point=Point.create(this.x*scale,this.y*scale);point._angle=this._angle;return point},getAngle:function(){return this.getAngleInRadians(arguments[0])*180/Math.PI},setAngle:function(angle){angle=this._angle=angle*Math.PI/180;if(!this.isZero()){var length=this.getLength();this.set(Math.cos(angle)*length,Math.sin(angle)*length)}return this},getAngleInRadians:function(){if(arguments[0]===undefined){if(this._angle==null){this._angle=Math.atan2(this.y,this.x)}return this._angle}else{var point=Point.read(arguments),div=this.getLength()*point.getLength();if(div==0){return NaN}else{return Math.acos(this.dot(point)/div)}}},getAngleInDegrees:function(){return this.getAngle(arguments[0])},getQuadrant:function(){return this.x>=0?this.y>=0?1:4:this.y>=0?2:3},getDirectedAngle:function(point){point=Point.read(arguments);return Math.atan2(this.cross(point),this.dot(point))*180/Math.PI},rotate:function(angle,center){angle=angle*Math.PI/180;var point=center?this.subtract(center):this,s=Math.sin(angle),c=Math.cos(angle);point=Point.create(point.x*c-point.y*s,point.y*c+point.x*s);return center?point.add(center):point},equals:function(point){point=Point.read(arguments);return this.x==point.x&&this.y==point.y},isInside:function(rect){return rect.contains(this)},isClose:function(point,tolerance){return this.getDistance(point)<tolerance},isColinear:function(point){return this.cross(point)<Numerical.TOLERANCE},isOrthogonal:function(point){return this.dot(point)<Numerical.TOLERANCE},isZero:function(){return this.x==0&&this.y==0},isNaN:function(){return isNaN(this.x)||isNaN(this.y)},dot:function(point){point=Point.read(arguments);return this.x*point.x+this.y*point.y},cross:function(point){point=Point.read(arguments);return this.x*point.y-this.y*point.x},project:function(point){point=Point.read(arguments);if(point.isZero()){return Point.create(0,0)}else{var scale=this.dot(point)/point.dot(point);return Point.create(point.x*scale,point.y*scale)}},statics:{create:function(x,y){var point=new Point(Point.dont);point.x=x;point.y=y;return point},min:function(point1,point2){point1=Point.read(arguments,0,1);point2=Point.read(arguments,1,1);return Point.create(Math.min(point1.x,point2.x),Math.min(point1.y,point2.y))},max:function(point1,point2){point1=Point.read(arguments,0,1);point2=Point.read(arguments,1,1);return Point.create(Math.max(point1.x,point2.x),Math.max(point1.y,point2.y))},random:function(){return Point.create(Math.random(),Math.random())}}},new function(){return Base.each(["round","ceil","floor","abs"],function(name){var op=Math[name];this[name]=function(){return Point.create(op(this.x),op(this.y))}},{})});var LinkedPoint=Point.extend({set:function(x,y,dontNotify){this._x=x;this._y=y;if(!dontNotify){this._owner[this._setter](this)}return this},getX:function(){return this._x},setX:function(x){this._x=x;this._owner[this._setter](this)},getY:function(){return this._y},setY:function(y){this._y=y;this._owner[this._setter](this)},statics:{create:function(owner,setter,x,y,dontLink){if(dontLink){return Point.create(x,y)}var point=new LinkedPoint(LinkedPoint.dont);point._x=x;point._y=y;point._owner=owner;point._setter=setter;return point}}});var Size=this.Size=Base.extend({initialize:function(arg0,arg1){if(arg1!==undefined){this.width=arg0;this.height=arg1}else{if(arg0!==undefined){if(arg0==null){this.width=this.height=0}else{if(arg0.width!==undefined){this.width=arg0.width;this.height=arg0.height}else{if(arg0.x!==undefined){this.width=arg0.x;this.height=arg0.y}else{if(Array.isArray(arg0)){this.width=arg0[0];this.height=arg0.length>1?arg0[1]:arg0[0]}else{if(typeof arg0==="number"){this.width=this.height=arg0}else{this.width=this.height=0}}}}}}else{this.width=this.height=0}}},toString:function(){var format=Base.formatNumber;return"{ width: "+format(this.width)+", height: "+format(this.height)+" }"},set:function(width,height){this.width=width;this.height=height;return this},clone:function(){return Size.create(this.width,this.height)},add:function(size){size=Size.read(arguments);return Size.create(this.width+size.width,this.height+size.height)},subtract:function(size){size=Size.read(arguments);return Size.create(this.width-size.width,this.height-size.height)},multiply:function(size){size=Size.read(arguments);return Size.create(this.width*size.width,this.height*size.height)},divide:function(size){size=Size.read(arguments);return Size.create(this.width/size.width,this.height/size.height)},modulo:function(size){size=Size.read(arguments);return Size.create(this.width%size.width,this.height%size.height)},negate:function(){return Size.create(-this.width,-this.height)},equals:function(size){size=Size.read(arguments);return this.width==size.width&&this.height==size.height},isZero:function(){return this.width==0&&this.height==0},isNaN:function(){return isNaN(this.width)||isNaN(this.height)},statics:{create:function(width,height){return new Size(Size.dont).set(width,height)},min:function(size1,size2){return Size.create(Math.min(size1.width,size2.width),Math.min(size1.height,size2.height))},max:function(size1,size2){return Size.create(Math.max(size1.width,size2.width),Math.max(size1.height,size2.height))},random:function(){return Size.create(Math.random(),Math.random())}}},new function(){return Base.each(["round","ceil","floor","abs"],function(name){var op=Math[name];this[name]=function(){return Size.create(op(this.width),op(this.height))}},{})});var LinkedSize=Size.extend({set:function(width,height,dontNotify){this._width=width;this._height=height;if(!dontNotify){this._owner[this._setter](this)}return this},getWidth:function(){return this._width},setWidth:function(width){this._width=width;this._owner[this._setter](this)},getHeight:function(){return this._height},setHeight:function(height){this._height=height;this._owner[this._setter](this)},statics:{create:function(owner,setter,width,height,dontLink){if(dontLink){return Size.create(width,height)}var size=new LinkedSize(LinkedSize.dont);size._width=width;size._height=height;size._owner=owner;size._setter=setter;return size}}});var Rectangle=this.Rectangle=Base.extend({initialize:function(arg0,arg1,arg2,arg3){if(arguments.length==4){this.x=arg0;this.y=arg1;this.width=arg2;this.height=arg3}else{if(arguments.length==2){if(arg1&&arg1.x!==undefined){var point1=Point.read(arguments,0,1);var point2=Point.read(arguments,1,1);this.x=point1.x;this.y=point1.y;this.width=point2.x-point1.x;this.height=point2.y-point1.y;if(this.width<0){this.x=point2.x;this.width=-this.width}if(this.height<0){this.y=point2.y;this.height=-this.height}}else{var point=Point.read(arguments,0,1);var size=Size.read(arguments,1,1);this.x=point.x;this.y=point.y;this.width=size.width;this.height=size.height}}else{if(arg0){this.x=arg0.x||0;this.y=arg0.y||0;this.width=arg0.width||0;this.height=arg0.height||0}else{this.x=this.y=this.width=this.height=0}}}},set:function(x,y,width,height){this.x=x;this.y=y;this.width=width;this.height=height;return this},getPoint:function(){return LinkedPoint.create(this,"setPoint",this.x,this.y,arguments[0])},setPoint:function(point){point=Point.read(arguments);this.x=point.x;this.y=point.y;return this},getSize:function(){return LinkedSize.create(this,"setSize",this.width,this.height,arguments[0])},setSize:function(size){size=Size.read(arguments);this.width=size.width;this.height=size.height;return this},getLeft:function(){return this.x},setLeft:function(left){this.width-=left-this.x;this.x=left;return this},getTop:function(){return this.y},setTop:function(top){this.height-=top-this.y;this.y=top;return this},getRight:function(){return this.x+this.width},setRight:function(right){this.width=right-this.x;return this},getBottom:function(){return this.y+this.height},setBottom:function(bottom){this.height=bottom-this.y;return this},getCenterX:function(){return this.x+this.width*0.5},setCenterX:function(x){this.x=x-this.width*0.5;return this},getCenterY:function(){return this.y+this.height*0.5},setCenterY:function(y){this.y=y-this.height*0.5;return this},getCenter:function(){return LinkedPoint.create(this,"setCenter",this.getCenterX(),this.getCenterY(),arguments[0])},setCenter:function(point){point=Point.read(arguments);return this.setCenterX(point.x).setCenterY(point.y)},equals:function(rect){rect=Rectangle.read(arguments);return this.x==rect.x&&this.y==rect.y&&this.width==rect.width&&this.height==rect.height},isEmpty:function(){return this.width==0||this.height==0},toString:function(){var format=Base.formatNumber;return"{ x: "+format(this.x)+", y: "+format(this.y)+", width: "+format(this.width)+", height: "+format(this.height)+" }"},contains:function(arg){return arg&&arg.width!==undefined||(Array.isArray(arg)?arg:arguments).length==4?this._containsRectangle(Rectangle.read(arguments)):this._containsPoint(Point.read(arguments))},_containsPoint:function(point){var x=point.x,y=point.y;return x>=this.x&&y>=this.y&&x<=this.x+this.width&&y<=this.y+this.height},_containsRectangle:function(rect){var x=rect.x,y=rect.y;return x>=this.x&&y>=this.y&&x+rect.width<=this.x+this.width&&y+rect.height<=this.y+this.height},intersects:function(rect){rect=Rectangle.read(arguments);return rect.x+rect.width>this.x&&rect.y+rect.height>this.y&&rect.x<this.x+this.width&&rect.y<this.y+this.height},intersect:function(rect){rect=Rectangle.read(arguments);var x1=Math.max(this.x,rect.x),y1=Math.max(this.y,rect.y),x2=Math.min(this.x+this.width,rect.x+rect.width),y2=Math.min(this.y+this.height,rect.y+rect.height);return Rectangle.create(x1,y1,x2-x1,y2-y1)},unite:function(rect){rect=Rectangle.read(arguments);var x1=Math.min(this.x,rect.x),y1=Math.min(this.y,rect.y),x2=Math.max(this.x+this.width,rect.x+rect.width),y2=Math.max(this.y+this.height,rect.y+rect.height);return Rectangle.create(x1,y1,x2-x1,y2-y1)},include:function(point){point=Point.read(arguments);var x1=Math.min(this.x,point.x),y1=Math.min(this.y,point.y),x2=Math.max(this.x+this.width,point.x),y2=Math.max(this.y+this.height,point.y);return Rectangle.create(x1,y1,x2-x1,y2-y1)},expand:function(hor,ver){if(ver===undefined){ver=hor}return Rectangle.create(this.x-hor/2,this.y-ver/2,this.width+hor,this.height+ver)},scale:function(hor,ver){return this.expand(this.width*hor-this.width,this.height*(ver===undefined?hor:ver)-this.height)},statics:{create:function(x,y,width,height){return new Rectangle(Rectangle.dont).set(x,y,width,height)}}},new function(){return Base.each([["Top","Left"],["Top","Right"],["Bottom","Left"],["Bottom","Right"],["Left","Center"],["Top","Center"],["Right","Center"],["Bottom","Center"]],function(parts,index){var part=parts.join("");var xFirst=/^[RL]/.test(part);if(index>=4){parts[1]+=xFirst?"Y":"X"}var x=parts[xFirst?0:1],y=parts[xFirst?1:0],getX="get"+x,getY="get"+y,setX="set"+x,setY="set"+y,get="get"+part,set="set"+part;this[get]=function(){return LinkedPoint.create(this,set,this[getX](),this[getY](),arguments[0])};this[set]=function(point){point=Point.read(arguments);return this[setX](point.x)[setY](point.y)}},{})});var LinkedRectangle=Rectangle.extend({set:function(x,y,width,height,dontNotify){this._x=x;this._y=y;this._width=width;this._height=height;if(!dontNotify){this._owner[this._setter](this)}return this},statics:{create:function(owner,setter,x,y,width,height){var rect=new LinkedRectangle(LinkedRectangle.dont).set(x,y,width,height,true);rect._owner=owner;rect._setter=setter;return rect}}},new function(){var proto=Rectangle.prototype;return Base.each(["x","y","width","height"],function(key){var part=Base.capitalize(key);var internal="_"+key;this["get"+part]=function(){return this[internal]};this["set"+part]=function(value){this[internal]=value;if(!this._dontNotify){this._owner[this._setter](this)}}},Base.each(["Point","Size","Center","Left","Top","Right","Bottom","CenterX","CenterY","TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],function(key){var name="set"+key;this[name]=function(value){this._dontNotify=true;proto[name].apply(this,arguments);delete this._dontNotify;this._owner[this._setter](this);return this}},{}))});var Matrix=this.Matrix=Base.extend({initialize:function(arg){var count=arguments.length,ok=true;if(count==6){this.set.apply(this,arguments)}else{if(count==1){if(arg instanceof Matrix){this.set(arg._a,arg._c,arg._b,arg._d,arg._tx,arg._ty)}else{if(Array.isArray(arg)){this.set.apply(this,arg)}else{ok=false}}}else{if(count==0){this._a=this._d=1;this._c=this._b=this._tx=this._ty=0}else{ok=false}}}if(!ok){throw new Error("Unsupported matrix parameters")}},clone:function(){return Matrix.create(this._a,this._c,this._b,this._d,this._tx,this._ty)},set:function(a,c,b,d,tx,ty){this._a=a;this._c=c;this._b=b;this._d=d;this._tx=tx;this._ty=ty;return this},scale:function(hor,ver,center){if(arguments.length<2||typeof ver==="object"){center=Point.read(arguments,1);ver=hor}else{center=Point.read(arguments,2)}if(center){this.translate(center)}this._a*=hor;this._c*=hor;this._b*=ver;this._d*=ver;if(center){this.translate(center.negate())}return this},translate:function(point){point=Point.read(arguments);var x=point.x,y=point.y;this._tx+=x*this._a+y*this._b;this._ty+=x*this._c+y*this._d;return this},rotate:function(angle,center){return this.concatenate(Matrix.getRotateInstance.apply(Matrix,arguments))},shear:function(hor,ver,center){if(arguments.length<2||typeof ver==="object"){center=Point.read(arguments,1);ver=hor}else{center=Point.read(arguments,2)}if(center){this.translate(center)}var a=this._a,c=this._c;this._a+=ver*this._b;this._c+=ver*this._d;this._b+=hor*a;this._d+=hor*c;if(center){this.translate(center.negate())}return this},toString:function(){var format=Base.formatNumber;return"[["+[format(this._a),format(this._b),format(this._tx)].join(", ")+"], ["+[format(this._c),format(this._d),format(this._ty)].join(", ")+"]]"},getValues:function(){return[this._a,this._c,this._b,this._d,this._tx,this._ty]},concatenate:function(mx){var a=this._a,b=this._b,c=this._c,d=this._d;this._a=mx._a*a+mx._c*b;this._b=mx._b*a+mx._d*b;this._tx+=mx._tx*a+mx._ty*b;this._c=mx._a*c+mx._c*d;this._d=mx._b*c+mx._d*d;this._ty+=mx._tx*c+mx._ty*d;return this},preConcatenate:function(mx){var a=this._a,b=this._b,c=this._c,d=this._d,tx=this._tx,ty=this._ty;this._a=mx._a*a+mx._b*c;this._c=mx._c*a+mx._d*c;this._b=mx._a*b+mx._b*d;this._d=mx._c*b+mx._d*d;this._tx=mx._a*tx+mx._b*ty+mx._tx;this._ty=mx._c*tx+mx._d*ty+mx._ty;return this},transform:function(src,srcOff,dst,dstOff,numPts){return arguments.length<5?this._transformPoint(Point.read(arguments)):this._transformCoordinates(src,srcOff,dst,dstOff,numPts)},_transformPoint:function(point,dest,dontNotify){var x=point.x,y=point.y;if(!dest){dest=new Point(Point.dont)}return dest.set(x*this._a+y*this._b+this._tx,x*this._c+y*this._d+this._ty,dontNotify)},_transformCoordinates:function(src,srcOff,dst,dstOff,numPts){var i=srcOff,j=dstOff,srcEnd=srcOff+2*numPts;while(i<srcEnd){var x=src[i++];var y=src[i++];dst[j++]=x*this._a+y*this._b+this._tx;dst[j++]=x*this._c+y*this._d+this._ty}return dst},_transformCorners:function(rect){var x1=rect.x,y1=rect.y,x2=x1+rect.width,y2=y1+rect.height,coords=[x1,y1,x2,y1,x2,y2,x1,y2];return this._transformCoordinates(coords,0,coords,0,4)},_transformBounds:function(bounds){var coords=this._transformCorners(bounds),min=coords.slice(0,2),max=coords.slice(0);for(var i=2;i<8;i++){var val=coords[i],j=i&1;if(val<min[j]){min[j]=val}else{if(val>max[j]){max[j]=val}}}return Rectangle.create(min[0],min[1],max[0]-min[0],max[1]-min[1])},inverseTransform:function(point){return this._inverseTransform(Point.read(arguments))},_getDeterminant:function(){var det=this._a*this._d-this._b*this._c;return isFinite(det)&&Math.abs(det)>Numerical.EPSILON&&isFinite(this._tx)&&isFinite(this._ty)?det:null},_inverseTransform:function(point,dest,dontNotify){var det=this._getDeterminant();if(!det){return null}var x=point.x-this._tx,y=point.y-this._ty;if(!dest){dest=new Point(Point.dont)}return dest.set((x*this._d-y*this._b)/det,(y*this._a-x*this._c)/det,dontNotify)},getTranslation:function(){return new Point(this._tx,this._ty)},getScaling:function(){var hor=Math.sqrt(this._a*this._a+this._c*this._c),ver=Math.sqrt(this._b*this._b+this._d*this._d);return new Point(this._a<0?-hor:hor,this._b<0?-ver:ver)},getRotation:function(){var angle1=-Math.atan2(this._b,this._d),angle2=Math.atan2(this._c,this._a);return Math.abs(angle1-angle2)<Numerical.TOLERANCE?angle1*180/Math.PI:undefined},isIdentity:function(){return this._a==1&&this._c==0&&this._b==0&&this._d==1&&this._tx==0&&this._ty==0},isInvertible:function(){return !!this._getDeterminant()},isSingular:function(){return !this._getDeterminant()},createInverse:function(){var det=this._getDeterminant();return det&&Matrix.create(this._d/det,-this._c/det,-this._b/det,this._a/det,(this._b*this._ty-this._d*this._tx)/det,(this._c*this._tx-this._a*this._ty)/det)},createShiftless:function(){return Matrix.create(this._a,this._c,this._b,this._d,0,0)},setToScale:function(hor,ver){return this.set(hor,0,0,ver,0,0)},setToTranslation:function(delta){delta=Point.read(arguments);return this.set(1,0,0,1,delta.x,delta.y)},setToShear:function(hor,ver){return this.set(1,ver,hor,1,0,0)},setToRotation:function(angle,center){center=Point.read(arguments,1);angle=angle*Math.PI/180;var x=center.x,y=center.y,cos=Math.cos(angle),sin=Math.sin(angle);return this.set(cos,sin,-sin,cos,x-x*cos+y*sin,y-x*sin-y*cos)},applyToContext:function(ctx,reset){ctx[reset?"setTransform":"transform"](this._a,this._c,this._b,this._d,this._tx,this._ty);return this},statics:{create:function(a,c,b,d,tx,ty){return new Matrix(Matrix.dont).set(a,c,b,d,tx,ty)},getScaleInstance:function(hor,ver){var mx=new Matrix();return mx.setToScale.apply(mx,arguments)},getTranslateInstance:function(delta){var mx=new Matrix();return mx.setToTranslation.apply(mx,arguments)},getShearInstance:function(hor,ver,center){var mx=new Matrix();return mx.setToShear.apply(mx,arguments)},getRotateInstance:function(angle,center){var mx=new Matrix();return mx.setToRotation.apply(mx,arguments)}}},new function(){return Base.each({scaleX:"_a",scaleY:"_d",translateX:"_tx",translateY:"_ty",shearX:"_b",shearY:"_c"},function(prop,name){name=Base.capitalize(name);this["get"+name]=function(){return this[prop]};this["set"+name]=function(value){this[prop]=value}},{})});var Line=this.Line=Base.extend({initialize:function(point1,point2,infinite){point1=Point.read(arguments,0,1);point2=Point.read(arguments,1,1);if(arguments.length==3){this.point=point1;this.vector=point2.subtract(point1);this.infinite=infinite}else{this.point=point1;this.vector=point2;this.infinite=true}},intersect:function(line){var cross=this.vector.cross(line.vector);if(Math.abs(cross)<=Numerical.EPSILON){return null}var v=line.point.subtract(this.point),t1=v.cross(line.vector)/cross,t2=v.cross(this.vector)/cross;return(this.infinite||0<=t1&&t1<=1)&&(line.infinite||0<=t2&&t2<=1)?this.point.add(this.vector.multiply(t1)):null},getSide:function(point){var v1=this.vector,v2=point.subtract(this.point),ccw=v2.cross(v1);if(ccw==0){ccw=v2.dot(v1);if(ccw>0){ccw=v2.subtract(v1).dot(v1);if(ccw<0){ccw=0}}}return ccw<0?-1:ccw>0?1:0},getDistance:function(point){var m=this.vector.y/this.vector.x,b=this.point.y-(m*this.point.x);var dist=Math.abs(point.y-(m*point.x)-b)/Math.sqrt(m*m+1);return this.infinite?dist:Math.min(dist,point.getDistance(this.point),point.getDistance(this.point.add(this.vector)))}});var Project=this.Project=PaperScopeItem.extend({_list:"projects",_reference:"project",initialize:function(){this.base(true);this._currentStyle=new PathStyle();this._selectedItems={};this._selectedItemCount=0;this.layers=[];this.symbols=[];this.activeLayer=new Layer()},_needsRedraw:function(){if(this._scope){this._scope._needsRedraw()}},getCurrentStyle:function(){return this._currentStyle},setCurrentStyle:function(style){this._currentStyle.initialize(style)},getIndex:function(){return this._index},getSelectedItems:function(){var items=[];Base.each(this._selectedItems,function(item){items.push(item)});return items},_updateSelection:function(item){if(item._selected){this._selectedItemCount++;this._selectedItems[item.getId()]=item}else{this._selectedItemCount--;delete this._selectedItems[item.getId()]}},selectAll:function(){for(var i=0,l=this.layers.length;i<l;i++){this.layers[i].setSelected(true)}},deselectAll:function(){for(var i in this._selectedItems){this._selectedItems[i].setSelected(false)}},hitTest:function(point,options){options=HitResult.getOptions(point,options);point=options.point;for(var i=this.layers.length-1;i>=0;i--){var res=this.layers[i].hitTest(point,options);if(res){return res}}return null},draw:function(ctx){ctx.save();var param={offset:new Point(0,0)};for(var i=0,l=this.layers.length;i<l;i++){Item.draw(this.layers[i],ctx,param)}ctx.restore();if(this._selectedItemCount>0){ctx.save();ctx.strokeWidth=1;ctx.strokeStyle=ctx.fillStyle="#009dec";param={selection:true};Base.each(this._selectedItems,function(item){item.draw(ctx,param)});ctx.restore()}}});var Symbol=this.Symbol=Base.extend({initialize:function(item){this.project=paper.project;this.project.symbols.push(this);this.setDefinition(item);this._instances={}},_changed:function(flags){Base.each(this._instances,function(item){item._changed(flags)})},getDefinition:function(){return this._definition},setDefinition:function(item){if(item._parentSymbol){item=item.clone()}if(this._definition){delete this._definition._parentSymbol}this._definition=item;item.remove();item.setPosition(new Point());item._parentSymbol=this;this._changed(Change.GEOMETRY)},place:function(position){return new PlacedSymbol(this,position)},clone:function(){return new Symbol(this._definition.clone())}});var ChangeFlag={APPEARANCE:1,HIERARCHY:2,GEOMETRY:4,STROKE:8,STYLE:16,ATTRIBUTE:32,CONTENT:64,PIXELS:128,CLIPPING:256};var Change={HIERARCHY:ChangeFlag.HIERARCHY|ChangeFlag.APPEARANCE,GEOMETRY:ChangeFlag.GEOMETRY|ChangeFlag.APPEARANCE,STROKE:ChangeFlag.STROKE|ChangeFlag.STYLE|ChangeFlag.APPEARANCE,STYLE:ChangeFlag.STYLE|ChangeFlag.APPEARANCE,ATTRIBUTE:ChangeFlag.ATTRIBUTE|ChangeFlag.APPEARANCE,CONTENT:ChangeFlag.CONTENT|ChangeFlag.APPEARANCE,PIXELS:ChangeFlag.PIXELS|ChangeFlag.APPEARANCE};var Item=this.Item=Base.extend({initialize:function(){this._id=++Item._id;if(!this._project){paper.project.activeLayer.addChild(this)}this._style=PathStyle.create(this);this.setStyle(this._project.getCurrentStyle())},_changed:function(flags){if(flags&ChangeFlag.GEOMETRY){delete this._bounds;delete this._position}if(flags&ChangeFlag.APPEARANCE){this._project._needsRedraw()}if(this._parentSymbol){this._parentSymbol._changed(flags)}if(this._project._changes){var entry=this._project._changesById[this._id];if(entry){entry.flags|=flags}else{entry={item:this,flags:flags};this._project._changesById[this._id]=entry;this._project._changes.push(entry)}}},getId:function(){return this._id},getName:function(){return this._name},setName:function(name){if(this._name){this._removeFromNamed()}this._name=name||undefined;if(name){var children=this._parent._children,namedChildren=this._parent._namedChildren;(namedChildren[name]=namedChildren[name]||[]).push(this);children[name]=this}this._changed(ChangeFlag.ATTRIBUTE)},getPosition:function(){var pos=this._position||(this._position=this.getBounds().getCenter());return LinkedPoint.create(this,"setPosition",pos._x,pos._y)},setPosition:function(point){this.translate(Point.read(arguments).subtract(this.getPosition()))},getStyle:function(){return this._style},setStyle:function(style){this._style.initialize(style)},statics:{_id:0}},new function(){return Base.each(["locked","visible","blendMode","opacity","guide"],function(name){var part=Base.capitalize(name),name="_"+name;this["get"+part]=function(){return this[name]};this["set"+part]=function(value){if(value!=this[name]){this[name]=value;this._changed(name==="_locked"?ChangeFlag.ATTRIBUTE:Change.ATTRIBUTE)}}},{})},{_locked:false,_visible:true,_blendMode:"normal",_opacity:1,_guide:false,isSelected:function(){if(this._children){for(var i=0,l=this._children.length;i<l;i++){if(this._children[i].isSelected()){return true}}}return this._selected},setSelected:function(selected){if(this._children){for(var i=0,l=this._children.length;i<l;i++){this._children[i].setSelected(selected)}}else{if((selected=!!selected)!=this._selected){this._selected=selected;this._project._updateSelection(this);this._changed(Change.ATTRIBUTE)}}},_selected:false,isFullySelected:function(){if(this._children&&this._selected){for(var i=0,l=this._children.length;i<l;i++){if(!this._children[i].isFullySelected()){return false}}return true}return this._selected},setFullySelected:function(selected){if(this._children){for(var i=0,l=this._children.length;i<l;i++){this._children[i].setFullySelected(selected)}}this.setSelected(selected)},isClipMask:function(){return this._clipMask},setClipMask:function(clipMask){if(this._clipMask!=(clipMask=!!clipMask)){this._clipMask=clipMask;if(clipMask){this.setFillColor(null);this.setStrokeColor(null)}this._changed(Change.ATTRIBUTE);if(this._parent){this._parent._changed(ChangeFlag.CLIPPING)}}},_clipMask:false,getProject:function(){return this._project},_setProject:function(project){if(this._project!=project){this._project=project;if(this._children){for(var i=0,l=this._children.length;i<l;i++){this._children[i]._setProject(project)}}}},getLayer:function(){var parent=this;while(parent=parent._parent){if(parent instanceof Layer){return parent}}return null},getParent:function(){return this._parent},getChildren:function(){return this._children},setChildren:function(items){this.removeChildren();this.addChildren(items)},getFirstChild:function(){return this._children&&this._children[0]||null},getLastChild:function(){return this._children&&this._children[this._children.length-1]||null},getNextSibling:function(){return this._parent&&this._parent._children[this._index+1]||null},getPreviousSibling:function(){return this._parent&&this._parent._children[this._index-1]||null},getIndex:function(){return this._index},clone:function(){return this._clone(new this.constructor())},_clone:function(copy){copy.setStyle(this._style);if(this._children){for(var i=0,l=this._children.length;i<l;i++){copy.addChild(this._children[i].clone())}}var keys=["_locked","_visible","_blendMode","_opacity","_clipMask","_guide"];for(var i=0,l=keys.length;i<l;i++){var key=keys[i];if(this.hasOwnProperty(key)){copy[key]=this[key]}}copy.setSelected(this._selected);if(this._name){copy.setName(this._name)}return copy},copyTo:function(itemOrProject){var copy=this.clone();if(itemOrProject.layers){itemOrProject.activeLayer.addChild(copy)}else{itemOrProject.addChild(copy)}return copy},rasterize:function(resolution){var bounds=this.getStrokeBounds(),scale=(resolution||72)/72,canvas=CanvasProvider.getCanvas(bounds.getSize().multiply(scale)),ctx=canvas.getContext("2d"),matrix=new Matrix().scale(scale).translate(-bounds.x,-bounds.y);matrix.applyToContext(ctx);this.draw(ctx,{});var raster=new Raster(canvas);raster.setBounds(bounds);return raster},hitTest:function(point,options,matrix){options=HitResult.getOptions(point,options);point=options.point;if(!this._children&&!this.getRoughBounds(matrix).expand(options.tolerance)._containsPoint(point)){return null}if((options.center||options.bounds)&&!(this instanceof Layer&&!this._parent)){var bounds=this.getBounds(),that=this,points=["TopLeft","TopRight","BottomLeft","BottomRight","LeftCenter","TopCenter","RightCenter","BottomCenter"],res;function checkBounds(type,part){var pt=bounds["get"+part]().transform(matrix);if(point.getDistance(pt)<options.tolerance){return new HitResult(type,that,{name:Base.hyphenate(part),point:pt})}}if(options.center&&(res=checkBounds("center","Center"))){return res}if(options.bounds){for(var i=0;i<8;i++){if(res=checkBounds("bounds",points[i])){return res}}}}return this._children||!(options.guides&&!this._guide||options.selected&&!this._selected)?this._hitTest(point,options,matrix):null},_hitTest:function(point,options,matrix){if(this._children){for(var i=this._children.length-1;i>=0;i--){var res=this._children[i].hitTest(point,options,matrix);if(res){return res}}}},addChild:function(item){return this.insertChild(undefined,item)},insertChild:function(index,item){if(this._children){item._remove(false,true);Base.splice(this._children,[item],index,0);item._parent=this;item._setProject(this._project);if(item._name){item.setName(item._name)}this._changed(Change.HIERARCHY);return true}return false},addChildren:function(items){for(var i=0,l=items&&items.length;i<l;i++){this.insertChild(undefined,items[i])}},insertChildren:function(index,items){for(var i=0,l=items&&items.length;i<l;i++){if(this.insertChild(index,items[i])){index++}}},insertAbove:function(item){return item._parent&&item._parent.insertChild(item._index+1,this)},insertBelow:function(item){return item._parent&&item._parent.insertChild(item._index-1,this)},appendTop:function(item){return this.addChild(item)},appendBottom:function(item){return this.insertChild(0,item)},moveAbove:function(item){return this.insertAbove(item)},moveBelow:function(item){return this.insertBelow(item)},_removeFromNamed:function(){var children=this._parent._children,namedChildren=this._parent._namedChildren,name=this._name,namedArray=namedChildren[name],index=namedArray?namedArray.indexOf(this):-1;if(index==-1){return }if(children[name]==this){delete children[name]}namedArray.splice(index,1);if(namedArray.length){children[name]=namedArray[namedArray.length-1]}else{delete namedChildren[name]}},_remove:function(deselect,notify){if(this._parent){if(deselect){this.setSelected(false)}if(this._name){this._removeFromNamed()}Base.splice(this._parent._children,null,this._index,1);if(notify){this._parent._changed(Change.HIERARCHY)}this._parent=null;return true}return false},remove:function(){return this._remove(true,true)},removeChildren:function(from,to){if(!this._children){return null}from=from||0;to=Base.pick(to,this._children.length);var removed=this._children.splice(from,to-from);for(var i=removed.length-1;i>=0;i--){removed[i]._remove(true,false)}if(removed.length>0){this._changed(Change.HIERARCHY)}return removed},reverseChildren:function(){if(this._children){this._children.reverse();for(var i=0,l=this._children.length;i<l;i++){this._children[i]._index=i}this._changed(Change.HIERARCHY)}},isEditable:function(){var item=this;while(item){if(!item._visible||item._locked){return false}item=item._parent}return true},_getOrder:function(item){function getList(item){var list=[];do{list.unshift(item)}while(item=item._parent);return list}var list1=getList(this),list2=getList(item);for(var i=0,l=Math.min(list1.length,list2.length);i<l;i++){if(list1[i]!=list2[i]){return list1[i]._index<list2[i]._index?1:-1}}return 0},hasChildren:function(){return this._children&&this._children.length>0},isAbove:function(item){return this._getOrder(item)==-1},isBelow:function(item){return this._getOrder(item)==1},isParent:function(item){return this._parent==item},isChild:function(item){return item&&item._parent==this},isDescendant:function(item){var parent=this;while(parent=parent._parent){if(parent==item){return true}}return false},isAncestor:function(item){return item?item.isDescendant(this):false},isGroupedWith:function(item){var parent=this._parent;while(parent){if(parent._parent&&(parent instanceof Group||parent instanceof CompoundPath)&&item.isDescendant(parent)){return true}parent=parent._parent}return false},_getBounds:function(getter,cacheName,args){var children=this._children;if(!children||children.length==0){return new Rectangle()}var x1=Infinity,x2=-x1,y1=x1,y2=x2;for(var i=0,l=children.length;i<l;i++){var child=children[i];if(child._visible){var rect=child[getter](args[0]);x1=Math.min(rect.x,x1);y1=Math.min(rect.y,y1);x2=Math.max(rect.x+rect.width,x2);y2=Math.max(rect.y+rect.height,y2)}}var bounds=Rectangle.create(x1,y1,x2-x1,y2-y1);return getter=="getBounds"?this._createBounds(bounds):bounds},_createBounds:function(rect){return LinkedRectangle.create(this,"setBounds",rect.x,rect.y,rect.width,rect.height)},getBounds:function(){return this._getBounds("getBounds","_bounds",arguments)},setBounds:function(rect){rect=Rectangle.read(arguments);var bounds=this.getBounds(),matrix=new Matrix(),center=rect.getCenter();matrix.translate(center);if(rect.width!=bounds.width||rect.height!=bounds.height){matrix.scale(bounds.width!=0?rect.width/bounds.width:1,bounds.height!=0?rect.height/bounds.height:1)}center=bounds.getCenter();matrix.translate(-center.x,-center.y);this.transform(matrix)},getStrokeBounds:function(){return this._getBounds("getStrokeBounds","_strokeBounds",arguments)},getHandleBounds:function(){return this._getBounds("getHandleBounds","_handleBounds",arguments)},getRoughBounds:function(){return this._getBounds("getRoughBounds","_roughBounds",arguments)},scale:function(hor,ver,center){if(arguments.length<2||typeof ver==="object"){center=ver;ver=hor}return this.transform(new Matrix().scale(hor,ver,center||this.getPosition()))},translate:function(delta){var mx=new Matrix();return this.transform(mx.translate.apply(mx,arguments))},rotate:function(angle,center){return this.transform(new Matrix().rotate(angle,center||this.getPosition()))},shear:function(hor,ver,center){if(arguments.length<2||typeof ver==="object"){center=ver;ver=hor}return this.transform(new Matrix().shear(hor,ver,center||this.getPosition()))},transform:function(matrix,flags){var bounds=this._bounds,position=this._position,children=this._children;if(this._transform){this._transform(matrix,flags);this._changed(Change.GEOMETRY)}if(bounds&&matrix.getRotation()%90===0){this._bounds=this._createBounds(matrix._transformBounds(bounds));this._position=this._bounds.getCenter()}else{if(position){this._position=matrix._transformPoint(position,position,true)}}for(var i=0,l=children&&children.length;i<l;i++){children[i].transform(matrix,flags)}return this},fitBounds:function(rectangle,fill){rectangle=Rectangle.read(arguments);var bounds=this.getBounds(),itemRatio=bounds.height/bounds.width,rectRatio=rectangle.height/rectangle.width,scale=(fill?itemRatio>rectRatio:itemRatio<rectRatio)?rectangle.width/bounds.width:rectangle.height/bounds.height,delta=rectangle.getCenter().subtract(bounds.getCenter()),newBounds=new Rectangle(new Point(),new Size(bounds.width*scale,bounds.height*scale));newBounds.setCenter(rectangle.getCenter());this.setBounds(newBounds)},toString:function(){return(this.constructor._name||"Item")+(this._name?" '"+this._name+"'":" @"+this._id)},statics:{drawSelectedBounds:function(bounds,ctx,matrix){var coords=matrix._transformCorners(bounds);ctx.beginPath();for(var i=0;i<8;i++){ctx[i==0?"moveTo":"lineTo"](coords[i],coords[++i])}ctx.closePath();ctx.stroke();for(var i=0;i<8;i++){ctx.beginPath();ctx.rect(coords[i]-2,coords[++i]-2,4,4);ctx.fill()}},draw:function(item,ctx,param){if(!item._visible||item._opacity==0){return }var tempCanvas,parentCtx;if(item._blendMode!=="normal"||item._opacity<1&&!(item._segments&&(!item.getFillColor()||!item.getStrokeColor()))){var bounds=item.getStrokeBounds()||item.getBounds();if(!bounds.width||!bounds.height){return }var itemOffset=bounds.getTopLeft().floor(),size=bounds.getSize().ceil().add(new Size(1,1));tempCanvas=CanvasProvider.getCanvas(size);parentCtx=ctx;ctx=tempCanvas.getContext("2d");ctx.save();ctx.translate(-itemOffset.x,-itemOffset.y)}var savedOffset;if(itemOffset){savedOffset=param.offset;param.offset=itemOffset}item.draw(ctx,param);if(itemOffset){param.offset=savedOffset}if(tempCanvas){ctx.restore();if(item._blendMode!=="normal"){var pixelOffset=itemOffset.subtract(param.offset);BlendMode.process(item._blendMode,ctx,parentCtx,item._opacity,pixelOffset)}else{parentCtx.save();parentCtx.globalAlpha=item._opacity;parentCtx.drawImage(tempCanvas,itemOffset.x,itemOffset.y);parentCtx.restore()}CanvasProvider.returnCanvas(tempCanvas)}}}},new function(){var sets={down:{},drag:{},up:{},move:{}};function removeAll(set){for(var id in set){var item=set[id];item.remove();for(var type in sets){var other=sets[type];if(other!=set&&other[item.getId()]){delete other[item.getId()]}}}}function installHandler(name){var handler="onMouse"+Base.capitalize(name);var func=paper.tool[handler];if(!func||!func._installed){var hash={};hash[handler]=function(event){if(name==="up"){sets.drag={}}removeAll(sets[name]);sets[name]={};if(this.base){this.base(event)}};paper.tool.inject(hash);paper.tool[handler]._installed=true}}return Base.each(["down","drag","up","move"],function(name){this["removeOn"+Base.capitalize(name)]=function(){var hash={};hash[name]=true;return this.removeOn(hash)}},{removeOn:function(obj){for(var name in obj){if(obj[name]){sets[name][this.getId()]=this;if(name==="drag"){installHandler("up")}installHandler(name)}}return this}})});var Group=this.Group=Item.extend({initialize:function(items){this.base();this._children=[];this._namedChildren={};this.addChildren(!items||!Array.isArray(items)||typeof items[0]!=="object"?arguments:items)},_changed:function(flags){Item.prototype._changed.call(this,flags);if(flags&(ChangeFlag.HIERARCHY|ChangeFlag.CLIPPING)){delete this._clipItem}},_getClipItem:function(){if(this._clipItem!==undefined){return this._clipItem}for(var i=0,l=this._children.length;i<l;i++){var child=this._children[i];if(child._clipMask){return this._clipItem=child}}return this._clipItem=null},isClipped:function(){return !!this._getClipItem()},setClipped:function(clipped){var child=this.getFirstChild();if(child){child.setClipMask(clipped)}return this},draw:function(ctx,param){var clipItem=this._getClipItem();if(clipItem){Item.draw(clipItem,ctx,param)}for(var i=0,l=this._children.length;i<l;i++){var item=this._children[i];if(item!=clipItem){Item.draw(item,ctx,param)}}}});var Layer=this.Layer=Group.extend({initialize:function(items){this._project=paper.project;this._index=this._project.layers.push(this)-1;this.base.apply(this,arguments);this.activate()},_remove:function(deselect,notify){if(this._parent){return this.base(deselect,notify)}if(this._index!=null){if(deselect){this.setSelected(false)}Base.splice(this._project.layers,null,this._index,1);this._project._needsRedraw();return true}return false},getNextSibling:function(){return this._parent?this.base():this._project.layers[this._index+1]||null},getPreviousSibling:function(){return this._parent?this.base():this._project.layers[this._index-1]||null},activate:function(){this._project.activeLayer=this}},new function(){function insert(above){return function(item){if(item instanceof Layer&&!item._parent&&this._remove(false,true)){Base.splice(item._project.layers,[this],item._index+(above?1:-1),0);this._setProject(item._project);return true}return this.base(item)}}return{insertAbove:insert(true),insertBelow:insert(false)}});var PlacedItem=this.PlacedItem=Item.extend({_transform:function(matrix,flags){this._matrix.preConcatenate(matrix)},_changed:function(flags){Item.prototype._changed.call(this,flags);if(flags&ChangeFlag.GEOMETRY){delete this._strokeBounds;delete this._handleBounds;delete this._roughBounds}},getMatrix:function(){return this._matrix},setMatrix:function(matrix){this._matrix=matrix.clone();this._changed(Change.GEOMETRY)},getBounds:function(){var useCache=arguments[0]===undefined;if(useCache&&this._bounds){return this._bounds}var bounds=this.getStrokeBounds(arguments[0]);if(useCache){bounds=this._bounds=this._createBounds(bounds)}return bounds},_getBounds:function(getter,cacheName,args){var matrix=args[0],useCache=matrix===undefined;if(useCache&&this[cacheName]){return this[cacheName]}matrix=matrix?matrix.clone().concatenate(this._matrix):this._matrix;var bounds=this._calculateBounds(getter,matrix);if(useCache){this[cacheName]=bounds}return bounds}});var Raster=this.Raster=PlacedItem.extend({initialize:function(object){this.base();if(object.getContext){this.setCanvas(object)}else{if(typeof object==="string"){object=document.getElementById(object)}this.setImage(object)}this._matrix=new Matrix()},clone:function(){var image=this._image;if(!image){image=CanvasProvider.getCanvas(this._size);image.getContext("2d").drawImage(this._canvas,0,0)}var copy=new Raster(image);copy._matrix=this._matrix.clone();return this._clone(copy)},getSize:function(){return this._size},setSize:function(){var size=Size.read(arguments),image=this.getImage();this.setCanvas(CanvasProvider.getCanvas(size));this.getContext(true).drawImage(image,0,0,size.width,size.height)},getWidth:function(){return this._size.width},getHeight:function(){return this._size.height},getPpi:function(){var matrix=this._matrix,orig=new Point(0,0).transform(matrix),u=new Point(1,0).transform(matrix).subtract(orig),v=new Point(0,1).transform(matrix).subtract(orig);return new Size(72/u.getLength(),72/v.getLength())},getContext:function(){if(!this._context){this._context=this.getCanvas().getContext("2d")}if(arguments[0]){this._changed(Change.PIXELS)}return this._context},setContext:function(context){this._context=context},getCanvas:function(){if(!this._canvas){this._canvas=CanvasProvider.getCanvas(this._size);if(this._image){this.getContext(true).drawImage(this._image,0,0)}}return this._canvas},setCanvas:function(canvas){if(this._canvas){CanvasProvider.returnCanvas(this._canvas)}this._canvas=canvas;this._size=new Size(canvas.width,canvas.height);this._image=null;this._context=null;this._changed(Change.GEOMETRY)},getImage:function(){return this._image||this.getCanvas()},setImage:function(image){if(this._canvas){CanvasProvider.returnCanvas(this._canvas)}this._image=image;this._size=new Size(image.naturalWidth,image.naturalHeight);this._canvas=null;this._context=null;this._changed(Change.GEOMETRY)},getSubImage:function(rect){rect=Rectangle.read(arguments);var canvas=CanvasProvider.getCanvas(rect.getSize());canvas.getContext("2d").drawImage(this.getCanvas(),rect.x,rect.y,canvas.width,canvas.height,0,0,canvas.width,canvas.height);return canvas},drawImage:function(image,point){point=Point.read(arguments,1);this.getContext(true).drawImage(image,point.x,point.y)},getAverageColor:function(object){if(!object){object=this.getBounds()}var bounds,path;if(object instanceof PathItem){path=object;bounds=object.getBounds()}else{if(object.width){bounds=new Rectangle(object)}else{if(object.x){bounds=Rectangle.create(object.x-0.5,object.y-0.5,1,1)}}}var sampleSize=32,width=Math.min(bounds.width,sampleSize),height=Math.min(bounds.height,sampleSize);var ctx=Raster._sampleContext;if(!ctx){ctx=Raster._sampleContext=CanvasProvider.getCanvas(new Size(sampleSize)).getContext("2d")}else{ctx.clearRect(0,0,sampleSize,sampleSize)}ctx.save();ctx.scale(width/bounds.width,height/bounds.height);ctx.translate(-bounds.x,-bounds.y);if(path){path.draw(ctx,{clip:true})}this._matrix.applyToContext(ctx);ctx.drawImage(this._canvas||this._image,-this._size.width/2,-this._size.height/2);ctx.restore();var pixels=ctx.getImageData(0.5,0.5,Math.ceil(width),Math.ceil(height)).data,channels=[0,0,0],total=0;for(var i=0,l=pixels.length;i<l;i+=4){var alpha=pixels[i+3];total+=alpha;alpha/=255;channels[0]+=pixels[i]*alpha;channels[1]+=pixels[i+1]*alpha;channels[2]+=pixels[i+2]*alpha}for(var i=0;i<3;i++){channels[i]/=total}return total?Color.read(channels):null},getPixel:function(point){point=Point.read(arguments);var pixels=this.getContext().getImageData(point.x,point.y,1,1).data,channels=new Array(4);for(var i=0;i<4;i++){channels[i]=pixels[i]/255}return RgbColor.read(channels)},setPixel:function(point,color){var hasPoint=arguments.length==2;point=Point.read(arguments,0,hasPoint?1:2);color=Color.read(arguments,hasPoint?1:2);var ctx=this.getContext(true),imageData=ctx.createImageData(1,1),alpha=color.getAlpha();imageData.data[0]=color.getRed()*255;imageData.data[1]=color.getGreen()*255;imageData.data[2]=color.getBlue()*255;imageData.data[3]=alpha!=null?alpha*255:255;ctx.putImageData(imageData,point.x,point.y)},createData:function(size){size=Size.read(arguments);return this.getContext().createImageData(size.width,size.height)},getData:function(rect){rect=Rectangle.read(arguments);if(rect.isEmpty()){rect=new Rectangle(this.getSize())}return this.getContext().getImageData(rect.x,rect.y,rect.width,rect.height)},setData:function(data,point){point=Point.read(arguments,1);this.getContext(true).putImageData(data,point.x,point.y)},_calculateBounds:function(getter,matrix){return matrix._transformBounds(new Rectangle(this._size).setCenter(0,0))},getHandleBounds:function(){return this.getStrokeBounds(arguments[0])},getRoughBounds:function(){return this.getStrokeBounds(arguments[0])},draw:function(ctx,param){if(param.selection){var bounds=new Rectangle(this._size).setCenter(0,0);Item.drawSelectedBounds(bounds,ctx,this._matrix)}else{ctx.save();this._matrix.applyToContext(ctx);ctx.drawImage(this._canvas||this._image,-this._size.width/2,-this._size.height/2);ctx.restore()}}});var PlacedSymbol=this.PlacedSymbol=PlacedItem.extend({initialize:function(symbol,matrixOrOffset){this.base();this.setSymbol(symbol instanceof Symbol?symbol:new Symbol(symbol));this._matrix=matrixOrOffset!==undefined?matrixOrOffset instanceof Matrix?matrixOrOffset:new Matrix().translate(Point.read(arguments,1)):new Matrix()},getSymbol:function(){return this._symbol},setSymbol:function(symbol){if(this._symbol){delete this._symbol._instances[this._id]}this._symbol=symbol;symbol._instances[this._id]=this},clone:function(){return this._clone(new PlacedSymbol(this.symbol,this._matrix.clone()))},_calculateBounds:function(getter,matrix){return this.symbol._definition[getter](matrix)},draw:function(ctx,param){if(param.selection){Item.drawSelectedBounds(this.symbol._definition.getStrokeBounds(),ctx,this._matrix)}else{ctx.save();this._matrix.applyToContext(ctx);Item.draw(this.symbol.getDefinition(),ctx,param);ctx.restore()}}});HitResult=Base.extend({initialize:function(type,item,values){this.type=type;this.item=item;if(values){Base.each(values,function(value,key){this[key]=value},this)}},statics:{getOptions:function(point,options){return options&&options._merged?options:Base.merge({point:Point.read(arguments,0,1),type:null,tolerance:2,fill:!options,stroke:!options,segments:!options,handles:false,ends:false,center:false,bounds:false,guides:false,selected:false,_merged:true},options)}}});var Segment=this.Segment=Base.extend({initialize:function(arg0,arg1,arg2,arg3,arg4,arg5){var count=arguments.length,createPoint=SegmentPoint.create,point,handleIn,handleOut;if(count==0){}else{if(count==1){if(arg0.point){point=arg0.point;handleIn=arg0.handleIn;handleOut=arg0.handleOut}else{point=arg0}}else{if(count<6){if(count==2&&arg1.x===undefined){point=[arg0,arg1]}else{point=arg0;handleIn=arg1;handleOut=arg2}}else{if(count==6){point=[arg0,arg1];handleIn=[arg2,arg3];handleOut=[arg4,arg5]}}}}createPoint(this,"_point",point);createPoint(this,"_handleIn",handleIn);createPoint(this,"_handleOut",handleOut)},_changed:function(point){if(!this._path){return }var curve=this._path._curves&&this.getCurve(),other;if(curve){curve._changed();if(other=(curve[point==this._point||point==this._handleIn&&curve._segment1==this?"getPrevious":"getNext"]())){other._changed()}}this._path._changed(Change.GEOMETRY)},getPoint:function(){return this._point},setPoint:function(point){point=Point.read(arguments);this._point.set(point.x,point.y)},getHandleIn:function(){return this._handleIn},setHandleIn:function(point){point=Point.read(arguments);this._handleIn.set(point.x,point.y)},getHandleOut:function(){return this._handleOut},setHandleOut:function(point){point=Point.read(arguments);this._handleOut.set(point.x,point.y)},_isSelected:function(point){var state=this._selectionState;return point==this._point?!!(state&SelectionState.POINT):point==this._handleIn?!!(state&SelectionState.HANDLE_IN):point==this._handleOut?!!(state&SelectionState.HANDLE_OUT):false},_setSelected:function(point,selected){var path=this._path,selected=!!selected,state=this._selectionState||0,selection=[!!(state&SelectionState.POINT),!!(state&SelectionState.HANDLE_IN),!!(state&SelectionState.HANDLE_OUT)];if(point==this._point){if(selected){selection[1]=selection[2]=false}else{var previous=this.getPrevious(),next=this.getNext();selection[1]=previous&&(previous._point.isSelected()||previous._handleOut.isSelected());selection[2]=next&&(next._point.isSelected()||next._handleIn.isSelected())}selection[0]=selected}else{var index=point==this._handleIn?1:2;if(selection[index]!=selected){if(selected){selection[0]=false}selection[index]=selected;path._changed(Change.ATTRIBUTE)}}this._selectionState=(selection[0]?SelectionState.POINT:0)|(selection[1]?SelectionState.HANDLE_IN:0)|(selection[2]?SelectionState.HANDLE_OUT:0);if(path&&state!=this._selectionState){path._updateSelection(this,state,this._selectionState)}},isSelected:function(){return this._isSelected(this._point)},setSelected:function(selected){this._setSelected(this._point,selected)},getIndex:function(){return this._index!==undefined?this._index:null},getPath:function(){return this._path||null},getCurve:function(){if(this._path){var index=this._index;if(!this._path._closed&&index==this._path._segments.length-1){index--}return this._path.getCurves()[index]||null}return null},getNext:function(){var segments=this._path&&this._path._segments;return segments&&(segments[this._index+1]||this._path._closed&&segments[0])||null},getPrevious:function(){var segments=this._path&&this._path._segments;return segments&&(segments[this._index-1]||this._path._closed&&segments[segments.length-1])||null},reverse:function(){return new Segment(this._point,this._handleOut,this._handleIn)},remove:function(){return this._path?!!this._path.removeSegment(this._index):false},toString:function(){var parts=["point: "+this._point];if(!this._handleIn.isZero()){parts.push("handleIn: "+this._handleIn)}if(!this._handleOut.isZero()){parts.push("handleOut: "+this._handleOut)}return"{ "+parts.join(", ")+" }"},_transformCoordinates:function(matrix,coords,change){var point=this._point,handleIn=!change||!this._handleIn.isZero()?this._handleIn:null,handleOut=!change||!this._handleOut.isZero()?this._handleOut:null,x=point._x,y=point._y,i=2;coords[0]=x;coords[1]=y;if(handleIn){coords[i++]=handleIn._x+x;coords[i++]=handleIn._y+y}if(handleOut){coords[i++]=handleOut._x+x;coords[i++]=handleOut._y+y}if(!matrix){return }matrix._transformCoordinates(coords,0,coords,0,i/2);x=coords[0];y=coords[1];if(change){point._x=x;point._y=y;i=2;if(handleIn){handleIn._x=coords[i++]-x;handleIn._y=coords[i++]-y}if(handleOut){handleOut._x=coords[i++]-x;handleOut._y=coords[i++]-y}}else{if(!handleIn){coords[i++]=x;coords[i++]=y}if(!handleOut){coords[i++]=x;coords[i++]=y}}}});var SegmentPoint=Point.extend({set:function(x,y){this._x=x;this._y=y;this._owner._changed(this);return this},getX:function(){return this._x},setX:function(x){this._x=x;this._owner._changed(this)},getY:function(){return this._y},setY:function(y){this._y=y;this._owner._changed(this)},isZero:function(){return this._x==0&&this._y==0},setSelected:function(selected){this._owner._setSelected(this,selected)},isSelected:function(){return this._owner._isSelected(this)},statics:{create:function(segment,key,pt){var point=new SegmentPoint(SegmentPoint.dont),x,y,selected;if(!pt){x=y=0}else{if((x=pt[0])!==undefined){y=pt[1]}else{if((x=pt.x)===undefined){pt=Point.read(arguments,2,1);x=pt.x}y=pt.y;selected=pt.selected}}point._x=x;point._y=y;point._owner=segment;segment[key]=point;if(selected){point.setSelected(true)}return point}}});var SelectionState={HANDLE_IN:1,HANDLE_OUT:2,POINT:4};var Curve=this.Curve=Base.extend({initialize:function(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7){var count=arguments.length;if(count==0){this._segment1=new Segment();this._segment2=new Segment()}else{if(count==1){this._segment1=new Segment(arg0.segment1);this._segment2=new Segment(arg0.segment2)}else{if(count==2){this._segment1=new Segment(arg0);this._segment2=new Segment(arg1)}else{if(count==4){this._segment1=new Segment(arg0,null,arg1);this._segment2=new Segment(arg3,arg2,null)}else{if(count==8){var p1=Point.create(arg0,arg1),p2=Point.create(arg6,arg7);this._segment1=new Segment(p1,null,Point.create(arg2,arg3).subtract(p1));this._segment2=new Segment(p2,Point.create(arg4,arg5).subtract(p2),null)}}}}}},_changed:function(){delete this._length},getPoint1:function(){return this._segment1._point},setPoint1:function(point){point=Point.read(arguments);this._segment1._point.set(point.x,point.y)},getPoint2:function(){return this._segment2._point},setPoint2:function(point){point=Point.read(arguments);this._segment2._point.set(point.x,point.y)},getHandle1:function(){return this._segment1._handleOut},setHandle1:function(point){point=Point.read(arguments);this._segment1._handleOut.set(point.x,point.y)},getHandle2:function(){return this._segment2._handleIn},setHandle2:function(point){point=Point.read(arguments);this._segment2._handleIn.set(point.x,point.y)},getSegment1:function(){return this._segment1},getSegment2:function(){return this._segment2},getPath:function(){return this._path},getIndex:function(){return this._segment1._index},getNext:function(){var curves=this._path&&this._path._curves;return curves&&(curves[this._segment1._index+1]||this._path._closed&&curves[0])||null},getPrevious:function(){var curves=this._path&&this._path._curves;return curves&&(curves[this._segment1._index-1]||this._path._closed&&curves[curves.length-1])||null},isSelected:function(){return this.getHandle1().isSelected()&&this.getHandle2().isSelected()},setSelected:function(selected){this.getHandle1().setSelected(selected);this.getHandle2().setSelected(selected)},getValues:function(matrix){return Curve.getValues(this._segment1,this._segment2,matrix)},getPoints:function(matrix){var coords=this.getValues(matrix),points=[];for(var i=0;i<8;i+=2){points.push(Point.create(coords[i],coords[i+1]))}return points},getLength:function(){var from=arguments[0],to=arguments[1];fullLength=arguments.length==0||from==0&&to==1;if(fullLength&&this._length!=null){return this._length}var length=Curve.getLength(this.getValues(),from,to);if(fullLength){this._length=length}return length},getPart:function(from,to){return new Curve(Curve.getPart(this.getValues(),from,to))},isLinear:function(){return this._segment1._handleOut.isZero()&&this._segment2._handleIn.isZero()},getParameterAt:function(offset,start){return Curve.getParameterAt(this.getValues(),offset,start!==undefined?start:offset<0?1:0)},getPoint:function(parameter){return Curve.evaluate(this.getValues(),parameter,0)},getTangent:function(parameter){return Curve.evaluate(this.getValues(),parameter,1)},getNormal:function(parameter){return Curve.evaluate(this.getValues(),parameter,2)},getParameter:function(point){point=Point.read(point);return Curve.getParameter(this.getValues(),point.x,point.y)},getCrossings:function(point,matrix,roots){var vals=this.getValues(matrix),num=Curve.solveCubic(vals,1,point.y,roots),crossings=0;for(var i=0;i<num;i++){var t=roots[i];if(t>=0&&t<1&&Curve.evaluate(vals,t,0).x>point.x){if(t<Numerical.TOLERANCE&&Curve.evaluate(this.getPrevious().getValues(matrix),1,1).y*Curve.evaluate(vals,t,1).y>=0){continue}crossings++}}return crossings},reverse:function(){return new Curve(this._segment2.reverse(),this._segment1.reverse())},clone:function(){return new Curve(this._segment1,this._segment2)},toString:function(){var parts=["point1: "+this._segment1._point];if(!this._segment1._handleOut.isZero()){parts.push("handle1: "+this._segment1._handleOut)}if(!this._segment2._handleIn.isZero()){parts.push("handle2: "+this._segment2._handleIn)}parts.push("point2: "+this._segment2._point);return"{ "+parts.join(", ")+" }"},statics:{create:function(path,segment1,segment2){var curve=new Curve(Curve.dont);curve._path=path;curve._segment1=segment1;curve._segment2=segment2;return curve},getValues:function(segment1,segment2,matrix){var p1=segment1._point,h1=segment1._handleOut,h2=segment2._handleIn,p2=segment2._point,coords=[p1._x,p1._y,p1._x+h1._x,p1._y+h1._y,p2._x+h2._x,p2._y+h2._y,p2._x,p2._y];return matrix?matrix._transformCoordinates(coords,0,coords,0,4):coords},evaluate:function(v,t,type){var p1x=v[0],p1y=v[1],c1x=v[2],c1y=v[3],c2x=v[4],c2y=v[5],p2x=v[6],p2y=v[7],x,y;if(type==0&&(t==0||t==1)){x=t==0?p1x:p2x;y=t==0?p1y:p2y}else{var tMin=Numerical.TOLERANCE;if(t<tMin&&c1x==p1x&&c1y==p1y){t=tMin}else{if(t>1-tMin&&c2x==p2x&&c2y==p2y){t=1-tMin}}var cx=3*(c1x-p1x),bx=3*(c2x-c1x)-cx,ax=p2x-p1x-cx-bx,cy=3*(c1y-p1y),by=3*(c2y-c1y)-cy,ay=p2y-p1y-cy-by;switch(type){case 0:x=((ax*t+bx)*t+cx)*t+p1x;y=((ay*t+by)*t+cy)*t+p1y;break;case 1:case 2:x=(3*ax*t+2*bx)*t+cx;y=(3*ay*t+2*by)*t+cy;break}}return type==2?new Point(y,-x):new Point(x,y)},subdivide:function(v,t){var p1x=v[0],p1y=v[1],c1x=v[2],c1y=v[3],c2x=v[4],c2y=v[5],p2x=v[6],p2y=v[7];if(t===undefined){t=0.5}var u=1-t,p3x=u*p1x+t*c1x,p3y=u*p1y+t*c1y,p4x=u*c1x+t*c2x,p4y=u*c1y+t*c2y,p5x=u*c2x+t*p2x,p5y=u*c2y+t*p2y,p6x=u*p3x+t*p4x,p6y=u*p3y+t*p4y,p7x=u*p4x+t*p5x,p7y=u*p4y+t*p5y,p8x=u*p6x+t*p7x,p8y=u*p6y+t*p7y;return[[p1x,p1y,p3x,p3y,p6x,p6y,p8x,p8y],[p8x,p8y,p7x,p7y,p5x,p5y,p2x,p2y]]},solveCubic:function(v,coord,val,roots){var p1=v[coord],c1=v[coord+2],c2=v[coord+4],p2=v[coord+6],c=3*(c1-p1),b=3*(c2-c1)-c,a=p2-p1-c-b;return Numerical.solveCubic(a,b,c,p1-val,roots,Numerical.TOLERANCE)},getParameter:function(v,x,y){var txs=[],tys=[],sx=Curve.solveCubic(v,0,x,txs),sy=Curve.solveCubic(v,1,y,tys),tx,ty;for(var cx=0;sx==-1||cx<sx;){if(sx==-1||(tx=txs[cx++])>=0&&tx<=1){for(var cy=0;sy==-1||cy<sy;){if(sy==-1||(ty=tys[cy++])>=0&&ty<=1){if(sx==-1){tx=ty}else{if(sy==-1){ty=tx}}if(Math.abs(tx-ty)<Numerical.TOLERANCE){return(tx+ty)*0.5}}}if(sx==-1){break}}}return null},getPart:function(v,from,to){if(from>0){v=Curve.subdivide(v,from)[1]}if(to<1){v=Curve.subdivide(v,(to-from)/(1-from))[0]}return v},isFlatEnough:function(v){var p1x=v[0],p1y=v[1],c1x=v[2],c1y=v[3],c2x=v[4],c2y=v[5],p2x=v[6],p2y=v[7],a=p1y-p2y,b=p2x-p1x,c=p1x*p2y-p2x*p1y,v1=a*c1x+b*c1y+c,v2=a*c2x+b*c2y+c;return Math.abs((v1*v1+v2*v2)/(a*(a*a+b*b)))<0.005}}},new function(){function getLengthIntegrand(v){var p1x=v[0],p1y=v[1],c1x=v[2],c1y=v[3],c2x=v[4],c2y=v[5],p2x=v[6],p2y=v[7],ax=9*(c1x-c2x)+3*(p2x-p1x),bx=6*(p1x+c2x)-12*c1x,cx=3*(c1x-p1x),ay=9*(c1y-c2y)+3*(p2y-p1y),by=6*(p1y+c2y)-12*c1y,cy=3*(c1y-p1y);return function(t){var dx=(ax*t+bx)*t+cx,dy=(ay*t+by)*t+cy;return Math.sqrt(dx*dx+dy*dy)}}function getIterations(a,b){return Math.max(2,Math.min(16,Math.ceil(Math.abs(b-a)*32)))}return{statics:true,getLength:function(v,a,b){if(a===undefined){a=0}if(b===undefined){b=1}if(v[0]==v[2]&&v[1]==v[3]&&v[6]==v[4]&&v[7]==v[5]){var dx=v[6]-v[0],dy=v[7]-v[1];return(b-a)*Math.sqrt(dx*dx+dy*dy)}var ds=getLengthIntegrand(v);return Numerical.integrate(ds,a,b,getIterations(a,b))},getParameterAt:function(v,offset,start){if(offset==0){return start}var forward=offset>0,a=forward?start:0,b=forward?1:start,offset=Math.abs(offset),ds=getLengthIntegrand(v),rangeLength=Numerical.integrate(ds,a,b,getIterations(a,b));if(offset>=rangeLength){return forward?b:a}var guess=offset/rangeLength,length=0;function f(t){var count=getIterations(start,t);length+=start<t?Numerical.integrate(ds,start,t,count):-Numerical.integrate(ds,t,start,count);start=t;return length-offset}return Numerical.findRoot(f,ds,forward?a+guess:b-guess,a,b,16,Numerical.TOLERANCE)}}},new function(){var maxDepth=32,epsilon=Math.pow(2,-maxDepth-1);var zCubic=[[1,0.6,0.3,0.1],[0.4,0.6,0.6,0.4],[0.1,0.3,0.6,1]];var xAxis=new Line(new Point(0,0),new Point(1,0));function toBezierForm(v,point){var n=3,degree=5,c=[],d=[],cd=[],w=[];for(var i=0;i<=n;i++){c[i]=v[i].subtract(point);if(i<n){d[i]=v[i+1].subtract(v[i]).multiply(n)}}for(var row=0;row<n;row++){cd[row]=[];for(var column=0;column<=n;column++){cd[row][column]=d[row].dot(c[column])}}for(var i=0;i<=degree;i++){w[i]=new Point(i/degree,0)}for(k=0;k<=degree;k++){var lb=Math.max(0,k-n+1),ub=Math.min(k,n);for(var i=lb;i<=ub;i++){var j=k-i;w[k].y+=cd[j][i]*zCubic[j][i]}}return w}function findRoots(w,depth){switch(countCrossings(w)){case 0:return[];case 1:if(depth>=maxDepth){return[0.5*(w[0].x+w[5].x)]}if(isFlatEnough(w)){var line=new Line(w[0],w[5],true);return[line.vector.getLength(true)<=Numerical.EPSILON?line.point.x:xAxis.intersect(line).x]}}var p=[[]],left=[],right=[];for(var j=0;j<=5;j++){p[0][j]=new Point(w[j])}for(var i=1;i<=5;i++){p[i]=[];for(var j=0;j<=5-i;j++){p[i][j]=p[i-1][j].add(p[i-1][j+1]).multiply(0.5)}}for(var j=0;j<=5;j++){left[j]=p[j][0];right[j]=p[5-j][j]}return findRoots(left,depth+1).concat(findRoots(right,depth+1))}function countCrossings(v){var crossings=0,prevSign=null;for(var i=0,l=v.length;i<l;i++){var sign=v[i].y<0?-1:1;if(prevSign!=null&&sign!=prevSign){crossings++}prevSign=sign}return crossings}function isFlatEnough(v){var n=v.length-1,a=v[0].y-v[n].y,b=v[n].x-v[0].x,c=v[0].x*v[n].y-v[n].x*v[0].y,maxAbove=0,maxBelow=0;for(var i=1;i<n;i++){var val=a*v[i].x+b*v[i].y+c,dist=val*val;if(val<0&&dist>maxBelow){maxBelow=dist}else{if(dist>maxAbove){maxAbove=dist}}}return Math.abs((maxAbove+maxBelow)/(2*a*(a*a+b*b)))<epsilon}return{getNearestLocation:function(point,matrix){var w=toBezierForm(this.getPoints(matrix),point);var roots=findRoots(w,0).concat([0,1]);var minDist=Infinity,minT,minPoint;for(var i=0;i<roots.length;i++){var pt=this.getPoint(roots[i]),dist=point.getDistance(pt,true);if(dist<minDist){minDist=dist;minT=roots[i];minPoint=pt}}return new CurveLocation(this,minT,minPoint,Math.sqrt(minDist))},getNearestPoint:function(point,matrix){return this.getNearestLocation(point,matrix).getPoint()}}});CurveLocation=Base.extend({initialize:function(curve,parameter,point,distance){this._curve=curve;this._parameter=parameter;this._point=point;this._distance=distance},getSegment:function(){if(!this._segment){var curve=this._curve,parameter=this.getParameter();if(parameter==0){this._segment=curve._segment1}else{if(parameter==1){this._segment=curve._segment2}else{if(parameter==null){return null}else{this._segment=curve.getLength(0,parameter)<curve.getLength(parameter,1)?curve._segment1:curve._segment2}}}}return this._segment},getCurve:function(){return this._curve},getPath:function(){return this._curve&&this._curve._path},getIndex:function(){return this._curve&&this._curve.getIndex()},getOffset:function(){var path=this._curve&&this._curve._path;return path&&path._getOffset(this)},getCurveOffset:function(){var parameter=this.getParameter();return parameter!=null&&this._curve&&this._curve.getLength(0,parameter)},getParameter:function(){if(this._parameter==null&&this._curve&&this._point){this._parameter=this._curve.getParameterAt(this._point)}return this._parameter},getPoint:function(){if(!this._point&&this._curve&&this._parameter!=null){this._point=this._curve.getPoint(this._parameter)}return this._point},getTangent:function(){var parameter=this.getParameter();return parameter!=null&&this._curve&&this._curve.getTangent(parameter)},getNormal:function(){var parameter=this.getParameter();return parameter!=null&&this._curve&&this._curve.getNormal(parameter)},getDistance:function(){return this._distance},toString:function(){var parts=[],point=this.getPoint();if(point){parts.push("point: "+point)}var index=this.getIndex();if(index!=null){parts.push("index: "+index)}var parameter=this.getParameter();if(parameter!=null){parts.push("parameter: "+Base.formatNumber(parameter))}if(this._distance!=null){parts.push("distance: "+Base.formatNumber(this._distance))}return"{ "+parts.join(", ")+" }"}});var PathItem=this.PathItem=Item.extend({});var Path=this.Path=PathItem.extend({initialize:function(segments){this.base();this._closed=false;this._selectedSegmentState=0;this.setSegments(!segments||!Array.isArray(segments)||typeof segments[0]!=="object"?arguments:segments)},clone:function(){var copy=this._clone(new Path(this._segments));copy._closed=this._closed;if(this._clockwise!==undefined){copy._clockwise=this._clockwise}return copy},_changed:function(flags){Item.prototype._changed.call(this,flags);if(flags&ChangeFlag.GEOMETRY){delete this._strokeBounds;delete this._handleBounds;delete this._roughBounds;delete this._length;delete this._clockwise}else{if(flags&ChangeFlag.STROKE){delete this._strokeBounds}}},getSegments:function(){return this._segments},setSegments:function(segments){if(!this._segments){this._segments=[]}else{this._selectedSegmentState=0;this._segments.length=0;if(this._curves){delete this._curves}}this._add(Segment.readAll(segments))},getFirstSegment:function(){return this._segments[0]},getLastSegment:function(){return this._segments[this._segments.length-1]},getCurves:function(){if(!this._curves){var segments=this._segments,length=segments.length;if(!this._closed&&length>0){length--}this._curves=new Array(length);for(var i=0;i<length;i++){this._curves[i]=Curve.create(this,segments[i],segments[i+1]||segments[0])}}return this._curves},getFirstCurve:function(){return this.getCurves()[0]},getLastCurve:function(){var curves=this.getCurves();return curves[curves.length-1]},getClosed:function(){return this._closed},setClosed:function(closed){if(this._closed!=(closed=!!closed)){this._closed=closed;if(this._curves){var length=this._segments.length,i;if(!closed&&length>0){length--}this._curves.length=length;if(closed){this._curves[i=length-1]=Curve.create(this,this._segments[i],this._segments[0])}}this._changed(Change.GEOMETRY)}},_transform:function(matrix,flags){if(!matrix.isIdentity()){var coords=new Array(6);for(var i=0,l=this._segments.length;i<l;i++){this._segments[i]._transformCoordinates(matrix,coords,true)}var fillColor=this.getFillColor(),strokeColor=this.getStrokeColor();if(fillColor&&fillColor.transform){fillColor.transform(matrix)}if(strokeColor&&strokeColor.transform){strokeColor.transform(matrix)}}},_add:function(segs,index){var segments=this._segments,curves=this._curves,amount=segs.length,append=index==null,index=append?segments.length:index,fullySelected=this.isFullySelected();for(var i=0;i<amount;i++){var segment=segs[i];if(segment._path){segment=segs[i]=new Segment(segment)}segment._path=this;segment._index=index+i;if(fullySelected){segment._selectionState=SelectionState.POINT}if(segment._selectionState){this._updateSelection(segment,0,segment._selectionState)}}if(append){segments.push.apply(segments,segs)}else{segments.splice.apply(segments,[index,0].concat(segs));for(var i=index+amount,l=segments.length;i<l;i++){segments[i]._index=i}}if(curves&&--index>=0){curves.splice(index,0,Curve.create(this,segments[index],segments[index+1]));var curve=curves[index+amount];if(curve){curve._segment1=segments[index+amount]}}this._changed(Change.GEOMETRY);return segs},add:function(segment1){return arguments.length>1&&typeof segment1!=="number"?this._add(Segment.readAll(arguments)):this._add([Segment.read(arguments)])[0]},insert:function(index,segment1){return arguments.length>2&&typeof segment1!=="number"?this._add(Segment.readAll(arguments,1),index):this._add([Segment.read(arguments,1)],index)[0]},addSegment:function(segment){return this._add([Segment.read(arguments)])[0]},insertSegment:function(index,segment){return this._add([Segment.read(arguments,1)],index)[0]},addSegments:function(segments){return this._add(Segment.readAll(segments))},insertSegments:function(index,segments){return this._add(Segment.readAll(segments),index)},removeSegment:function(index){var segments=this.removeSegments(index,index+1);return segments[0]||null},removeSegments:function(from,to){from=from||0;to=Base.pick(to,this._segments.length);var segments=this._segments,curves=this._curves,last=to>=segments.length,removed=segments.splice(from,to-from),amount=removed.length;if(!amount){return removed}for(var i=0;i<amount;i++){var segment=removed[i];if(segment._selectionState){this._updateSelection(segment,segment._selectionState,0)}removed._index=removed._path=undefined}for(var i=from,l=segments.length;i<l;i++){segments[i]._index=i}if(curves){curves.splice(from,amount);var curve;if(curve=curves[from-1]){curve._segment2=segments[from]}if(curve=curves[from]){curve._segment1=segments[from]}if(last&&this._closed&&(curve=curves[curves.length-1])){curve._segment2=segments[0]}}this._changed(Change.GEOMETRY);return removed},isFullySelected:function(){return this._selected&&this._selectedSegmentState==this._segments.length*SelectionState.POINT},setFullySelected:function(selected){var length=this._segments.length;this._selectedSegmentState=selected?length*SelectionState.POINT:0;for(var i=0;i<length;i++){this._segments[i]._selectionState=selected?SelectionState.POINT:0}this.setSelected(selected)},_updateSelection:function(segment,oldState,newState){segment._selectionState=newState;var total=this._selectedSegmentState+=newState-oldState;if(total>0){this.setSelected(true)}},flatten:function(maxDistance){var flattener=new PathFlattener(this),pos=0,step=flattener.length/Math.ceil(flattener.length/maxDistance),end=flattener.length+(this._closed?-step:step)/2;var segments=[];while(pos<=end){segments.push(new Segment(flattener.evaluate(pos,0)));pos+=step}this.setSegments(segments)},simplify:function(tolerance){if(this._segments.length>2){var fitter=new PathFitter(this,tolerance||2.5);this.setSegments(fitter.fit())}},isClockwise:function(){if(this._clockwise!==undefined){return this._clockwise}var sum=0,xPre,yPre;function edge(x,y){if(xPre!==undefined){sum+=(xPre-x)*(y+yPre)}xPre=x;yPre=y}for(var i=0,l=this._segments.length;i<l;i++){var seg1=this._segments[i],seg2=this._segments[i+1<l?i+1:0],point1=seg1._point,handle1=seg1._handleOut,handle2=seg2._handleIn,point2=seg2._point;edge(point1._x,point1._y);edge(point1._x+handle1._x,point1._y+handle1._y);edge(point2._x+handle2._x,point2._y+handle2._y);edge(point2._x,point2._y)}return sum>0},setClockwise:function(clockwise){if(this.isClockwise()!=(clockwise=!!clockwise)){this.reverse();this._clockwise=clockwise}},reverse:function(){this._segments.reverse();for(var i=0,l=this._segments.length;i<l;i++){var segment=this._segments[i];var handleIn=segment._handleIn;segment._handleIn=segment._handleOut;segment._handleOut=handleIn}if(this._clockwise!==undefined){this._clockwise=!this._clockwise}},join:function(path){if(path){var segments=path._segments,last1=this.getLastSegment(),last2=path.getLastSegment();if(last1._point.equals(last2._point)){path.reverse()}var first2=path.getFirstSegment();if(last1._point.equals(first2._point)){last1.setHandleOut(first2._handleOut);this._add(segments.slice(1))}else{var first1=this.getFirstSegment();if(first1._point.equals(first2._point)){path.reverse()}last2=path.getLastSegment();if(first1._point.equals(last2._point)){first1.setHandleIn(last2._handleIn);this._add(segments.slice(0,segments.length-1),0)}else{this._add(segments.slice(0))}}path.remove();var first1=this.getFirstSegment();last1=this.getLastSegment();if(last1._point.equals(first1._point)){first1.setHandleIn(last1._handleIn);last1.remove();this.setClosed(true)}this._changed(Change.GEOMETRY);return true}return false},getLength:function(){if(this._length==null){var curves=this.getCurves();this._length=0;for(var i=0,l=curves.length;i<l;i++){this._length+=curves[i].getLength()}}return this._length},_getOffset:function(location){var index=location&&location.getIndex();if(index!=null){var curves=this.getCurves(),offset=0;for(var i=0;i<index;i++){offset+=curves[i].getLength()}var curve=curves[index];return offset+curve.getLength(0,location.getParameter())}return null},getLocation:function(point){var curves=this.getCurves();for(var i=0,l=curves.length;i<l;i++){var curve=curves[i];var t=curve.getParameter(point);if(t!=null){return new CurveLocation(curve,t)}}return null},getLocationAt:function(offset,isParameter){var curves=this.getCurves(),length=0;if(isParameter){var index=~~offset;return new CurveLocation(curves[index],offset-index)}for(var i=0,l=curves.length;i<l;i++){var start=length,curve=curves[i];length+=curve.getLength();if(length>=offset){return new CurveLocation(curve,curve.getParameterAt(offset-start))}}if(offset<=this.getLength()){return new CurveLocation(curves[curves.length-1],1)}return null},getPointAt:function(offset,isParameter){var loc=this.getLocationAt(offset,isParameter);return loc&&loc.getPoint()},getTangentAt:function(offset,isParameter){var loc=this.getLocationAt(offset,isParameter);return loc&&loc.getTangent()},getNormalAt:function(offset,isParameter){var loc=this.getLocationAt(offset,isParameter);return loc&&loc.getNormal()},getNearestLocation:function(point,matrix){var curves=this.getCurves(),minDist=Infinity,minLoc=null;for(var i=0,l=curves.length;i<l;i++){var loc=curves[i].getNearestLocation(point,matrix);if(loc._distance<minDist){minDist=loc._distance;minLoc=loc}}return minLoc},getNearestPoint:function(point,matrix){return this.getNearestLocation(point,matrix).getPoint()},contains:function(point,matrix){point=Point.read(arguments);if(!this._closed||!this.getRoughBounds(matrix)._containsPoint(point)){return false}var curves=this.getCurves(),crossings=0,roots=[];for(var i=0,l=curves.length;i<l;i++){crossings+=curves[i].getCrossings(point,matrix,roots)}return(crossings&1)==1},_hitTest:function(point,options,matrix){var tolerance=options.tolerance||0,radius=(options.stroke?this.getStrokeWidth()/2:0)+tolerance,loc,res;var coords=[],that=this;function checkSegment(segment,ends){segment._transformCoordinates(matrix,coords);for(var j=ends||options.segments?0:2,m=!ends&&options.handles?6:2;j<m;j+=2){if(point.getDistance(coords[j],coords[j+1])<tolerance){return new HitResult(j==0?"segment":"handle-"+(j==2?"in":"out"),that,{segment:segment})}}}if(options.ends&&!options.segments&&!this._closed){if(res=checkSegment(this.getFirstSegment(),true)||checkSegment(this.getLastSegment(),true)){return res}}else{if(options.segments||options.handles){for(var i=0,l=this._segments.length;i<l;i++){if(res=checkSegment(this._segments[i])){return res}}}}if(options.stroke&&radius>0){loc=this.getNearestLocation(point,matrix)}if(!(loc&&loc._distance<=radius)&&options.fill&&this.getFillColor()&&this.contains(point,matrix)){return new HitResult("fill",this)}if(!loc&&options.stroke&&radius>0){loc=this.getNearestLocation(point,matrix)}if(loc&&loc._distance<=radius){return options.stroke?new HitResult("stroke",this,{location:loc}):new HitResult("fill",this)}}},new function(){function drawHandles(ctx,segments){for(var i=0,l=segments.length;i<l;i++){var segment=segments[i],point=segment._point,state=segment._selectionState,selected=state&SelectionState.POINT;if(selected||(state&SelectionState.HANDLE_IN)){drawHandle(ctx,point,segment._handleIn)}if(selected||(state&SelectionState.HANDLE_OUT)){drawHandle(ctx,point,segment._handleOut)}ctx.save();ctx.beginPath();ctx.rect(point._x-2,point._y-2,4,4);ctx.fill();if(!selected){ctx.beginPath();ctx.rect(point._x-1,point._y-1,2,2);ctx.fillStyle="#ffffff";ctx.fill()}ctx.restore()}}function drawHandle(ctx,point,handle){if(!handle.isZero()){var handleX=point._x+handle._x,handleY=point._y+handle._y;ctx.beginPath();ctx.moveTo(point._x,point._y);ctx.lineTo(handleX,handleY);ctx.stroke();ctx.beginPath();ctx.arc(handleX,handleY,1.75,0,Math.PI*2,true);ctx.fill()}}function drawSegments(ctx,path){var segments=path._segments,length=segments.length,handleOut,outX,outY;function drawSegment(i){var segment=segments[i],point=segment._point,x=point._x,y=point._y,handleIn=segment._handleIn;if(!handleOut){ctx.moveTo(x,y)}else{if(handleIn.isZero()&&handleOut.isZero()){ctx.lineTo(x,y)}else{ctx.bezierCurveTo(outX,outY,handleIn._x+x,handleIn._y+y,x,y)}}handleOut=segment._handleOut;outX=handleOut._x+x;outY=handleOut._y+y}for(var i=0;i<length;i++){drawSegment(i)}if(path._closed&&length>1){drawSegment(0)}}function drawDashes(ctx,path,dashArray,dashOffset){var flattener=new PathFlattener(path),from=dashOffset,to,i=0;while(from<flattener.length){to=from+dashArray[(i++)%dashArray.length];flattener.drawPart(ctx,from,to);from=to+dashArray[(i++)%dashArray.length]}}return{draw:function(ctx,param){if(!param.compound){ctx.beginPath()}var fillColor=this.getFillColor(),strokeColor=this.getStrokeColor(),dashArray=this.getDashArray()||[],hasDash=!!dashArray.length;if(param.compound||param.selection||this._clipMask||fillColor||strokeColor&&!hasDash){drawSegments(ctx,this)}if(param.selection){ctx.stroke();drawHandles(ctx,this._segments)}else{if(this._clipMask){ctx.clip()}else{if(!param.compound&&(fillColor||strokeColor)){ctx.save();this._setStyles(ctx);if(!fillColor||!strokeColor){ctx.globalAlpha=this._opacity}if(fillColor){ctx.fillStyle=fillColor.getCanvasStyle(ctx);ctx.fill()}if(strokeColor){ctx.strokeStyle=strokeColor.getCanvasStyle(ctx);if(hasDash){ctx.beginPath();drawDashes(ctx,this,dashArray,this.getDashOffset())}ctx.stroke()}ctx.restore()}}}}}},new function(){function getFirstControlPoints(rhs){var n=rhs.length,x=[],tmp=[],b=2;x[0]=rhs[0]/b;for(var i=1;i<n;i++){tmp[i]=1/b;b=(i<n-1?4:2)-tmp[i];x[i]=(rhs[i]-x[i-1])/b}for(var i=1;i<n;i++){x[n-i-1]-=tmp[n-i]*x[n-i]}return x}var styles={getStrokeWidth:"lineWidth",getStrokeJoin:"lineJoin",getStrokeCap:"lineCap",getMiterLimit:"miterLimit"};return{_setStyles:function(ctx){for(var i in styles){var style=this._style[i]();if(style){ctx[styles[i]]=style}}},smooth:function(){var segments=this._segments,size=segments.length,n=size,overlap;if(size<=2){return }if(this._closed){overlap=Math.min(size,4);n+=Math.min(size,overlap)*2}else{overlap=0}var knots=[];for(var i=0;i<size;i++){knots[i+overlap]=segments[i]._point}if(this._closed){for(var i=0;i<overlap;i++){knots[i]=segments[i+size-overlap]._point;knots[i+size+overlap]=segments[i]._point}}else{n--}var rhs=[];for(var i=1;i<n-1;i++){rhs[i]=4*knots[i]._x+2*knots[i+1]._x}rhs[0]=knots[0]._x+2*knots[1]._x;rhs[n-1]=3*knots[n-1]._x;var x=getFirstControlPoints(rhs);for(var i=1;i<n-1;i++){rhs[i]=4*knots[i]._y+2*knots[i+1]._y}rhs[0]=knots[0]._y+2*knots[1]._y;rhs[n-1]=3*knots[n-1]._y;var y=getFirstControlPoints(rhs);if(this._closed){for(var i=0,j=size;i<overlap;i++,j++){var f1=(i/overlap);var f2=1-f1;x[j]=x[i]*f1+x[j]*f2;y[j]=y[i]*f1+y[j]*f2;var ie=i+overlap,je=j+overlap;x[je]=x[ie]*f2+x[je]*f1;y[je]=y[ie]*f2+y[je]*f1}n--}var handleIn=null;for(var i=overlap;i<=n-overlap;i++){var segment=segments[i-overlap];if(handleIn){segment.setHandleIn(handleIn.subtract(segment._point))}if(i<n){segment.setHandleOut(new Point(x[i],y[i]).subtract(segment._point));if(i<n-1){handleIn=new Point(2*knots[i+1]._x-x[i+1],2*knots[i+1]._y-y[i+1])}else{handleIn=new Point((knots[n]._x+x[n-1])/2,(knots[n]._y+y[n-1])/2)}}}if(this._closed&&handleIn){var segment=this._segments[0];segment.setHandleIn(handleIn.subtract(segment._point))}}}},new function(){function getCurrentSegment(that){var segments=that._segments;if(segments.length==0){throw new Error("Use a moveTo() command first")}return segments[segments.length-1]}return{moveTo:function(point){if(!this._segments.length){this._add([new Segment(Point.read(arguments))])}},moveBy:function(point){throw new Error("moveBy() is unsupported on Path items.")},lineTo:function(point){this._add([new Segment(Point.read(arguments))])},cubicCurveTo:function(handle1,handle2,to){handle1=Point.read(arguments,0,1);handle2=Point.read(arguments,1,1);to=Point.read(arguments,2,1);var current=getCurrentSegment(this);current.setHandleOut(handle1.subtract(current._point));this._add([new Segment(to,handle2.subtract(to))])},quadraticCurveTo:function(handle,to){handle=Point.read(arguments,0,1);to=Point.read(arguments,1,1);var current=getCurrentSegment(this)._point;this.cubicCurveTo(handle.add(current.subtract(handle).multiply(1/3)),handle.add(to.subtract(handle).multiply(1/3)),to)},curveTo:function(through,to,parameter){through=Point.read(arguments,0,1);to=Point.read(arguments,1,1);var t=Base.pick(parameter,0.5),t1=1-t,current=getCurrentSegment(this)._point,handle=through.subtract(current.multiply(t1*t1)).subtract(to.multiply(t*t)).divide(2*t*t1);if(handle.isNaN()){throw new Error("Cannot put a curve through points with parameter = "+t)}this.quadraticCurveTo(handle,to)},arcTo:function(to,clockwise){var current=getCurrentSegment(this),from=current._point,through;if(clockwise===undefined){clockwise=true}if(typeof clockwise==="boolean"){to=Point.read(arguments,0,1);var middle=from.add(to).divide(2),through=middle.add(middle.subtract(from).rotate(clockwise?-90:90))}else{through=Point.read(arguments,0,1);to=Point.read(arguments,1,1)}var l1=new Line(from.add(through).divide(2),through.subtract(from).rotate(90)),l2=new Line(through.add(to).divide(2),to.subtract(through).rotate(90)),center=l1.intersect(l2),line=new Line(from,to,true),throughSide=line.getSide(through);if(!center){if(!throughSide){return this.lineTo(to)}throw new Error("Cannot put an arc through the given points: "+[from,through,to])}var vector=from.subtract(center),radius=vector.getLength(),extent=vector.getDirectedAngle(to.subtract(center)),centerSide=line.getSide(center);if(centerSide==0){extent=throughSide*Math.abs(extent)}else{if(throughSide==centerSide){extent-=360*(extent<0?-1:1)}}var ext=Math.abs(extent),count=ext>=360?4:Math.ceil(ext/90),inc=extent/count,half=inc*Math.PI/360,z=4/3*Math.sin(half)/(1+Math.cos(half)),segments=[];for(var i=0;i<=count;i++){var pt=i<count?center.add(vector):to;var out=i<count?vector.rotate(90).multiply(z):null;if(i==0){current.setHandleOut(out)}else{segments.push(new Segment(pt,vector.rotate(-90).multiply(z),out))}vector=vector.rotate(inc)}this._add(segments)},lineBy:function(vector){vector=Point.read(arguments);var current=getCurrentSegment(this);this.lineTo(current._point.add(vector))},curveBy:function(throughVector,toVector,parameter){throughVector=Point.read(throughVector);toVector=Point.read(toVector);var current=getCurrentSegment(this)._point;this.curveTo(current.add(throughVector),current.add(toVector),parameter)},arcBy:function(throughVector,toVector){throughVector=Point.read(throughVector);toVector=Point.read(toVector);var current=getCurrentSegment(this)._point;this.arcBy(current.add(throughVector),current.add(toVector))},closePath:function(){this.setClosed(true)}}},new function(){function getBounds(that,matrix,strokePadding){var segments=that._segments,first=segments[0];if(!first){return null}var coords=new Array(6),prevCoords=new Array(6);if(matrix&&matrix.isIdentity()){matrix=null}first._transformCoordinates(matrix,prevCoords,false);var min=prevCoords.slice(0,2),max=min.slice(0),tMin=Numerical.TOLERANCE,tMax=1-tMin;function processSegment(segment){segment._transformCoordinates(matrix,coords,false);for(var i=0;i<2;i++){var v0=prevCoords[i],v1=prevCoords[i+4],v2=coords[i+2],v3=coords[i];function add(value,t){var padding=0;if(value==null){var u=1-t;value=u*u*u*v0+3*u*u*t*v1+3*u*t*t*v2+t*t*t*v3;padding=strokePadding?strokePadding[i]:0}var left=value-padding,right=value+padding;if(left<min[i]){min[i]=left}if(right>max[i]){max[i]=right}}add(v3,null);var a=3*(v1-v2)-v0+v3,b=2*(v0+v2)-4*v1,c=v1-v0;if(a==0){if(b==0){continue}var t=-c/b;if(tMin<t&&t<tMax){add(null,t)}continue}var q=b*b-4*a*c;if(q<0){continue}var sqrt=Math.sqrt(q),f=-0.5/a,t1=(b-sqrt)*f,t2=(b+sqrt)*f;if(tMin<t1&&t1<tMax){add(null,t1)}if(tMin<t2&&t2<tMax){add(null,t2)}}var tmp=prevCoords;prevCoords=coords;coords=tmp}for(var i=1,l=segments.length;i<l;i++){processSegment(segments[i])}if(that._closed){processSegment(first)}return Rectangle.create(min[0],min[1],max[0]-min[0],max[1]-min[1])}function getPenPadding(radius,matrix){if(!matrix){return[radius,radius]}var mx=matrix.createShiftless(),hor=mx.transform(new Point(radius,0)),ver=mx.transform(new Point(0,radius)),phi=hor.getAngleInRadians(),a=hor.getLength(),b=ver.getLength();var tx=-Math.atan(b*Math.tan(phi)),ty=+Math.atan(b/Math.tan(phi)),x=a*Math.cos(tx)*Math.cos(phi)-b*Math.sin(tx)*Math.sin(phi),y=b*Math.sin(ty)*Math.cos(phi)+a*Math.cos(ty)*Math.sin(phi);return[Math.abs(x),Math.abs(y)]}return{getBounds:function(){var useCache=arguments[0]===undefined;if(useCache&&this._bounds){return this._bounds}var bounds=this._createBounds(getBounds(this,arguments[0]));if(useCache){this._bounds=bounds}return bounds},getStrokeBounds:function(){if(!this._style._strokeColor||!this._style._strokeWidth){return this.getBounds.apply(this,arguments)}var useCache=arguments[0]===undefined;if(useCache&&this._strokeBounds){return this._strokeBounds}var matrix=arguments[0],width=this.getStrokeWidth(),radius=width/2,padding=getPenPadding(radius,matrix),join=this.getStrokeJoin(),cap=this.getStrokeCap(),miter=this.getMiterLimit()*width/2,segments=this._segments,length=segments.length,bounds=getBounds(this,matrix,getPenPadding(radius));var joinBounds=new Rectangle(new Size(padding).multiply(2));function add(point){bounds=bounds.include(matrix?matrix.transform(point):point)}function addBevelJoin(curve,t){var point=curve.getPoint(t),normal=curve.getNormal(t).normalize(radius);add(point.add(normal));add(point.subtract(normal))}function addJoin(segment,join){if(join==="round"||!segment._handleIn.isZero()&&!segment._handleOut.isZero()){bounds=bounds.unite(joinBounds.setCenter(matrix?matrix.transform(segment._point):segment._point))}else{if(join=="bevel"){var curve=segment.getCurve();addBevelJoin(curve,0);addBevelJoin(curve.getPrevious(),1)}else{if(join=="miter"){var curve2=segment.getCurve(),curve1=curve2.getPrevious(),point=curve2.getPoint(0),normal1=curve1.getNormal(1).normalize(radius),normal2=curve2.getNormal(0).normalize(radius),line1=new Line(point.subtract(normal1),new Point(-normal1.y,normal1.x)),line2=new Line(point.subtract(normal2),new Point(-normal2.y,normal2.x)),corner=line1.intersect(line2);if(!corner||point.getDistance(corner)>miter){addJoin(segment,"bevel")}else{add(corner)}}}}}function addCap(segment,cap,t){switch(cap){case"round":return addJoin(segment,cap);case"butt":case"square":var curve=segment.getCurve(),point=curve.getPoint(t),normal=curve.getNormal(t).normalize(radius);if(cap==="square"){point=point.add(normal.y,-normal.x)}add(point.add(normal));add(point.subtract(normal));break}}for(var i=1,l=length-(this._closed?0:1);i<l;i++){addJoin(segments[i],join)}if(this._closed){addJoin(segments[0],join)}else{addCap(segments[0],cap,0);addCap(segments[length-1],cap,1)}if(useCache){this._strokeBounds=bounds}return bounds},getHandleBounds:function(){var matrix=arguments[0],useCache=matrix===undefined;if(useCache&&this._handleBounds){return this._handleBounds}var coords=new Array(6),stroke=arguments[1]/2||0,join=arguments[2]/2||0,open=!this._closed,x1=Infinity,x2=-x1,y1=x1,y2=x2;for(var i=0,l=this._segments.length;i<l;i++){var segment=this._segments[i];segment._transformCoordinates(matrix,coords,false);for(var j=0;j<6;j+=2){var padding=j==0?join:stroke,x=coords[j],y=coords[j+1],xn=x-padding,xx=x+padding,yn=y-padding,yx=y+padding;if(xn<x1){x1=xn}if(xx>x2){x2=xx}if(yn<y1){y1=yn}if(yx>y2){y2=yx}}}var bounds=Rectangle.create(x1,y1,x2-x1,y2-y1);if(useCache){this._handleBounds=bounds}return bounds},getRoughBounds:function(){var useCache=arguments[0]===undefined;if(useCache&&this._roughBounds){return this._roughBounds}var bounds=this.getHandleBounds(arguments[0],this.strokeWidth,this.getStrokeJoin()=="miter"?this.strokeWidth*this.getMiterLimit():this.strokeWidth);if(useCache){this._roughBounds=bounds}return bounds}}});Path.inject({statics:new function(){var kappa=2/3*(Math.sqrt(2)-1);var ovalSegments=[new Segment([0,0.5],[0,kappa],[0,-kappa]),new Segment([0.5,0],[-kappa,0],[kappa,0]),new Segment([1,0.5],[0,-kappa],[0,kappa]),new Segment([0.5,1],[kappa,0],[-kappa,0])];return{Line:function(){var step=Math.floor(arguments.length/2);return new Path(Segment.read(arguments,0,step),Segment.read(arguments,step,step))},Rectangle:function(rect){rect=Rectangle.read(arguments);var left=rect.x,top=rect.y;right=left+rect.width,bottom=top+rect.height,path=new Path();path._add([new Segment(Point.create(left,bottom)),new Segment(Point.create(left,top)),new Segment(Point.create(right,top)),new Segment(Point.create(right,bottom))]);path._closed=true;return path},RoundRectangle:function(rect,size){if(arguments.length==2){rect=Rectangle.read(arguments,0,1);size=Size.read(arguments,1,1)}else{if(arguments.length==6){rect=Rectangle.read(arguments,0,4);size=Size.read(arguments,4,2)}}size=Size.min(size,rect.getSize(true).divide(2));var path=new Path(),uSize=size.multiply(kappa*2),bl=rect.getBottomLeft(true),tl=rect.getTopLeft(true),tr=rect.getTopRight(true),br=rect.getBottomRight(true);path._add([new Segment(bl.add(size.width,0),null,[-uSize.width,0]),new Segment(bl.subtract(0,size.height),[0,uSize.height],null),new Segment(tl.add(0,size.height),null,[0,-uSize.height]),new Segment(tl.add(size.width,0),[-uSize.width,0],null),new Segment(tr.subtract(size.width,0),null,[uSize.width,0]),new Segment(tr.add(0,size.height),[0,-uSize.height],null),new Segment(br.subtract(0,size.height),null,[0,uSize.height]),new Segment(br.subtract(size.width,0),[uSize.width,0],null)]);path._closed=true;return path},Oval:function(rect){rect=Rectangle.read(arguments);var path=new Path(),point=rect.getPoint(true),size=rect.getSize(true),segments=new Array(4);for(var i=0;i<4;i++){var segment=ovalSegments[i];segments[i]=new Segment(segment._point.multiply(size).add(point),segment._handleIn.multiply(size),segment._handleOut.multiply(size))}path._add(segments);path._closed=true;return path},Circle:function(center,radius){if(arguments.length==3){center=Point.read(arguments,0,2);radius=arguments[2]}else{center=Point.read(arguments,0,1)}return Path.Oval(new Rectangle(center.subtract(radius),Size.create(radius*2,radius*2)))},Arc:function(from,through,to){var path=new Path();path.moveTo(from);path.arcTo(through,to);return path},RegularPolygon:function(center,numSides,radius){center=Point.read(arguments,0,1);var path=new Path(),step=360/numSides,three=!(numSides%3),vector=new Point(0,three?-radius:radius),offset=three?-1:0.5,segments=new Array(numSides);for(var i=0;i<numSides;i++){segments[i]=new Segment(center.add(vector.rotate((i+offset)*step)))}path._add(segments);path._closed=true;return path},Star:function(center,numPoints,radius1,radius2){center=Point.read(arguments,0,1);numPoints*=2;var path=new Path(),step=360/numPoints,vector=new Point(0,-1),segments=new Array(numPoints);for(var i=0;i<numPoints;i++){segments[i]=new Segment(center.add(vector.rotate(step*i).multiply(i%2?radius2:radius1)))}path._add(segments);path._closed=true;return path}}}});var CompoundPath=this.CompoundPath=PathItem.extend({initialize:function(paths){this.base();this._children=[];this._namedChildren={};var items=!paths||!Array.isArray(paths)||typeof paths[0]!=="object"?arguments:paths;this.addChildren(items)},insertChild:function(index,item){this.base(index,item);if(item._clockwise===undefined){item.setClockwise(item._index==0)}},simplify:function(){if(this._children.length==1){var child=this._children[0];child.insertAbove(this);this.remove();return child}return this},smooth:function(){for(var i=0,l=this._children.length;i<l;i++){this._children[i].smooth()}},draw:function(ctx,param){var l=this._children.length;if(l==0){return }var firstChild=this._children[0];ctx.beginPath();param.compound=true;for(var i=0;i<l;i++){Item.draw(this._children[i],ctx,param)}firstChild._setStyles(ctx);var fillColor=firstChild.getFillColor(),strokeColor=firstChild.getStrokeColor();if(fillColor){ctx.fillStyle=fillColor.getCanvasStyle(ctx);ctx.fill()}if(strokeColor){ctx.strokeStyle=strokeColor.getCanvasStyle(ctx);ctx.stroke()}param.compound=false}},new function(){function getCurrentPath(that){if(!that._children.length){throw new Error("Use a moveTo() command first")}return that._children[that._children.length-1]}var fields={moveTo:function(point){var path=new Path();this.addChild(path);path.moveTo.apply(path,arguments)},moveBy:function(point){this.moveTo(getCurrentPath(this).getLastSegment()._point.add(Point.read(arguments)))},closePath:function(){getCurrentPath(this).setClosed(true)}};Base.each(["lineTo","cubicCurveTo","quadraticCurveTo","curveTo","arcTo","lineBy","curveBy","arcBy"],function(key){fields[key]=function(){var path=getCurrentPath(this);path[key].apply(path,arguments)}});return fields});var PathFlattener=Base.extend({initialize:function(path){this.curves=[];this.parts=[];this.length=0;this.index=0;var segments=path._segments,segment1=segments[0],segment2,that=this;function addCurve(segment1,segment2){var curve=Curve.getValues(segment1,segment2);that.curves.push(curve);that._computeParts(curve,segment1._index,0,1)}for(var i=1,l=segments.length;i<l;i++){segment2=segments[i];addCurve(segment1,segment2);segment1=segment2}if(path._closed){addCurve(segment2,segments[0])}},_computeParts:function(curve,index,minT,maxT){if((maxT-minT)>1/32&&!Curve.isFlatEnough(curve)){var curves=Curve.subdivide(curve);var halfT=(minT+maxT)/2;this._computeParts(curves[0],index,minT,halfT);this._computeParts(curves[1],index,halfT,maxT)}else{var x=curve[6]-curve[0],y=curve[7]-curve[1],dist=Math.sqrt(x*x+y*y);if(dist>Numerical.TOLERANCE){this.length+=dist;this.parts.push({offset:this.length,value:maxT,index:index})}}},getParameterAt:function(offset){var i,j=this.index;for(;;){i=j;if(j==0||this.parts[--j].offset<offset){break}}for(var l=this.parts.length;i<l;i++){var part=this.parts[i];if(part.offset>=offset){this.index=i;var prev=this.parts[i-1];var prevVal=prev&&prev.index==part.index?prev.value:0,prevLen=prev?prev.offset:0;return{value:prevVal+(part.value-prevVal)*(offset-prevLen)/(part.offset-prevLen),index:part.index}}}var part=this.parts[this.parts.length-1];return{value:1,index:part.index}},evaluate:function(offset,type){var param=this.getParameterAt(offset);return Curve.evaluate(this.curves[param.index],param.value,type)},drawPart:function(ctx,from,to){from=this.getParameterAt(from);to=this.getParameterAt(to);for(var i=from.index;i<=to.index;i++){var curve=Curve.getPart(this.curves[i],i==from.index?from.value:0,i==to.index?to.value:1);if(i==from.index){ctx.moveTo(curve[0],curve[1])}ctx.bezierCurveTo.apply(ctx,curve.slice(2))}}});var PathFitter=Base.extend({initialize:function(path,error){this.points=[];var segments=path._segments,prev;for(var i=0,l=segments.length;i<l;i++){var point=segments[i].point.clone();if(!prev||!prev.equals(point)){this.points.push(point);prev=point}}this.error=error},fit:function(){this.segments=[new Segment(this.points[0])];this.fitCubic(0,this.points.length-1,this.points[1].subtract(this.points[0]).normalize(),this.points[this.points.length-2].subtract(this.points[this.points.length-1]).normalize());return this.segments},fitCubic:function(first,last,tan1,tan2){if(last-first==1){var pt1=this.points[first],pt2=this.points[last],dist=pt1.getDistance(pt2)/3;this.addCurve([pt1,pt1.add(tan1.normalize(dist)),pt2.add(tan2.normalize(dist)),pt2]);return }var uPrime=this.chordLengthParameterize(first,last),maxError=Math.max(this.error,this.error*this.error),error,split;for(var i=0;i<=4;i++){var curve=this.generateBezier(first,last,uPrime,tan1,tan2);var max=this.findMaxError(first,last,curve,uPrime);if(max.error<this.error){this.addCurve(curve);return }split=max.index;if(max.error>=maxError){break}this.reparameterize(first,last,uPrime,curve);maxError=max.error}var V1=this.points[split-1].subtract(this.points[split]),V2=this.points[split].subtract(this.points[split+1]),tanCenter=V1.add(V2).divide(2).normalize();this.fitCubic(first,split,tan1,tanCenter);this.fitCubic(split,last,tanCenter.negate(),tan2)},addCurve:function(curve){var prev=this.segments[this.segments.length-1];prev.setHandleOut(curve[1].subtract(curve[0]));this.segments.push(new Segment(curve[3],curve[2].subtract(curve[3])))},generateBezier:function(first,last,uPrime,tan1,tan2){var epsilon=Numerical.EPSILON,pt1=this.points[first],pt2=this.points[last],C=[[0,0],[0,0]],X=[0,0];for(var i=0,l=last-first+1;i<l;i++){var u=uPrime[i],t=1-u,b=3*u*t,b0=t*t*t,b1=b*t,b2=b*u,b3=u*u*u,a1=tan1.normalize(b1),a2=tan2.normalize(b2),tmp=this.points[first+i].subtract(pt1.multiply(b0+b1)).subtract(pt2.multiply(b2+b3));C[0][0]+=a1.dot(a1);C[0][1]+=a1.dot(a2);C[1][0]=C[0][1];C[1][1]+=a2.dot(a2);X[0]+=a1.dot(tmp);X[1]+=a2.dot(tmp)}var detC0C1=C[0][0]*C[1][1]-C[1][0]*C[0][1],alpha1,alpha2;if(Math.abs(detC0C1)>epsilon){var detC0X=C[0][0]*X[1]-C[1][0]*X[0],detXC1=X[0]*C[1][1]-X[1]*C[0][1];alpha1=detXC1/detC0C1;alpha2=detC0X/detC0C1}else{var c0=C[0][0]+C[0][1],c1=C[1][0]+C[1][1];if(Math.abs(c0)>epsilon){alpha1=alpha2=X[0]/c0}else{if(Math.abs(c0)>epsilon){alpha1=alpha2=X[1]/c1}else{alpha1=alpha2=0}}}var segLength=pt2.getDistance(pt1);epsilon*=segLength;if(alpha1<epsilon||alpha2<epsilon){alpha1=alpha2=segLength/3}return[pt1,pt1.add(tan1.normalize(alpha1)),pt2.add(tan2.normalize(alpha2)),pt2]},reparameterize:function(first,last,u,curve){for(var i=first;i<=last;i++){u[i-first]=this.findRoot(curve,this.points[i],u[i-first])}},findRoot:function(curve,point,u){var curve1=[],curve2=[];for(var i=0;i<=2;i++){curve1[i]=curve[i+1].subtract(curve[i]).multiply(3)}for(var i=0;i<=1;i++){curve2[i]=curve1[i+1].subtract(curve1[i]).multiply(2)}var pt=this.evaluate(3,curve,u),pt1=this.evaluate(2,curve1,u),pt2=this.evaluate(1,curve2,u),diff=pt.subtract(point),df=pt1.dot(pt1)+diff.dot(pt2);if(Math.abs(df)<Numerical.TOLERANCE){return u}return u-diff.dot(pt1)/df},evaluate:function(degree,curve,t){var tmp=curve.slice();for(var i=1;i<=degree;i++){for(var j=0;j<=degree-i;j++){tmp[j]=tmp[j].multiply(1-t).add(tmp[j+1].multiply(t))}}return tmp[0]},chordLengthParameterize:function(first,last){var u=[0];for(var i=first+1;i<=last;i++){u[i-first]=u[i-first-1]+this.points[i].getDistance(this.points[i-1])}for(var i=1,m=last-first;i<=m;i++){u[i]/=u[m]}return u},findMaxError:function(first,last,curve,u){var index=Math.floor((last-first+1)/2),maxDist=0;for(var i=first+1;i<last;i++){var P=this.evaluate(3,curve,u[i-first]);var v=P.subtract(this.points[i]);var dist=v.x*v.x+v.y*v.y;if(dist>=maxDist){maxDist=dist;index=i}}return{error:maxDist,index:index}}});var TextItem=this.TextItem=Item.extend({initialize:function(){this.base();this._content="";this._characterStyle=CharacterStyle.create(this);this.setCharacterStyle(this._project.getCurrentStyle());this._paragraphStyle=ParagraphStyle.create(this);this.setParagraphStyle()},_clone:function(copy){copy._content=this._content;copy.setCharacterStyle(this._characterStyle);copy.setParagraphStyle(this._paragraphStyle);return this.base(copy)},getContent:function(){return this._content},setContent:function(content){this._changed(Change.CONTENT);this._content=""+content},getCharacterStyle:function(){return this._characterStyle},setCharacterStyle:function(style){this._characterStyle.initialize(style)},getParagraphStyle:function(){return this._paragraphStyle},setParagraphStyle:function(style){this._paragraphStyle.initialize(style)}});var PointText=this.PointText=TextItem.extend({initialize:function(point){this.base();this._point=Point.read(arguments).clone();this._matrix=new Matrix().translate(this._point)},clone:function(){var copy=this._clone(new PointText(this._point));copy._matrix.initialize(this._matrix);return copy},getPoint:function(){return LinkedPoint.create(this,"setPoint",this._point.x,this._point.y)},setPoint:function(point){this.translate(Point.read(arguments).subtract(this._point))},getPosition:function(){return this.getPoint()},setPosition:function(point){this.setPoint.apply(this,arguments)},_transform:function(matrix,flags){this._matrix.preConcatenate(matrix);matrix._transformPoint(this._point,this._point)},draw:function(ctx){if(!this._content){return }ctx.save();ctx.font=this.getFontSize()+"pt "+this.getFont();ctx.textAlign=this.getJustification();this._matrix.applyToContext(ctx);var fillColor=this.getFillColor();var strokeColor=this.getStrokeColor();if(!fillColor||!strokeColor){ctx.globalAlpha=this._opacity}if(fillColor){ctx.fillStyle=fillColor.getCanvasStyle(ctx);ctx.fillText(this._content,0,0)}if(strokeColor){ctx.strokeStyle=strokeColor.getCanvasStyle(ctx);ctx.strokeText(this._content,0,0)}ctx.restore()}});var Style=Item.extend({initialize:function(style){var clone=style instanceof Style;return Base.each(this._defaults,function(value,key){value=style&&style[key]||value;this[key]=value&&clone&&value.clone?value.clone():value},this)},statics:{create:function(item){var style=new this(this.dont);style._item=item;return style},extend:function(src){var styleKey=src._style,flags=src._flags||{};src._owner.inject(Base.each(src._defaults,function(value,key){var isColor=!!key.match(/Color$/),part=Base.capitalize(key),set="set"+part,get="get"+part;src[set]=function(value){var children=this._item&&this._item._children;value=isColor?Color.read(arguments):value;if(children){for(var i=0,l=children.length;i<l;i++){children[i][styleKey][set](value)}}else{var old=this["_"+key];if(old!=value&&!(old&&old.equals&&old.equals(value))){this["_"+key]=value;if(isColor){if(old){old._removeOwner(this._item)}if(value){value._addOwner(this._item)}}if(this._item){this._item._changed(flags[key]||Change.STYLE)}}}return this};src[get]=function(){var children=this._item&&this._item._children,style;if(!children){return this["_"+key]}for(var i=0,l=children.length;i<l;i++){var childStyle=children[i][styleKey][get]();if(!style){style=childStyle}else{if(style!=childStyle&&!(style&&style.equals&&style.equals(childStyle))){return undefined}}}return style};this[set]=function(value){this[styleKey][set](value);return this};this[get]=function(){return this[styleKey][get]()}},{}));return this.base(src)}}});var PathStyle=this.PathStyle=Style.extend({_defaults:{fillColor:undefined,strokeColor:undefined,strokeWidth:1,strokeCap:"butt",strokeJoin:"miter",miterLimit:10,dashOffset:0,dashArray:[]},_flags:{strokeWidth:Change.STROKE,strokeCap:Change.STROKE,strokeJoin:Change.STROKE,miterLimit:Change.STROKE},_owner:Item,_style:"_style"});var ParagraphStyle=this.ParagraphStyle=Style.extend({_defaults:{justification:"left"},_owner:TextItem,_style:"_paragraphStyle"});var CharacterStyle=this.CharacterStyle=PathStyle.extend({_defaults:Base.merge(PathStyle.prototype._defaults,{fillColor:"black",fontSize:10,font:"sans-serif"}),_owner:TextItem,_style:"_characterStyle"});var Color=this.Color=Base.extend(new function(){var components={gray:["gray"],rgb:["red","green","blue"],hsb:["hue","saturation","brightness"],hsl:["hue","saturation","lightness"]};var colorCache={},colorContext;function nameToRgbColor(name){var color=colorCache[name];if(color){return color.clone()}if(!colorContext){var canvas=CanvasProvider.getCanvas(Size.create(1,1));colorContext=canvas.getContext("2d");colorContext.globalCompositeOperation="copy"}colorContext.fillStyle="rgba(0,0,0,0)";colorContext.fillStyle=name;colorContext.fillRect(0,0,1,1);var data=colorContext.getImageData(0,0,1,1).data,rgb=[data[0]/255,data[1]/255,data[2]/255];return(colorCache[name]=RgbColor.read(rgb)).clone()}function hexToRgbColor(string){var hex=string.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);if(hex.length>=4){var rgb=new Array(3);for(var i=0;i<3;i++){var channel=hex[i+1];rgb[i]=parseInt(channel.length==1?channel+channel:channel,16)/255}return RgbColor.read(rgb)}}var hsbIndices=[[0,3,1],[2,0,1],[1,0,3],[1,2,0],[3,1,0],[0,1,2]];var converters={"rgb-hsb":function(color){var r=color._red,g=color._green,b=color._blue,max=Math.max(r,g,b),min=Math.min(r,g,b),delta=max-min,h=delta==0?0:(max==r?(g-b)/delta+(g<b?6:0):max==g?(b-r)/delta+2:(r-g)/delta+4)*60,s=max==0?0:delta/max,v=max;return new HsbColor(h,s,v,color._alpha)},"hsb-rgb":function(color){var h=(color._hue/60)%6,s=color._saturation,b=color._brightness,i=Math.floor(h),f=h-i,i=hsbIndices[i],v=[b,b*(1-s),b*(1-s*f),b*(1-s*(1-f))];return new RgbColor(v[i[0]],v[i[1]],v[i[2]],color._alpha)},"rgb-hsl":function(color){var r=color._red,g=color._green,b=color._blue,max=Math.max(r,g,b),min=Math.min(r,g,b),delta=max-min,achromatic=delta==0,h=achromatic?0:(max==r?(g-b)/delta+(g<b?6:0):max==g?(b-r)/delta+2:(r-g)/delta+4)*60,l=(max+min)/2,s=achromatic?0:l<0.5?delta/(max+min):delta/(2-max-min);return new HslColor(h,s,l,color._alpha)},"hsl-rgb":function(color){var s=color._saturation,h=color._hue/360,l=color._lightness,t1,t2,c;if(s==0){return new RgbColor(l,l,l,color._alpha)}var t3s=[h+1/3,h,h-1/3],t2=l<0.5?l*(1+s):l+s-l*s,t1=2*l-t2,c=[];for(var i=0;i<3;i++){var t3=t3s[i];if(t3<0){t3+=1}if(t3>1){t3-=1}c[i]=6*t3<1?t1+(t2-t1)*6*t3:2*t3<1?t2:3*t3<2?t1+(t2-t1)*((2/3)-t3)*6:t1}return new RgbColor(c[0],c[1],c[2],color._alpha)},"rgb-gray":function(color){return new GrayColor(1-(color._red*0.2989+color._green*0.587+color._blue*0.114),color._alpha)},"gray-rgb":function(color){var comp=1-color._gray;return new RgbColor(comp,comp,comp,color._alpha)},"gray-hsb":function(color){return new HsbColor(0,0,1-color._gray,color._alpha)},"gray-hsl":function(color){return new HslColor(0,0,1-color._gray,color._alpha)}};var fields={_readNull:true,initialize:function(arg){var isArray=Array.isArray(arg),type=this._colorType;if(typeof arg==="object"&&!isArray){if(!type){return arg.red!==undefined?new RgbColor(arg.red,arg.green,arg.blue,arg.alpha):arg.gray!==undefined?new GrayColor(arg.gray,arg.alpha):arg.lightness!==undefined?new HslColor(arg.hue,arg.saturation,arg.lightness,arg.alpha):arg.hue!==undefined?new HsbColor(arg.hue,arg.saturation,arg.brightness,arg.alpha):new RgbColor()}else{return Color.read(arguments).convert(type)}}else{if(typeof arg==="string"){var rgbColor=arg.match(/^#[0-9a-f]{3,6}$/i)?hexToRgbColor(arg):nameToRgbColor(arg);return type?rgbColor.convert(type):rgbColor}else{var components=isArray?arg:Array.prototype.slice.call(arguments);if(!type){if(components.length>=3){return new RgbColor(components)}return new GrayColor(components)}else{Base.each(this._components,function(name,i){var value=components[i];this["_"+name]=value!==undefined?value:null},this)}}}},clone:function(){var ctor=this.constructor,copy=new ctor(ctor.dont),components=this._components;for(var i=0,l=components.length;i<l;i++){var key="_"+components[i];copy[key]=this[key]}return copy},convert:function(type){var converter;return this._colorType==type?this.clone():(converter=converters[this._colorType+"-"+type])?converter(this):converters["rgb-"+type](converters[this._colorType+"-rgb"](this))},statics:{extend:function(src){src.beans=true;if(src._colorType){var comps=components[src._colorType];src._components=comps.concat(["alpha"]);Base.each(comps,function(name){var isHue=name==="hue",part=Base.capitalize(name),name="_"+name;this["get"+part]=function(){return this[name]};this["set"+part]=function(value){this[name]=isHue?((value%360)+360)%360:Math.min(Math.max(value,0),1);this._changed();return this}},src)}return this.base(src)}}};Base.each(components,function(comps,type){Base.each(comps,function(component){var part=Base.capitalize(component);fields["get"+part]=function(){return this.convert(type)[component]};fields["set"+part]=function(value){var color=this.convert(type);color[component]=value;color=color.convert(this._colorType);for(var i=0,l=this._components.length;i<l;i++){var key=this._components[i];this[key]=color[key]}}})});return fields},{_changed:function(){this._cssString=null;for(var i=0,l=this._owners&&this._owners.length;i<l;i++){this._owners[i]._changed(Change.STYLE)}},_addOwner:function(item){if(!this._owners){this._owners=[]}this._owners.push(item)},_removeOwner:function(item){var index=this._owners?this._owners.indexOf(item):-1;if(index!=-1){this._owners.splice(index,1);if(this._owners.length==0){delete this._owners}}},getType:function(){return this._colorType},getComponents:function(){var length=this._components.length;var comps=new Array(length);for(var i=0;i<length;i++){comps[i]=this["_"+this._components[i]]}return comps},getAlpha:function(){return this._alpha!=null?this._alpha:1},setAlpha:function(alpha){this._alpha=alpha==null?null:Math.min(Math.max(alpha,0),1);this._changed();return this},hasAlpha:function(){return this._alpha!=null},equals:function(color){if(color&&color._colorType===this._colorType){for(var i=0,l=this._components.length;i<l;i++){var component="_"+this._components[i];if(this[component]!==color[component]){return false}}return true}return false},toString:function(){var parts=[],format=Base.formatNumber;for(var i=0,l=this._components.length;i<l;i++){var component=this._components[i],value=this["_"+component];if(component==="alpha"&&value==null){value=1}parts.push(component+": "+format(value))}return"{ "+parts.join(", ")+" }"},toCssString:function(){if(!this._cssString){var color=this.convert("rgb"),alpha=color.getAlpha(),components=[Math.round(color._red*255),Math.round(color._green*255),Math.round(color._blue*255),alpha!=null?alpha:1];this._cssString="rgba("+components.join(", ")+")"}return this._cssString},getCanvasStyle:function(){return this.toCssString()}});var GrayColor=this.GrayColor=Color.extend({_colorType:"gray"});var RgbColor=this.RgbColor=this.RGBColor=Color.extend({_colorType:"rgb"});var HsbColor=this.HsbColor=this.HSBColor=Color.extend({_colorType:"hsb"});var HslColor=this.HslColor=this.HSLColor=Color.extend({_colorType:"hsl"});var GradientColor=this.GradientColor=Color.extend({initialize:function(gradient,origin,destination,hilite){this.gradient=gradient||new Gradient();this.setOrigin(origin);this.setDestination(destination);if(hilite){this.setHilite(hilite)}},clone:function(){return new GradientColor(this.gradient,this._origin,this._destination,this._hilite)},getOrigin:function(){return this._origin},setOrigin:function(origin){origin=Point.read(arguments).clone();this._origin=origin;if(this._destination){this._radius=this._destination.getDistance(this._origin)}this._changed();return this},getDestination:function(){return this._destination},setDestination:function(destination){destination=Point.read(arguments).clone();this._destination=destination;this._radius=this._destination.getDistance(this._origin);this._changed();return this},getHilite:function(){return this._hilite},setHilite:function(hilite){hilite=Point.read(arguments).clone();var vector=hilite.subtract(this._origin);if(vector.getLength()>this._radius){this._hilite=this._origin.add(vector.normalize(this._radius-0.1))}else{this._hilite=hilite}this._changed();return this},getCanvasStyle:function(ctx){var gradient;if(this.gradient.type==="linear"){gradient=ctx.createLinearGradient(this._origin.x,this._origin.y,this._destination.x,this._destination.y)}else{var origin=this._hilite||this._origin;gradient=ctx.createRadialGradient(origin.x,origin.y,0,this._origin.x,this._origin.y,this._radius)}for(var i=0,l=this.gradient._stops.length;i<l;i++){var stop=this.gradient._stops[i];gradient.addColorStop(stop._rampPoint,stop._color.toCssString())}return gradient},equals:function(color){return color==this||color&&color._colorType===this._colorType&&this.gradient.equals(color.gradient)&&this._origin.equals(color._origin)&&this._destination.equals(color._destination)},transform:function(matrix){matrix._transformPoint(this._origin,this._origin,true);matrix._transformPoint(this._destination,this._destination,true);if(this._hilite){matrix._transformPoint(this._hilite,this._hilite,true)}this._radius=this._destination.getDistance(this._origin)}});var Gradient=this.Gradient=Base.extend({initialize:function(stops,type){this.setStops(stops||["white","black"]);this.type=type||"linear"},clone:function(){var stops=[];for(var i=0,l=this._stops.length;i<l;i++){stops[i]=this._stops[i].clone()}return new Gradient(stops,this.type)},getStops:function(){return this._stops},setStops:function(stops){if(stops.length<2){throw new Error("Gradient stop list needs to contain at least two stops.")}this._stops=GradientStop.readAll(stops);for(var i=0,l=this._stops.length;i<l;i++){var stop=this._stops[i];if(stop._defaultRamp){stop.setRampPoint(i/(l-1))}}},equals:function(gradient){if(gradient.type!=this.type){return false}if(this._stops.length==gradient._stops.length){for(var i=0,l=this._stops.length;i<l;i++){if(!this._stops[i].equals(gradient._stops[i])){return false}}return true}return false}});var GradientStop=this.GradientStop=Base.extend({initialize:function(arg0,arg1){if(arg1===undefined&&Array.isArray(arg0)){this.setColor(arg0[0]);this.setRampPoint(arg0[1])}else{if(arg0.color){this.setColor(arg0.color);this.setRampPoint(arg0.rampPoint)}else{this.setColor(arg0);this.setRampPoint(arg1)}}},clone:function(){return new GradientStop(this._color.clone(),this._rampPoint)},getRampPoint:function(){return this._rampPoint},setRampPoint:function(rampPoint){this._defaultRamp=rampPoint==null;this._rampPoint=rampPoint||0},getColor:function(){return this._color},setColor:function(color){this._color=Color.read(arguments)},equals:function(stop){return stop==this||stop instanceof GradientStop&&this._color.equals(stop._color)&&this._rampPoint==stop._rampPoint}});var DomElement={getBounds:function(el,viewport){var rect=el.getBoundingClientRect(),doc=el.ownerDocument,body=doc.body,docEl=doc.documentElement,x=rect.left-(docEl.clientLeft||body.clientLeft||0),y=rect.top-(docEl.clientTop||body.clientTop||0);if(!viewport){var win=DomElement.getViewport(doc);x+=win.pageXOffset||docEl.scrollLeft||body.scrollLeft;y+=win.pageYOffset||docEl.scrollTop||body.scrollTop}return new Rectangle(x,y,rect.width,rect.height)},getOffset:function(el,viewport){return this.getBounds(el,viewport).getPoint()},getSize:function(el){return this.getBounds(el,true).getSize()},isInvisible:function(el){return this.getSize(el).equals([0,0])},isVisible:function(el){return !this.isInvisible(el)&&this.getViewportBounds(el).intersects(this.getBounds(el,true))},getViewport:function(doc){return doc.defaultView||doc.parentWindow},getViewportBounds:function(el){var doc=el.ownerDocument,view=this.getViewport(doc),body=doc.getElementsByTagName(doc.compatMode==="CSS1Compat"?"html":"body")[0];return Rectangle.create(0,0,view.innerWidth||body.clientWidth,view.innerHeight||body.clientHeight)},getComputedStyle:function(el,name){if(el.currentStyle){return el.currentStyle[Base.camelize(name)]}var style=this.getViewport(el.ownerDocument).getComputedStyle(el,null);return style?style.getPropertyValue(Base.hyphenate(name)):null}};var DomEvent={add:function(el,events){for(var type in events){var func=events[type];if(el.addEventListener){el.addEventListener(type,func,false)}else{if(el.attachEvent){el.attachEvent("on"+type,func.bound=function(){func.call(el,window.event)})}}}},remove:function(el,events){for(var type in events){var func=events[type];if(el.removeEventListener){el.removeEventListener(type,func,false)}else{if(el.detachEvent){el.detachEvent("on"+type,func.bound)}}}},getPoint:function(event){var pos=event.targetTouches?event.targetTouches.length?event.targetTouches[0]:event.changedTouches[0]:event;return Point.create(pos.pageX||pos.clientX+document.documentElement.scrollLeft,pos.pageY||pos.clientY+document.documentElement.scrollTop)},getTarget:function(event){return event.target||event.srcElement},getOffset:function(event,target){return DomEvent.getPoint(event).subtract(DomElement.getOffset(target||DomEvent.getTarget(event)))},preventDefault:function(event){if(event.preventDefault){event.preventDefault()}else{event.returnValue=false}},stopPropagation:function(event){if(event.stopPropagation){event.stopPropagation()}else{event.cancelBubble=true}},stop:function(event){DomEvent.stopPropagation(event);DomEvent.preventDefault(event)}};DomEvent.requestAnimationFrame=new function(){var part="equestAnimationFrame",request=window["r"+part]||window["webkitR"+part]||window["mozR"+part]||window["oR"+part]||window["msR"+part];if(request){request(function(time){if(time==undefined){request=null}})}var callbacks=[],focused=true,timer;DomEvent.add(window,{focus:function(){focused=true},blur:function(){focused=false}});return function(callback,element){if(request){return request(callback,element)}callbacks.push([callback,element]);if(timer){return }timer=window.setInterval(function(){for(var i=callbacks.length-1;i>=0;i--){var entry=callbacks[i],func=entry[0],el=entry[1];if(!el||(PaperScript.getAttribute(el,"keepalive")=="true"||focused)&&DomElement.isVisible(el)){callbacks.splice(i,1);func(Date.now())}}},1000/60)}};var View=this.View=PaperScopeItem.extend({_list:"views",_reference:"view",initialize:function(canvas){this.base();var size;if(typeof canvas==="string"){canvas=document.getElementById(canvas)}if(canvas instanceof HTMLCanvasElement){this._canvas=canvas;if(PaperScript.hasAttribute(canvas,"resize")){var offset=DomElement.getOffset(canvas,true),that=this;size=DomElement.getViewportBounds(canvas).getSize().subtract(offset);canvas.width=size.width;canvas.height=size.height;DomEvent.add(window,{resize:function(event){if(!DomElement.isInvisible(canvas)){offset=DomElement.getOffset(canvas,true)}that.setViewSize(DomElement.getViewportBounds(canvas).getSize().subtract(offset))}})}else{size=DomElement.isInvisible(canvas)?Size.create(parseInt(canvas.getAttribute("width")),parseInt(canvas.getAttribute("height"))):DomElement.getSize(canvas)}if(PaperScript.hasAttribute(canvas,"stats")){this._stats=new Stats();var element=this._stats.domElement,style=element.style,offset=DomElement.getOffset(canvas);style.position="absolute";style.left=offset.x+"px";style.top=offset.y+"px";document.body.appendChild(element)}}else{size=Size.read(arguments,1);if(size.isZero()){size=new Size(1024,768)}this._canvas=CanvasProvider.getCanvas(size)}this._id=this._canvas.getAttribute("id");if(this._id==null){this._canvas.setAttribute("id",this._id="canvas-"+View._id++)}View._views[this._id]=this;this._viewSize=LinkedSize.create(this,"setViewSize",size.width,size.height);this._context=this._canvas.getContext("2d");this._matrix=new Matrix();this._zoom=1;this._events=this._createEvents();DomEvent.add(this._canvas,this._events);if(!View._focused){View._focused=this}this._scope._redrawNotified=false},remove:function(){if(!this.base()){return false}if(View._focused==this){View._focused=null}delete View._views[this._id];DomEvent.remove(this._canvas,this._events);this._canvas=this._events=this._onFrame=null;return true},_redraw:function(){this._redrawNeeded=true;if(this._onFrameCallback){this._onFrameCallback(0,true)}else{this.draw()}},_transform:function(matrix,flags){this._matrix.preConcatenate(matrix);this._bounds=null;this._inverse=null;this._redraw()},getCanvas:function(){return this._canvas},getViewSize:function(){return this._viewSize},setViewSize:function(size){size=Size.read(arguments);var delta=size.subtract(this._viewSize);if(delta.isZero()){return }this._canvas.width=size.width;this._canvas.height=size.height;this._viewSize.set(size.width,size.height,true);this._bounds=null;this._redrawNeeded=true;if(this.onResize){this.onResize({size:size,delta:delta})}this._redraw()},getBounds:function(){if(!this._bounds){this._bounds=this._getInverse()._transformBounds(new Rectangle(new Point(),this._viewSize))}return this._bounds},getSize:function(){return this.getBounds().getSize()},getCenter:function(){return this.getBounds().getCenter()},setCenter:function(center){this.scrollBy(Point.read(arguments).subtract(this.getCenter()))},getZoom:function(){return this._zoom},setZoom:function(zoom){this._transform(new Matrix().scale(zoom/this._zoom,this.getCenter()));this._zoom=zoom},isVisible:function(){return DomElement.isVisible(this._canvas)},scrollBy:function(point){this._transform(new Matrix().translate(Point.read(arguments).negate()))},draw:function(checkRedraw){if(checkRedraw&&!this._redrawNeeded){return false}if(this._stats){this._stats.update()}var ctx=this._context,size=this._viewSize;ctx.clearRect(0,0,size._width+1,size._height+1);ctx.save();this._matrix.applyToContext(ctx);this._scope.project.draw(ctx);ctx.restore();if(this._redrawNeeded){this._redrawNeeded=false;this._scope._redrawNotified=false}return true},projectToView:function(point){return this._matrix._transformPoint(Point.read(arguments))},viewToProject:function(point){return this._getInverse()._transformPoint(Point.read(arguments))},_getInverse:function(){if(!this._inverse){this._inverse=this._matrix.createInverse()}return this._inverse},getOnFrame:function(){return this._onFrame},setOnFrame:function(onFrame){this._onFrame=onFrame;if(!onFrame){delete this._onFrameCallback;return }var that=this,requested=false,before,time=0,count=0;this._onFrameCallback=function(param,dontRequest){requested=false;if(!that._onFrame){return }paper=that._scope;requested=true;if(!dontRequest){DomEvent.requestAnimationFrame(that._onFrameCallback,that._canvas)}var now=Date.now()/1000,delta=before?now-before:0;that._onFrame(Base.merge({delta:delta,time:time+=delta,count:count++}));before=now;that.draw(true)};if(!requested){this._onFrameCallback()}},onResize:null},{statics:{_views:{},_id:0}},new function(){var tool,timer,curPoint,tempFocus,dragging=false;function viewToProject(view,event){return view.viewToProject(DomEvent.getOffset(event,view._canvas))}function updateFocus(){if(!View._focused||!View._focused.isVisible()){PaperScope.each(function(scope){for(var i=0,l=scope.views.length;i<l;i++){var view=scope.views[i];if(view.isVisible()){View._focused=tempFocus=view;throw Base.stop}}})}}function mousemove(event){var view;if(!dragging){view=View._views[DomEvent.getTarget(event).getAttribute("id")];if(view){View._focused=tempFocus=view}else{if(tempFocus&&tempFocus==View._focused){View._focused=null;updateFocus()}}}if(!(view=view||View._focused)||!(tool=view._scope.tool)){return }var point=event&&viewToProject(view,event);var onlyMove=!!(!tool.onMouseDrag&&tool.onMouseMove);if(dragging&&!onlyMove){curPoint=point||curPoint;if(curPoint&&tool.onHandleEvent("mousedrag",curPoint,event)){view.draw(true);DomEvent.stop(event)}}else{if((!dragging||onlyMove)&&tool.onHandleEvent("mousemove",point,event)){view.draw(true);DomEvent.stop(event)}}}function mouseup(event){var view=View._focused;if(!view||!dragging){return }dragging=false;curPoint=null;if(tool){if(timer!=null){timer=clearInterval(timer)}if(tool.onHandleEvent("mouseup",viewToProject(view,event),event)){view.draw(true);DomEvent.stop(event)}}}function selectstart(event){if(dragging){DomEvent.stop(event)}}DomEvent.add(document,{mousemove:mousemove,mouseup:mouseup,touchmove:mousemove,touchend:mouseup,selectstart:selectstart,scroll:updateFocus});DomEvent.add(window,{load:updateFocus});return{_createEvents:function(){var view=this;function mousedown(event){View._focused=view;if(!(tool=view._scope.tool)){return }curPoint=viewToProject(view,event);if(tool.onHandleEvent("mousedown",curPoint,event)){view.draw(true)}if(tool.eventInterval!=null){timer=setInterval(mousemove,tool.eventInterval)}dragging=true}return{mousedown:mousedown,touchstart:mousedown,selectstart:selectstart}},statics:{updateFocus:updateFocus}}});var Event=this.Event=Base.extend({initialize:function(event){this.event=event},preventDefault:function(){DomEvent.preventDefault(this.event)},stopPropagation:function(){DomEvent.stopPropagation(this.event)},stop:function(){DomEvent.stop(this.event)},getModifiers:function(){return Key.modifiers}});var KeyEvent=this.KeyEvent=Event.extend(new function(){return{initialize:function(down,key,character,event){this.base(event);this.type=down?"keydown":"keyup";this.key=key;this.character=character},toString:function(){return"{ type: "+this.type+", key: "+this.key+", character: "+this.character+", modifiers: "+this.getModifiers()+" }"}}});var Key=this.Key=new function(){var keys={8:"backspace",13:"enter",16:"shift",17:"control",18:"option",19:"pause",20:"caps-lock",27:"escape",32:"space",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",46:"delete",91:"command",93:"command",224:"command"},modifiers=Base.merge({shift:false,control:false,option:false,command:false,capsLock:false}),charCodeMap={},keyMap={},downCode;function handleKey(down,keyCode,charCode,event){var character=String.fromCharCode(charCode),key=keys[keyCode]||character.toLowerCase(),handler=down?"onKeyDown":"onKeyUp",view=View._focused,scope=view&&view.isVisible()&&view._scope,tool=scope&&scope.tool;keyMap[key]=down;if(tool&&tool[handler]){var keyEvent=new KeyEvent(down,key,character,event);if(tool[handler](keyEvent)===false){keyEvent.preventDefault()}if(view){view.draw(true)}}}DomEvent.add(document,{keydown:function(event){var code=event.which||event.keyCode;var key=keys[code],name;if(key){if((name=Base.camelize(key)) in modifiers){modifiers[name]=true}charCodeMap[code]=0;handleKey(true,code,null,event)}else{downCode=code}},keypress:function(event){if(downCode!=null){var code=event.which||event.keyCode;charCodeMap[downCode]=code;handleKey(true,downCode,code,event);downCode=null}},keyup:function(event){var code=event.which||event.keyCode,key=keys[code],name;if(key&&(name=Base.camelize(key)) in modifiers){modifiers[name]=false}if(charCodeMap[code]!=null){handleKey(false,code,charCodeMap[code],event);delete charCodeMap[code]}}});return{modifiers:modifiers,isDown:function(key){return !!keyMap[key]}}};var ToolEvent=this.ToolEvent=Event.extend({initialize:function(tool,type,event){this.tool=tool;this.type=type;this.event=event},_choosePoint:function(point,toolPoint){return point?point:toolPoint?toolPoint.clone():null},getPoint:function(){return this._choosePoint(this._point,this.tool._point)},setPoint:function(point){this._point=point},getLastPoint:function(){return this._choosePoint(this._lastPoint,this.tool._lastPoint)},setLastPoint:function(lastPoint){this._lastPoint=lastPoint},getDownPoint:function(){return this._choosePoint(this._downPoint,this.tool._downPoint)},setDownPoint:function(downPoint){this._downPoint=downPoint},getMiddlePoint:function(){if(!this._middlePoint&&this.tool._lastPoint){return this.tool._point.add(this.tool._lastPoint).divide(2)}return this.middlePoint},setMiddlePoint:function(middlePoint){this._middlePoint=middlePoint},getDelta:function(){return !this._delta&&this.tool._lastPoint?this.tool._point.subtract(this.tool._lastPoint):this._delta},setDelta:function(delta){this._delta=delta},getCount:function(){return/^mouse(down|up)$/.test(this.type)?this.tool._downCount:this.tool._count},setCount:function(count){this.tool[/^mouse(down|up)$/.test(this.type)?"downCount":"count"]=count},getItem:function(){if(!this._item){var result=this.tool._scope.project.hitTest(this.getPoint());if(result){var item=result.item,parent=item._parent;while((parent instanceof Group&&!(parent instanceof Layer))||parent instanceof CompoundPath){item=parent;parent=parent._parent}this._item=item}}return this._item},setItem:function(item){this._item=item},toString:function(){return"{ type: "+this.type+", point: "+this.getPoint()+", count: "+this.getCount()+", modifiers: "+this.getModifiers()+" }"}});var Tool=this.Tool=PaperScopeItem.extend({_list:"tools",_reference:"tool",initialize:function(){this.base();this._firstMove=true;this._count=0;this._downCount=0},eventInterval:null,getMinDistance:function(){return this._minDistance},setMinDistance:function(minDistance){this._minDistance=minDistance;if(this._minDistance!=null&&this._maxDistance!=null&&this._minDistance>this._maxDistance){this._maxDistance=this._minDistance}},getMaxDistance:function(){return this._maxDistance},setMaxDistance:function(maxDistance){this._maxDistance=maxDistance;if(this._minDistance!=null&&this._maxDistance!=null&&this._maxDistance<this._minDistance){this._minDistance=maxDistance}},getFixedDistance:function(){return this._minDistance==this._maxDistance?this._minDistance:null},setFixedDistance:function(distance){this._minDistance=distance;this._maxDistance=distance},updateEvent:function(type,pt,minDistance,maxDistance,start,needsChange,matchMaxDistance){if(!start){if(minDistance!=null||maxDistance!=null){var minDist=minDistance!=null?minDistance:0;var vector=pt.subtract(this._point);var distance=vector.getLength();if(distance<minDist){return false}var maxDist=maxDistance!=null?maxDistance:0;if(maxDist!=0){if(distance>maxDist){pt=this._point.add(vector.normalize(maxDist))}else{if(matchMaxDistance){return false}}}}if(needsChange&&pt.equals(this._point)){return false}}this._lastPoint=start&&type=="mousemove"?pt:this._point;this._point=pt;switch(type){case"mousedown":this._lastPoint=this._downPoint;this._downPoint=this._point;this._downCount++;break;case"mouseup":this._lastPoint=this._downPoint;break}this._count=start?0:this._count+1;return true},onHandleEvent:function(type,pt,event){paper=this._scope;var called=false;switch(type){case"mousedown":this.updateEvent(type,pt,null,null,true,false,false);if(this.onMouseDown){this.onMouseDown(new ToolEvent(this,type,event));called=true}break;case"mousedrag":var needsChange=false,matchMaxDistance=false;while(this.updateEvent(type,pt,this.minDistance,this.maxDistance,false,needsChange,matchMaxDistance)){if(this.onMouseDrag){this.onMouseDrag(new ToolEvent(this,type,event));called=true}needsChange=true;matchMaxDistance=true}break;case"mouseup":if((this._point.x!=pt.x||this._point.y!=pt.y)&&this.updateEvent("mousedrag",pt,this.minDistance,this.maxDistance,false,false,false)){if(this.onMouseDrag){this.onMouseDrag(new ToolEvent(this,type,event));called=true}}this.updateEvent(type,pt,null,this.maxDistance,false,false,false);if(this.onMouseUp){this.onMouseUp(new ToolEvent(this,type,event));called=true}this.updateEvent(type,pt,null,null,true,false,false);this._firstMove=true;break;case"mousemove":while(this.updateEvent(type,pt,this.minDistance,this.maxDistance,this._firstMove,true,false)){if(this.onMouseMove){this.onMouseMove(new ToolEvent(this,type,event));called=true}this._firstMove=false}break}return called}});var CanvasProvider={canvases:[],getCanvas:function(size){if(this.canvases.length){var canvas=this.canvases.pop();if((canvas.width!=size.width)||(canvas.height!=size.height)){canvas.width=size.width;canvas.height=size.height}else{canvas.getContext("2d").clearRect(0,0,size.width+1,size.height+1)}return canvas}else{var canvas=document.createElement("canvas");canvas.width=size.width;canvas.height=size.height;return canvas}},returnCanvas:function(canvas){this.canvases.push(canvas)}};var Numerical=new function(){var abscissas=[[0.5773502691896257],[0,0.7745966692414834],[0.33998104358485626,0.8611363115940526],[0,0.5384693101056831,0.906179845938664],[0.2386191860831969,0.6612093864662645,0.932469514203152],[0,0.4058451513773972,0.7415311855993945,0.9491079123427585],[0.1834346424956498,0.525532409916329,0.7966664774136267,0.9602898564975363],[0,0.3242534234038089,0.6133714327005904,0.8360311073266358,0.9681602395076261],[0.14887433898163122,0.4333953941292472,0.6794095682990244,0.8650633666889845,0.9739065285171717],[0,0.26954315595234496,0.5190961292068118,0.7301520055740494,0.8870625997680953,0.978228658146057],[0.1252334085114689,0.3678314989981802,0.5873179542866175,0.7699026741943047,0.9041172563704749,0.9815606342467192],[0,0.2304583159551348,0.44849275103644687,0.6423493394403402,0.8015780907333099,0.9175983992229779,0.9841830547185881],[0.10805494870734367,0.31911236892788974,0.5152486363581541,0.6872929048116855,0.827201315069765,0.9284348836635735,0.9862838086968123],[0,0.20119409399743451,0.3941513470775634,0.5709721726085388,0.7244177313601701,0.8482065834104272,0.937273392400706,0.9879925180204854],[0.09501250983763744,0.2816035507792589,0.45801677765722737,0.6178762444026438,0.755404408355003,0.8656312023878318,0.9445750230732326,0.9894009349916499]];var weights=[[1],[0.8888888888888888,0.5555555555555556],[0.6521451548625461,0.34785484513745385],[0.5688888888888889,0.47862867049936647,0.23692688505618908],[0.46791393457269104,0.3607615730481386,0.17132449237917036],[0.4179591836734694,0.3818300505051189,0.27970539148927664,0.1294849661688697],[0.362683783378362,0.31370664587788727,0.22238103445337448,0.10122853629037626],[0.3302393550012598,0.31234707704000286,0.26061069640293544,0.1806481606948574,0.08127438836157441],[0.29552422471475287,0.26926671930999635,0.21908636251598204,0.1494513491505806,0.06667134430868814],[0.2729250867779006,0.26280454451024665,0.23319376459199048,0.18629021092773426,0.1255803694649046,0.05566856711617366],[0.24914704581340277,0.2334925365383548,0.20316742672306592,0.16007832854334622,0.10693932599531843,0.04717533638651183],[0.2325515532308739,0.22628318026289723,0.2078160475368885,0.17814598076194574,0.13887351021978725,0.09212149983772845,0.04048400476531588],[0.2152638534631578,0.2051984637212956,0.18553839747793782,0.15720316715819355,0.12151857068790319,0.08015808715976021,0.03511946033175186],[0.2025782419255613,0.19843148532711158,0.1861610000155622,0.16626920581699392,0.13957067792615432,0.10715922046717194,0.07036604748810812,0.03075324199611727],[0.1894506104550685,0.18260341504492358,0.16915651939500254,0.14959598881657674,0.12462897125553388,0.09515851168249279,0.062253523938647894,0.027152459411754096]];var abs=Math.abs,sqrt=Math.sqrt,cos=Math.cos,PI=Math.PI;return{TOLERANCE:0.00001,EPSILON:1e-11,integrate:function(f,a,b,n){var x=abscissas[n-2],w=weights[n-2],A=0.5*(b-a),B=A+a,i=0,m=(n+1)>>1,sum=n&1?w[i++]*f(B):0;while(i<m){var Ax=A*x[i];sum+=w[i++]*(f(B+Ax)+f(B-Ax))}return A*sum},findRoot:function(f,df,x,a,b,n,tolerance){for(var i=0;i<n;i++){var fx=f(x),dx=fx/df(x);if(abs(dx)<tolerance){return x}var nx=x-dx;if(fx>0){b=x;x=nx<=a?0.5*(a+b):nx}else{a=x;x=nx>=b?0.5*(a+b):nx}}},solveQuadratic:function(a,b,c,roots,tolerance){if(abs(a)<tolerance){if(abs(b)>=tolerance){roots[0]=-c/b;return 1}if(abs(c)<tolerance){return -1}return 0}var q=b*b-4*a*c;if(q<0){return 0}q=sqrt(q);if(b<0){q=-q}q=(b+q)*-0.5;var n=0;if(abs(q)>=tolerance){roots[n++]=c/q}if(abs(a)>=tolerance){roots[n++]=q/a}return n},solveCubic:function(a,b,c,d,roots,tolerance){if(abs(a)<tolerance){return Numerical.solveQuadratic(b,c,d,roots,tolerance)}b/=a;c/=a;d/=a;var Q=(b*b-3*c)/9,R=(2*b*b*b-9*b*c+27*d)/54,Q3=Q*Q*Q,R2=R*R;b/=3;if(R2<Q3){var theta=Math.acos(R/sqrt(Q3)),q=-2*sqrt(Q);roots[0]=q*cos(theta/3)-b;roots[1]=q*cos((theta+2*PI)/3)-b;roots[2]=q*cos((theta-2*PI)/3)-b;return 3}else{var A=-Math.pow(abs(R)+sqrt(R2-Q3),1/3);if(R<0){A=-A}var B=(abs(A)<tolerance)?0:Q/A;roots[0]=(A+B)-b;return 1}return 0}}};var BlendMode={process:function(blendMode,srcContext,dstContext,alpha,offset){var srcCanvas=srcContext.canvas,dstData=dstContext.getImageData(offset.x,offset.y,srcCanvas.width,srcCanvas.height),dst=dstData.data,src=srcContext.getImageData(0,0,srcCanvas.width,srcCanvas.height).data,min=Math.min,max=Math.max,abs=Math.abs,sr,sg,sb,sa,br,bg,bb,ba,dr,dg,db;function getLum(r,g,b){return 0.2989*r+0.587*g+0.114*b}function setLum(r,g,b,l){var d=l-getLum(r,g,b);dr=r+d;dg=g+d;db=b+d;var l=getLum(dr,dg,db),mn=min(dr,dg,db),mx=max(dr,dg,db);if(mn<0){var lmn=l-mn;dr=l+(dr-l)*l/lmn;dg=l+(dg-l)*l/lmn;db=l+(db-l)*l/lmn}if(mx>255){var ln=255-l,mxl=mx-l;dr=l+(dr-l)*ln/mxl;dg=l+(dg-l)*ln/mxl;db=l+(db-l)*ln/mxl}}function getSat(r,g,b){return max(r,g,b)-min(r,g,b)}function setSat(r,g,b,s){var col=[r,g,b],mx=max(r,g,b),mn=min(r,g,b),md;mn=mn==r?0:mn==g?1:2;mx=mx==r?0:mx==g?1:2;md=min(mn,mx)==0?max(mn,mx)==1?2:1:0;if(col[mx]>col[mn]){col[md]=(col[md]-col[mn])*s/(col[mx]-col[mn]);col[mx]=s}else{col[md]=col[mx]=0}col[mn]=0;dr=col[0];dg=col[1];db=col[2]}var modes={multiply:function(){dr=br*sr/255;dg=bg*sg/255;db=bb*sb/255},screen:function(){dr=255-(255-br)*(255-sr)/255;dg=255-(255-bg)*(255-sg)/255;db=255-(255-bb)*(255-sb)/255},overlay:function(){dr=br<128?2*br*sr/255:255-2*(255-br)*(255-sr)/255;dg=bg<128?2*bg*sg/255:255-2*(255-bg)*(255-sg)/255;db=bb<128?2*bb*sb/255:255-2*(255-bb)*(255-sb)/255},"soft-light":function(){var t=sr*br/255;dr=t+br*(255-(255-br)*(255-sr)/255-t)/255;t=sg*bg/255;dg=t+bg*(255-(255-bg)*(255-sg)/255-t)/255;t=sb*bb/255;db=t+bb*(255-(255-bb)*(255-sb)/255-t)/255},"hard-light":function(){dr=sr<128?2*sr*br/255:255-2*(255-sr)*(255-br)/255;dg=sg<128?2*sg*bg/255:255-2*(255-sg)*(255-bg)/255;db=sb<128?2*sb*bb/255:255-2*(255-sb)*(255-bb)/255},"color-dodge":function(){dr=sr==255?sr:min(255,br*255/(255-sr));dg=sg==255?sg:min(255,bg*255/(255-sg));db=sb==255?sb:min(255,bb*255/(255-sb))},"color-burn":function(){dr=sr==0?0:max(255-((255-br)*255)/sr,0);dg=sg==0?0:max(255-((255-bg)*255)/sg,0);db=sb==0?0:max(255-((255-bb)*255)/sb,0)},darken:function(){dr=br<sr?br:sr;dg=bg<sg?bg:sg;db=bb<sb?bb:sb},lighten:function(){dr=br>sr?br:sr;dg=bg>sg?bg:sg;db=bb>sb?bb:sb},difference:function(){dr=br-sr;if(dr<0){dr=-dr}dg=bg-sg;if(dg<0){dg=-dg}db=bb-sb;if(db<0){db=-db}},exclusion:function(){dr=br+sr*(255-br-br)/255;dg=bg+sg*(255-bg-bg)/255;db=bb+sb*(255-bb-bb)/255},hue:function(){setSat(sr,sg,sb,getSat(br,bg,bb));setLum(dr,dg,db,getLum(br,bg,bb))},saturation:function(){setSat(br,bg,bb,getSat(sr,sg,sb));setLum(dr,dg,db,getLum(br,bg,bb))},luminosity:function(){setLum(br,bg,bb,getLum(sr,sg,sb))},color:function(){setLum(sr,sg,sb,getLum(br,bg,bb))},add:function(){dr=min(br+sr,255);dg=min(bg+sg,255);db=min(bb+sb,255)},subtract:function(){dr=max(br-sr,0);dg=max(bg-sg,0);db=max(bb-sb,0)},average:function(){dr=(br+sr)/2;dg=(bg+sg)/2;db=(bb+sb)/2},negation:function(){dr=255-abs(255-sr-br);dg=255-abs(255-sg-bg);db=255-abs(255-sb-bb)}};var process=modes[blendMode];if(!process){return }for(var i=0,l=dst.length;i<l;i+=4){sr=src[i];br=dst[i];sg=src[i+1];bg=dst[i+1];sb=src[i+2];bb=dst[i+2];sa=src[i+3];ba=dst[i+3];process();var a1=sa*alpha/255,a2=1-a1;dst[i]=a1*dr+a2*br;dst[i+1]=a1*dg+a2*bg;dst[i+2]=a1*db+a2*bb;dst[i+3]=sa*alpha+a2*ba}dstContext.putImageData(dstData,offset.x,offset.y)}};var PaperScript=this.PaperScript=new function(){var parse_js=new function(){function W(a,b,c){var d=[];for(var e=0;e<a.length;++e){d.push(b.call(c,a[e],e))}return d}function V(c){return/^[a-z_$][a-z0-9_$]*$/i.test(c)&&c!="this"&&!M(d,c)&&!M(b,c)&&!M(a,c)}function U(a,b){var c={};a===!0&&(a={});for(var d in b){M(b,d)&&(c[d]=a&&M(a,d)?a[d]:b[d])}return c}function T(a,b){return b<1?"":Array(b+1).join(a)}function S(a,b){function z(a){var b=a[0],c=r[b];if(!c){throw new Error("Can't find generator for \""+b+'"')}y.push(a);var d=c.apply(b,a.slice(1));y.pop();return d}function x(a){var b=a[0],c=a[1];c!=null&&(b=k([g(b),"=",m(c,"seq")]));return b}function w(a){return a?a.length==0?"{}":"{"+e+j(function(){return u(a).join(e)})+e+h("}"):";"}function v(a){var b=a.length;return b==0?"{}":"{"+e+W(a,function(a,d){var f=a[1].length>0,g=j(function(){return h(a[0]?k(["case",z(a[0])+":"]):"default:")},0.5)+(f?e+j(function(){return u(a[1]).join(e)}):"");!c&&f&&d<b-1&&(g+=";");return g}).join(e)+e+h("}")}function u(a,b){for(var d=[],e=a.length-1,f=0;f<=e;++f){var g=a[f],i=z(g);i!=";"&&(!c&&f==e&&(g[0]=="while"&&O(g[2])||L(g[0],["for","for-in"])&&O(g[4])||g[0]=="if"&&O(g[2])&&!g[3]||g[0]=="if"&&g[3]&&O(g[3])?i=i.replace(/;*\s*$/,";"):i=i.replace(/;+\s*$/,"")),d.push(i))}return b?d:W(d,h)}function t(a,b,c,d){var e=d||"function";a&&(e+=" "+g(a)),e+="("+l(W(b,g))+")";return k([e,w(c)])}function s(a){if(a[0]=="do"){return z(["block",[a]])}var b=a;for(;;){var c=b[0];if(c=="if"){if(!b[3]){return z(["block",[a]])}b=b[3]}else{if(c=="while"||c=="do"){b=b[2]}else{if(c=="for"||c=="for-in"){b=b[4]}else{break}}}}return z(a)}function q(a){var b=a.toString(10),c=[b.replace(/^0\./,".")],d;Math.floor(a)===a?(c.push("0x"+a.toString(16).toLowerCase(),"0"+a.toString(8)),(d=/^(.*?)(0+)$/.exec(a))&&c.push(d[1]+"e"+d[2].length)):(d=/^0?\.(0+)(.*)$/.exec(a))&&c.push(d[2]+"e-"+(d[1].length+d[2].length),b.substr(b.indexOf(".")));return n(c)}function o(a){if(a[0]=="function"||a[0]=="object"){var b=J(y),c=b.pop(),d=b.pop();while(d){if(d[0]=="stat"){return !0}if((d[0]=="seq"||d[0]=="call"||d[0]=="dot"||d[0]=="sub"||d[0]=="conditional")&&d[1]===c||(d[0]=="binary"||d[0]=="assign"||d[0]=="unary-postfix")&&d[2]===c){c=d,d=b.pop()}else{return !1}}}return !M(P,a[0])}function n(a){if(a.length==1){return a[0]}if(a.length==2){var b=a[1];a=a[0];return a.length<=b.length?a:b}return n([a[0],n(a.slice(1))])}function m(a){var b=z(a);for(var c=1;c<arguments.length;++c){var d=arguments[c];if(d instanceof Function&&d(a)||a[0]==d){return"("+b+")"}}return b}function l(a){return a.join(","+f)}function k(a){if(c){return a.join(" ")}var b=[];for(var d=0;d<a.length;++d){var e=a[d+1];b.push(a[d]),e&&(/[a-z0-9_\x24]$/i.test(a[d].toString())&&/^[a-z0-9_\x24]/i.test(e.toString())||/[\+\-]$/.test(a[d].toString())&&/^[\+\-]/.test(e.toString()))&&b.push(" ")}return b.join("")}function j(a,b){b==null&&(b=1),d+=b;try{return a.apply(null,J(arguments,1))}finally{d-=b}}function h(a){a==null&&(a=""),c&&(a=T(" ",b.indent_start+d*b.indent_level)+a);return a}function g(a){return a.toString()}b=U(b,{indent_start:0,indent_level:4,quote_keys:!1,space_colon:!1,beautify:!1});var c=!!b.beautify,d=0,e=c?"\n":"",f=c?" ":"",r={string:Q,num:q,name:g,toplevel:function(a){return u(a).join(e)},splice:function(a){var b=y[y.length-2][0];return M(R,b)?w.apply(this,arguments):W(u(a,!0),function(a,b){return b>0?h(a):a}).join(e)},block:w,"var":function(a){return"var "+l(W(a,x))+";"},"const":function(a){return"const "+l(W(a,x))+";"},"try":function(a,b,c){var d=["try",w(a)];b&&d.push("catch","("+b[0]+")",w(b[1])),c&&d.push("finally",w(c));return k(d)},"throw":function(a){return k(["throw",z(a)])+";"},"new":function(a,b){b=b.length>0?"("+l(W(b,z))+")":"";return k(["new",m(a,"seq","binary","conditional","assign",function(a){var b=N(),c={};try{b.with_walkers({call:function(){throw c},"function":function(){return this}},function(){b.walk(a)})}catch(d){if(d===c){return !0}throw d}})+b])},"switch":function(a,b){return k(["switch","("+z(a)+")",v(b)])},"break":function(a){var b="break";a!=null&&(b+=" "+g(a));return b+";"},"continue":function(a){var b="continue";a!=null&&(b+=" "+g(a));return b+";"},conditional:function(a,b,c){return k([m(a,"assign","seq","conditional"),"?",m(b,"seq"),":",m(c,"seq")])},assign:function(a,b,c){a&&a!==!0?a+="=":a="=";return k([z(b),a,m(c,"seq")])},dot:function(a){var b=z(a),c=1;a[0]=="num"?/\./.test(a[1])||(b+="."):o(a)&&(b="("+b+")");while(c<arguments.length){b+="."+g(arguments[c++])}return b},call:function(a,b){var c=z(a);o(a)&&(c="("+c+")");return c+"("+l(W(b,function(a){return m(a,"seq")}))+")"},"function":t,defun:t,"if":function(a,b,c){var d=["if","("+z(a)+")",c?s(b):z(b)];c&&d.push("else",z(c));return k(d)},"for":function(a,b,c,d){var e=["for"];a=(a!=null?z(a):"").replace(/;*\s*$/,";"+f),b=(b!=null?z(b):"").replace(/;*\s*$/,";"+f),c=(c!=null?z(c):"").replace(/;*\s*$/,"");var g=a+b+c;g=="; ; "&&(g=";;"),e.push("("+g+")",z(d));return k(e)},"for-in":function(a,b,c,d){return k(["for","("+(a?z(a).replace(/;+$/,""):z(b)),"in",z(c)+")",z(d)])},"while":function(a,b){return k(["while","("+z(a)+")",z(b)])},"do":function(a,b){return k(["do",z(b),"while","("+z(a)+")"])+";"},"return":function(a){var b=["return"];a!=null&&b.push(z(a));return k(b)+";"},binary:function(a,b,c){var d=z(b),e=z(c);if(L(b[0],["assign","conditional","seq"])||b[0]=="binary"&&B[a]>B[b[1]]){d="("+d+")"}if(L(c[0],["assign","conditional","seq"])||c[0]=="binary"&&B[a]>=B[c[1]]&&(c[1]!=a||!L(a,["&&","||","*"]))){e="("+e+")"}return k([d,a,e])},"unary-prefix":function(a,b){var c=z(b);b[0]=="num"||b[0]=="unary-prefix"&&!M(i,a+b[1])||!o(b)||(c="("+c+")");return a+(p(a.charAt(0))?" ":"")+c},"unary-postfix":function(a,b){var c=z(b);b[0]=="num"||b[0]=="unary-postfix"&&!M(i,a+b[1])||!o(b)||(c="("+c+")");return c+a},sub:function(a,b){var c=z(a);o(a)&&(c="("+c+")");return c+"["+z(b)+"]"},object:function(a){return a.length==0?"{}":"{"+e+j(function(){return W(a,function(a){if(a.length==3){return h(t(a[0],a[1][2],a[1][3],a[2]))}var d=a[0],e=z(a[1]);b.quote_keys?d=Q(d):(typeof d=="number"||!c&&+d+""==d)&&parseFloat(d)>=0?d=q(+d):V(d)||(d=Q(d));return h(k(c&&b.space_colon?[d,":",e]:[d+":",e]))}).join(","+e)})+e+h("}")},regexp:function(a,b){return"/"+a+"/"+b},array:function(a){return a.length==0?"[]":k(["[",l(W(a,function(a){return !c&&a[0]=="atom"&&a[1]=="undefined"?"":m(a,"seq")})),"]"])},stat:function(a){return z(a).replace(/;*\s*$/,";")},seq:function(){return l(W(J(arguments),z))},label:function(a,b){return k([g(a),":",z(b)])},"with":function(a,b){return k(["with","("+z(a)+")",z(b)])},atom:function(a){return g(a)}},y=[];return z(a)}function Q(a){var b=0,c=0;a=a.replace(/[\\\b\f\n\r\t\x22\x27]/g,function(a){switch(a){case"\\":return"\\\\";case"\b":return"\\b";case"\f":return"\\f";case"\n":return"\\n";case"\r":return"\\r";case"\t":return"\\t";case'"':++b;return'"';case"'":++c;return"'"}return a});return b>c?"'"+a.replace(/\x27/g,"\\'")+"'":'"'+a.replace(/\x22/g,'\\"')+'"'}function O(a){return !a||a[0]=="block"&&(!a[1]||a[1].length==0)}function N(){function g(a,b){var c={},e;for(e in a){M(a,e)&&(c[e]=d[e],d[e]=a[e])}var f=b();for(e in c){M(c,e)&&(c[e]?d[e]=c[e]:delete d[e])}return f}function f(a){if(a==null){return null}try{e.push(a);var b=a[0],f=d[b];if(f){var g=f.apply(a,a.slice(1));if(g!=null){return g}}f=c[b];return f.apply(a,a.slice(1))}finally{e.pop()}}function b(a){var b=[this[0]];a!=null&&b.push(W(a,f));return b}function a(a){return[this[0],W(a,function(a){var b=[a[0]];a.length>1&&(b[1]=f(a[1]));return b})]}var c={string:function(a){return[this[0],a]},num:function(a){return[this[0],a]},name:function(a){return[this[0],a]},toplevel:function(a){return[this[0],W(a,f)]},block:b,splice:b,"var":a,"const":a,"try":function(a,b,c){return[this[0],W(a,f),b!=null?[b[0],W(b[1],f)]:null,c!=null?W(c,f):null]},"throw":function(a){return[this[0],f(a)]},"new":function(a,b){return[this[0],f(a),W(b,f)]},"switch":function(a,b){return[this[0],f(a),W(b,function(a){return[a[0]?f(a[0]):null,W(a[1],f)]})]},"break":function(a){return[this[0],a]},"continue":function(a){return[this[0],a]},conditional:function(a,b,c){return[this[0],f(a),f(b),f(c)]},assign:function(a,b,c){return[this[0],a,f(b),f(c)]},dot:function(a){return[this[0],f(a)].concat(J(arguments,1))},call:function(a,b){return[this[0],f(a),W(b,f)]},"function":function(a,b,c){return[this[0],a,b.slice(),W(c,f)]},defun:function(a,b,c){return[this[0],a,b.slice(),W(c,f)]},"if":function(a,b,c){return[this[0],f(a),f(b),f(c)]},"for":function(a,b,c,d){return[this[0],f(a),f(b),f(c),f(d)]},"for-in":function(a,b,c,d){return[this[0],f(a),f(b),f(c),f(d)]},"while":function(a,b){return[this[0],f(a),f(b)]},"do":function(a,b){return[this[0],f(a),f(b)]},"return":function(a){return[this[0],f(a)]},binary:function(a,b,c){return[this[0],a,f(b),f(c)]},"unary-prefix":function(a,b){return[this[0],a,f(b)]},"unary-postfix":function(a,b){return[this[0],a,f(b)]},sub:function(a,b){return[this[0],f(a),f(b)]},object:function(a){return[this[0],W(a,function(a){return a.length==2?[a[0],f(a[1])]:[a[0],f(a[1]),a[2]]})]},regexp:function(a,b){return[this[0],a,b]},array:function(a){return[this[0],W(a,f)]},stat:function(a){return[this[0],f(a)]},seq:function(){return[this[0]].concat(W(J(arguments),f))},label:function(a,b){return[this[0],a,f(b)]},"with":function(a,b){return[this[0],f(a),f(b)]},atom:function(a){return[this[0],a]}},d={},e=[];return{walk:f,with_walkers:g,parent:function(){return e[e.length-2]},stack:function(){return e}}}function M(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function L(a,b){for(var c=b.length;--c>=0;){if(b[c]===a){return !0}}return !1}function K(a){return a.split("")}function J(a,b){return Array.prototype.slice.call(a,b||0)}function I(a){var b={};for(var c=0;c<a.length;++c){b[a[c]]=!0}return b}function H(a){a instanceof Function&&(a=a());for(var b=1,c=arguments.length;--c>0;++b){arguments[b]()}return a}function G(a){var b=J(arguments,1);return function(){return a.apply(this,b.concat(J(arguments)))}}function F(a,b,c){function bk(a){try{++d.in_loop;return a()}finally{--d.in_loop}}function bi(a){var b=bg(a),c=d.token.value;if(e("operator")&&M(A,c)){if(bh(b)){g();return p("assign",A[c],b,bi(a))}i("Invalid assignment")}return b}function bh(a){if(!b){return !0}switch(a[0]){case"dot":case"sub":case"new":case"call":return !0;case"name":return a[1]!="this"}}function bg(a){var b=bf(a);if(e("operator","?")){g();var c=bj(!1);m(":");return p("conditional",b,c,bj(!1,a))}return b}function bf(a){return be(Y(!0),0,a)}function be(a,b,c){var f=e("operator")?d.token.value:null;f&&f=="in"&&c&&(f=null);var h=f!=null?B[f]:null;if(h!=null&&h>b){g();var i=be(Y(!0),h,c);return be(p("binary",f,a,i),b,c)}return a}function bd(a,b,c){(b=="++"||b=="--")&&!bh(c)&&i("Invalid use of "+b+" operator");return p(a,b,c)}function bc(a,b){if(e("punc",".")){g();return bc(p("dot",a,bb()),b)}if(e("punc","[")){g();return bc(p("sub",a,H(bj,G(m,"]"))),b)}if(b&&e("punc","(")){g();return bc(p("call",a,Z(")")),!0)}return b&&e("operator")&&M(z,d.token.value)?H(G(bd,"unary-postfix",d.token.value,a),g):a}function bb(){switch(d.token.type){case"name":case"operator":case"keyword":case"atom":return H(d.token.value,g);default:k()}}function ba(){switch(d.token.type){case"num":case"string":return H(d.token.value,g)}return bb()}function _(){var a=!0,c=[];while(!e("punc","}")){a?a=!1:m(",");if(!b&&e("punc","}")){break}var f=d.token.type,h=ba();f!="name"||h!="get"&&h!="set"||!!e("punc",":")?(m(":"),c.push([h,bj(!1)])):c.push([bb(),P(!1),h])}g();return p("object",c)}function $(){return p("array",Z("]",!b,!0))}function Z(a,b,c){var d=!0,f=[];while(!e("punc",a)){d?d=!1:m(",");if(b&&e("punc",a)){break}e("punc",",")&&c?f.push(["atom","undefined"]):f.push(bj(!1))}g();return f}function X(){var a=Y(!1),b;e("punc","(")?(g(),b=Z(")")):b=[];return bc(p("new",a,b),!0)}function W(){return p("const",U())}function V(a){return p("var",U(a))}function U(a){var b=[];for(;;){e("name")||k();var c=d.token.value;g(),e("operator","=")?(g(),b.push([c,bj(!1,a)])):b.push([c]);if(!e("punc",",")){break}g()}return b}function T(){var a=R(),b,c;if(e("keyword","catch")){g(),m("("),e("name")||i("Name expected");var f=d.token.value;g(),m(")"),b=[f,R()]}e("keyword","finally")&&(g(),c=R()),!b&&!c&&i("Missing catch/finally blocks");return p("try",a,b,c)}function R(){m("{");var a=[];while(!e("punc","}")){e("eof")&&k(),a.push(t())}g();return a}function Q(){var a=q(),b=t(),c;e("keyword","else")&&(g(),c=t());return p("if",a,b,c)}function O(a){var b=a[0]=="var"?p("name",a[1][0]):a;g();var c=bj();m(")");return p("for-in",a,b,c,bk(t))}function N(a){m(";");var b=e("punc",";")?null:bj();m(";");var c=e("punc",")")?null:bj();m(")");return p("for",a,b,c,bk(t))}function K(){m("(");var a=null;if(!e("punc",";")){a=e("keyword","var")?(g(),V(!0)):bj(!0,!0);if(e("operator","in")){return O(a)}}return N(a)}function I(a){var b;n()||(b=e("name")?d.token.value:null),b!=null?(g(),L(b,d.labels)||i("Label "+b+" without matching loop or statement")):d.in_loop==0&&i(a+" not inside a loop or switch"),o();return p(a,b)}function F(){return p("stat",H(bj,o))}function w(a){d.labels.push(a);var c=d.token,e=t();b&&!M(C,e[0])&&k(c),d.labels.pop();return p("label",a,e)}function s(a){return c?function(){var b=d.token,c=a.apply(this,arguments);c[0]=r(c[0],b,h());return c}:a}function r(a,b,c){return a instanceof E?a:new E(a,b,c)}function q(){m("(");var a=bj();m(")");return a}function p(){return J(arguments)}function o(){e("punc",";")?g():n()||k()}function n(){return !b&&(d.token.nlb||e("eof")||e("punc","}"))}function m(a){return l("punc",a)}function l(a,b){if(e(a,b)){return g()}j(d.token,"Unexpected token "+d.token.type+", expected "+a)}function k(a){a==null&&(a=d.token),j(a,"Unexpected token: "+a.type+" ("+a.value+")")}function j(a,b){i(b,a.line,a.col)}function i(a,b,c,e){var f=d.input.context();u(a,b!=null?b:f.tokline,c!=null?c:f.tokcol,e!=null?e:f.tokpos)}function h(){return d.prev}function g(){d.prev=d.token,d.peeked?(d.token=d.peeked,d.peeked=null):d.token=d.input();return d.token}function f(){return d.peeked||(d.peeked=d.input())}function e(a,b){return v(d.token,a,b)}var d={input:typeof a=="string"?x(a,!0):a,token:null,prev:null,peeked:null,in_function:0,in_loop:0,labels:[]};d.token=g();var t=s(function(){e("operator","/")&&(d.peeked=null,d.token=d.input(!0));switch(d.token.type){case"num":case"string":case"regexp":case"operator":case"atom":return F();case"name":return v(f(),"punc",":")?w(H(d.token.value,g,g)):F();case"punc":switch(d.token.value){case"{":return p("block",R());case"[":case"(":return F();case";":g();return p("block");default:k()}case"keyword":switch(H(d.token.value,g)){case"break":return I("break");case"continue":return I("continue");case"debugger":o();return p("debugger");case"do":return function(a){l("keyword","while");return p("do",H(q,o),a)}(bk(t));case"for":return K();case"function":return P(!0);case"if":return Q();case"return":d.in_function==0&&i("'return' outside of function");return p("return",e("punc",";")?(g(),null):n()?null:H(bj,o));case"switch":return p("switch",q(),S());case"throw":return p("throw",H(bj,o));case"try":return T();case"var":return H(V,o);case"const":return H(W,o);case"while":return p("while",q(),bk(t));case"with":return p("with",q(),t());default:k()}}}),P=s(function(a){var b=e("name")?H(d.token.value,g):null;a&&!b&&k(),m("(");return p(a?"defun":"function",b,function(a,b){while(!e("punc",")")){a?a=!1:m(","),e("name")||k(),b.push(d.token.value),g()}g();return b}(!0,[]),function(){++d.in_function;var a=d.in_loop;d.in_loop=0;var b=R();--d.in_function,d.in_loop=a;return b}())}),S=G(bk,function(){m("{");var a=[],b=null;while(!e("punc","}")){e("eof")&&k(),e("keyword","case")?(g(),b=[],a.push([bj(),b]),m(":")):e("keyword","default")?(g(),m(":"),b=[],a.push([null,b])):(b||k(),b.push(t()))}g();return a}),Y=s(function(a){if(e("operator","new")){g();return X()}if(e("operator")&&M(y,d.token.value)){return bd("unary-prefix",H(d.token.value,g),Y(a))}if(e("punc")){switch(d.token.value){case"(":g();return bc(H(bj,G(m,")")),a);case"[":g();return bc($(),a);case"{":g();return bc(_(),a)}k()}if(e("keyword","function")){g();return bc(P(!1),a)}if(M(D,d.token.type)){var b=d.token.type=="regexp"?p("regexp",d.token.value[0],d.token.value[1]):p(d.token.type,d.token.value);return bc(H(b,g),a)}k()}),bj=s(function(a,b){arguments.length==0&&(a=!0);var c=bi(b);if(a&&e("punc",",")){g();return p("seq",c,bj(!0,b))}return c});return p("toplevel",function(a){while(!e("eof")){a.push(t())}return a}([]))}function E(a,b,c){this.name=a,this.start=b,this.end=c}function x(b){function P(a){if(a){return I()}y(),v();var b=g();if(!b){return x("eof")}if(o(b)){return C()}if(b=='"'||b=="'"){return F()}if(M(l,b)){return x("punc",h())}if(b=="."){return L()}if(b=="/"){return K()}if(M(e,b)){return J()}if(b=="\\"||q(b)){return N()}B("Unexpected character '"+b+"'")}function O(a,b){try{return b()}catch(c){if(c===w){B(a)}else{throw c}}}function N(){var b=A(r);return M(a,b)?M(i,b)?x("operator",b):M(d,b)?x("atom",b):x("keyword",b):x("name",b)}function L(){h();return o(g())?C("."):x("punc",".")}function K(){h();var a=f.regex_allowed;switch(g()){case"/":f.comments_before.push(G()),f.regex_allowed=a;return P();case"*":f.comments_before.push(H()),f.regex_allowed=a;return P()}return f.regex_allowed?I():J("/")}function J(a){function b(a){if(!g()){return a}var c=a+g();if(M(i,c)){h();return b(c)}return a}return x("operator",b(a||h()))}function I(){return O("Unterminated regular expression",function(){var a=!1,b="",c,d=!1;while(c=h(!0)){if(a){b+="\\"+c,a=!1}else{if(c=="["){d=!0,b+=c}else{if(c=="]"&&d){d=!1,b+=c}else{if(c=="/"&&!d){break}c=="\\"?a=!0:b+=c}}}}var e=A(function(a){return M(m,a)});return x("regexp",[b,e])})}function H(){h();return O("Unterminated multiline comment",function(){var a=t("*/",!0),b=f.text.substring(f.pos,a),c=x("comment2",b,!0);f.pos=a+2,f.line+=b.split("\n").length-1,f.newline_before=b.indexOf("\n")>=0;return c})}function G(){h();var a=t("\n"),b;a==-1?(b=f.text.substr(f.pos),f.pos=f.text.length):(b=f.text.substring(f.pos,a),f.pos=a);return x("comment1",b,!0)}function F(){return O("Unterminated string constant",function(){var a=h(),b="";for(;;){var c=h(!0);if(c=="\\"){c=D()}else{if(c==a){break}}b+=c}return x("string",b)})}function E(a){var b=0;for(;a>0;--a){var c=parseInt(h(!0),16);isNaN(c)&&B("Invalid hex-character pattern in string"),b=b<<4|c}return b}function D(){var a=h(!0);switch(a){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"v":return"";case"f":return"\f";case"0":return" ";case"x":return String.fromCharCode(E(2));case"u":return String.fromCharCode(E(4));case"\n":return"";default:return a}}function C(a){var b=!1,c=!1,d=!1,e=a==".",f=A(function(f,g){if(f=="x"||f=="X"){return d?!1:d=!0}if(!d&&(f=="E"||f=="e")){return b?!1:b=c=!0}if(f=="-"){return c||g==0&&!a?!0:!1}if(f=="+"){return c}c=!1;if(f=="."){return !e&&!d?e=!0:!1}return p(f)});a&&(f=a+f);var g=s(f);if(!isNaN(g)){return x("num",g)}B("Invalid syntax: "+f)}function B(a){u(a,f.tokline,f.tokcol,f.tokpos)}function A(a){var b="",c=g(),d=0;while(c&&a(c,d++)){b+=h(),c=g()}return b}function y(){while(M(j,g())){h()}}function x(a,b,d){f.regex_allowed=a=="operator"&&!M(z,b)||a=="keyword"&&M(c,b)||a=="punc"&&M(k,b);var e={type:a,value:b,line:f.tokline,col:f.tokcol,pos:f.tokpos,nlb:f.newline_before};d||(e.comments_before=f.comments_before,f.comments_before=[]),f.newline_before=!1;return e}function v(){f.tokline=f.line,f.tokcol=f.col,f.tokpos=f.pos}function t(a,b){var c=f.text.indexOf(a,f.pos);if(b&&c==-1){throw w}return c}function n(){return !f.peek()}function h(a){var b=f.text.charAt(f.pos++);if(a&&!b){throw w}b=="\n"?(f.newline_before=!0,++f.line,f.col=0):++f.col;return b}function g(){return f.text.charAt(f.pos)}var f={text:b.replace(/\r\n?|[\n\u2028\u2029]/g,"\n").replace(/^\uFEFF/,""),pos:0,tokpos:0,line:0,tokline:0,col:0,tokcol:0,newline_before:!1,regex_allowed:!1,comments_before:[]};P.context=function(a){a&&(f=a);return f};return P}function v(a,b,c){return a.type==b&&(c==null||a.value==c)}function u(a,b,c,d){throw new t(a,b,c,d)}function t(a,b,c,d){this.message=a,this.line=b,this.col=c,this.pos=d}function s(a){if(f.test(a)){return parseInt(a.substr(2),16)}if(g.test(a)){return parseInt(a.substr(1),8)}if(h.test(a)){return parseFloat(a)}}function r(a){return q(a)||o(a)}function q(a){return a=="$"||a=="_"||n(a)}function p(a){return o(a)||n(a)}function o(a){a=a.charCodeAt(0);return a>=48&&a<=57}function n(a){a=a.charCodeAt(0);return a>=65&&a<=90||a>=97&&a<=122}var a=I(["break","case","catch","const","continue","default","delete","do","else","finally","for","function","if","in","instanceof","new","return","switch","throw","try","typeof","var","void","while","with"]),b=I(["abstract","boolean","byte","char","class","debugger","double","enum","export","extends","final","float","goto","implements","import","int","interface","long","native","package","private","protected","public","short","static","super","synchronized","throws","transient","volatile"]),c=I(["return","new","delete","throw","else","case"]),d=I(["false","null","true","undefined"]),e=I(K("+-*&%=<>!?|~^")),f=/^0x[0-9a-f]+$/i,g=/^0[0-7]+$/,h=/^\d*\.?\d*(?:e[+-]?\d*(?:\d\.?|\.?\d)\d*)?$/i,i=I(["in","instanceof","typeof","new","void","delete","++","--","+","-","!","~","&","|","^","*","/","%",">>","<<",">>>","<",">","<=",">=","==","===","!=","!==","?","=","+=","-=","/=","*=","%=",">>=","<<=",">>>=","|=","^=","&=","&&","||"]),j=I(K(" \n\r\t")),k=I(K("[{}(,.;:")),l=I(K("[]{}(),;:")),m=I(K("gmsiy"));t.prototype.toString=function(){return this.message+" (line: "+this.line+", col: "+this.col+", pos: "+this.pos+")"};var w={},y=I(["typeof","void","delete","--","++","!","~","-","+"]),z=I(["--","++"]),A=function(a,b,c){while(c<a.length){b[a[c]]=a[c].substr(0,a[c].length-1),c++}return b}(["+=","-=","/=","*=","%=",">>=","<<=",">>>=","|=","^=","&="],{"=":!0},0),B=function(a,b){for(var c=0,d=1;c<a.length;++c,++d){var e=a[c];for(var f=0;f<e.length;++f){b[e[f]]=d}}return b}([["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]],{}),C=I(["for","do","while","switch"]),D=I(["atom","num","string","regexp","name"]);E.prototype.toString=function(){return this.name};var P=I(["name","array","object","string","dot","sub","call","regexp"]),R=I(["if","while","do","for","for-in","with"]);return{parse:F,gen_code:S,tokenizer:x,ast_walker:N}};var operators={"+":"add","-":"subtract","*":"multiply","/":"divide","%":"modulo","==":"equals","!=":"equals"};function $eval(left,operator,right){var handler=operators[operator];if(left&&left[handler]){var res=left[handler](right);return operator=="!="?!res:res}switch(operator){case"+":return left+right;case"-":return left-right;case"*":return left*right;case"/":return left/right;case"%":return left%right;case"==":return left==right;case"!=":return left!=right;default:throw new Error("Implement Operator: "+operator)}}var signOperators={"-":"negate"};function $sign(operator,value){var handler=signOperators[operator];if(value&&value[handler]){return value[handler]()}switch(operator){case"+":return +value;case"-":return -value;default:throw new Error("Implement Sign Operator: "+operator)}}function isDynamic(exp){var type=exp[0];return type!="num"&&type!="string"}function handleOperator(operator,left,right){if(operators[operator]&&isDynamic(left)){return["call",["name","$eval"],[left,["string",operator],right]]}}function compile(code){var ast=parse_js.parse(code),walker=parse_js.ast_walker(),walk=walker.walk;ast=walker.with_walkers({binary:function(operator,left,right){return handleOperator(operator,left=walk(left),right=walk(right))||[this[0],operator,left,right]},assign:function(operator,left,right){var res=handleOperator(operator,left=walk(left),right=walk(right));if(res){return[this[0],true,left,res]}return[this[0],operator,left,right]},"unary-prefix":function(operator,exp){if(signOperators[operator]&&isDynamic(exp)){return["call",["name","$sign"],[["string",operator],walk(exp)]]}}},function(){return walk(ast)});return parse_js.gen_code(ast,{beautify:true})}function evaluate(code,scope){paper=scope;var view=scope.view,tool=/on(?:Key|Mouse)(?:Up|Down|Move|Drag)/.test(code)&&new Tool(),res;with(scope){(function(){var onEditOptions,onSelect,onDeselect,onReselect,onMouseDown,onMouseUp,onMouseDrag,onMouseMove,onKeyDown,onKeyUp,onFrame,onResize,handlers=["onEditOptions","onSelect","onDeselect","onReselect","onMouseDown","onMouseUp","onMouseDrag","onMouseMove","onKeyDown","onKeyUp"];res=eval(compile(code));if(tool){Base.each(handlers,function(key){tool[key]=eval(key)})}if(view){view.onResize=onResize;view.setOnFrame(onFrame);view.draw()}}).call(scope)}return res}function request(url,scope){var xhr=new (window.ActiveXObject||XMLHttpRequest)("Microsoft.XMLHTTP");xhr.open("GET",url,true);if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain")}xhr.onreadystatechange=function(){if(xhr.readyState===4){return evaluate(xhr.responseText,scope)}};return xhr.send(null)}function load(){var scripts=document.getElementsByTagName("script");for(var i=0,l=scripts.length;i<l;i++){var script=scripts[i];if(/^text\/(?:x-|)paperscript$/.test(script.type)&&!script.getAttribute("data-paper-loaded")){var scope=new PaperScope(script);scope.setup(PaperScript.getAttribute(script,"canvas"));if(script.src){request(script.src,scope)}else{evaluate(script.innerHTML,scope)}script.setAttribute("data-paper-loaded",true)}}}DomEvent.add(window,{load:load});function handleAttribute(name){name+="Attribute";return function(el,attr){return el[name](attr)||el[name]("data-paper-"+attr)}}return{compile:compile,evaluate:evaluate,load:load,getAttribute:handleAttribute("get"),hasAttribute:handleAttribute("has")}};this.load=PaperScript.load;Base.each(this,function(val,key){if(val&&val.prototype instanceof Base){val._name=key}});this.enumerable=true;return new (PaperScope.inject(this))};paper.install(window);var Path=paper.Path;var TechnicalChartCreator={timeStamp:null,barType:null,barDataArray:null,maxBarCount:null,isDrawCloud:false,scaleRightWidth:54,scaleBottomHeight:20,chartPaddingLeft:0,chartPaddingTop:10,chartPaddingRight:0,chartPaddingBottom:10,baseBgColor:"#FFFFFF",scaleBgColor:"#222222",scaleFontColor:"#FFFFFF",scaleFontSize:9,chartBgColor:new Gradient([new RgbColor("#222222"),new RgbColor("#222222")]),guideOutlineColor:"#FFFFFF",horizontalScaleColor:"#555555",verticalScaleColor:"#555555",candlestickUpColor:"#ff0033",candlestickDownColor:"#00ccff",sma1Color:"#ff00ff",sma2Color:"#ffff00",sma3Color:"#00ff00",sigmaColor:"#ff9900",cycleColor:"#996600",standardColor:"#00ff00",turningColor:"#ff00ff",delayedColor:"#cc0033",spanAColor:"#0000ff",spanBColor:"#ff0000",cloudColor:"#999999",drawChart:function(D,F){if(D){this.timeStamp=D.timeStamp;this.barDataArray=D.barDataArray;this.barType=F.barType;this.maxBarCount=F.barCount;this.isDrawCloud=F.isCloud}var E=view.bounds.clone();E.size.width-=this.scaleRightWidth;E.size.height-=this.scaleBottomHeight;this.drawBase(E);var A=this.barDataArray.slice(0,this.maxBarCount);var B=E.clone();B.point.x+=this.chartPaddingLeft;B.point.y+=this.chartPaddingTop;B.size.width-=this.chartPaddingLeft+this.chartPaddingRight;B.size.height-=this.chartPaddingTop+this.chartPaddingBottom;var C=this.calcConfig(A,B);this.drawCandlestick(C);this.drawSimpleMovingAverage(C);this.drawBollingerBand(C);this.drawIchimokuKinkoHyo(C);this.drawGuideline(A,E,C)},drawBase:function(D){var C=new Path.Rectangle(view.bounds);C.fillColor=this.baseBgColor;C.strokeColor=this.baseBgColor;var B=new Path.Rectangle(D);var A=new GradientColor(this.chartBgColor,[0,0],[0,D.height]);B.fillColor=A;B.strokeColor=A},calcDrawingYPosition:function(C,B){var D=B.yStart;var A=B.yEnd-B.yStart;return D+A-((C-B.minPrice)*B.rate)},drawIchimokuKinkoHyo:function(T){var R=new Path();R.style={strokeColor:this.standardColor,strokeWidth:1,};var U=new Path();U.style={strokeColor:this.turningColor,strokeWidth:1,};var N=new Path();N.style={strokeColor:this.delayedColor,strokeWidth:1,};var F=new Path();F.style={strokeColor:this.spanAColor,strokeWidth:1,};var E=new Path();E.style={strokeColor:this.spanBColor,strokeWidth:1,};var L=new Path();var J=new Path();var Q=T.xPitch.length;for(var P=0;P<Q;P++){var A=this.barDataArray[P];if(!A){return true}var I=T.xPitch[P];if(A.standard){R.add(new Point(I,this.calcDrawingYPosition(A.standard,T)))}if(A.turning){U.add(new Point(I,this.calcDrawingYPosition(A.turning,T)))}if(A.delayed){N.add(new Point(I,this.calcDrawingYPosition(A.delayed,T)))}if(A.spanA){F.add(new Point(I,this.calcDrawingYPosition(A.spanA,T)))}if(A.spanB){E.add(new Point(I,this.calcDrawingYPosition(A.spanB,T)))}if(A.spanA&&A.spanB){L.add(new Point(I,this.calcDrawingYPosition(A.spanA,T)));J.add(new Point(I,this.calcDrawingYPosition(A.spanB,T)))}}R.smooth();U.smooth();N.smooth();F.smooth();E.smooth();if(!L.segments.length||!J.segments.length){L.remove();J.remove();return }L.smooth();var H=L.segments;var M=new Point(H[H.length-1].point.x,T.yStart);var K=new Point(H[0].point.x,T.yStart);L.add(M);L.add(K);L.closed=true;L.clockwise=true;J.smooth();var G=J.segments;var C=new Point(G[G.length-1].point.x,T.yEnd);var B=new Point(G[0].point.x,T.yEnd);J.add(C);J.add(B);J.closed=true;J.clockwise=true;if(this.isDrawCloud){M.x=C.x=Math.max(M.x,C.x);K.x=B.x=Math.min(K.x,B.x);var S=new Path();S.add(M);S.add(K);S.add(B);S.add(C);S.closed=true;S.clockwise=false;var O=new CompoundPath([L,J,S]);var D=new RgbColor(this.cloudColor);D.alpha=0.5;O.style={fillColor:D,}}},drawBollingerBand:function(E){var D=new Path();D.style={strokeColor:this.sigmaColor,strokeWidth:1,};var H=new Path();H.style={strokeColor:this.cycleColor,strokeWidth:1,};var G=new Path();G.style={strokeColor:this.sigmaColor,strokeWidth:1,};var C=E.xPitch.length;for(var F=0;F<C;F++){var B=this.barDataArray[F];if(!B){return true}var A=E.xPitch[F];if(B.upperB){D.add(new Point(A,this.calcDrawingYPosition(B.upperB,E)))}if(B.middleB){H.add(new Point(A,this.calcDrawingYPosition(B.middleB,E)))}if(B.lowerB){G.add(new Point(A,this.calcDrawingYPosition(B.lowerB,E)))}}D.smooth();H.smooth();G.smooth()},drawSimpleMovingAverage:function(F){var E=new Path();E.style={strokeColor:this.sma1Color,strokeWidth:1,};var D=new Path();D.style={strokeColor:this.sma2Color,strokeWidth:1,};var H=new Path();H.style={strokeColor:this.sma3Color,strokeWidth:1,};var C=F.xPitch.length;for(var G=0;G<C;G++){var B=this.barDataArray[G];if(!B){return true}var A=F.xPitch[G];if(B.sma1){E.add(new Point(A,this.calcDrawingYPosition(B.sma1,F)))}if(B.sma2){D.add(new Point(A,this.calcDrawingYPosition(B.sma2,F)))}if(B.sma3){H.add(new Point(A,this.calcDrawingYPosition(B.sma3,F)))}}E.smooth();D.smooth();H.smooth()},drawCandlestick:function(D){var C=D.xPitch.length;for(var E=0;E<C;E++){var B=this.barDataArray[E];if(!B){return true}var A=D.xPitch[E];if(B.open&&B.close&&B.high&&B.low){this.calcDrawingPoints(path,B,A,D,E)}}},calcDrawingPoints:function(M,B,E,S,J){var H=S.barWidth;var L=E-(H/2);var R=this.calcDrawingYPosition(Math.max(B.high,B.low),S);var O=this.calcDrawingYPosition(Math.min(B.high,B.low),S);var A=this.calcDrawingYPosition(Math.max(B.open,B.close),S);var C=this.calcDrawingYPosition(Math.min(B.open,B.close),S);var D=H*0.3;var K=(H-D)/2;var G=[];var F=[];G[0]=L;F[0]=A;G[1]=G[0]+K;F[1]=F[0];G[2]=G[1];F[2]=Math.min(R,F[1]);G[3]=G[2]+D;F[3]=F[2];G[4]=G[3];F[4]=F[1];G[5]=G[4]+K;F[5]=F[0];G[6]=G[5];F[6]=F[5]+(C-A);G[7]=G[4];F[7]=F[6];G[8]=G[7];F[8]=Math.max(O,F[7]);G[9]=G[2];F[9]=F[8];G[10]=G[1];F[10]=F[7];G[11]=G[0];F[11]=F[6];var M=new Path();for(var N=0;N<12;N++){M.add(new Point(G[N],F[N]))}M.closed=true;if(0<B.close-B.open){var Q=new RgbColor(this.candlestickUpColor);var P=new RgbColor(this.candlestickUpColor);Q.alpha=0.3;P.alpha=1;var I=new GradientColor(new Gradient([Q,P]),[G[3],F[3]],[G[10],F[10]]);M.fillColor=I;M.strokeColor=I}else{var Q=new RgbColor(this.candlestickDownColor);var P=new RgbColor(this.candlestickDownColor);Q.alpha=1;P.alpha=0.3;var I=new GradientColor(new Gradient([Q,P]),[G[3],F[3]],[G[10],F[10]]);M.fillColor=I;M.strokeColor=I}},calcConfig:function(dataArray,bounds){var min=0;var max=0;var decimalLen=0;var len=dataArray.length;for(var i=0;i<len;i++){var barData=dataArray[i];var data=[];if(!isNaN(barData.open)){data.push(barData.open)}if(!isNaN(barData.close)){data.push(barData.close)}if(!isNaN(barData.high)){data.push(barData.high)}if(!isNaN(barData.low)){data.push(barData.low)}if(!isNaN(barData.sma1)){data.push(barData.sma1)}if(!isNaN(barData.sma2)){data.push(barData.sma2)}if(!isNaN(barData.sma3)){data.push(barData.sma3)}if(!isNaN(barData.upperB)){data.push(barData.upperB)}if(!isNaN(barData.middleB)){data.push(barData.middleB)}if(!isNaN(barData.lowerB)){data.push(barData.lowerB)}if(!isNaN(barData.standard)){data.push(barData.standard)}if(!isNaN(barData.turning)){data.push(barData.turning)}if(!isNaN(barData.delayed)){data.push(barData.delayed)}if(!isNaN(barData.spanA)){data.push(barData.spanA)}if(!isNaN(barData.spanB)){data.push(barData.spanB)}if(0<data.length){data.sort(function(a,b){return(Number(a)<=Number(b))?-1:1});if(!decimalLen){decimalLen=this.calcDecimalLength(data[0])}min=0==min?data[0]:Math.min(min,data[0]);max=0==max?data[data.length-1]:Math.max(max,data[data.length-1])}}var threshold=bounds.height/5;var matsubi="1";var step=Number(String(min).replace(/[\-0-9]/g,"0").replace(/0$/,matsubi));max=Number(max);if(max-min<step*2){max+=step;min-=step}var range=max-min;var scaleRate=(bounds.height/range);while(1){var h=scaleRate*step;if(threshold<=h){break}if("1"==matsubi){step=Number(String(step).replace(/[1]/,"2"));matsubi="2"}else{if("2"==matsubi){step=Number(String(step).replace(/[2]/,"5"));matsubi="5"}else{step=Number(String(step).replace(/[5]/,"1"));matsubi="1";step*=10}}}var start_x=bounds.x+bounds.width;var pitch=bounds.width/this.maxBarCount;var barWidth=pitch*0.7;var x=start_x-(pitch/2);var xArray=[];var maxLength=Math.min(len,this.maxBarCount);for(var i=0;i<maxLength;i++){xArray.push(x);x-=pitch}return eval("({minPrice:"+min+",maxPrice:"+max+",decimalLen:"+decimalLen+",guideStep:"+step+",barWidth:"+barWidth+",rate:"+scaleRate+",yStart:"+bounds.y+",yEnd:"+(bounds.y+bounds.height)+",xPitch:["+xArray.join(",")+"],})")},calcFloorByStep:function(D,C){D=Number(D);C=Number(C);var B=D;var A=D%C;if(0!=A){B=D-A}return Number(B)},calcDecimalLength:function(A){A=String(A);var B=A.indexOf(".");if(B<=0){return 0}else{return A.substring(B+1).length}},adjustDecimalString:function(G,A){var E=(String(G)).split(".");var C=E[0];var D="";if(1<E.length){D=E[1]}if(A<D.length){var B=D.substring(0,A)+"."+D.substring(A);B=String(Math.round(B));var F=A-B.length;if(A<B.length){C=Number(C)+Number(B.substring(0,B.length-A));B=B.substring(B.length-A)}else{while(B.length<A){B="0"+B}}D=B}else{while(D.length<A){D+="0"}}return 0==D.length?C:C+"."+D},drawGuideline:function(A,E,D){var C=new Path();C.fillColor=this.scaleBgColor;C.strokeColor=this.scaleBgColor;C.add(new Point(0,E.height));C.add(new Point(E.width,E.height));C.add(new Point(E.width,0));C.add(new Point(view.bounds.size.width,0));C.add(new Point(view.bounds.size.width,view.bounds.size.height));C.add(new Point(0,view.bounds.size.height));C.closed=true;this.drawHolizontalScaleline(E,D);this.drawVerticalScaleline(A,E,D);var B=new Path();B.style={strokeColor:this.guideOutlineColor,strokeWidth:1,};B.add(new Point(0,E.height));B.add(new Point(E.width,E.height));B.add(new Point(E.width,0))},formatDatetime:function(J){var D=J.split(" ");var B=D[0].split("/");var A=D[1].split(":");mills=new Date(B[0],B[1]-1,B[2],A[0],A[1],A[2]).getTime();var E=new Date();E.setTime(mills);var K=E.getFullYear();var I=E.getMonth()+1;var L=E.getDate();var G=E.getHours();var F=E.getMinutes();var C=E.getSeconds();if(I<10){I=""+I}if(L<10){L=""+L}if(G<10){G=""+G}if(F<10){F="0"+F}if(C<10){C="0"+C}var H="";if("DAY"==this.barType||"WEEK"==this.barType){H=""+I+"/"+L}else{if("MONTH"==this.barType){H=""+K+"/"+I}else{H=""+G+":"+F}}return H},drawVerticalScaleline:function(K,A,C){var B=Math.ceil(this.maxBarCount/8);var J=60000;var E=A.y+A.height+(this.scaleBottomHeight/2)+4;var H=C.xPitch.length;for(var G=0;G<H;G++){if(G%B){continue}var I=C.xPitch[G];var L=new Path();L.style={strokeColor:this.verticalScaleColor,strokeWidth:0.2,};L.add(new Point(I,A.y));L.add(new Point(I,A.y+A.height));var F=I;var D=new PointText(new Point(F,E));D.fillColor=this.scaleFontColor;D.fontSize=this.scaleFontSize;D.paragraphStyle.justification="center";D.content=this.formatDatetime(K[G].datetime)}},drawHolizontalScaleline:function(A,B){var G=this.calcFloorByStep(B.minPrice,B.guideStep);var I=B.yEnd-B.yStart;while(0<G){var F=I-(I*(G-B.minPrice))/(B.maxPrice-B.minPrice)+B.yStart;if(A.y<=F&&F<=(A.y+A.height)){G-=B.guideStep}else{break}}var D=99999;while(A.y<D){D=I-(I*(G-B.minPrice))/(B.maxPrice-B.minPrice)+B.yStart;if(A.y<=D&&D<=(A.y+A.height)){var H=new Path();H.style={strokeColor:this.horizontalScaleColor,strokeWidth:0.2,};H.add(new Point(A.x,D));H.add(new Point(A.x+A.width,D));var E=A.x+A.width+4;var C=new PointText(new Point(E,D+3));C.fillColor=this.scaleFontColor;C.fontSize=this.scaleFontSize;C.content=this.adjustDecimalString(G,B.decimalLen)}G+=B.guideStep}},};var drawTechnicalChart=function(A,B){paper.clear();paper.setup(B.canvas);TechnicalChartCreator.drawChart(A,B);paper.view.draw()};var ChartRequest=function(A){this.orientAreaId=A.orientAreaId;this.actionMethod=A.actionMethod;this.baseUrl=A.baseUrl;this.getQueryString=A.getQueryString;this.timerId=null;this.lastAcceses=null;this.sendRequest=A.sendRequest;this.isFirstTime=true;this.accessInterval=A.accessInterval;this.retryInterval=A.retryInterval};ChartRequest.prototype={accessInterval:null,retryInterval:null,restart:function(){if(!this.isFirstTime){var A=this.accessInterval;if(this.lastAcceses&&(new Date()-this.lastAcceses<A)){return }}this.execute(0)},suspend:function(){if(this.timerId){clearInterval(this.timerId);this.timerId=null}},execute:function(B){this.suspend();this.lastAcceses=new Date();var A=this;this.timerId=setTimeout(function(){A.request()},B)},request:function(){if(this.isHidden()){return }this.isFirstTime=false;var A=this;this.sendRequest(function(){updateImformation();A.execute(A.accessInterval)},function(){A.execute(A.retryInterval)})},isHidden:function(){if("none"==document.getElementById(this.orientAreaId).style.display){return true}return false},};var global_openDialogSelector;var global_contentsSelector;var global_disabledElements;var global_disabledEvents;var global_blockOnclick;function doSubmit(D,C,B){var A=null;if(D){A=document.forms[D]}else{A=document.forms[0]}if(C){A.action=C}A.actionMethod.value=B?B:"doExecute";A.submit()}function doSubmitAndSlide(F,D,B,E,C){var A=null;if(F){A=$("#"+F)}else{A=$("form:first")}if(D){A.attr("action",D)}A.children(":hidden[name='actionMethod']").val(B?B:"doExecute");if(E){$(A).attr("data-transition",E)}if(C){$.mobile.changePage.defaults.reverse=true}else{$.mobile.changePage.defaults.reverse=false}A.submit()}function changePageTransition(F,C,B,E,D){var G="";$("#"+F+" input").each(function(){if(this.name){if(this.name!="actionMethod"){G+="&"+this.name+"="+this.value}else{G+="&"+this.name+"="+(B?B:"doExecute")}}});$("#"+F+" select option:selected").each(function(){if(this.name){G+="&"+$(this).parent().attr("name")+"="+this.value}});$("#"+F+" textarea").each(function(){if(this.name){G+="&"+this.name+"="+this.value}});var A=C;if(0!=G.length){A+="?"+G.substring(1)}if(!E){E="fade"}if(!D){D=""}$.mobile.changePage(A,{transition:E,direction:D})}function createCookie(C,D,E){var A;if(E){var B=new Date();B.setTime(B.getTime()+(E*24*60*60*1000));A="; expires="+B.toGMTString()}else{A=";"}document.cookie=C+"="+D+A}function readCookie(C){var D=document.cookie;var A=D.indexOf(C+"=");if(A!=-1){var E=A+C.length+1;var B=D.indexOf(";",E);if(B==-1){B=D.length}return D.substring(E,B)}return null}function updateImformation(B){var D=document.getElementsByName("updatedInformation");if(!B){B=new Date()}var A="Updated&nbsp;&nbsp;"+formatDatetime(B);for(var C in D){D[C].innerHTML=A}}function formatDatetime(D){var B=new Date();B.setTime(D);var H=B.getFullYear();var F=B.getMonth()+1;var I=B.getDate();var E=B.getHours();var C=B.getMinutes();var A=B.getSeconds();if(F<10){F="0"+F}if(I<10){I="0"+I}if(E<10){E="0"+E}if(C<10){C="0"+C}if(A<10){A="0"+A}var G=H+"/"+F+"/"+I+" "+E+":"+C+":"+A;return G}function setCurrencyPairFlag(A,C){var D;if(C&&typeof C=="string"){D="#"+C}else{if(C){D=C}else{D="*[class='currencyPairFlag']"}}var B="";if(A){B="flags_"+A.replace("SPOT_","").replace("/","_").toLowerCase()}$(D).html("<div class='"+B+"'></div>")}function disableElements(D){try{var B=D.split(",");for(var A=0;A<B.length;A++){var C=document.getElementById(B[A]);if(C&&C.disabled!=undefined){C.disabled=true}else{if(C.setAttribute){C.setAttribute("_href",C.href);C.href="javascript:void(0)"}}addClass(C,"disabled")}}catch(E){}}function enableElements(D){try{var B=D.split(",");for(var A=0;A<B.length;A++){var C=document.getElementById(B[A]);if(C&&C.disabled!=undefined){C.disabled=false}else{if(C.setAttribute&&C.getAttribute("_href")){C.href=C.getAttribute("_href")}}removeClass(C,"disabled")}}catch(E){}}var addClass=function(C,B){if(C instanceof Array){for(var A in C){_addClass(C[A],B)}}else{_addClass(C,B)}};var _addClass=function(D,C){if(D&&D.getAttribute){var G=D.getAttribute("class");if(!G){G=""}var F=G.split(" ");var E="";for(var A in F){var B=F[A];if(typeof B!="string"){continue}if(B&&C!=B){E+=B+" "}}E+=C;D.setAttribute("class",E)}else{$(D).addClass(C)}};var removeClass=function(C,B){if(C instanceof Array){for(var A in C){_removeClass(C[A],B)}}else{if(C){_removeClass(C,B)}}};var _removeClass=function(D,A){if(D&&D.getAttribute){var G=D.getAttribute("class");if(!G){return }var F=G.split(" ");var E="";for(var B in F){var C=F[B];if(typeof C!="string"){continue}if(C&&A!=C){E+=C+" "}}D.setAttribute("class",E)}else{if(D){$(D).removeClass(addClassName)}}};function cmn_openDialog(G,A,M,L){var N=$.mobile.activePage.find(".cmn_dialogMask");var J=$.mobile.activePage.find(G);var C=$.mobile.activePage;var O=10;var D=10;var B=L?$($.browser.safari?"body":"html").scrollTop():0;var K=O+$(J).outerHeight()+D;var I=K>$(window).height();var F=Math.max($(document).width(),$(document).height())+100;$(N).css({width:F,height:F});$(N).fadeTo(0,0.3);$(window).bind("scrollstart",function(){$(N).css({height:Math.max(F,$(document).height())})});$.mobile.activePage.bind("pagehide",function(){$(window).unbind("scrollstart")});var E;if(I){E=O}else{E=($(window).height()-$(J).height())/2}$(J).css("top",B+E);$(J).fadeIn(80);if(I){var H=B+K-$(document).height();$(C).height($(C).height()+H)}global_disabledElements=$(C).find("* :not([disabled=true])").attr("disabled",true);global_disabledEvents=$(C).find("*").bind("click",blockOnclick);$(J).find("*").attr("disabled",false);$(J).find("*").unbind("click",blockOnclick);$(C).find("form").submit(function(){$(global_disabledElements).attr("disabled",false);$(C).find("*").unbind("click",blockOnclick);global_openDialogSelector=null;global_contentsSelector=null;global_disabledElements=null;global_disabledEvents=null});tabConstrain(G);global_openDialogSelector=G;global_contentsSelector=A}var blockOnclick=function(A){return false};function cancelEvent(A){A.preventDefault?A.preventDefault():A.returnValue=false}function tabConstrain(A){$(":not("+A+" *)").attr("tabindex","-1")}function cmn_closeDialog(A,B){if(B){B()}$(window).unbind("scrollstart");$($.browser.safari?"body":"html").unbind("scrollTop","animate");$(".cmn_dialogMask").hide();$(A).hide();$(global_disabledElements).attr("disabled",false);$(global_disabledEvents).unbind("click",blockOnclick);$(global_contentsSelector).height("").trigger("updatelayout");global_openDialogSelector=null;global_contentsSelector=null;global_disabledElements=null;global_disabledEvents=null}$("div").live("pagebeforehide",function(){if(global_openDialogSelector){cmn_closeDialog(global_openDialogSelector)}});$("div").live("pageshow",function(){setTimeout("scrollTo(0,1)",100);$("div").die("pageshow")});$("div").live("pageinit",function(){$.mobile.fixedToolbars.hide(true);$.mobile.fixedToolbars.setTouchToggleEnabled(false);$(window).bind("scrollstop",function(){$(this).trigger("updatelayout")});$("div").die("pageinit")});function cmn_changeLineColor(A){$(A).addClass("linePressedColor")}function cmn_restoreLineColor(A){$(A).removeClass("linePressedColor")}function insertComma(B){var A=new String(B).replace(/,/g,"");while(A!=(A=A.replace(/^(-?\d+)(\d{3})/,"$1,$2"))){}return A}function formatMoney(A){var B=insertComma($(A).val());$(A).val(B)}function switchTabClass(B,A){$(".tabBgArea > *").removeClass("tabAreaActive");$(B).addClass("tabAreaActive")}function switchSlectedTab(A,B){$("#"+B+" *").removeClass("tabAreaActive");$("#"+B+" #"+A).addClass("tabAreaActive")}function createDatetimeString(B,C){var A="";if(B.length==8&&!isNaN(new Number(B))){A=B.replace(/(\d{4})(\d{2})(\d{2})/,"$1/$2/$3");if(C.length==4&&!isNaN(new Number(C))){A=A+" "+C.replace(/(\d{2})(\d{2})/,"$1:$2")}}return A}function setRealtimePrice(B,E,D,G,F){var C="BUY"==D?"ASK":"BID";var A=setTimeout(function(){$.mobile.showPageLoadingMsg()},50);var H=function(){clearTimeout(A);$.mobile.hidePageLoadingMsg()};$.ajax({type:"POST",url:B,data:"productId="+E+"&bidAskType="+C,dataType:"text",timeout:F,success:function(J,I){H();$(G).val(J)},error:function(J,K,I){H();alert("現在のレートが取得できませんでした。")},})}function deliveryDocumentAlert(B,C){var A=setTimeout(function(){$.mobile.showPageLoadingMsg()},50);var D=function(){clearTimeout(A);$.mobile.hidePageLoadingMsg()};$.ajax({type:"GET",url:B,dataType:"text",timeout:C,success:function(F,E){D();alert(F)},error:function(F,G,E){D();alert("締結前交付書面を取得できませんでした。")},})}function closeErrorMessageArea(){$("div.errorMessageArea").slideUp();setTimeout(function(){$.mobile.activePage.trigger("updatelayout")},jQuery.fx.speeds._default)}function bindSoftwareKeyboard(B,A){if(A=="price"){B.keypad({beforeShow:function(D,C){setDisableToSelectbox(C)},onClose:function(D,C){setEnableToSelectbox(C)},keypadOnly:true,duration:"fast",closeText:"",closeStatus:"閉じる",backText:"",backStatus:"一文字消去",layout:["123"+$.keypad.CLOSE,"456"+$.keypad.BACK,"7890."]})}else{if(A=="amount"){B.keypad({beforeShow:function(D,C){setDisableToSelectbox(C)},onClose:function(D,C){setEnableToSelectbox(C)},keypadClass:"half-width",keypadOnly:true,duration:"fast",closeText:"",closeStatus:"閉じる",backText:"",backStatus:"一文字消去",layout:["123"+$.keypad.CLOSE,"456"+$.keypad.BACK,"7890"]})}else{if(A=="transferAmount"){B.keypad({beforeShow:function(D,C){setDisableToSelectbox(C)},onClose:function(D,C){setEnableToSelectbox(C)},keypadOnly:true,duration:"fast",closeText:"",closeStatus:"閉じる",backText:"",backStatus:"一文字消去",separator:"|",layout:["1|2|3|"+$.keypad.CLOSE,"4|5|6|"+$.keypad.BACK,"7|8|9|0|00"]})}else{if(A=="date"){B.keypad({beforeShow:function(D,C){setDisableToSelectbox(C)},onClose:function(D,C){setEnableToSelectbox(C)},keypadClass:"half-width",keypadOnly:true,duration:"fast",closeText:"",closeStatus:"閉じる",backText:"",backStatus:"一文字消去",layout:["123"+$.keypad.CLOSE,"456"+$.keypad.BACK,"7890"]})}else{B.keypad({beforeShow:function(D,C){setDisableToSelectbox(C)},onClose:function(D,C){setEnableToSelectbox(C)},keypadOnly:true,duration:"fast",closeText:"",closeStatus:"閉じる",backText:"",backStatus:"一文字消去",layout:["123"+$.keypad.CLOSE,"456"+$.keypad.BACK,"7890."]})}}}}}function setDisableToSelectbox(A){$(A._input[0]).parents("form").find("select").filter(":enabled").attr("disabled",true)}function setEnableToSelectbox(A){$(A._input[0]).parents("form").find("select").filter(":disabled").attr("disabled",false)}$(".grayBtn").live("mousedown touchstart",function(){$(this).addClass("grayBtnActive")}).live("mouseup mouseout touchend",function(){$(this).removeClass("grayBtnActive")});$(".login").live("mousedown touchstart",function(){$(this).addClass("loginActive")}).live("mouseup mouseout touchend",function(){$(this).removeClass("loginActive")});function changeOrderCondition(D,C,B){var E="";$("#"+D+" input").each(function(){if(this.name){if(this.name!="actionMethod"){E+="&"+this.name+"="+this.value}else{E+="&"+this.name+"="+(B?B:"doExecute")}}});$("#"+D+" select option:selected").each(function(){if(this.name){E+="&"+$(this).parent().attr("name")+"="+this.value}});$("#"+D+" textarea").each(function(){if(this.name){E+="&"+this.name+"="+this.value}});var A=C;if(0!=E.length){A+="?"+E.substring(1)}$.mobile.changePage(A,{transition:"fade"})}function calcPlus(B){var C=$("#"+B);var A=C.val();if(!A||isNaN(A)){C.val(1);return }A=parseInt(A,10)+1;C.val(A)}function calcMinus(B){var C=$("#"+B);var A=C.val();if(!A||isNaN(A)){C.val(0);return }A=parseInt(A,10);if(A<=0){return }A=A-1;C.val(A)}function displayTimeAppointArea(B,A){if(B==="timeAppoint"){$("#"+A).show().trigger("updatelayout")}else{$("#"+A).hide().trigger("updatelayout")}}var DEFAULT_EFFECT_DURATION=1000;var EFFECT_CLASS_DOWN="down";var EFFECT_CLASS_UP="up";var PricePanel=function(A){this.init(A)};PricePanel.prototype={init:function(A){this.isSuspend=false;this.isDealableBid=true;this.isDealableAsk=true;this.panelIndex=A.panelIndex;this.separateSpotPrice=true;this.setPanelElements(A.panelIndex);this.highPrefix=A.highPrefix?A.highPrefix:"";this.lowPrefix=A.lowPrefix?A.lowPrefix:"";this.pullController=A.pullController;this.changeCurrencyPair(A.currencyPair);this.effectDuration=A.effectDuration?A.effectDuration:DEFAULT_EFFECT_DURATION;this.initEvents();this.attachEvent();addEventListener("unload",this.terminate)},initEvents:function(){var B=this;var A=function(C){B.priceRefleshEventHandler(C)};this.attachEvent=function(){window.addEventListener("receiptPrice",A,false)};this.detachEvent=function(){window.removeEventListener("receiptPrice",A,false)}},attachEvent:null,detachEvent:null,terminate:function(B){try{this.detachEvent();for(var A in this.panelElements){if(B){this.panelElements[A].id=this.panelElements[A].id+"xxx"}delete this.panelElements[A]}}catch(C){}},decorate:function(A){if(!A){return false}if(A.indexOf("-")==-1){return'<span class="positive">'+A+"</span>"}else{return'<span class="negative">'+A+"</span>"}},setPanelElements:function(A){if(!this.panelElements){this.panelElements={}}this.panelElements.currencyPair=document.getElementById("currencyPair"+A);this.panelElements.currencyPairFlag=document.getElementById("currencyPairFlag"+A);this.panelElements.newOrder=document.getElementById("newOrder"+A);this.panelElements.bidLabel=document.getElementById("bidLabel"+A);this.panelElements.askLabel=document.getElementById("askLabel"+A);this.panelElements.high=document.getElementById("high"+A);this.panelElements.low=document.getElementById("low"+A);this.panelElements.change=document.getElementById("change"+A);this.panelElements.timestamp=document.getElementById("timestamp"+A);this.panelElements.bidPrice=document.getElementById("bidPrice"+A);this.panelElements.askPrice=document.getElementById("askPrice"+A);this.flushElements=[];if(this.separateSpotPrice){this.panelElements.bidPriceHead=document.getElementById("bidPriceHead"+A);this.panelElements.bidPriceTail=document.getElementById("bidPriceTail"+A);this.panelElements.bidPriceFrac=document.getElementById("bidPriceFrac"+A);this.panelElements.askPriceHead=document.getElementById("askPriceHead"+A);this.panelElements.askPriceTail=document.getElementById("askPriceTail"+A);this.panelElements.askPriceFrac=document.getElementById("askPriceFrac"+A);this.panelElements.bidArrow=document.getElementById("bidArrow"+A);this.panelElements.askArrow=document.getElementById("askArrow"+A);this.flushElements.bid=this.panelElements.bidPrice;this.flushElements.ask=this.panelElements.askPrice;this.flushElements.bidArrow=this.panelElements.bidArrow;this.flushElements.askArrow=this.panelElements.askArrow}else{this.flushElements.bid=this.panelElements.bidPrice;this.flushElements.ask=this.panelElements.askPrice}for(var B in this.panelElements){if(!this.panelElements[B]){delete this.panelElements[B]}}},clear:function(){this.setIsSuspend(false);if(this.separateSpotPrice){this.updatePanel("bidPriceHead","&nbsp;");this.updatePanel("bidPriceTail","--");this.updatePanel("bidPriceFrac","-");this.updatePanel("askPriceHead","&nbsp;");this.updatePanel("askPriceTail","--");this.updatePanel("askPriceFrac","-")}else{this.updatePanel("bidPrice","--");this.updatePanel("askPrice","--")}this.updatePanel("high","--");this.updatePanel("low","--");this.updatePanel("change","--");this.updatePanel("timestamp","--")},changeCurrencyPair:function(A){this.clear();this.currencyPair=A;this.currentPriceData=null;this.updatePanel(this.panelElements.currencyPair,A);if(this.panelElements.currencyPairFlag){setCurrencyPairFlag("SPOT_"+A,this.panelElements.currencyPairFlag.id)}if(!A||A==""||A=="undefined"){this.currencyPair=null;return false}if(!this.pullController.getLatestPriceList()){return false}this.priceReflesh(this.pullController.getLatestPriceList())},priceRefleshEventHandler:function(A){if(A.isSuccess){this.priceReflesh(A.priceList);updateImformation(A.timestamp)}},priceReflesh:function(priceList){var priceData;if(this.currencyPair&&priceList&&priceList!="undefined"){for(var i in priceList){if(this.currencyPair==priceList[i].currencyPair){var isSuspend=eval(priceList[i].suspend);this.setIsSuspend(isSuspend);this._priceRefresh(priceList[i]);this.currentPriceData=priceList[i];return }}}},_priceRefresh:function(A){this.setBid(A.bid);this.setAsk(A.ask);this.setHigh(A.high);this.setLow(A.low);this.setChange(A.change);this.setTimestamp(A.timestamp)},updateBid:function(C,A){var B=(this.currentPriceData)?this.currentPriceData.bid:null;this.changeSpotPrice(C,B,"bid",this.isDealableBid)},updateAsk:function(C,A){var B=(this.currentPriceData)?this.currentPriceData.ask:null;this.changeSpotPrice(C,B,"ask",this.isDealableAsk)},changeSpotPrice:function(F,E,D,B){var G="";if(B&&E&&F.price!=E.price){var A=(new Number(F.price)<new Number(E.price))}else{G=F.price}if(this.separateSpotPrice){var C=F.head;if((C.indexOf(".")<0)&&(F.tail.indexOf(".")<0)){C+="."}this.updatePanel(this.panelElements[D+"PriceHead"],C);this.updatePanel(this.panelElements[D+"PriceTail"],F.tail.substring(0,2));this.updatePanel(this.panelElements[D+"PriceFrac"],F.tail.substring(2,3))}else{this.updatePanel(this.panelElements[D+"Price"],G)}if(B&&E&&F.price!=E.price){this.flushSpotPrice(this.flushElements[D],(F.price<E.price));this.flushArrow(D,(F.price<E.price))}},flushArrow:function(B,A){var C=this.flushElements[B+"Arrow"];if(A){addClass(C,B+"ArrowDown");setTimeout(function(){removeClass(C,B+"ArrowDown")},1000)}else{addClass(C,B+"ArrowUp");setTimeout(function(){removeClass(C,B+"ArrowUp")},1000)}},flushSpotPrice:function(D,A){if(!D||this.isSuspend){return false}var C=A?"down":"up";var B=document.getElementById(D.id);if(A){addClass(B,"up");setTimeout(function(){removeClass(B,"up")},1000)}else{addClass(B,"down");setTimeout(function(){removeClass(B,"down")},1000)}},setBid:function(priceData){if(!priceData){return }var isDealableBid=eval(priceData.dealable);if(isDealableBid&&!this.isDealableBid){this.setIsDealable(true,true)}else{if(!isDealableBid&&this.isDealableBid){this.setIsDealable(false,true)}}this.isDealableBid=isDealableBid;if(!this.currentPriceData||!this.currentPriceData.bid||this.currentPriceData.bid.price!=priceData.price){this.updateBid(priceData)}this.bidPriceId=priceData.priceId},setAsk:function(priceData){if(!priceData){return }var isDealableAsk=eval(priceData.dealable);if(isDealableAsk&&!this.isDealableAsk){this.setIsDealable(true,false)}else{if(!isDealableAsk&&this.isDealableAsk){this.setIsDealable(false,false)}}this.isDealableAsk=isDealableAsk;if(!this.currentPriceData||!this.currentPriceData.ask||this.currentPriceData.ask.price!=priceData.price){this.updateAsk(priceData)}this.askPriceId=priceData.priceId},setHigh:function(D,C){if(!this.currentPriceData||this.currentPriceData.high!=D){var B=(!C&&this.currentPriceData&&this.currentPriceData.high&&D);var A=D?D:"--";this.updatePanel(this.panelElements.high,this.highPrefix+A);if(B){this.flushSpotPrice(this.panelElements.high,(this.currentPriceData.high>D))}}},setLow:function(B,D){if(!this.currentPriceData||this.currentPriceData.low!=B){var C=(!D&&this.currentPriceData&&this.currentPriceData.low&&B);var A=B?B:"--";this.updatePanel(this.panelElements.low,this.lowPrefix+A);if(C){this.flushSpotPrice(this.panelElements.low,(this.currentPriceData.low>B))}}},setChange:function(B){if(this.panelElements.change){this.updatePanel(this.panelElements.change,B);if(!this.currentPriceData||this.currentPriceData.change!=B){var A=this.panelElements.change;if(this.changeDecorateClass){removeClass(A,this.changeDecorateClass)}this.changeDecorateClass=(B<0)?"negative":"positive";addClass(A,this.changeDecorateClass);if(this.currentPriceData){this.flushSpotPrice(this.panelElements.change,(this.currentPriceData.change>B))}}}},setTimestamp:function(A){this.updatePanel(this.panelElements.timestamp,A)},setIsDealable:function(D,C){var B=C?"bid":"ask";var A=[];if(this.panelElements[B+"Label"]){A.push(this.panelElements[B+"Label"])}if(this.panelElements[B+"Price"]){A.push(this.panelElements[B+"Price"])}if(this.panelElements.high){A.push(this.panelElements.high)}if(this.panelElements.low){A.push(this.panelElements.low)}if(D){removeClass(A,"notDealable")}else{addClass(A,"notDealable")}},setIsSuspend:function(C){if(!this.isSuspend&&!C||this.isSuspend&&C){return false}this.isSuspend=C;var B=[];for(var A in this.panelElements){B.push(this.panelElements[A])}if(C){addClass(B,"suspend")}else{removeClass(B,"suspend")}},updatePanel:function(A,B){if(!A||!B){return false}if(typeof (A)=="string"){A=this.panelElements[A]}if(A){A.innerHTML=B}}};var DEFAULT_POLLING_INTERVAL=3000;var DEFAULT_TIMEOUT_INTERVAL=30000;var timeoutObserver=null;var pollingObserver=null;var PullBsController=function(A){this.init(A)};PullBsController.prototype={head:null,iframe:null,counter:0,isContinue:true,REFRESH_INTERVAL:100,SCRIPT_TAG_ID:"jsonp_request",IFRAME_ID:"jsonp_request_frame",init:function(A){this.url=A.pullURL;this.pollingInterval=A.pollingInterval?A.pollingInterval:DEFAULT_POLLING_INTERVAL;this.timeoutInterval=A.timeoutInterval?A.timeoutInterval:DEFAULT_TIMEOUT_INTERVAL},stop:function(){document.body.removeChild(this.iframe);this.iframe=null;if(window.timeoutObserver){clearTimeout(window.timeoutObserver);window.timeoutObserver=null}if(window.pollingObserver){clearTimeout(window.pollingObserver);window.pollingObserver=null}this.isContinue=false},execute:function(C){if(!C&&window.pollingObserver){clearTimeout(window.pollingObserver);window.pollingObserver=null}this.isContinue=true;var A=this;var B=function(){A.iframe||(A.iframe=A.buildIframe());(A.counter>A.REFRESH_INTERVAL)&&A.refresh();var E=A.buildScript();A.head.appendChild(E);A.counter++};B();if(window.timeoutObserver){clearTimeout(window.timeoutObserver);window.timeoutObserver=null}A=this;var D=function(){if(A.isContinue){A.execute(true)}};window.timeoutObserver=setTimeout(D,this.timeoutInterval)},fire:function(B){if(window.timeoutObserver){clearTimeout(window.timeoutObserver);window.timeoutObserver=null}if(!this.isContinue){return }this.latestPriceList=this.parseResponse(B);this.sendEvent("receiptPrice",window,{isSuccess:true,timestamp:B.timestamp,priceList:this.latestPriceList});if(window.lastRequestId!=B.requestId){return }var A=this;var C=function(){if(A.isContinue){A.execute()}};window.pollingObserver=setTimeout(C,this.pollingInterval)},sendEvent:function(C,E,B){if(E){var D=document.createEvent("UIEvent");D.initEvent(C,false,false);if(B){for(var A in B){D[A]=B[A]}}E.dispatchEvent(D)}},parseResponse:function(A){if(!A||!A.timestamp||!A.priceList){return this.latestPriceList}if(window.priceTimestamp&&window.priceTimestamp>=A.timestamp){return this.latestPriceList}window.priceTimestamp=A.timestamp;return this._mergeArray(this.latestPriceList,A.priceList)},_mergeArray:function(D,A){if(!D||!(D instanceof Array)){D=[]}for(var B in A){if(A[B] instanceof Array){var C=(D[B]&&(D[B] instanceof Array))?D[B]:[];D[B]=this._mergeArray(C,A[B])}else{D[B]=A[B]}}return D},getLatestPriceList:function(){return this.latestPriceList},refresh:function(){document.body.removeChild(this.iframe);this.iframe=this.buildIframe();this.counter=0},buildIframe:function(){var A=document.createElement("iframe");A.id=this.IFRAME_ID;A.className="dummyIframe";A.style.display="none";A.style.width="0px";A.style.height="0px";A.src="javascript:void(0)";document.body.appendChild(A);this.iframeDocument().writeln("<head></head><body></body>");this.head=this.iframeDocument().getElementsByTagName("head")[0];return A},buildScript:function(){var A=this.iframeDocument().createElement("script");A.id=this.SCRIPT_TAG_ID+"_"+this.counter;if(!window.lastRequestId){window.lastRequestId=new Date().getTime()}window.lastRequestId++;var B=this.url+"?requestId="+window.lastRequestId;if(this.latestResponseObj){B+="&from="+this.latestResponseObj.timestamp}A.src=B;return A},iframeDocument:function(){return document.getElementById(this.IFRAME_ID).contentWindow.document}};var StreamingOrderPanel=function(A){this.init(A)};var streamingPanelItemIds=["bidPanel","askPanel","bidArea","askArea","bidHead","askHead","bidTail","askTail","bidFrac","askFrac","bidArrow","askArrow",];StreamingOrderPanel.prototype={init:function(B){var D=this;var C=function(){D.doOrderBid()};var A=function(){D.doOrderAsk()};this.addPanelListenerBid=function(){document.getElementById("bidSubArea").addEventListener("click",C,true)};this.addPanelListenerAsk=function(){document.getElementById("askSubArea").addEventListener("click",A,true)};this.removePanelListenerBid=function(){try{document.getElementById("bidSubArea").removeEventListener("click",C)}catch(E){}};this.removePanelListenerAsk=function(){try{document.getElementById("askSubArea").removeEventListener("click",A)}catch(E){}};this.orderMethod=B.orderMethod;this.setPanelElements();this.isSuspend=false;this.onmouseOverBid=false;this.onmouseOverAsk=false;this.isDealableBid=true;this.isDealableAsk=true;this.isDisableBid=B.isDisableBid;this.isDisableAsk=B.isDisableAsk;this.pullController=B.pullController;this.setOrderable(false);this.changeCurrencyPair(B.currencyPair);this.initEvents();this.attachEvent();addEventListener("unload",this.terminate)},terminate:function(B){try{this.removePanelListenerBid();this.removePanelListenerAsk();this.detachEvent();for(var A in this.panelElements){if(B){this.panelElements[A].id=this.panelElements[A].id+"xxx"}delete this.panelElements[A]}}catch(C){}},_priceRefresh:function(A){PricePanel.prototype._priceRefresh.apply(this,[A])},setPanelElements:function(){if(!this.panelElements){this.panelElements={}}for(var A in streamingPanelItemIds){var B=streamingPanelItemIds[A];this.panelElements[B]=document.getElementById(B)}for(var A in this.panelElements){if(!this.panelElements[A]){delete this.panelElements[A]}}},setOrderable:function(B){this.isOrderable=B;var A=this.isOrderable&&!this.isSuspend;if(!this.isDisableBid&&this.isDealableBid&&A){this.addPanelListener("bid");this.enablePanel("bid")}else{this.removePanelListener("bid");this.disablePanel("bid")}if(!this.isDisableAsk&&this.isDealableAsk&&A){this.addPanelListener("ask");this.enablePanel("ask")}else{this.removePanelListener("ask");this.disablePanel("ask")}this.changePriceFontColor("ask");this.changePriceFontColor("bid")},displayPrice:function(A,C,B){if(!A||!C.head||!C.tail||!B){return false}var D=(A=="bid")?"b":"r";this.updateHeadPanel(A,C.head,D,B);this.updateTailPanel(A,C.tail,D,B);this.changeFontColor(A,B)},updateHeadPanel:function(A,C,D,B){if(C.indexOf(".")==-1){C=C+"."}this.panelElements[A+"Head"].innerHTML=C},updateTailPanel:function(A,C,D,B){if(C.length==1){C=C+"0"}this.panelElements[A+"Tail"].innerHTML=C.substring(0,2);this.panelElements[A+"Frac"].innerHTML=C.substring(2,3)},displayArrow:function(A,C,B){if("down"==C){addClass(this.panelElements[A+"Arrow"],"arrow_streaming_down")}else{addClass(this.panelElements[A+"Arrow"],"arrow_streaming_up")}},undisplayArrow:function(A){removeClass(this.panelElements[A+"Arrow"],"arrow_streaming_down");removeClass(this.panelElements[A+"Arrow"],"arrow_streaming_up")},setDisplayArrow:function(A,B,D,C){if(A){this.displayArrow(B,D,C)}else{this.undisplayArrow(B)}},changeFontColor:function(A,B){this.panelElements[A+"Area"].setAttribute("class","");addClass(this.panelElements[A+"Area"],B)},enablePanel:function(A){this.changeFontColor(A,"white")},disablePanel:function(A){this.changeFontColor(A,"gray")},mouseOverBidPanel:function(){window.status="";this.onmouseOverBid=true;if(!this.isDisable("bid")){this.displayPrice("bid",this.currentPriceData.bid,"yellow")}return true},mouseOutBidPanel:function(){this.onmouseOverBid=false;if(!this.isDisable("bid")){this.displayPrice("bid",this.currentPriceData.bid,"white")}return true},mouseOverAskPanel:function(){window.status="";this.onmouseOverAsk=true;if(!this.isDisable("ask")){this.displayPrice("ask",this.currentPriceData.ask,"yellow")}return true},mouseOutAskPanel:function(){this.onmouseOverAsk=false;if(!this.isDisable("ask")){this.displayPrice("ask",this.currentPriceData.ask,"white")}return true},isMouseOver:function(A){return(A=="bid"&&this.onmouseOverBid)||(A=="ask"&&this.onmouseOverAsk)},clear:function(A){this.displayPrice("bid","","white");this.displayPrice("ask","","white")},doOrderBid:function(){if(this.isDisableBid||!this.isDealableBid){return }if(this.validateOrder()){return }this.changeFontColor("bid","yellow");this.changePriceFontColor("bid","yellow");this.changeFontColor("ask","gray");this.detachEvent();this.isOrderable=false;var B=this.currentPriceData?this.currentPriceData.bid.price:null;var A=this.currentPriceData?this.currentPriceData.bid.priceId:null;this.doOrder("bid","SELL",B,A)},doOrderAsk:function(){if(this.isDisableAsk||!this.isDealableAsk){return }if(this.validateOrder()){return }this.changeFontColor("bid","gray");this.changeFontColor("ask","yellow");this.changePriceFontColor("ask","yellow");this.detachEvent();this.isOrderable=false;var B=this.currentPriceData?this.currentPriceData.ask.price:null;var A=this.currentPriceData?this.currentPriceData.ask.priceId:null;this.doOrder("ask","BUY",B,A)},doOrder:function(C,D,E,A){var B={};B.buySell=D;B.orderPrice=E;B.priceId=A;B.productId=this.currencyPair;this.orderMethod(B)},validateOrder:function(){if(!this.orderMethod){return true}if(this.isSuspend){return true}if(!this.isOrderable){return true}},setIsDealable:function(B,A){if(!B){this.disablePanel(A?"bid":"ask")}},setIsSuspend:function(B){var A=this.isSuspend^B;if(!A){return }this.isSuspend=B;if(!this.isDisableBid&&this.isDealableBid&&!B){this.addPanelListener("bid");this.enablePanel("bid")}else{this.removePanelListener("bid");this.disablePanel("bid")}if(!this.isDisableAsk&&this.isDealableAsk&&!B){this.addPanelListener("ask");this.enablePanel("ask")}else{this.removePanelListener("ask");this.disablePanel("ask")}this.changePriceFontColor("ask");this.changePriceFontColor("bid")},changeSpotPrice:function(D,C,B,A){if(this.separateSpotPrice){this.displayPrice(B,D,"white")}else{if(this.isDisable(B)){this.displayPrice(B,D,"gray");this.disablePanel(B)}else{this.displayPrice(B,D,"white")}}if(A&&C&&D.price!=C.price){this.flushSpotPrice(this.panelElements[B+"Panel"],(new Number(D.price)<new Number(C.price)))}},isDisable:function(A){if((A=="bid")&&(this.isDisableBid||this.isSuspend||!this.isDealableBid)){return true}if((A=="ask")&&(this.isDisableAsk||this.isSuspend||!this.isDealableAsk)){return true}return !this.isOrderable},setBid:function(priceData){if(!priceData){return }var isDealableBid=eval(priceData.dealable);if(isDealableBid&&!this.isDealableBid){this.setIsDealable(true,true)}else{if(!isDealableBid&&this.isDealableBid){this.setIsDealable(false,true)}}this.isDealableBid=isDealableBid;this.updateBid(priceData);this.bidPriceId=priceData.priceId},setAsk:function(priceData){if(!priceData){return }var isDealableAsk=eval(priceData.dealable);if(isDealableAsk&&!this.isDealableAsk){this.setIsDealable(true,false)}else{if(!isDealableAsk&&this.isDealableAsk){this.setIsDealable(false,false)}}this.isDealableAsk=isDealableAsk;this.updateAsk(priceData);this.askPriceId=priceData.priceId},setHigh:function(B,A){},setLow:function(A,B){},setChange:function(A){},setTimestamp:function(A){},flushSpotPrice:function(E,A){if(!E||this.isSuspend){return false}var D=A?"down":"up";var C=document.getElementById(E.id);var B=this;if(A){if(E.id.substring(0,3)=="bid"){this.startBidPriceDownEffectFunc();setTimeout(function(){B.compBidPriceDownEffectFunc()},1000)}else{this.startAskPriceDownEffectFunc();setTimeout(function(){B.compAskPriceDownEffectFunc()},1000)}}else{if(E.id.substring(0,3)=="bid"){this.startBidPriceUpEffectFunc();setTimeout(function(){B.compBidPriceUpEffectFunc()},1000)}else{this.startAskPriceUpEffectFunc();setTimeout(function(){B.compAskPriceUpEffectFunc()},1000)}}},startBidPriceUpEffectFunc:function(A){this.startPriceEffectFunc("bid","up","yellow")},startBidPriceDownEffectFunc:function(A){this.startPriceEffectFunc("bid","down","yellow")},startAskPriceUpEffectFunc:function(A){this.startPriceEffectFunc("ask","up","yellow")},startAskPriceDownEffectFunc:function(A){this.startPriceEffectFunc("ask","down","yellow")},compBidPriceUpEffectFunc:function(){this.compPriceEffectFunc("bid","up","white")},compBidPriceDownEffectFunc:function(){this.compPriceEffectFunc("bid","down","white")},compAskPriceUpEffectFunc:function(){this.compPriceEffectFunc("ask","up","white")},compAskPriceDownEffectFunc:function(){this.compPriceEffectFunc("ask","down","white")},startPriceEffectFunc:function(A,C,B){if(this.isDisable(A)){this.setDisplayArrow(true,A,C,"gray");this.disablePanel(A)}else{this.setDisplayArrow(true,A,C,B);this.changePriceFontColor(A,B)}},compPriceEffectFunc:function(A,C,B){if(this.isDisable(A)){this.setDisplayArrow(false,A,C,"gray");this.disablePanel(A)}else{if(this.isMouseOver(A)){B="yellow"}this.setDisplayArrow(false,A,C,B);this.changePriceFontColor(A,B)}},changePriceFontColor:function(A,B){removeClass(this.panelElements[A+"Head"],"white");removeClass(this.panelElements[A+"Head"],"yellow");removeClass(this.panelElements[A+"Head"],"gray");removeClass(this.panelElements[A+"Tail"],"white");removeClass(this.panelElements[A+"Tail"],"yellow");removeClass(this.panelElements[A+"Tail"],"gray");removeClass(this.panelElements[A+"Frac"],"white");removeClass(this.panelElements[A+"Frac"],"yellow");removeClass(this.panelElements[A+"Frac"],"gray");if(B){addClass(this.panelElements[A+"Head"],B);addClass(this.panelElements[A+"Tail"],B);addClass(this.panelElements[A+"Frac"],B)}},addPanelListener:function(A){if(A=="bid"){this.addPanelListenerBid()}else{this.addPanelListenerAsk()}},addPanelListenerBid:null,addPanelListenerAsk:null,removePanelListener:function(A){if(A=="bid"){this.removePanelListenerBid()}else{this.removePanelListenerAsk()}},removePanelListenerBid:null,removePanelListenerAsk:null,debug:function(A){},};for(var prop in PricePanel.prototype){if(!StreamingOrderPanel.prototype[prop]){StreamingOrderPanel.prototype[prop]=PricePanel.prototype[prop]}}function FastButton(A,B){this.element=A;this.handler=B;A.addEventListener("touchstart",this,false)}FastButton.prototype.handleEvent=function(A){switch(A.type){case"touchstart":this.onTouchStart(A);break;case"touchmove":this.onTouchMove(A);break;case"touchend":this.onClick(A);break;case"click":this.onClick(A);break}};FastButton.prototype.onTouchStart=function(A){A.stopPropagation();this.element.addEventListener("touchend",this,false);document.body.addEventListener("touchmove",this,false);this.startX=A.touches[0].clientX;this.startY=A.touches[0].clientY;isMoving=false};FastButton.prototype.onTouchMove=function(A){if(Math.abs(A.touches[0].clientX-this.startX)>10||Math.abs(A.touches[0].clientY-this.startY)>10){this.reset()}};FastButton.prototype.onClick=function(A){this.reset();this.handler(A);if(A.type=="touchend"){preventGhostClick(this.startX,this.startY)}};FastButton.prototype.reset=function(){this.element.removeEventListener("touchend",this,false);document.body.removeEventListener("touchmove",this,false)};function preventGhostClick(A,B){coordinates.push(A,B);window.setTimeout(gpop,2500)}function gpop(){coordinates.splice(0,2)}function gonClick(C){for(var B=0;B<coordinates.length;B+=2){var A=coordinates[B];var D=coordinates[B+1];if(Math.abs(C.clientX-A)<25&&Math.abs(C.clientY-D)<25){C.stopPropagation();C.preventDefault()}}}var coordinates=[];document.addEventListener("click",gonClick,true);function goSomewhere(){var A=document.elementFromPoint(this.startX,this.startY);if(A.nodeType==3){A=A.parentNode}$(A).trigger("click")};